# Slovak translations for GNU sed package.
# Copyright (C) 1999, 2002, 2003, 2004, 2005, 2008 Free Software Foundation, Inc.
# Marcel Telka <marcel@telka.sk>, 2002, 2003, 2004, 2005, 2008.
# Miroslav Vasko <vasko@debian.cz>, 1999.
#
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-19 13:38+0100\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"

#: sed/compile.c:161
msgid "multiple `!'s"
msgstr "viacnásobný `!'"

#: sed/compile.c:162
msgid "unexpected `,'"
msgstr "neočakávaná `,'"

#: sed/compile.c:163
msgid "invalid usage of +N or ~N as first address"
msgstr "+N alebo ~N sa nedá použiť ako prvá adresa"

#: sed/compile.c:164
msgid "unmatched `{'"
msgstr "nezodpovedajúca `{'"

#: sed/compile.c:165
msgid "unexpected `}'"
msgstr "neočakávaná `}'"

#: sed/compile.c:166
msgid "extra characters after command"
msgstr "nadbytočné znaky po príkaze"

#: sed/compile.c:167
msgid "expected \\ after `a', `c' or `i'"
msgstr "očakávané \\ po `a', `c' alebo `i'"

#: sed/compile.c:168
msgid "`}' doesn't want any addresses"
msgstr "`}' nevyžaduje akúkoľvek adresu"

#: sed/compile.c:169
msgid ": doesn't want any addresses"
msgstr ": nechce akúkoľvek adresu"

#: sed/compile.c:170
msgid "comments don't accept any addresses"
msgstr "v komentári nie je prípustná akákoľvek adresa"

#: sed/compile.c:171
msgid "missing command"
msgstr "chýbajúci príkaz"

#: sed/compile.c:172
msgid "command only uses one address"
msgstr "príkaz používa iba jednu adresu"

#: sed/compile.c:173
msgid "unterminated address regex"
msgstr "neukončený regulárny výraz adresy"

#: sed/compile.c:174
msgid "unterminated `s' command"
msgstr "neukončený príkaz `s'"

#: sed/compile.c:175
msgid "unterminated `y' command"
msgstr "neukončený príkaz `y'"

#: sed/compile.c:176
msgid "unknown option to `s'"
msgstr "neznáma voľba pre `s'"

#: sed/compile.c:177
msgid "multiple `p' options to `s' command"
msgstr "viacnásobné použitie voľby `p' s príkazom `s'"

#: sed/compile.c:178
msgid "multiple `g' options to `s' command"
msgstr "viacnásobné použitie voľby `g' s príkazom `s'"

#: sed/compile.c:179
msgid "multiple number options to `s' command"
msgstr "príkaz `s' môže mať maximálne jednu číselnú voľbu"

#: sed/compile.c:180
msgid "number option to `s' command may not be zero"
msgstr "číselná voľba príkazu `s' nemôže byť nula"

#: sed/compile.c:181
msgid "strings for `y' command are different lengths"
msgstr "reťazce pre príkaz `y' majú rôzne dĺžky"

#: sed/compile.c:182
msgid "delimiter character is not a single-byte character"
msgstr "oddeľovací znak nie je jednobajtový"

#: sed/compile.c:183
msgid "expected newer version of sed"
msgstr "očakávaná novšia verzia programu sed"

#: sed/compile.c:184
msgid "invalid usage of line address 0"
msgstr "neplatné použitie adresy riadku 0"

#: sed/compile.c:185
#, c-format
msgid "unknown command: `%c'"
msgstr "neznámy príkaz: `%c'"

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

#: sed/compile.c:211
#, c-format
msgid "%s: -e expression #%lu, char %lu: %s\n"
msgstr "%s: -e výraz #%lu, znak %lu: %s\n"

#: sed/compile.c:1665
#, c-format
msgid "can't find label for jump to `%s'"
msgstr "nie je možné nájsť návestie pre skok na `%s'"

#: sed/execute.c:709
#, c-format
msgid "%s: can't read %s: %s\n"
msgstr "%s: %s nie je možné čítať: %s\n"

