# dpkg - Slovak translation
# Copyright (C) 2005, 2006, 2008 Software in the Public Interest, Inc.
# This file is distributed under the same license as the dselect package.
#
# Roman Benko <benco@acid.sk>, 2005 - master translator
# Peter Mann <Peter.Mann@tuke.sk>, 2006 - only new changes
# Ivan Masár <helix84@centrum.sk>, 2008, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.13\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2009-07-20 17:32+0100\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "Vyhľadať ? "

#: dselect/basecmds.cc:147
msgid "Error: "
msgstr "Chyba: "

#: dselect/basecmds.cc:178
msgid "Help: "
msgstr "Pomocník: "

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Menu pomocníka zobrazíte stlačením ?, ďalšiu tému ., Pomocníka ukončíte "
"<medzerník>."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Pomocník je dostupný pre nasledujúce témy: "

#: dselect/basecmds.cc:199
msgid ""
"Press a key from the list above, <space> or `q' to exit help,\n"
"  or `.' (full stop) to read each help page in turn. "
msgstr ""
"Stlačte kláves z horeuvedeného zoznamu, <medzerník> alebo „q“ na ukončenie "
"Pomocníka,\n"
"  alebo „.“ (bodka) na postupné čítanie všetkých stránok Pomocníka."

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "chyba pri čítaní klávesnice v Pomocníkovi"

#: dselect/baselist.cc:57
msgid "ioctl(TIOCGWINSZ) failed"
msgstr "zlyhala funkcia ioctl(TIOCGWINSZ)"

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "zlyhala funkcia doupdate v obsluhe SIGWINCH"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "zlyhalo obnovenie starého SIGWINCH sigact"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "zlyhalo obnovenie starej masky signálu"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "zlyhalo získanie starej masky signálu"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "zlyhalo získanie starého SIGWINCH sigact"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "nepodarilo sa zablokovať SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "zlyhalo nastavenie nového SIGWINCH spracovania signálu"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "nepodarilo sa alokovať farebný pár"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "zlyhalo vytvorenie titulného okna"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "zlyhalo vytvorenie informačného okna"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "zlyhalo vytvorenie okna základného zoznamu"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "zlyhalo vytvorenie hlavičkového okna"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "zlyhalo vytvorenie stavového okna"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "zlyhalo vytvorenie informačného okna"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "zlyhalo vytvorenie dopytovacieho okna"

#: dselect/baselist.cc:255
msgid "Keybindings"
msgstr "Väzby klávesov"

#: dselect/baselist.cc:303
#, c-format
msgid "  -- %d%%, press "
msgstr " -- %d%%, stlačte "

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s pre viac"

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr "%s pre návrat späť"

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[nenaviazaný]"

#: dselect/bindings.cc:82
#, c-format
msgid "[unk: %d]"
msgstr "[unk: %d]"

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Posun pomocníka/informáciami ďalej"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Posun pomocníka/informáciami späť"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "Posun hore"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "Posun dolu"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Prejsť na začiatok zoznamu"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Prejsť na koniec zoznamu"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Vyžiadať pomoc (pohyb naprieč oknami Pomocníka)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Pohyb naprieč informačnými obrazovkami"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Prekresliť obrazovku"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Posun zoznamom o jeden riadok vpred"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Posun zoznamom o jeden riadok späť"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Posun v nápovede/informáciách o jeden riadok vpred"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Posun v Pomocníkovi/informáciách o jeden riadok späť"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Posun zoznamom dopredu"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Posun zoznamom dozadu"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Označiť balík(y) na inštaláciu"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Označiť balík(y) na odinštalovanie"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Označiť balík(y) na odinštalovanie a vyčistenie"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Upresniť zvýraznenie"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Rozšíriť zvýraznenie"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Hľadať balík, ktorého názov obsahuje reťazec"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Zopakovať posledné hľadanie."

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Zmena triedenia podľa priority/sekcie"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Ukončenie, potvrdenie, a kontrola závislostí"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Ukončenie, potvrdenie bez kontroly"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Ukončenie, zamietnutie návrhov riešenia konfliktov/závislostí"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Zrušenie - ukončenie práce bezo zmien"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Návrat do starého stavu pre všetky balíky"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Návrat do navrhovaného stavu pre všetky balíky"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Návrat do priamo požadovaného stavu pre všetky balíky"

#: dselect/bindings.cc:171
msgid "Revert to currently installed state for all packages"
msgstr "Návrat do momentálne nainštalovaného stavu pre všetky balíky"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Výber aktuálne označenej prístupovej metódy"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Ukončenie bez zmeny zvolenej výberovej metódy"

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "Funkcie klávesov"

