# Esperanto translation of glib.
# Copyright (C) 2003 Free Software Foundation, Inc.
# This file is distributed under the same license as the glib package.
# Charles Voelger <cvoelger@dweasel.com>, 2003.
#
msgid ""
msgstr ""
"Project-Id-Version: glib 2.3.0\n"
"POT-Creation-Date: 2003-12-08 12:13-0500\n"
"PO-Revision-Date: 2003-07-01 15:10-0500\n"
"Last-Translator: Charles Voelger <cvoelger@dweasel.com>\n"
"Language-Team: Esperanto <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: glib/gconvert.c:402
#, c-format
msgid "Conversion from character set '%s' to '%s' is not supported"
msgstr "Konverto de signaro '%s' el '%s' ne estas subtenata"

#: glib/gconvert.c:406
#, c-format
msgid "Could not open converter from '%s' to '%s': %s"
msgstr "Ne eblas malfermi konvertilon de '%s' to '%s': %s"

#: glib/gconvert.c:604 glib/gconvert.c:891 glib/giochannel.c:1315
#: glib/giochannel.c:1357 glib/giochannel.c:2199 glib/gutf8.c:910
#: glib/gutf8.c:1355
msgid "Invalid byte sequence in conversion input"
msgstr "Nevalida bitokosekvenco en konverta enigo"

#: glib/gconvert.c:609 glib/gconvert.c:824 glib/giochannel.c:1322
#: glib/giochannel.c:2211
#, c-format
msgid "Error during conversion: %s"
msgstr "Eraro dum konverto: %s"

#: glib/gconvert.c:627 glib/gutf8.c:906 glib/gutf8.c:1106 glib/gutf8.c:1247
#: glib/gutf8.c:1351
msgid "Partial character sequence at end of input"
msgstr "Parta signosekvenco je enigofino"

#: glib/gconvert.c:800
#, c-format
msgid "Cannot convert fallback '%s' to codeset '%s'"
msgstr "Ne povas konverti fallback '%s' al kodaro '%s'"

#: glib/gconvert.c:1492
#, c-format
msgid "The URI '%s' is not an absolute URI using the file scheme"
msgstr "La URI '%s' ne estas absolutan URI uzanta la dosiermodelo"

#: glib/gconvert.c:1502
#, c-format
msgid "The local file URI '%s' may not include a '#'"
msgstr "La loka dosiera URI '%s' eble ne enhavas '#'"

#: glib/gconvert.c:1519
#, c-format
msgid "The URI '%s' is invalid"
msgstr "La URI '%s' estas nevalida"

#: glib/gconvert.c:1531
#, c-format
msgid "The hostname of the URI '%s' is invalid"
msgstr "La komputilnomo de la URI '%s' ne estas valida"

#: glib/gconvert.c:1547
#, c-format
msgid "The URI '%s' contains invalidly escaped characters"
msgstr "La URI '%s' enhavas nevalidajn eskapajn signojn"

#: glib/gconvert.c:1618
#, c-format
msgid "The pathname '%s' is not an absolute path"
msgstr "La padnomo '%s' ne estas absolutan padon"

#: glib/gconvert.c:1628
msgid "Invalid hostname"
msgstr "Nevalida komputilnomo"

#: glib/gdir.c:80
#, c-format
msgid "Error opening directory '%s': %s"
msgstr "Eraro dum malfermado de dosierujo '%s': %s"

#: glib/gfileutils.c:390 glib/gfileutils.c:455
#, c-format
msgid "Could not allocate %lu bytes to read file \"%s\""
msgstr "Ne eblis akiri %lu bitokojn por lego de dosiero \"%s\""

#: glib/gfileutils.c:401
#, c-format
msgid "Error reading file '%s': %s"
msgstr "Eraro dum legado de dosiero '%s': %s"

#: glib/gfileutils.c:477
#, c-format
msgid "Failed to read from file '%s': %s"
msgstr "Malsukcesis legi de dosieron '%s': %s"

