# Esperantaj mesaĝoj por GNU sed.
# Copyright (C) 2002 Free Software Foundation, Inc.
# Edmund GRIMLEY EVANS <edmundo@rano.org>, 2001-2008.
#
msgid ""
msgstr ""
"Project-Id-Version: GNU sed 4.2.0\n"
"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
"POT-Creation-Date: 2009-06-27 15:08+0200\n"
"PO-Revision-Date: 2008-01-17 22:41+0000\n"
"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: sed/compile.c:161
msgid "multiple `!'s"
msgstr "pluraj '!'oj"

#: sed/compile.c:162
msgid "unexpected `,'"
msgstr "neatendita ','"

#: sed/compile.c:163
msgid "invalid usage of +N or ~N as first address"
msgstr "nevalida uzo de +N aŭ ~N kiel unua adreso"

#: sed/compile.c:164
msgid "unmatched `{'"
msgstr "neparigita '{'"

#: sed/compile.c:165
msgid "unexpected `}'"
msgstr "neatendita '}'"

#: sed/compile.c:166
msgid "extra characters after command"
msgstr "kromaj signoj post komando"

#: sed/compile.c:167
msgid "expected \\ after `a', `c' or `i'"
msgstr "atendita \\ post 'a', 'c' aŭ 'i'"

#: sed/compile.c:168
msgid "`}' doesn't want any addresses"
msgstr "'}' ne deziras adresojn"

#: sed/compile.c:169
msgid ": doesn't want any addresses"
msgstr ": ne deziras adresojn"

#: sed/compile.c:170
msgid "comments don't accept any addresses"
msgstr "komentoj ne akceptas adresojn"

#: sed/compile.c:171
msgid "missing command"
msgstr "mankas komando"

#: sed/compile.c:172
msgid "command only uses one address"
msgstr "komando uzas nur unu adreson"

#: sed/compile.c:173
msgid "unterminated address regex"
msgstr "nefinita adresa regesp"

#: sed/compile.c:174
msgid "unterminated `s' command"
msgstr "nefinita komando 's'"

#: sed/compile.c:175
msgid "unterminated `y' command"
msgstr "nefinita komando 'y'"

#: sed/compile.c:176
msgid "unknown option to `s'"
msgstr "nekonata opcio por 's'"

#: sed/compile.c:177
msgid "multiple `p' options to `s' command"
msgstr "pluraj 'p'-opcioj por komando 's'"

#: sed/compile.c:178
msgid "multiple `g' options to `s' command"
msgstr "pluraj 'g'-opcioj por komando 's'"

#: sed/compile.c:179
msgid "multiple number options to `s' command"
msgstr "pluraj nombro-opcioj por komando 's'"

#: sed/compile.c:180
msgid "number option to `s' command may not be zero"
msgstr "nombro-opcio por komando 's' ne povas esti nul"

#: sed/compile.c:181
msgid "strings for `y' command are different lengths"
msgstr "ĉenoj por komando 'y' havas malsamajn longojn"

#: sed/compile.c:182
msgid "delimiter character is not a single-byte character"
msgstr "apartiga signo ne estas unubitoka signo"

#: sed/compile.c:183
msgid "expected newer version of sed"
msgstr "atendis pli novan version de sed"

#: sed/compile.c:184
msgid "invalid usage of line address 0"
msgstr "nevalida uzo de liniadreso 0"

#: sed/compile.c:185
#, c-format
msgid "unknown command: `%c'"
msgstr "nekonata komando: '%c'"

#: sed/compile.c:208
#, c-format
msgid "%s: file %s line %lu: %s\n"
msgstr "%s: dosiero %s linio %lu: %s\n"

#: sed/compile.c:211
#, c-format
msgid "%s: -e expression #%lu, char %lu: %s\n"
msgstr "%s: -e esprimo #%lu, signo %lu: %s\n"