#: dselect/helpmsgs.cc:29
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"\n"
"Mark packages for later processing:\n"
" +, Insert  install or upgrade      =, H  hold in present state\n"
" -, Delete  remove                  :, G  unhold: upgrade or leave "
"uninstalled\n"
" _          remove & purge config\n"
"                                             Miscellaneous:\n"
"Quit, exit, overwrite (note capitals!):       ?, F1 request help (also "
"Help)\n"
" Return  Confirm, quit (check dependencies)   i, I  toggle/cycle info "
"displays\n"
"   Q     Confirm, quit (override dep.s)       o, O  cycle through sort "
"options\n"
" X, Esc  eXit, abandoning any changes made    v, V  change status display "
"opts\n"
"   R     Revert to state before this list      ^l   redraw display\n"
"   U     set all to sUggested state             /   search (Return to "
"cancel)\n"
"   D     set all to Directly requested state  n, \\  repeat last search\n"
msgstr ""
"Klávesy pre pohyb: Ďalší/Predošlý, Začiatok/Koniec, Hore/Dolu, Naspäť/"
"Dopredu:\n"
"  j, Šípka-dole             k, Šípka-hore           posunúť zvýraznenie\n"
"  N, Page-down, medzerník   P, Page-up, Backspace   posun v zozname o 1 "
"stranu\n"
"  ^n                        ^p                      posun v zozname o 1 "
"riadok\n"
"  t, Home                   e, End                  skok na začiatok/koniec "
"zoznamu\n"
"  u                         d                       posun info o 1 stranu\n"
"  ^u                        ^d                      posun info by 1 line\n"
"  B, Šípka-vľavo            F, Šípka-vpravo         posun o 1/3 obrazovky\n"
"  ^b                        ^f                      posun o 1 znak\n"
"\n"
"Označiť balíky pre neskoršie spracovanie:\n"
" +, Insert  nainštalovať alebo aktualizovať  =, H  podržať v súčasnom stave\n"
" -, Delete  odstrániť                  :, G  uvoľniť: aktualizovať alebo "
"ponechať odinštalovaný\n"
" _          odstrániť a vyčistiť konfiguráciu\n"
"                                             Rozličné:\n"
"Koniec, výstup, prepis (všimnite si veľké písmená!):    ?, F1 vyžiadať "
"pomocníka (tiež Pomocník)\n"
" Návrat, Potvrdenie, koniec (skontrolovať závislosti)     i, I  zmeniť/"
"cyklovať info obrazovky\n"
"   Q     Potvrď, koniec (potlačiť závis.)             o, O  cyklovať cez "
"zoraďovacie voľby\n"
" X, Esc  skončiť, zabudnúť všetky vykonané zmeny        v, V  zmeň stav "
"volieb obrazovky\n"
"   R     Vrátiť do stavu pred týmto zoznamom            ^l    prekresli "
"displej\n"
"   U     nastaviť všetko na odporúčaný stav              /     hľadať "
"(stlačením Return zrušiť)\n"
"   D     nastaviť všetko na priamo požadovaný stav      n, \\ opakovať "
"posledné vyhľadávanie\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Úvod do výberov balíkov"

#: dselect/helpmsgs.cc:55
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  You can navigate around the list using the cursor keys,\n"
"mark packages for installation (using `+') or deinstallation (using `-').\n"
"Packages can be marked either singly or in groups; initially you will see "
"that\n"
"the line `All packages' is selected.  `+', `-' and so on will affect all "
"the\n"
"packages described by the highlighted line.\n"
"\n"
"Some of your choices will cause conflicts or dependency problems; you will "
"be\n"
"given a sub-list of the relevant packages, so that you can solve the "
"problems.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished selecting packages, press <enter> to confirm "
"changes,\n"
"or `X' to quit without saving changes. A final check on conflicts and\n"
"dependencies will be done - here too you may see a sublist.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Vitajte v hlavnom zozname balíkov dselect-u.\n"
"\n"
"Budete oboznámení so zoznamom balíkov, ktoré sú nainštalované alebo sú "
"dostupné\n"
"na inštaláciu. V zozname sa môžete pohybovať pomocou kurzorových klávesov,\n"
"označovať balíky na inštaláciu (použitím „+“) alebo odinštalovanie (použitím "
"„-“).\n"
"Balíky môžno označovať buď jednotlivo alebo v skupinách; na začiatku "
"uvidíte\n"
"riadok „Všetky balíky“ sú vybraté.  „+“, „-“ a tak ďalej majú vplyv na "
"všetky balíky\n"
"označené zvýrazňovacím riadkom.\n"
"\n"
"Niektoré z vašich volieb môžu spôsobiť konflikty alebo problémy so "
"závislosťami; budete požiadaný\n"
"o pod-zoznam relevantných balíkov, čo je spôsob, ako môžete daný problém "
"vyriešiť.\n"
"\n"
"Mali by ste si prečítať zoznam klávesov a vysvetlivky k obsahu obrazovky.\n"
"Je dostupných množstvo pomoci online, prosíme vás, aby ste ju využívali -\n"
"Pomocníka vyvoláte kedykoľvek stlačením „?“.\n"
"\n"
"Keď skončíte s výberom balíkov, stlačte <Enter> na potvrdenie zmien,\n"
"alebo „X“ na ukončenie bez zapísania zmien. Bude urobená záverečná kontrola\n"
"konfliktov a závislostí - aj tu môžete uvidieť pod-zoznam.\n"
"\n"
"Pomocníka ukončíte a do zoznamu vstúpite stlačením <medzerník>.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Úvod k prehliadaču zoznamu balíkov len pre čítanie"