#: sed/execute.c:740
#, c-format
msgid "couldn't edit %s: is a terminal"
msgstr "nebolo možné upraviť %s: je to terminál"

#: sed/execute.c:745
#, c-format
msgid "couldn't edit %s: not a regular file"
msgstr "nebolo možné upraviť %s: nie je to bežný súbor"

#: 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 "nebolo možné otvoriť dočasný súbor %s: %s"

#: sed/execute.c:1317 sed/execute.c:1497
msgid "error in subprocess"
msgstr "chyba v podprocese"

#: sed/execute.c:1319
msgid "option `e' not supported"
msgstr "voľba `e' nie je podporovaná"

#: sed/execute.c:1499
msgid "`e' command not supported"
msgstr "príkaz `e' nie je podporovaný"

#: sed/execute.c:1843
msgid "no input files"
msgstr "bez vstupných súborov"

#: sed/regexp.c:41
msgid "no previous regular expression"
msgstr "bez predchádzajúceho regulárneho výrazu"

#: sed/regexp.c:42
msgid "cannot specify modifiers on empty regexp"
msgstr "nie je možné zadať modifikátory pre prázdny regulárny výraz"

#: sed/regexp.c:131
#, c-format
msgid "invalid reference \\%d on `s' command's RHS"
msgstr "neplatný odkaz \\%d na `s' príkazu RHS"

#: 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 ""
"Správy o chybách zasielajte na adresu %s (iba anglicky).\n"
"Prosím vložte slovo ``%s'' niekde do položky ``Predmet:''\n"
"Komentáre k slovenskému prekladu zasielajte na adresu <sk-i18n@lists.linux."
"sk>.\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"
"                 použiť syntax regulárnych výrazov z Perlu 5 v skripte.\n"

#: sed/sed.c:122
#, c-format
msgid ""
"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
"\n"
msgstr ""
"Použitie: %s [VOĽBA]... {skript-len-ak-nie-je-iný-skript} [vstupný-"
"súbor]...\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"
"                 potlačiť automatický výpis priestoru vzorov\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 skript, --expression=skript\n"
"                 pridať skript k príkazom, ktoré majú byť vykonané\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 skript-súbor, --file=skript-súbor\n"
"                 pridať obsah súboru skript-súbor k príkazom, ktoré majú byť "
"vykonané\n"

#: sed/sed.c:133
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""
"  --follow-symlinks\n"
"                 nasledovať symbolické odkazy pri spracovávaní na mieste\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[PRÍPONA], --in-place[=PRÍPONA]\n"
"                 upraviť súbory na mieste (vytvoria sa zálohy, ak je zadaná "
"prípona)\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"
"                 otvoriť súbory v binárnom režime (CR+LF nie sú špeciálne "
"spracovávané)\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"
"                 nastaviť požadovanú dĺžku pre zalomenie riadkov pre príkaz "
"`l'\n"

#: sed/sed.c:144
#, c-format
msgid ""
"  --posix\n"
"                 disable all GNU extensions.\n"
msgstr ""
"  --posix\n"
"                 zakázať všetky rozšírenia GNU.\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"
"                 použiť rozšírené regulárne výrazy v skripte.\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"
"                 spracovať súbory ako oddelené a nie ako jeden spojitý.\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"
"                 načítať minimálne množstvá dát zo vstupných súborov a "
"vyprázdňovať\n"
"                 výstupné vyrovnávacie pamäte častejšie\n"

#: sed/sed.c:157
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "      --help     vypísať túto pomoc a skončiť\n"

#: sed/sed.c:158
#, c-format
msgid "      --version  output version information and exit\n"
msgstr "      --version  vypísať informáciu o verzii a skončiť\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"
"Ak nie je zadaná žiadna z volieb -e, --expression, -f, alebo --file,\n"
"potom prvý parameter, ktorý nie je voľbou, bude považovaný za sed skript,\n"
"ktorý má byť interpretovaný. Všetky ostatné parametre sú názvy vstupných "
"súborov.\n"
"Ak nebudú vstupné súbory zadané, bude čítaný štandardný vstup.\n"
"\n"

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