#: sed/compile.c:1665
#, c-format
msgid "can't find label for jump to `%s'"
msgstr "ne povas trovi etikedon por salto al '%s'"

#: sed/execute.c:709
#, c-format
msgid "%s: can't read %s: %s\n"
msgstr "%s: ne povas legi %s: %s\n"

#: sed/execute.c:740
#, c-format
msgid "couldn't edit %s: is a terminal"
msgstr "ne povis redakti %s: estas terminalo"

#: sed/execute.c:745
#, c-format
msgid "couldn't edit %s: not a regular file"
msgstr "ne povis redakti %s: ne estas normala dosiero"

#: sed/execute.c:757
#, c-format
msgid "%s: warning: failed to set default file creation context to %s: %s"
msgstr ""

#: sed/execute.c:764
#, c-format
msgid "%s: warning: failed to get security context of %s: %s"
msgstr ""

#: sed/execute.c:783 sed/utils.c:227
#, c-format
msgid "couldn't open temporary file %s: %s"
msgstr "ne povis malfermi dumtempan dosieron %s: %s"

#: sed/execute.c:1317 sed/execute.c:1497
msgid "error in subprocess"
msgstr "eraro en subprocezo"

#: sed/execute.c:1319
msgid "option `e' not supported"
msgstr "opcio 'e' ne realigita"

#: sed/execute.c:1499
msgid "`e' command not supported"
msgstr "komando 'e' ne realigita"

#: sed/execute.c:1843
msgid "no input files"
msgstr "mankas enig-dosieroj"

#: sed/regexp.c:41
msgid "no previous regular expression"
msgstr "mankas antaŭa regula esprimo"

#: sed/regexp.c:42
msgid "cannot specify modifiers on empty regexp"
msgstr "ne eblas specifi modifilojn ĉe malplena regula esprimo"

#: sed/regexp.c:131
#, c-format
msgid "invalid reference \\%d on `s' command's RHS"
msgstr "nevalida referenco \\%d ĉe dekstra flanko de komando 's'"

#: sed/sed.c:97
#, c-format
msgid ""
"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
msgstr ""

#: sed/sed.c:104
#, fuzzy, c-format
msgid ""
"E-mail bug reports to: <%s>.\n"
"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
msgstr ""
"Retpoŝtu cimo-raportojn al: %s .\n"
"Nepre menciu la vorton '%s' ie en la temlinio.\n"

#: sed/sed.c:117
msgid ""
"  -R, --regexp-perl\n"
"                 use Perl 5's regular expressions syntax in the script.\n"
msgstr ""
"  -R, --regexp-perl\n"
"                 uzi sintakso de Perl 5 por regulaj esprimoj en programo.\n"

#: sed/sed.c:122
#, c-format
msgid ""
"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
"\n"
msgstr ""
"Uzado: %s [OPCIO]... {programo-nur-se-neniu-alia-programo} [enig-"
"dosiero]...\n"
"\n"

#: sed/sed.c:126
#, c-format
msgid ""
"  -n, --quiet, --silent\n"
"                 suppress automatic printing of pattern space\n"
msgstr ""
"  -n, --quiet, --silent\n"
"                 subpremi aŭtomatan presadon de ŝablono-spaco\n"

#: sed/sed.c:128
#, c-format
msgid ""
"  -e script, --expression=script\n"
"                 add the script to the commands to be executed\n"
msgstr ""
"  -e programo, --expression=programo\n"
"                 aldoni la programon al la plenumotaj komandoj\n"

#: sed/sed.c:130
#, c-format
msgid ""
"  -f script-file, --file=script-file\n"
"                 add the contents of script-file to the commands to be "
"executed\n"
msgstr ""
"  -f programdosiero, --file=programdosiero\n"
"                 aldoni la enhavon de programdosiero al la plenumotaj "
"komandoj\n"

#: sed/sed.c:133
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""
"  --follow-symlinks\n"
"                 sekvi simbolajn ligojn, traktante dosierojn surloke\n"