#: dselect/helpmsgs.cc:80
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  Since you do not have the privilege necessary to update\n"
"package states, you are in a read-only mode.  You can navigate around the\n"
"list using the cursor keys (please see the `Keystrokes' help screen), "
"observe\n"
"the status of the packages and read information about them.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished browsing, press `Q' or <enter> to quit.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Vitajte v hlavnom zozname balíkov dselect-u.\n"
"\n"
"Budete oboznámení so zoznamom balíkov, ktoré sú nainštalované alebo sú "
"dostupné\n"
"na inštaláciu. Kedže nemáte oprávnenie potrebné na aktualizáciu\n"
"stavu balíkov, ste v režime len pre čítanie. V zozname sa môžete pohybovať\n"
"pomocou kurzorových klávesov (pozrite si tému pomocníka „Funkcie "
"klávesov“),\n"
"sledovať stav balíkov a prečítať si informácie o nich.\n"
"\n"
"Mali by ste si prečítať zoznam klávesov a vysvetlivky k obsahu obrazovky.\n"
"Je dostupných množstvo online pomocníkov, prosíme vás, aby ste ich\n"
"používali - stlačením „?“ kedykoľvek vyvoláte Pomocníka.\n"
"\n"
"Keď skončíte prezeranie, stlačte „Q“ alebo <Enter> na ukončenie.\n"
"\n"
"Pomocníka ukončíte  a späť na zoznam sa vrátite stlačením klávesu "
"<medzerník>.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Úvod k podzoznamu riešení konfliktov/závislostí"

#: dselect/helpmsgs.cc:99
msgid ""
"Dependency/conflict resolution - introduction.\n"
"\n"
"One or more of your choices have raised a conflict or dependency problem -\n"
"some packages should only be installed in conjunction with certain others, "
"and\n"
"some combinations of packages may not be installed together.\n"
"\n"
"You will see a sub-list containing the packages involved.  The bottom half "
"of\n"
"the display shows relevant conflicts and dependencies; use `i' to cycle "
"between\n"
"that, the package descriptions and the internal control information.\n"
"\n"
"A set of `suggested' packages has been calculated, and the initial markings "
"in\n"
"this sub-list have been set to match those, so you can just hit Return to\n"
"accept the suggestions if you wish.  You may abort the change(s) which "
"caused\n"
"the problem(s), and go back to the main list, by pressing capital `X'.\n"
"\n"
"You can also move around the list and change the markings so that they are "
"more\n"
"like what you want, and you can `reject' my suggestions by using the "
"capital\n"
"`D' or `R' keys (see the keybindings help screen).  You can use capital `Q' "
"to\n"
"force me to accept the situation currently displayed, in case you want to\n"
"override a recommendation or think that the program is mistaken.\n"
"\n"
"Press <space> to leave help and enter the sub-list; remember: press `?' for "
"help.\n"
msgstr ""
"Riešenie závislostí/konfliktov - úvod.\n"
"\n"
"Jedno alebo viacero z vašich rozhodnutí vyvolalo konflikt alebo problém so "
"závislosťami -\n"
"niektoré balíky by mali byť inštalované v spojení s inými, a\n"
"niektoré kombinácie balíkov by zasa nemali byť inštalované spoločne.\n"
"\n"
"Zobrazí sa vám zoznam príslušných balíkov. V spodnej polovici\n"
"obrazovky sú zobrazené relevantné konflikty a závislosti; použite „i“ na "
"pohyb medzi\n"
"nimi, medzi popismi balíkov a medzi internými riadiacimi informáciami.\n"
"\n"
"Súbor „navrhovaných“ balíkov bol vypočítaný a úvodné označenia v\n"
"tomto pod-zozname boli nastavené tak, aby sa s nimi zhodovali, takže stačí, "
"keď stlačíte Enter\n"
"na znak súhlasu s odporúčaniami, ak si to želáte. Máte možnosť zrušiť zmenu"
"(y), ktoré spôsobili\n"
"problém(y) a vrátiť sa do hlavného zoznamu stlačením klávesu „X“.\n"
"\n"
"Môžete sa tiež presunúť inam v rámci zoznamu a zmeniť označenia tak, aby "
"lepšie\n"
"zodpovedali Vašim potrebám a môžete tiež „odmietnuť“ moje odporúčania "
"stlačením kláves\n"
"„D“ alebo „R“  (pozrite si tému Pomocníka o funkciách kláves).  Môžete "
"stlačiť kláves „Q“,\n"
"ktorým ma donútite akceptovať momentálne zobrazenú situáciu v prípade, že si "
"želáte\n"
"ignorovať odporúčania alebo si myslíte, že sa program mýli.\n"
"\n"
"Pomocníka opustíte a do podzoznamu sa vrátite stlačením <medzerník>; "
"pamätajte: Pomocníka vyvoláte stlačením „?“.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Zobrazenie, časť 1: zoznam balíkov a znaky stavov"