#: sed/sed.c:316
#, c-format
msgid ""
"based on GNU sed version %s\n"
"\n"
msgstr ""
"založené na GNU sed verzia %s\n"
"\n"

#: sed/sed.c:318
#, c-format
msgid "GNU sed version %s\n"
msgstr "GNU sed verzia %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"
"Toto je voľné programové vybavenie; podmienky pre kopírovanie a "
"rozširovanie\n"
"nájdete v zdrojových textoch. Toto programové vybavenie je BEZ záruky,\n"
"a to aj bez záruky PREDAJNOSTI alebo VHODNOSTI PRE NEJAKÝ KONKRÉTNY ÚČEL.\n"

#: sed/utils.c:93 sed/utils.c:438
#, c-format
msgid "cannot remove %s: %s"
msgstr "nepodarilo sa odstrániť %s: %s"

#: sed/utils.c:163
#, c-format
msgid "couldn't open file %s: %s"
msgstr "nebolo možné otvoriť súbor %s: %s"

#: sed/utils.c:186
#, c-format
msgid "couldn't attach to %s: %s"
msgstr "nebolo možné sa pripojiť k %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] "nebolo možné zapísať %d položiek do %s: %s"
msgstr[1] "nebolo možné zapísať %d položku do %s: %s"
msgstr[2] "nebolo možné zapísať %d položky do %s: %s"

#: sed/utils.c:260 sed/utils.c:276
#, c-format
msgid "read error on %s: %s"
msgstr "chyba pri čítaní z %s: %s"

#: sed/utils.c:378
#, c-format
msgid "couldn't follow symlink %s: %s"
msgstr "nebolo možné nasledovať symbolický odkaz %s: %s"

#: sed/utils.c:412
#, c-format
msgid "cannot stat %s: %s"
msgstr "nepodarilo sa zistiť stav %s: %s"

#: sed/utils.c:443
#, c-format
msgid "cannot rename %s: %s"
msgstr "nepodarilo sa premenovať %s: %s"

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

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

#: lib/regcomp.c:140
msgid "Invalid regular expression"
msgstr "Neplatný regulárny výraz"

#: lib/regcomp.c:143
msgid "Invalid collation character"
msgstr "Neplatný znak pre porovnávanie"

#: lib/regcomp.c:146
msgid "Invalid character class name"
msgstr "Neplatný názov triedy znakov"

#: lib/regcomp.c:149
msgid "Trailing backslash"
msgstr "Ukončovacie opačné lomítko"

#: lib/regcomp.c:152
msgid "Invalid back reference"
msgstr "Neplatný spätný odkaz"

#: lib/regcomp.c:155
msgid "Unmatched [ or [^"
msgstr "Nezodpovedajúca [ alebo [^"

#: lib/regcomp.c:158
msgid "Unmatched ( or \\("
msgstr "Nezodpovedajúca ( alebo \\("

#: lib/regcomp.c:161
msgid "Unmatched \\{"
msgstr "Nezodpovedajúca \\{"

#: lib/regcomp.c:164
msgid "Invalid content of \\{\\}"
msgstr "Neplatný obsah \\{\\}"

#: lib/regcomp.c:167
msgid "Invalid range end"
msgstr "Neplatný koniec rozsahu"

#: lib/regcomp.c:170
msgid "Memory exhausted"
msgstr "Vyčerpaná pamäť"

#: lib/regcomp.c:173
msgid "Invalid preceding regular expression"
msgstr "Neplatný predchádzajúci regulárny výraz"

#: lib/regcomp.c:176
msgid "Premature end of regular expression"
msgstr "Neočakávaný koniec regulárneho výrazu"

#: lib/regcomp.c:179
msgid "Regular expression too big"
msgstr "Regulárny výraz je príliš veľký"

#: lib/regcomp.c:182
msgid "Unmatched ) or \\)"
msgstr "Nezodpovedajúca ) alebo \\)"

#: lib/regcomp.c:703
msgid "No previous regular expression"
msgstr "Bez predchádzajúceho regulárneho výrazu"