#: sed/sed.c:136
#, c-format
msgid ""
"  -i[SUFFIX], --in-place[=SUFFIX]\n"
"                 edit files in place (makes backup if extension supplied)\n"
msgstr ""
"  -i[sufikso], --in-place[=sufikso]\n"
"                 redakti dosierojn surloke (fari savkopion, se sufikso)\n"

#: sed/sed.c:139
#, c-format
msgid ""
"  -b, --binary\n"
"                 open files in binary mode (CR+LFs are not processed "
"specially)\n"
msgstr ""
"  -b, --binary\n"
"                 malfermi dosierojn en binara reĝimo (linifinoj ne traktiĝas "
"speciale)\n"

#: sed/sed.c:142
#, c-format
msgid ""
"  -l N, --line-length=N\n"
"                 specify the desired line-wrap length for the `l' command\n"
msgstr ""
"  -l N, --line-length=N\n"
"                 specifi la deziratan linilongon por la komando 'l'\n"

#: sed/sed.c:144
#, c-format
msgid ""
"  --posix\n"
"                 disable all GNU extensions.\n"
msgstr ""
"  --posix\n"
"                 malŝalti ĉiujn GNU-ajn aldonaĵojn.\n"

#: sed/sed.c:146
#, c-format
msgid ""
"  -r, --regexp-extended\n"
"                 use extended regular expressions in the script.\n"
msgstr ""
"  -r, --regexp-extended\n"
"                 uzi etenditajn regulajn esprimojn en la programo.\n"

#: sed/sed.c:151
#, c-format
msgid ""
"  -s, --separate\n"
"                 consider files as separate rather than as a single "
"continuous\n"
"                 long stream.\n"
msgstr ""
"  -s, --separate\n"
"                 konsideri dosierojn kiel apartajn anstataŭ kiel unu "
"kontinuan\n"
"                 longan fluon.\n"

#: sed/sed.c:154
#, c-format
msgid ""
"  -u, --unbuffered\n"
"                 load minimal amounts of data from the input files and "
"flush\n"
"                 the output buffers more often\n"
msgstr ""
"  -u, --unbuffered\n"
"                 legi minimumajn kvantojn de datenoj el la enig-dosieroj "
"kaj\n"
"                 malplenigi la eligobufrojn pli ofte\n"

#: sed/sed.c:157
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "      --help     montri ĉi tiun helpon kaj eliri\n"

#: sed/sed.c:158
#, c-format
msgid "      --version  output version information and exit\n"
msgstr "      --version  montri version kaj eliri\n"

#: sed/sed.c:159
#, c-format
msgid ""
"\n"
"If no -e, --expression, -f, or --file option is given, then the first\n"
"non-option argument is taken as the sed script to interpret.  All\n"
"remaining arguments are names of input files; if no input files are\n"
"specified, then the standard input is read.\n"
"\n"
msgstr ""
"\n"
"Se neniu opcio -e, --expression, -f aŭ --file estas donita, tiam la unua\n"
"ne-opcia argumento estas prenata kiel la sed-programeto interpretota. Ĉiuj\n"
"restantaj argumentoj estas nomoj de enig-dosieroj; se neniu enigdosiero\n"
"estas specifita, tiam la normala enigo estas legata.\n"
"\n"

#: sed/sed.c:315
#, c-format
msgid "super-sed version %s\n"
msgstr "super-sed versio %s\n"

#: sed/sed.c:316
#, c-format
msgid ""
"based on GNU sed version %s\n"
"\n"
msgstr ""
"bazita sur \"GNU sed\" versio %s\n"
"\n"

#: sed/sed.c:318
#, c-format
msgid "GNU sed version %s\n"
msgstr "GNU sed versio %s\n"