#: dselect/helpmsgs.cc:125
msgid ""
"The top half of the screen shows a list of packages.  For each package you "
"see\n"
"four columns for its current status on the system and mark.  In terse mode "
"(use\n"
"`v' to toggle verbose display) these are single characters, from left to "
"right:\n"
"\n"
" Error flag: Space - no error (but package may be in broken state - see "
"below)\n"
"              `R'  - serious error during installation, needs "
"reinstallation;\n"
" Installed state:     Space    - not installed;\n"
"                       `*'     - installed;\n"
"                       `-'     - not installed but config files remain;\n"
"   packages in these { `U'     - unpacked but not yet configured;\n"
"   states are not    { `C'     - half-configured (an error happened);\n"
"   (quite) properly  { `I'     - half-installed (an error happened);\n"
"   installed         { `W',`t' - triggers are awaited resp. pending.\n"
" Old mark: what was requested for this package before presenting this list;\n"
" Mark: what is requested for this package:\n"
"  `*': marked for installation or upgrade;\n"
"  `-': marked for removal, but any configuration files will remain;\n"
"  `=': on hold: package will not be processed at all;\n"
"  `_': marked for purge completely - even remove configuration;\n"
"  `n': package is new and has yet to be marked for install/remove/&c.\n"
"\n"
"Also displayed are each package's Priority, Section, name, installed and\n"
"available version numbers (shift-V to display/hide) and summary "
"description.\n"
msgstr ""
"Horná polovica obrazovky ukazuje zoznam balíkov. Pre každý balík vidíte\n"
"štyri stĺpce o jeho aktuálnom stave v systéme a označenie.  V stručnom "
"režime (použite\n"
"„v“ na zapnutie obsiahleho zobrazenia) sú tu jednoduché znaky, zľava "
"doprava:\n"
"\n"
" Chybový príznak: Medzerník - žiadna chyba (ale balík by mohol byť v "
"poškodenom stave - pozrite nižšie)\n"
"              „R“  - závažná chyba pri inštalácii, vyžaduje "
"preinštalovanie;\n"
" Inštalovaný stav:   Medzerník - nenainštalovaný;\n"
"                     „*“  - inštalovaný;\n"
"                     „-“  - nenainštalovaný, ale konfiguračné súbory boli "
"zachované;\n"
"          balíky v { „U“  - rozbalený, ale stále nenakonfigurovaný;\n"
"       tieto stavy { „C“  - polo-nakonfigurovaný (vyskytla sa chyba);\n"
"      sú poškodené { „|“  - polo-nainštalovaný (vyskytla sa chyba).\n"
" Staré značky: čo bolo požadované pre tento balík pred zobrazením tohto "
"zoznamu;\n"
" Značka: čo je požadované pre tento balík:\n"
"  „*“: označené na inštaláciu alebo aktualizáciu;\n"
"  „-“: označené na odstránenie, ale konfiguračné súbory zostanú zachované;\n"
"  „=“: na podržanie: balíček vôbec nebude spracovaný;\n"
"  „_“: označené na kompletné vyčistenie - aj s odstránením konfigurácie;\n"
"  „n“: balík je nový a ešte nebol označený na inštaláciu/odstránenie/atď.\n"
"\n"
"Zobrazuje sa tiež Priorita, Sekcia, meno, inštalované a\n"
"dostupné čísla verzií pre každý balík (zobrazenie/skrytie pomocou shift-V) a "
"sumárny popis.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Zobrazenie, časť 2: zoznam zvýraznení; informačná obrazovka"

#: dselect/helpmsgs.cc:152
msgid ""
"* Highlight: One line in the package list will be highlighted.  It "
"indicates\n"
"  which package(s) will be affected by presses of `+', `-' and `_'.\n"
"\n"
"* The dividing line in the middle of the screen shows a brief explanation "
"of\n"
"  the status of the currently-highlighted package, or a description of "
"which\n"
"  group is highlighted if a group line is.  If you don't understand the\n"
"  meaning of some of the status characters displayed, go to the relevant\n"
"  package and look at this divider line, or use the `v' key for a verbose\n"
"  display (press `v' again to go back to the terse display).\n"
"\n"
"* The bottom of the screen shows more information about the\n"
"  currently-highlighted package (if there is only one).\n"
"\n"
"  It can show an extended description of the package, the internal package\n"
"  control details (either for the installed or available version of the\n"
"  package), or information about conflicts and dependencies involving the\n"
"  current package (in conflict/dependency resolution sublists).\n"
"\n"
"  Use the `i' key to cycle through the displays, and `I' to hide the\n"
"  information display or expand it to use almost all of the screen.\n"
msgstr ""
"* Zvýraznenie: Jeden riadok v zozname balíkov bude zvýraznený. Indikuje\n"
"  to, ktorý balík(y) bude ovplyvnený stlačením klávesov „+“, „-“ a „_“.\n"
"\n"
"* Rozdeľovací riadok v strede obrazovky zobrazuje stručný opis stavu\n"
" momentálne zvýrazneného balíku alebo popis zvýrazneného názvu\n"
"  skupiny balíkov. Ak nerozumiete významu niektorého zo \n"
"  zobrazených stavových znakov, choďte na relevantný\n"
"  balík a pozrite sa na rozdeľovací riadok alebo použite kláves „v“ na\n"
"  podrobný výpis (stlačte „v“ znova a vrátite sa späť na stručný výpis).\n"
"\n"
"* Spodná časť obrazovky zobrazuje viac informácií o \n"
"  momentálne zvýraznenom balíku (ak je iba jeden).\n"
"\n"
"  Môže zobrazovať rozšírený popis balíku, interné podrobnosti balíka "
"(control)\n"
"  (buď pre nainštalované alebo pre dostupné verzie balíkov),\n"
"  alebo informácie o konfliktoch a závislostiach týkajúcich sa\n"
"  aktuálneho balíka (v pod-zozname riešení konfliktov/závislostí).\n"
"\n"
"  Na a prepínanie medzi obrazovkami použite  kláves „i“ a kláves „I“ na "
"skrytie\n"
"  informačnej obrazovky alebo na jej zväčšenie na takmer celú veľkosť "
"obrazovky.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Úvod do zobrazenia výberu metódy"