#: glib/gfileutils.c:524 glib/gfileutils.c:592
#, c-format
msgid "Failed to open file '%s': %s"
msgstr "Malsukcesis malfermi dosieron '%s': %s"

#: glib/gfileutils.c:538
#, c-format
msgid "Failed to get attributes of file '%s': fstat() failed: %s"
msgstr "Malsukcesis ricevi atributojn de dosiero '%s': fstat() malsukcesis: %s"

#: glib/gfileutils.c:564
#, c-format
msgid "Failed to open file '%s': fdopen() failed: %s"
msgstr "Malsukcesis malfermi dosieron '%s': fdopen() malsukcesis: %s"

#: glib/gfileutils.c:776
#, c-format
msgid "Template '%s' invalid, should not contain a '%s'"
msgstr "Ŝablono '%s' ne estas valida, ĝi devus ne enhavi '%s'"

#: glib/gfileutils.c:788
#, c-format
msgid "Template '%s' doesn't end with XXXXXX"
msgstr "Ŝablono '%s' ne finiĝas je XXXXXX"

#: glib/gfileutils.c:809
#, c-format
msgid "Failed to create file '%s': %s"
msgstr "Malsukcesis krei dosieron '%s': %s"

#: glib/gfileutils.c:1150
#, fuzzy, c-format
msgid "Failed to read the symbolic link '%s': %s"
msgstr "Malsukcesis krei dosieron '%s': %s"

#: glib/gfileutils.c:1169
msgid "Symbolic links not supported"
msgstr ""

#: glib/giochannel.c:1143
#, c-format
msgid "Conversion from character set `%s' to `%s' is not supported"
msgstr "Konverto de signaro '%s' al '%s' ne estas subtenata"

#: glib/giochannel.c:1147
#, c-format
msgid "Could not open converter from `%s' to `%s': %s"
msgstr "Ne eblis malfermi konvertilon de '%s al '%s: %s"

#: glib/giochannel.c:1492
msgid "Can't do a raw read in g_io_channel_read_line_string"
msgstr "Ne povas fari krudan legon en g_io_channel_read_line_string"

#: glib/giochannel.c:1539 glib/giochannel.c:1796 glib/giochannel.c:1882
msgid "Leftover unconverted data in read buffer"
msgstr "Kroma nekonvertinta datumo en legbufro"

#: glib/giochannel.c:1619 glib/giochannel.c:1696
msgid "Channel terminates in a partial character"
msgstr "Kanalo finas kun parta signo"

#: glib/giochannel.c:1682
msgid "Can't do a raw read in g_io_channel_read_to_end"
msgstr "Ne povas fari krudan legon en g_io_channel_read_to_end"

#: glib/gmarkup.c:223
#, c-format
msgid "Error on line %d char %d: %s"
msgstr "Eraro ĉe linio %d signo %d: %s"

#: glib/gmarkup.c:307
#, c-format
msgid "Error on line %d: %s"
msgstr "Eraro ĉe linio %d: %s"

#: glib/gmarkup.c:412
msgid ""
"Empty entity '&;' seen; valid entities are: &amp; &quot; &lt; &gt; &apos;"
msgstr "Malplena ero '&;'; validaj eroj estas : &amp; &quot; &lt; &gt; &apos;"

#: glib/gmarkup.c:422
#, c-format
msgid ""
"Character '%s' is not valid at the start of an entity name; the & character "
"begins an entity; if this ampersand isn't supposed to be an entity, escape "
"it as &amp;"
msgstr ""
"Signo '%s' ne estas valida en la komenco de eronomo; la & signo komencas unu "
"ero;se la kaj-signo ne estas ero, eskapu ĝin kiel &amp;"

#: glib/gmarkup.c:458
#, c-format
msgid "Character '%s' is not valid inside an entity name"
msgstr "Signo '%s' ne estas valida en unu eronomo"

