# -*- mode:po; coding:utf-8;-*- Slovenian message catalogue for GNU sed.
# Copyright (C) 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the sed package.
# Primož Peterlin <primozz.peterlin@gmail.com>, 2000-2003, 2005, 2007, 2008, 2010.
# $Id: sed-4.2.1.sl.po,v 1.3 2010/11/16 13:45:25 peterlin Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: sed 4.2.1\n"
"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
"POT-Creation-Date: 2012-12-22 14:36+0100\n"
"PO-Revision-Date: 2010-11-16 14:45+0100\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"

#: sed/compile.c:144
msgid "multiple `!'s"
msgstr "večterni klicaji »!«"

#: sed/compile.c:145
msgid "unexpected `,'"
msgstr "nepričakovana vejica »,«"

#: sed/compile.c:146
msgid "invalid usage of +N or ~N as first address"
msgstr "nepravilna raba izbir +N ali ~N kot začetnih naslovov"

#: sed/compile.c:147
msgid "unmatched `{'"
msgstr "oklepaj { brez zaklepaja"

#: sed/compile.c:148
msgid "unexpected `}'"
msgstr "nepričakovan zaklepaj }"

#: sed/compile.c:149
msgid "extra characters after command"
msgstr "dodatni znaki za ukazom"

#: sed/compile.c:150
msgid "expected \\ after `a', `c' or `i'"
msgstr "Za »a«, »c« ali »i« se pričakuje \\"

#: sed/compile.c:151
msgid "`}' doesn't want any addresses"
msgstr "Zaklepaj } ne zahteva naslova"

#: sed/compile.c:152
msgid ": doesn't want any addresses"
msgstr ": ne zahteva naslova"

#: sed/compile.c:153
msgid "comments don't accept any addresses"
msgstr "komentarji ne sprejemajo naslovov"

#: sed/compile.c:154
msgid "missing command"
msgstr "manjkajoč ukaz"

#: sed/compile.c:155
msgid "command only uses one address"
msgstr "ukaz uporablja le en naslov"

#: sed/compile.c:156
msgid "unterminated address regex"
msgstr "regularni izraz z nezaključenim naslovom"

#: sed/compile.c:157
msgid "unterminated `s' command"
msgstr "nezaključen ukaz »s«"

#: sed/compile.c:158
msgid "unterminated `y' command"
msgstr "nezaključen ukaz »y«"

#: sed/compile.c:159
msgid "unknown option to `s'"
msgstr "neznana izbira pri ukazu »s«"

#: sed/compile.c:160
msgid "multiple `p' options to `s' command"
msgstr "večterne izbire »p« pri ukazu »s«"

#: sed/compile.c:161
msgid "multiple `g' options to `s' command"
msgstr "večterne izbire »g« pri ukazu »s«"

#: sed/compile.c:162
msgid "multiple number options to `s' command"
msgstr "večterne številčne izbire pri ukazu »s«"

#: sed/compile.c:163
msgid "number option to `s' command may not be zero"
msgstr "številčna izbira pri ukazu »s« mora biti neničelna"

#: sed/compile.c:164
msgid "strings for `y' command are different lengths"
msgstr "niza pri ukazu »y« sta različno dolga"

#: sed/compile.c:165
msgid "delimiter character is not a single-byte character"
msgstr "razmejilni znak je dolg več kot en bajt"

#: sed/compile.c:166
msgid "expected newer version of sed"
msgstr "pričakovana novejša izdaja programa sed"

#: sed/compile.c:167
msgid "invalid usage of line address 0"
msgstr "neveljavna raba naslovne vrstice 0"

#: sed/compile.c:168
#, c-format
msgid "unknown command: `%c'"
msgstr "neznan ukaz: »%c«"

#: sed/compile.c:169
#, fuzzy
msgid "incomplete command"
msgstr "manjkajoč ukaz"

#: sed/compile.c:192
#, c-format
msgid "%s: file %s line %lu: %s\n"
msgstr "%s: datoteka %s vrstica %lu: %s\n"

#: sed/compile.c:195
#, c-format
msgid "%s: -e expression #%lu, char %lu: %s\n"
msgstr "%s: -e izraz #%lu, znak %lu: %s\n"

#: sed/compile.c:1657
#, c-format
msgid "can't find label for jump to `%s'"
msgstr "ni moč najti oznake za skok na »%s«"

#: sed/execute.c:595
#, c-format
msgid "%s: can't read %s: %s\n"
msgstr "%s: %s ni mogoče prebrati: %s\n"

#: sed/execute.c:624
#, c-format
msgid "couldn't edit %s: is a terminal"
msgstr "ni mogoče urejati %s: je terminal"