#: dselect/helpmsgs.cc:176
msgid ""
"dselect and dpkg can do automatic installation, loading the package files to "
"be\n"
"installed from one of a number of different possible places.\n"
"\n"
"This list allows you to select one of these installation methods.\n"
"\n"
"Move the highlight to the method you wish to use, and hit Enter.  You will "
"then\n"
"be prompted for the information required to do the installation.\n"
"\n"
"As you move the highlight a description of each method, where available, is\n"
"displayed in the bottom half of the screen.\n"
"\n"
"If you wish to quit without changing anything use the `x' key while in the "
"list\n"
"of installation methods.\n"
"\n"
"A full list of keystrokes is available by pressing `k' now, or from the "
"help\n"
"menu reachable by pressing `?'.\n"
msgstr ""
"dselect a dpkg dokážu automaticky inštalovať a nahrávať súbory balíkov, "
"ktoré\n"
"majú byť nainštalované z jedného z mnohých možných miest.\n"
"\n"
"Tento zoznam vám umožňuje vybrať jednu z týchto inštalačných metód.\n"
"\n"
"Presuňte zvýraznenie na metódu, ktorú chcete použiť a stlačte Enter. "
"Následne budete\n"
"požiadaní o zadanie informácií potrebných na vykonanie inštalácie.\n"
"\n"
"Pri presune zvýraznenia sa popis každej metódy, ak je k dispozícii,\n"
"zobrazuje v dolnej polovici obrazovky.\n"
"\n"
"Ak si želáte skončiť bez akejkoľvek zmeny, použite kláves „x“, keď sa "
"nachádzate v zozname\n"
"inštalačných metód.\n"
"\n"
"Úplný zoznam funkcií klávesov je teraz dostupný po stlačení klávesu „k“ "
"alebo z menu\n"
"Pomocníka, ktorú je možné získať stlačením klávesu „?“.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Klávesy na výber metódy"

#: dselect/helpmsgs.cc:196
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"(These are the same motion keys as in the package list display.)\n"
"\n"
"Quit:\n"
" Return, Enter    select this method and go to its configuration dialogue\n"
" x, X             exit without changing or setting up the installation "
"method\n"
"\n"
"Miscellaneous:\n"
"  ?, Help, F1      request help\n"
" ^l                redraw display\n"
"  /                search (just return to cancel)\n"
"  \\                repeat last search\n"
msgstr ""
"Klávesy pre pohyb: Ďalší/Predchádzajúci, Začiatok/Koniec, Hore/Dole, Dozadu/"
"Dopredu:\n"
"  j, Šípka-dole         k, Šípka-hore           presunutie zvýraznenia\n"
"  N, Page-down, Space   P, Page-up, Backspace   posun zoznamu o 1 stranu\n"
"  ^n                    ^p                      posun zoznamu o 1 riadok\n"
"  t, Home               e, End                  skok na začiatok/koniec "
"zoznamu\n"
"  u                     d                       posun informácii o 1 stranu\n"
"  ^u                    ^d                      posun informácii o 1 riadok\n"
"  B, Šípka-vľavo         F, Šípka-vpravo        posun displeja o 1/3 "
"obrazovky\n"
"  ^b                    ^f                      posun displeja o 1 znak\n"
"(Toto sú rovnaké klávesy pre pohyb ako na obrazovke so zoznamom balíkov.)\n"
"\n"
"Koniec:\n"
" Return, Enter    vyber túto metódu a choď do jej konfiguračného dialógu\n"
" x, X             skončiť bez zmien alebo nastavení inštalačnej metódy\n"
"\n"
"Rôzne:\n"
"  ?, Help, F1      vyžiada Pomocníka\n"
" ^l                prekreslí obrazovku\n"
"  /                vyhľadanie (stlačením Enter zrušíte operáciu)\n"
"  \\               zopakuje posledné hľadanie\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "Pomocníka vyvoláte príkazom „dselect --help“."

#: dselect/main.cc:143
msgid "a"
msgstr "p"

#: dselect/main.cc:143
msgid "[A]ccess"
msgstr "[P]rístup"

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Vyberte si prístupovú metódu."

#: dselect/main.cc:144
msgid "u"
msgstr "a"

#: dselect/main.cc:144
msgid "[U]pdate"
msgstr "[A]ktualizácia"

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Aktualizujte zoznam dostupných balíkov, ak je to možné."

#: dselect/main.cc:145
msgid "s"
msgstr "v"

#: dselect/main.cc:145
msgid "[S]elect"
msgstr "[V]ýber "

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Vyžiadajte, ktoré balíky chcete vo vašom systéme."

#: dselect/main.cc:146
msgid "i"
msgstr "n"

#: dselect/main.cc:146
msgid "[I]nstall"
msgstr "[N]ainštalovať"

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Nainštalovať a aktualizovať požadované balíky."

#: dselect/main.cc:147
msgid "c"
msgstr "k"

#: dselect/main.cc:147
msgid "[C]onfig"
msgstr "[K]onfigurovať"

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Konfigurovať všetky nenakonfigurované balíky."

#: dselect/main.cc:148
msgid "r"
msgstr "o"

#: dselect/main.cc:148
msgid "[R]emove"
msgstr "[O]dstrániť"

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Odstrániť nechcený softvér."

#: dselect/main.cc:149
msgid "q"
msgstr "u"

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "[U]končiť"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Ukončiť dselect."

#: dselect/main.cc:150
msgid "menu"
msgstr "menu"

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Debian „%s“ - rozhranie na správu balíkov, verzia %s.\n"

#: dselect/main.cc:158
msgid ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"
msgstr ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"

#: dselect/main.cc:162
#, fuzzy
msgid ""
"This is free software; see the GNU General Public License version 2 or\n"
"later for copying conditions. There is NO warranty.\n"
msgstr ""
"Toto je slobodný softvér; podrobnosti o pravidlách kopírovania\n"
"nájdete v GNU General Public License verzii 2 alebo neskoršej.\n"
"Neposkytuje sa ŽIADNA záruka. Pomocou %s --licence získate\n"
"podrobnosti o autorských právach a licencii.\n"