#: glib/gmarkup.c:502
#, c-format
msgid "Entity name '%s' is not known"
msgstr "Eronomo '%s' ne estas konata"

#: glib/gmarkup.c:512
msgid ""
"Entity did not end with a semicolon; most likely you used an ampersand "
"character without intending to start an entity - escape ampersand as &amp;"
msgstr ""
"Ero ne finis kun punktokomo; vi eble uzis kaj-signo sen voli komenci eron."
"Eskapu kaj-signon kiel &amp;"

#: glib/gmarkup.c:558
#, c-format
msgid ""
"Failed to parse '%s', which should have been a digit inside a character "
"reference (&#234; for example) - perhaps the digit is too large"
msgstr ""
"Analizo de '%s' malsuksesis. Une cifero devus esti en la signoreferenco "
"(&#234; ekzemple)- eble la cifero estas tro granda"

#: glib/gmarkup.c:583
#, c-format
msgid "Character reference '%s' does not encode a permitted character"
msgstr "Signorefrenco '%s' ne faras kodigu permesatan signon"

#: glib/gmarkup.c:600
msgid "Empty character reference; should include a digit such as &#454;"
msgstr "Malplena signa referenco; devus enhavi ciferon kiel &#454;"

#: glib/gmarkup.c:610
msgid ""
"Character reference did not end with a semicolon; most likely you used an "
"ampersand character without intending to start an entity - escape ampersand "
"as &amp;"
msgstr ""
"Signa referenco ne finis kun punktokomo; vi verŝajne uzas kaj-signon sen "
"volikomenci eron - eskapu kaj-signon kiel &amp;"

#: glib/gmarkup.c:636
msgid "Unfinished entity reference"
msgstr "Nefinita erorefrenco"

#: glib/gmarkup.c:642
msgid "Unfinished character reference"
msgstr "Nefinita signorefrenco"

#: glib/gmarkup.c:888 glib/gmarkup.c:916 glib/gmarkup.c:947
msgid "Invalid UTF-8 encoded text"
msgstr "Nevalida UTF-8 kodiginta teksto"

#: glib/gmarkup.c:983
msgid "Document must begin with an element (e.g. <book>)"
msgstr "Dokumento devas komenci kun elemento (ekz. <book>)"

#: glib/gmarkup.c:1022
#, c-format
msgid ""
"'%s' is not a valid character following a '<' character; it may not begin an "
"element name"
msgstr ""
"'%s' ne estas valida signo post la signo '<'; ĝi ne eblas "
"komcencielementnomon"

#: glib/gmarkup.c:1085
#, c-format
msgid ""
"Odd character '%s', expected a '>' character to end the start tag of element "
"'%s'"
msgstr ""
"Malbona signo '%s', unu '>' signo estas atendita por fini la "
"komencetikedonde elemento '%s'"

#: glib/gmarkup.c:1172
#, c-format
msgid ""
"Odd character '%s', expected a '=' after attribute name '%s' of element '%s'"
msgstr ""
"Malbona signo '%s', unu '>' signo estas atendita post atributnomo '%s' "
"deelemento '%s'"

#: glib/gmarkup.c:1213
#, c-format
msgid ""
"Odd character '%s', expected a '>' or '/' character to end the start tag of "
"element '%s', or optionally an attribute; perhaps you used an invalid "
"character in an attribute name"
msgstr ""
"Malbona signo '%s', unu '>' aŭ '/' signo estas atendita por fini "
"lakomencetikedon de elemento '%s' aŭ unu atributo; eble vi uzas nevalidan "
"signon enunu atributnomo"

#: glib/gmarkup.c:1296
#, c-format
msgid ""
"Odd character '%s', expected an open quote mark after the equals sign when "
"giving value for attribute '%s' of element '%s'"
msgstr ""
"Malbona signo '%s', malferma citilo estas atendita post la egalsigno "
"kiamdonita valoro por atributo '%s' de elemento '%s'"