#: sed/execute.c:629
#, c-format
msgid "couldn't edit %s: not a regular file"
msgstr "ni mogoče urejati %s: ni navadna datoteka"

#: sed/execute.c:640
#, c-format
msgid "%s: warning: failed to set default file creation context to %s: %s"
msgstr ""
"%s: opozorilo: neuspešna nastavitev privzetega konteksta ustvarjanja "
"datoteke na %s: %s"

#: sed/execute.c:647
#, c-format
msgid "%s: warning: failed to get security context of %s: %s"
msgstr "%s: opozorilo: neuspešno branje varnostnega konteksta za %s: %s"

#: sed/execute.c:664 sed/utils.c:211
#, c-format
msgid "couldn't open temporary file %s: %s"
msgstr "ni mogoče odpreti začasne datoteke %s: %s"

#: sed/execute.c:1193 sed/execute.c:1373
msgid "error in subprocess"
msgstr "napaka v podprocesu"

#: sed/execute.c:1195
msgid "option `e' not supported"
msgstr "izbira »e« ni podprta"

#: sed/execute.c:1375
msgid "`e' command not supported"
msgstr "ukaz »e« ni podprt"

#: sed/execute.c:1725
msgid "no input files"
msgstr "ni vhodnih datotek"

#: sed/regexp.c:39
msgid "no previous regular expression"
msgstr "ni prejšnjega regularnega izraza"

#: sed/regexp.c:40
msgid "cannot specify modifiers on empty regexp"
msgstr "navajanje modifikatorjev pri praznem regularnem izrazu ni mogoče"

#: sed/regexp.c:129
#, c-format
msgid "invalid reference \\%d on `s' command's RHS"
msgstr "neveljavni sklic \\%d na desni strani ukaza »s«"

#: sed/sed.c:32
msgid "Jay Fenlason"
msgstr ""

#: sed/sed.c:33
msgid "Tom Lord"
msgstr ""

#: sed/sed.c:34
msgid "Ken Pizzini"
msgstr ""

#: sed/sed.c:35
msgid "Paolo Bonzini"
msgstr ""

#: sed/sed.c:79
#, 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 ""
"Domača stran GNU sed:  <http://www.gnu.org/software/sed/>.\n"
"Splošna pomoč pri rabi programja GNU: <http://www.gnu.org/gethelp/>.\n"

#: sed/sed.c:86
#, c-format
msgid ""
"E-mail bug reports to: <%s>.\n"
"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
msgstr ""
"Sporočila o napakah pošljite na: <%s> .\n"
"Poskrbite, da bo nekje v polju »Subject« nastopal izraz »%s«.\n"

#: sed/sed.c:99
msgid ""
"  -R, --regexp-perl\n"
"                 use Perl 5's regular expressions syntax in the script.\n"
msgstr ""
"  -R, --regexp-perl\n"
"                 dovoli uporabo regularnih izrazov, ki jih podpira Perl 5\n"

#: sed/sed.c:104
#, c-format
msgid ""
"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
"\n"
msgstr ""
"Uporaba: %s [IZBIRA]... {skript--če-je-en-sam} [vhodna-datoteka]...\n"
"\n"

#: sed/sed.c:108
#, c-format
msgid ""
"  -n, --quiet, --silent\n"
"                 suppress automatic printing of pattern space\n"
msgstr ""
"  -n, --quiet, --silent\n"
"                 brez samodejnega izpisa prostora vzorcev\n"

#: sed/sed.c:110
#, c-format
msgid ""
"  -e script, --expression=script\n"
"                 add the script to the commands to be executed\n"
msgstr ""
"  -e SKRIPT, --expression=SKRIPT\n"
"                 dodaj SKRIPT med ukaze, ki se izvedejo\n"

#: sed/sed.c:112
#, 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 SKRIPTNA_DATOTEKA, --file=SKRIPTNA_DATOTEKA\n"
"                 dodaj vsebino SKRIPTNE DATOTEKE med ukaze, ki se izvedejo\n"

#: sed/sed.c:115
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""
"  --follow-symlinks\n"
"                 pri obdelavi na mestu sledi simbolnim povezavam\n"

#: sed/sed.c:118
#, fuzzy, c-format
msgid ""
"  -i[SUFFIX], --in-place[=SUFFIX]\n"
"                 edit files in place (makes backup if SUFFIX supplied)\n"
msgstr ""
"  -i[PRIPONA], --in-place[=PRIPONA]\n"
"                 spremembe opravi v sami datoteki (ustvari varnostno kopijo "
"z\n"
"                 dano pripono, če je ta podana)\n"