#: sed/sed.c:320
#, fuzzy, c-format
msgid ""
"Copyright (C) %d Free Software Foundation, Inc.\n"
"This is free software; see the source for copying conditions.  There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
"to the extent permitted by law.\n"
msgstr ""
"%s\n"
"Ĉi tio estas libera programo; vidu la fonton por kopi-kondiĉoj. Estas\n"
"NENIA GARANTIO; eĉ ne por KOMERCA KVALITO aŭ ADEKVATECO POR DIFINITA CELO,\n"
"laŭ la grado permesita de juro.\n"

#: sed/utils.c:93 sed/utils.c:438
#, c-format
msgid "cannot remove %s: %s"
msgstr "ne povas forigi %s: %s"

#: sed/utils.c:163
#, c-format
msgid "couldn't open file %s: %s"
msgstr "ne povis malfermi dosieron %s: %s"

#: sed/utils.c:186
#, c-format
msgid "couldn't attach to %s: %s"
msgstr "ne povis alligiĝi al %s: %s"

#: sed/utils.c:245
#, c-format
msgid "couldn't write %d item to %s: %s"
msgid_plural "couldn't write %d items to %s: %s"
msgstr[0] "ne povis skribi %d eron al %s: %s"
msgstr[1] "ne povis skribi %d erojn al %s: %s"

#: sed/utils.c:260 sed/utils.c:276
#, c-format
msgid "read error on %s: %s"
msgstr "legeraro ĉe %s: %s"

#: sed/utils.c:378
#, c-format
msgid "couldn't follow symlink %s: %s"
msgstr "ne povis sekvi simbolan ligon %s: %s"

#: sed/utils.c:412
#, c-format
msgid "cannot stat %s: %s"
msgstr "ne povas stat-i %s: %s"

#: sed/utils.c:443
#, c-format
msgid "cannot rename %s: %s"
msgstr "ne povas renomi %s: %s"

#: lib/regcomp.c:134
msgid "Success"
msgstr "Sukceso"

#: lib/regcomp.c:137
msgid "No match"
msgstr "Maltrafo"

#: lib/regcomp.c:140
msgid "Invalid regular expression"
msgstr "Nevalida regula esprimo"

#: lib/regcomp.c:143
msgid "Invalid collation character"
msgstr "Nevalida kunfanda signo"

#: lib/regcomp.c:146
msgid "Invalid character class name"
msgstr "Nevalida nomo de signoklaso"

#: lib/regcomp.c:149
msgid "Trailing backslash"
msgstr "Malsuprenstreko ĉe fino"

#: lib/regcomp.c:152
msgid "Invalid back reference"
msgstr "Nevalida retroreferenco"

#: lib/regcomp.c:155
msgid "Unmatched [ or [^"
msgstr "Neparigita [ aŭ [^"

#: lib/regcomp.c:158
msgid "Unmatched ( or \\("
msgstr "Neparigita ( aŭ \\("

#: lib/regcomp.c:161
msgid "Unmatched \\{"
msgstr "Neparigita \\{"

#: lib/regcomp.c:164
msgid "Invalid content of \\{\\}"
msgstr "Nevalida enhavo de \\{\\}"

#: lib/regcomp.c:167
msgid "Invalid range end"
msgstr "Nevalida fino de gamo"

#: lib/regcomp.c:170
msgid "Memory exhausted"
msgstr "Mankas memoro"

#: lib/regcomp.c:173
msgid "Invalid preceding regular expression"
msgstr "Nevalida antaŭa regula esprimo"

#: lib/regcomp.c:176
msgid "Premature end of regular expression"
msgstr "Neatendita fino de regula esprimo"

#: lib/regcomp.c:179
msgid "Regular expression too big"
msgstr "Regula esprimo tro granda"

#: lib/regcomp.c:182
msgid "Unmatched ) or \\)"
msgstr "Neparigita ) aŭ \\)"

#: lib/regcomp.c:703
msgid "No previous regular expression"
msgstr "Mankas antaŭa regula esprimo"

#~ msgid "Called savchar() with unexpected pushback (%x)"
#~ msgstr "Vokis savchar() kun neatendita pushback (%x)"