#: glib/gmarkup.c:1436
#, c-format
msgid ""
"'%s' is not a valid character following the characters '</'; '%s' may not "
"begin an element name"
msgstr ""
"'%s' ne estas valida signo post la signoj '</'; '%s' ne eblas "
"komcencielementnomon"

#: glib/gmarkup.c:1474
#, c-format
msgid ""
"'%s' is not a valid character following the close element name '%s'; the "
"allowed character is '>'"
msgstr ""
"'%s' ne estas valida signo post la ferma elementnomo '%s'; la valida signo "
"estas'>'"

#: glib/gmarkup.c:1485
#, c-format
msgid "Element '%s' was closed, no element is currently open"
msgstr "Elemento '%s' estis fermita, neniu elemento estas malfermita"

#: glib/gmarkup.c:1494
#, c-format
msgid "Element '%s' was closed, but the currently open element is '%s'"
msgstr ""
"Elemento '%s' estis fermita, sed la momente malfermita elemento estas '%s'"

#: glib/gmarkup.c:1641
msgid "Document was empty or contained only whitespace"
msgstr "Dokumento estis malpena aŭ enhavis nur blankspaco"

#: glib/gmarkup.c:1655
msgid "Document ended unexpectedly just after an open angle bracket '<'"
msgstr "Dokumento neatendite finis post malfermi-angulkrampon '<'"

#: glib/gmarkup.c:1663 glib/gmarkup.c:1707
#, c-format
msgid ""
"Document ended unexpectedly with elements still open - '%s' was the last "
"element opened"
msgstr ""
"Dokumento neatendite finis kun elementoj ankoraŭ malfermi - '%s' estis la "
"lasta elemento malfermita"

#: glib/gmarkup.c:1671
#, c-format
msgid ""
"Document ended unexpectedly, expected to see a close angle bracket ending "
"the tag <%s/>"
msgstr ""
"Dokumento neatendite finis, atendis vidi etikedon finiĝanta je fermi-"
"angulkrampo <%s/>"

#: glib/gmarkup.c:1677
msgid "Document ended unexpectedly inside an element name"
msgstr "Dokumento neatendite finis en elementa nomo"

#: glib/gmarkup.c:1682
msgid "Document ended unexpectedly inside an attribute name"
msgstr "Dokumento neatendite finis en atributa nomo"

#: glib/gmarkup.c:1687
msgid "Document ended unexpectedly inside an element-opening tag."
msgstr "Dokumento neatendite finis en elemento-malfermanta etikedo."

#: glib/gmarkup.c:1693
msgid ""
"Document ended unexpectedly after the equals sign following an attribute "
"name; no attribute value"
msgstr ""
"Dokumento neatendite finis post le egalsigno sekvita de atributnomo; ne "
"atributvaloro"

#: glib/gmarkup.c:1700
msgid "Document ended unexpectedly while inside an attribute value"
msgstr "Dokumento neatendite finis dum en atributvaloro"

#: glib/gmarkup.c:1715
#, c-format
msgid "Document ended unexpectedly inside the close tag for element '%s'"
msgstr "Dokumento neatendite finis en la fermetikedo por elemento '%s'"

#: glib/gmarkup.c:1721
msgid "Document ended unexpectedly inside a comment or processing instruction"
msgstr "Dokumento neatendite finis en komento aŭ komputanta instrukcio"

#: glib/gshell.c:72
msgid "Quoted text doesn't begin with a quotation mark"
msgstr "Citita teksto ne komencas je citilo"

#: glib/gshell.c:162
msgid "Unmatched quotation mark in command line or other shell-quoted text"
msgstr "Konvenita citilo en komandlinio aŭ alia programeto"

#: glib/gshell.c:530
#, c-format
msgid "Text ended just after a '\\' character. (The text was '%s')"
msgstr "Teksto finis post '\\' signon. (La teksto estis '%s')"

#: glib/gshell.c:537
#, c-format
msgid "Text ended before matching quote was found for %c. (The text was '%s')"
msgstr "Teksto finis antaŭ konvenan citilon por %c. (La teksto estis '%s')"