#: dselect/main.cc:172 dselect/main.cc:220
msgid "<standard output>"
msgstr ""

#: dselect/main.cc:183
#, c-format
msgid ""
"Usage: %s [<option> ...] [<action> ...]\n"
"\n"
msgstr ""
"Použitie: %s [<voľba> ...] [<operácia> ...]\n"
"\n"

#: dselect/main.cc:187
#, c-format
msgid ""
"Options:\n"
"  --admindir <directory>     Use <directory> instead of %s.\n"
"  --expert                   Turn on expert mode.\n"
"  --debug <file> | -D<file>  Turn on debugging, sending output to <file>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                             Configure screen colours.\n"
"\n"
msgstr ""
"Voľby:\n"
"  --admindir <adresár>         Použije <adresár> namiesto %s.\n"
"  --expert                     Režim pre skúsených používateľov.\n"
"  --debug <súbor> | -D<súbor>  Nastaví ladenie, výstup sa zapíše do súboru "
"<súbor>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                               Nastaví farby obrazovky.\n"
"\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                       Zobrazí tento text Pomocníka.\n"
"  --version                    Zobrazí číslo verzie.\n"
"  --license | --licence        Zobrazí licenciu.\n"
"\n"

#: dselect/main.cc:201
#, c-format
msgid ""
"Actions:\n"
"  access update select install config remove quit\n"
"\n"
msgstr ""
"Operácie:\n"
"  access update select install config remove quit\n"
"\n"

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "Časti obrazovky:\n"

#: dselect/main.cc:210
#, c-format
msgid "Colours:\n"
msgstr "Farby:\n"

#: dselect/main.cc:215
#, c-format
msgid "Attributes:\n"
msgstr "Vlastnosti:\n"

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "nebolo možné otvoriť ladiaci súbor „%.255s“\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "Nesprávny %s „%s“\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "časť obrazovky"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Žiadna farebná špecifikácia\n"

#: dselect/main.cc:284 dselect/main.cc:289
msgid "colour"
msgstr "farba"

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "vlastnosť farby"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Terminál zdá sa nepodporuje adresovanie kurzoru.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Nezdá sa, že by terminál podporoval zvýraznenie.\n"

#: dselect/main.cc:333
#, c-format
msgid ""
"Set your TERM variable correctly, use a better terminal,\n"
"or make do with the per-package management tool %s.\n"
msgstr ""
"Nastavte vašu premennú TERM správne, použite lepší terminál,\n"
"alebo to urobte pomocou nástroja na správu jednotlivých balíkov %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "terminálu chýbajú nevyhnutné zložky, ukončuje sa"

#: dselect/main.cc:417
msgid ""
"\n"
"\n"
"Move around with ^P and ^N, cursor keys, initial letters, or digits;\n"
"Press <enter> to confirm selection.   ^L redraws screen.\n"
"\n"
msgstr ""
"\n"
"\n"
"Pohybujte sa okolo s ^P a ^N, kurzorovými klávesmi, začiatočnými písmenami "
"alebo číslicami;\n"
"Výber potvrdíte stlačením <Enter>. ^L prekreslí obrazovku.\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Prístup len na čítanie: možný je len prehľad výberov!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "zlyhala funkcia getch v hlavnom menu"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "neznámy reťazec operácie „%.50s“"

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - zoznam prístupových metód"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "Prístupová metóda „%s“."

#: dselect/methlist.cc:120
msgid "Abbrev."
msgstr "Skrát."

#: dselect/methlist.cc:121 dselect/pkginfo.cc:105 dselect/pkgtop.cc:291
msgid "Description"
msgstr "Popis"

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "funkcia doupdate zlyhala"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "zlyhalo odblokovanie premennej SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "zlyhalo opätovné zablokovanie premennej SIGWINCH"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "funkcia getch zlyhala"

#: dselect/methlist.cc:188
msgid "Explanation"
msgstr "Vysvetlenie"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Nie je dostupné žiadne vysvetlenie."

#: dselect/method.cc:67
#, c-format
msgid ""
"\n"
"\n"
"%s: %s\n"
msgstr ""
"\n"
"\n"
"%s: %s\n"

#: dselect/method.cc:70
msgid ""
"\n"
"Press <enter> to continue."
msgstr ""
"\n"
"Pokračujte stlačením <Enter>."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Pokračujte stlačením klávesu <Enter>.\n"

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "chyba pri zápise na štandardný vstup"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "chyba pri čítaní potvrdenia správy o zlyhaní programu"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "aktualizácia dostupného skriptu zoznamu"