#~ msgid "INTERNAL ERROR: bad address type"
#~ msgstr "INTERNA ERARO: malbona adresspeco"

#~ msgid "INTERNAL ERROR: Bad cmd %c"
#~ msgstr "INTERNA ERARO: Malbona komando %c"

#~ msgid ""
#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 suppress automatic printing of pattern space\n"
#~ "  -e script, --expression=script\n"
#~ "                 add the script to the commands to be executed\n"
#~ "  -f script-file, --file=script-file\n"
#~ "                 add the contents of script-file to the commands to be "
#~ "executed\n"
#~ "  -i[suffix], --in-place[=suffix]\n"
#~ "                 edit files in place (makes backup if extension "
#~ "supplied)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 specify the desired line-wrap length for the `l' "
#~ "command\n"
#~ "  -r, --regexp-extended\n"
#~ "                 use extended regular expressions in the script.\n"
#~ "%s  -s, --separate\n"
#~ "                 consider files as separate rather than as a single "
#~ "continuous\n"
#~ "                 long stream.\n"
#~ "  -u, --unbuffered\n"
#~ "                 load minimal amounts of data from the input files and "
#~ "flush\n"
#~ "                 the output buffers more often\n"
#~ "      --help     display this help and exit\n"
#~ "  -V, --version  output version information and exit\n"
#~ "\n"
#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
#~ "non-option argument is taken as the sed script to interpret.  All\n"
#~ "remaining arguments are names of input files; if no input files are\n"
#~ "specified, then the standard input is read.\n"
#~ "\n"
#~ msgstr ""
#~ "Uzado: %s [OPCIO]... {programo-nur-se-ne-alia-programo} [enig-"
#~ "dosiero]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 subpremi aŭtomatan presadon de ŝablono-spaco\n"
#~ "  -e programo, --expression=programo\n"
#~ "                 aldoni la programon al la plenumotaj komandoj\n"
#~ "  -f programdosiero, --file=programdosiero\n"
#~ "                 aldoni la enhavon de programdosiero al la plenumotaj "
#~ "komandoj\n"
#~ "  -i[sufikso], --in-place[=sufikso]\n"
#~ "                 redakti dosierojn surloke (fari savkopion, se sufikso)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 specifi la deziratan linilongon por la komando 'l'\n"
#~ "  -r, --regexp-extended\n"
#~ "                 uzi etenditajn regulajn esprimojn en la programo.\n"
#~ "%s  -s, --separate\n"
#~ "                 konsideri dosierojn kiel apartajn anstataŭ kiel unu "
#~ "kontinuan\n"
#~ "                 longan fluon.\n"
#~ "  -u, --unbuffered\n"
#~ "                 legi minimumajn kvantojn de datenoj el la enig-dosieroj "
#~ "kaj\n"
#~ "                 malplenigi la eligobufrojn pli ofte\n"
#~ "      --help     montri ĉi tiun helpon kaj eliri\n"
#~ "  -V, --version  montri version kaj eliri\n"
#~ "\n"
#~ "Se neniu opcio -e, --expression, -f aŭ --file estas donita, tiam la unua\n"
#~ "ne-opcia argumento estas prenata kiel la sed-programeto interpretota. "
#~ "Ĉiuj\n"
#~ "restantaj argumentoj estas nomoj de enig-dosieroj; se neniu enigdosiero\n"
#~ "estas specifita, tiam la normala enigo estas legata.\n"
#~ "\n"

#~ msgid "Unexpected End-of-file"
#~ msgstr "Neatendita fino de dosiero"

#~ msgid "bad regexp: %s\n"
#~ msgstr "malbona regesp: %s\n"

#~ msgid "input read error: %s"
#~ msgstr "legeraro ĉe enigo: %s"

#~ msgid "couldn't write an item to %s: %s"
#~ msgstr "ne povis skribi eron al %s: %s"