#: glib/gshell.c:549
msgid "Text was empty (or contained only whitespace)"
msgstr "Teksto estis malplena (aŭ enhavis nur blankspacon)"

#: glib/gspawn-win32.c:297
msgid "Failed to read data from child process"
msgstr "Malsukesis legi datumon de procezido"

#: glib/gspawn-win32.c:426
msgid ""
"Unexpected error in g_io_channel_win32_poll() reading data from a child "
"process"
msgstr ""
"Neatendita eraro dum g_io_channel_win32_poll() legado de datumo de procezido"

#: glib/gspawn-win32.c:842 glib/gspawn.c:998
#, c-format
msgid "Failed to read from child pipe (%s)"
msgstr "Malsukcesis legi de duktido (%s)"

#: glib/gspawn-win32.c:922
msgid "Failed to execute helper program"
msgstr "Malsukcesis lanĉi helpant-programon"

#: glib/gspawn-win32.c:943 glib/gspawn-win32.c:987
#, c-format
msgid "Failed to execute child process (%s)"
msgstr "Malsukcesis lanĉi procezidon (%s)"

#: glib/gspawn-win32.c:978 glib/gspawn.c:1203
#, c-format
msgid "Failed to change to directory '%s' (%s)"
msgstr "Malsukcesis ŝanĝi al dosierujo '%s' (%s)"

#: glib/gspawn-win32.c:1032 glib/gspawn.c:1334
#, c-format
msgid "Failed to create pipe for communicating with child process (%s)"
msgstr "Malsukcesis krei dukton por komunikado kun procezido (%s)"

#: glib/gspawn.c:167
#, c-format
msgid "Failed to read data from child process (%s)"
msgstr "Malsukcesis legi datumon de procezido (%s)"

#: glib/gspawn.c:298
#, c-format
msgid "Unexpected error in select() reading data from a child process (%s)"
msgstr "Neatendita eraro en select() dum datumlegado de procezido (%s)"

#: glib/gspawn.c:381
#, c-format
msgid "Unexpected error in waitpid() (%s)"
msgstr "Neatendita eraro en waitpid() (%s)"

#: glib/gspawn.c:1063
#, c-format
msgid "Failed to fork (%s)"
msgstr "Malsukcesis branĉiĝi (%s)"

#: glib/gspawn.c:1213
#, c-format
msgid "Failed to execute child process \"%s\" (%s)"
msgstr "Malsukcesis lanĉi procezidon \"%s\" (%s)"

#: glib/gspawn.c:1223
#, c-format
msgid "Failed to redirect output or input of child process (%s)"
msgstr "Malsukcesis alidirekti enigon aŭ eligon de procezido (%s)"

#: glib/gspawn.c:1232
#, c-format
msgid "Failed to fork child process (%s)"
msgstr "Malsukcesis branĉiĝi procezidon (%s)"

#: glib/gspawn.c:1240
#, c-format
msgid "Unknown error executing child process \"%s\""
msgstr "Nekonata eraro dum la lanĉando de la procezido \"%s\""

#: glib/gspawn.c:1262
#, c-format
msgid "Failed to read enough data from child pid pipe (%s)"
msgstr "Malsukcesis legi sufiĉe datumon de ida pid-dukto (%s)"

#: glib/gutf8.c:985
msgid "Character out of range for UTF-8"
msgstr "Signo ne estas en la UTF-8 intervalo"

#: glib/gutf8.c:1074 glib/gutf8.c:1083 glib/gutf8.c:1215 glib/gutf8.c:1224
#: glib/gutf8.c:1365 glib/gutf8.c:1461
msgid "Invalid sequence in conversion input"
msgstr "Nevalida sekvenco en konverta enigo"

#: glib/gutf8.c:1376 glib/gutf8.c:1472
msgid "Character out of range for UTF-16"
msgstr "Signo ne estas en la UTF-16 intervalo"