#: dselect/method.cc:200
msgid "installation script"
msgstr "inštalačný skript"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "dotazovací/nastavovací skript"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "syntaktická chyba v metóde súboru volieb „%.250s“ -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "chyba pri čítaní súboru volieb „%.250s“"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "nie je možné čítať metódy čítania z adresára „%.250s“"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "metóda „%.250s“ má názov, ktorý je príliš dlhý (%d > %d znakov) "

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "nie je možné pristupovať k skriptu metódy „%.250s“"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "nie je možné čítať súbor volieb metód „%.250s“"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "nečíselná hodnota tam, kde je očakávané číslo"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF v indexovacom reťazci"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "indexovací reťazec je príliš dlhý"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "nový riadok pred začiatkom názvu voľby"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF pred začiatkom názvu voľby"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "nealfanumerický znak tam, kde sa očakáva začiatok názvu voľby"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "nealfanumerický znak v názve voľby"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF v názve voľby"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "nový riadok pred prehľadom"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF pred prehľadom"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF v prehľade - chýbajúci nový riadok"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "nie je možné otvoriť voľbu popisu súboru „%.250s“"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "nie je možné zistiť stav voľby popisu súboru „%.250s“"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "zlyhalo načítanie popisného súboru volieb „%.250s“"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "chyba pri čítaní popisného súboru volieb „%.250s“"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "chyba pri čítaní súboru s voľbami metód „%.250s“"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "nie je možné otvoriť aktuálny súbor s voľbami „%.250s“"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "nie je možné otvoriť nový súbor s voľbami „%.250s“"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "nie je možné zapísať nové voľby do „%.255s“"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "nie je možné zatvoriť nový súbor s voľbami „%.250s“"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "nie je možné nainštalovať novú voľbu ako „%.255s“"

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "nový balík"

#: dselect/pkgdisplay.cc:37
msgid "install"
msgstr "nainštalovať"

#: dselect/pkgdisplay.cc:38
msgid "hold"
msgstr "podržať"

#: dselect/pkgdisplay.cc:39
msgid "remove"
msgstr "odstrániť"

#: dselect/pkgdisplay.cc:40
msgid "purge"
msgstr "vyčistiť"

#. TRANSLATORS: The space is a trick to work around gettext which uses
#. * the empty string to store information about the translation. DO NOT
#. * CHANGE THAT IN A TRANSLATION! The code really relies on that being
#. * a single space.
#: dselect/pkgdisplay.cc:47
msgid " "
msgstr " "

#: dselect/pkgdisplay.cc:48
msgid "REINSTALL"
msgstr "PREINŠTALOVAŤ"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "nenainštalovaný"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "odstránený (konfigurácie ponechané)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "čiastočne nainštalovaný"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "rozbalený (nenakonfigurovaný)"

#: dselect/pkgdisplay.cc:55
msgid "half configured (config failed)"
msgstr ""

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "čaká sa na spracovanie spúšťačov (triggers-awaited)"

#: dselect/pkgdisplay.cc:57
msgid "triggered"
msgstr "spustené"

#: dselect/pkgdisplay.cc:58
msgid "installed"
msgstr "nainštalovaný"

#: dselect/pkgdisplay.cc:61
msgid "Required"
msgstr "Vyžadovaný"

#: dselect/pkgdisplay.cc:62
msgid "Important"
msgstr "Dôležitý"

#: dselect/pkgdisplay.cc:63
msgid "Standard"
msgstr "Štandardný"

#: dselect/pkgdisplay.cc:64
msgid "Optional"
msgstr "Voliteľný"

#: dselect/pkgdisplay.cc:65
msgid "Extra"
msgstr "Extra"

#: dselect/pkgdisplay.cc:66
msgid "!Bug!"
msgstr "!Chyba!"

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Neklasifikovaný"

#: dselect/pkgdisplay.cc:70
msgid "suggests"
msgstr "navrhuje"

#: dselect/pkgdisplay.cc:71
msgid "recommends"
msgstr "odporúča"

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "závisí na"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "pred-závisí na"

#: dselect/pkgdisplay.cc:74
msgid "breaks"
msgstr "kazí"

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "v konflite s"

#: dselect/pkgdisplay.cc:76
msgid "provides"
msgstr "poskytuje"

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "nahrádza"

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "vylepšuje"

#: dselect/pkgdisplay.cc:81
msgid "Req"
msgstr "Vyž"

#: dselect/pkgdisplay.cc:82
msgid "Imp"
msgstr "Dôl"

#: dselect/pkgdisplay.cc:83
msgid "Std"
msgstr "Šta"

#: dselect/pkgdisplay.cc:84
msgid "Opt"
msgstr "Vol"

#: dselect/pkgdisplay.cc:85
msgid "Xtr"
msgstr "Xtr"

#: dselect/pkgdisplay.cc:86
msgid "bUG"
msgstr "Chy"

#: dselect/pkgdisplay.cc:87
msgid "?"
msgstr "?"

#: dselect/pkgdisplay.cc:95 dselect/pkgdisplay.cc:115
msgid "Broken"
msgstr "Poškodený"

#: dselect/pkgdisplay.cc:96
msgid "New"
msgstr "Nový"

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "Aktualizovaný"

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "Zastaralý/lokálny"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "Aktuálny"

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "Dostupný"

#: dselect/pkgdisplay.cc:101 dselect/pkgdisplay.cc:117
msgid "Removed"
msgstr "Odstránený"

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Chybne nainštalované balíky"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Novo dostupné balíky"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Aktualizované balíky (k dispozícii je novšia verzia)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Zastaralé a lokálne balíky v systéme"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Aktuálne nainštalované balíky"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Dostupné balíky (momentálne nenainštalované)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Odstránené a viac nedostupné balíky"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Nainštalované balíky"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Odstránené balíky (konfigurácia stále zachovaná)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Vyčistené a nikdy nenainštalované balíky"

#: dselect/pkgdisplay.cc:116
msgid "Installed"
msgstr "Nainštalované"

#: dselect/pkgdisplay.cc:118
msgid "Purged"
msgstr "Vyčistené"

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - rekurzívny výpis balíkov"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - inšpekcia stavov balíkov"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - hlavný zoznam balíkov"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (podľa sekcie)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (dostup., sekcia)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (stav, sekcia)"

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (podľa priority)"