#: sed/sed.c:121
#, c-format
msgid ""
"  -b, --binary\n"
"                 open files in binary mode (CR+LFs are not processed "
"specially)\n"
msgstr ""
"  -b, --binary\n"
"                 odpri kot binarno datoteko (brez posebne obravnave CR+LF)\n"

#: sed/sed.c:124
#, 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"
"                 določi širino vrstice za ukaz ,l` na N znakov\n"

#: sed/sed.c:126
#, c-format
msgid ""
"  --posix\n"
"                 disable all GNU extensions.\n"
msgstr ""
"  --posix\n"
"                 onemogoči vse razširitve GNU\n"

#: sed/sed.c:128
#, c-format
msgid ""
"  -r, --regexp-extended\n"
"                 use extended regular expressions in the script.\n"
msgstr ""
"  -r, --regexp-extended\n"
"                 dovoli uporabo razširjenih regularnih izrazov.\n"

#: sed/sed.c:133
#, c-format
msgid ""
"  -s, --separate\n"
"                 consider files as separate rather than as a single "
"continuous\n"
"                 long stream.\n"
msgstr ""
"  -s, --separate\n"
"                 datoteke obravnavaj kot ločene, ne pa kot neprekinjen tok\n"
"                 podatkov\n"

#: sed/sed.c:136
#, 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"
"                 naloži kar se da malo podatkov iz vhode datoteke in "
"pogosteje\n"
"                 izprazni izhodni medpomnilnik\n"

#: sed/sed.c:139
#, c-format
msgid ""
"  -z, --null-data\n"
"                 separate lines by NUL characters\n"
msgstr ""

#: sed/sed.c:141
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "      --help     prikaži ta navodila in končaj\n"

#: sed/sed.c:142
#, c-format
msgid "      --version  output version information and exit\n"
msgstr "      --version  različica programa\n"

#: sed/sed.c:143
#, 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"
"Če izbire -e, --expression, -f ali --file niso podane, se prvi neizbirni\n"
"argument tolmači kot skript. Vsi preostali argumenti so imena vhodnih "
"datotek.\n"
"Če ni podano nobeno ime datoteke, se bere standardni vhod.\n"
"\n"

#: sed/utils.c:74 sed/utils.c:432
#, c-format
msgid "cannot remove %s: %s"
msgstr "ni mogoče odstraniti %s: %s"

#: sed/utils.c:144
#, c-format
msgid "couldn't open file %s: %s"
msgstr "ni mogoče odpreti datoteke %s: %s"

#: sed/utils.c:167
#, c-format
msgid "couldn't attach to %s: %s"
msgstr "ni mogoče pripeti k %s: %s"

#: sed/utils.c:229
#, c-format
msgid "couldn't write %d item to %s: %s"
msgid_plural "couldn't write %d items to %s: %s"
msgstr[0] "ni mogoče zapisati %d elementov na %s: %s"
msgstr[1] "ni mogoče zapisati %d elementa na %s: %s"
msgstr[2] "ni mogoče zapisati %d elementov na %s: %s"
msgstr[3] "ni mogoče zapisati %d elementov na %s: %s"

#: sed/utils.c:244 sed/utils.c:267
#, c-format
msgid "read error on %s: %s"
msgstr "napaka pri branju z %s: %s"

#: sed/utils.c:372
#, c-format
msgid "couldn't follow symlink %s: %s"
msgstr "ni mogoče slediti simbolni povezavi %s: %s"

#: sed/utils.c:406
#, c-format
msgid "cannot stat %s: %s"
msgstr "ni mogoče ugotoviti statistike %s: %s"

#: sed/utils.c:437
#, c-format
msgid "cannot rename %s: %s"
msgstr "ni mogoče preimenovati %s: %s"

#: lib/regcomp.c:132
msgid "Success"
msgstr "Uspešno"

#: lib/regcomp.c:135
msgid "No match"
msgstr "Ni ujemanja"

#: lib/regcomp.c:138
msgid "Invalid regular expression"
msgstr "Neveljavni regularni izraz"

#: lib/regcomp.c:141
msgid "Invalid collation character"
msgstr "Znaka izven abecede"

#: lib/regcomp.c:144
msgid "Invalid character class name"
msgstr "Neveljavno ime razreda znakov"

#: lib/regcomp.c:147
msgid "Trailing backslash"
msgstr "Zaključna obrnjena poševnica"

#: lib/regcomp.c:150
msgid "Invalid back reference"
msgstr "Neveljavni povratni sklic"

#: lib/regcomp.c:153
msgid "Unmatched [ or [^"
msgstr "Oklepaj [ ali [^ brez zaklepaja"