#: dselect/pkgdisplay.cc:226
msgid " (avail., priority)"
msgstr " (dostup., priorita)"

#: dselect/pkgdisplay.cc:229
msgid " (status, priority)"
msgstr " (stav, priorita)"

#: dselect/pkgdisplay.cc:238 dselect/pkgdisplay.cc:250
msgid " (alphabetically)"
msgstr " (abecedne)"

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (podľa dostupnosti)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (podľa stavu)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " znač.:+/=/- struč:v Pomocník:? "

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " znač.:+/=/- podrob:v Pomocník:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " stručne:v Pomocník:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " podrobne:v Pomocník:?"

#: dselect/pkginfo.cc:80
msgid ""
"The line you have highlighted represents many packages; if you ask to "
"install, remove, hold, etc. it you will affect all the packages which match "
"the criterion shown.\n"
"\n"
"If you move the highlight to a line for a particular package you will see "
"information about that package displayed here.\n"
"You can use `o' and `O' to change the sort order and give yourself the "
"opportunity to mark packages in different kinds of groups."
msgstr ""
"Riadok, ktorý ste zvýraznili reprezentuje množstvo balíkov; ak požadujete "
"inštaláciu, odstránenie, podržanie, atď., ovplyvní to všetky balíky, ktoré "
"sa zhodujú so zobrazenými kritériami.\n"
"\n"
"Ak presuniete zvýraznenie na riadok s príslušným balíkom, zobrazia sa vám na "
"tomto mieste informácie o tomto balíku.\n"
"Môžete použiť „o“ a „O“ na zmenu zoradenia a umožniť tak označenie balíkov z "
"iných skupín."

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr "Závislosti"

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr "Popis nie je dostupný."

#: dselect/pkginfo.cc:130
msgid "Installed control file information"
msgstr "Informácie nainštalovaného riadiaceho súboru"

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "Dostupné informácie o riadiacom súbore"

#: dselect/pkglist.cc:416
msgid "There are no packages."
msgstr "Žiadne balíky."

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "zadaná nesprávna podmienka vyhľadávania"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "chyba v regulárnom výraze"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " nevyzerá byť dostupný\n"

#: dselect/pkgsublist.cc:127
msgid " or "
msgstr " alebo "

#: dselect/pkgtop.cc:57
msgid "All"
msgstr "Všetky"

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Všetky balíky"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "%s balíky bez sekcie"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "%s balíkov v sekcii %s"

#: dselect/pkgtop.cc:91
#, c-format
msgid "%s %s packages"
msgstr "%s %s balíky"

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "%s %s balíky bez sekcie"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr " %s %s balíky v sekcii %s"

#: dselect/pkgtop.cc:118
#, c-format
msgid "%-*s %s%s%s;  %s (was: %s).  %s"
msgstr "%-*s %s%s%s; %s (bolo: %s).  %s"

#: dselect/pkgtop.cc:263
msgid "Error"
msgstr "Chyba"

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "Nainštalovaný?"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "Stará značka"

#: dselect/pkgtop.cc:275
msgid "Marked for"
msgstr "Označené na"

#: dselect/pkgtop.cc:278
msgid "EIOM"
msgstr "EIOM"

#: dselect/pkgtop.cc:280
msgid "Section"
msgstr "Sekcia"

#: dselect/pkgtop.cc:281
msgid "Priority"
msgstr "Priorita"

#: dselect/pkgtop.cc:282
msgid "Package"
msgstr "Balík"

#: dselect/pkgtop.cc:286
msgid "Inst.ver"
msgstr "Inšt.ver"

#: dselect/pkgtop.cc:289
msgid "Avail.ver"
msgstr "Dostup.ver"

#~ msgid "returned error exit status %d.\n"
#~ msgstr "vrátená chyba výstupného stavu %d\n"

#~ msgid "was interrupted.\n"
#~ msgstr "bol prerušený.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "bol ukončený signálom: %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(It nechal coredump.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "zlyhal s neznámym návratovým kódom wait %d.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "nie je možné spustiť „%.250s“ proces „%.250s“"

#~ msgid "failed config"
#~ msgstr "zlyhala konfigurácia"

#~ msgid "unable to wait for %.250s"
#~ msgstr "nie je možné čakať na %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "dostal som nesprávny stav potomka - žiadané %ld, obdržané %ld"

#~ msgid "Recommended"
#~ msgstr "Odporúčaný"

#~ msgid "Contrib"
#~ msgstr "Dodatočný"

#~ msgid "Rec"
#~ msgstr "Dop"

#~ msgid "Ctb"
#~ msgstr "Ctb"

#~ msgid ""
#~ "baselist::startdisplay() done ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"
#~ msgstr ""
#~ "základný zoznam::startdisplay() vykonané ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"

#~ msgid "[none]"
#~ msgstr "[žiadny]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "chyba - nezachytenie signálu %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "nie je možné ignorovať signál %d pred spustením %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(žiadne klientské dáta)"

#~ msgid "<null>"
#~ msgstr "<nula>"

#~ msgid "interrelationships affecting "
#~ msgstr "závislosti ovplyvňujúce "

#~ msgid "description of "
#~ msgstr "popis"

#~ msgid "description"
#~ msgstr "popis"

#~ msgid "currently installed control info"
#~ msgstr "momentálne nainštalované riadiace informácie"

#~ msgid "available version of control info for "
#~ msgstr "dostupná verzia informácií o riadení pre"