#: lib/regcomp.c:156
msgid "Unmatched ( or \\("
msgstr "Oklepaj ( ali \\( brez zaklepaja"

#: lib/regcomp.c:159
msgid "Unmatched \\{"
msgstr "Oklepaj \\{ brez zaklepaja"

#: lib/regcomp.c:162
msgid "Invalid content of \\{\\}"
msgstr "Neveljavna vsebina \\{\\}"

#: lib/regcomp.c:165
msgid "Invalid range end"
msgstr "Neveljavna zgornja meja intervala"

#: lib/regcomp.c:168
msgid "Memory exhausted"
msgstr "Zmanjkalo pomnilnika"

#: lib/regcomp.c:171
msgid "Invalid preceding regular expression"
msgstr "Neveljaven prejšnji regularni izraz"

#: lib/regcomp.c:174
msgid "Premature end of regular expression"
msgstr "Predčasni zaključek regularnega izraza"

#: lib/regcomp.c:177
msgid "Regular expression too big"
msgstr "Regularni izraz prevelik"

#: lib/regcomp.c:180
msgid "Unmatched ) or \\)"
msgstr "Oklepaj ) ali \\) brez zaklepaja"

#: lib/regcomp.c:705
msgid "No previous regular expression"
msgstr "Prejšnji regularni izraz manjka"

#~ msgid "super-sed version %s\n"
#~ msgstr "super-sed, različica %s\n"

#~ msgid ""
#~ "based on GNU sed version %s\n"
#~ "\n"
#~ msgstr ""
#~ "na osnovi GNU sed, različica %s\n"
#~ "\n"

#~ msgid "GNU sed version %s\n"
#~ msgstr "GNU sed, različica %s\n"

#~ 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 ""
#~ "Copyright © %d Free Software Foundation, Inc.\n"
#~ "To je prost program; pogoji, pod katerimi ga lahko uporabljate, "
#~ "razmnožujete\n"
#~ "in razširjate so navedeni v izvorni kodi. Za program ni NOBENEGA "
#~ "JAMSTVA,\n"
#~ "niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA UPORABO.\n"

#~ msgid "Called savchar() with unexpected pushback (%x)"
#~ msgstr "Klic savchar() z nepričakovanim pushback (%x)"

#~ msgid "INTERNAL ERROR: bad address type"
#~ msgstr "INTERNA NAPAKA: pokvarjen tip naslova"

#~ msgid "INTERNAL ERROR: Bad cmd %c"
#~ msgstr "INTERNA NAPAKA: Pokvarjen ukaz %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 ""
#~ "Uporaba: %s [IZBIRA]... [SKRIPT] [DATOTEKA]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 brez avtomatičnega izpisa prostora vzorcev\n"
#~ "  -e SKRIPT, --expression=SKRIPT\n"
#~ "                 dodaj SKRIPT med ukaze, ki se izvedejo\n"
#~ "  -f SKRIPTNA_DATOTEKA, --file=SKRIPTNA_DATOTEKA\n"
#~ "                 dodaj vsebino SKRIPTNE DATOTEKE med ukaze, ki se "
#~ "izvedejo\n"
#~ "  -i[PRIPONA], --in-place[=PRIPONA]\n"
#~ "                 spremembe opravi v sami datoteki (ustvari varnostno "
#~ "kopijo z\n"
#~ "                 dano pripono, če je ta podana)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 določi širino vrstice za ukaz ,l` na N znakov\n"
#~ "  -r, --regexp-extended\n"
#~ "                 dovoli uporabo razširjenih regularnih izrazov\n"
#~ "%s  -s, --separate\n"
#~ "                 datoteke obravnavaj kot ločene, ne pa kot neprekinjen "
#~ "tok\n"
#~ "                 podatkov\n"
#~ "  -u, --unbuffered\n"
#~ "\n"
#~ "      --help     ta navodila\n"
#~ "  -V, --version  različica programa\n"
#~ "\n"
#~ "Če izbire -e, --expression, -f ali --file niso podane, se prvi neizbirni\n"
#~ "argument tolmači kot skript. Vsi preostali argumenti so imena vhodnih "
#~ "datotek.\n"
#~ "Če ni podano nobeno ime datoteke, se bere standardni vhod.\n"
#~ "\n"

#~ msgid "Unexpected End-of-file"
#~ msgstr "Nepričakovan konec datoteke"

#~ msgid "bad regexp: %s\n"
#~ msgstr "pokvarjen regularni izraz: %s\n"

#~ msgid "input read error: %s"
#~ msgstr "napaka pri branju: %s"

#~ msgid "couldn't write an item to %s: %s"
#~ msgstr "ni bilo mogoče zapisati elementa na %s: %s"
