# Polish translation of dselect
# Copyright (C) 1999 Software in the Public Interest, Inc.
# Piotr Roszatycki <dexter@debian.org>, 1999.
# Bartosz Feński <fenio@debian.org>, 2004-2005
# Robert Luberda <robert@debian.org>, 2006-2008
# Wiktor Wandachowicz <siryes@gmail.com>, 2008-2009
#
# Nazewnictwo i spójność tłumaczeń programów apt, aptitude, synaptic i innych:
# http://wiki.debian.org/PolishL10N/PackageInstallers
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.15.4\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-09-27 02:41+0100\n"
"Last-Translator: Wiktor Wandachowicz <siryes@gmail.com>\n"
"Language-Team: Polish <debian-l10n-polish@lists.debian.org>\n"
"Language: pl\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 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "Szukaj ? "

#: dselect/basecmds.cc:147
msgid "Error: "
msgstr "Błąd: "

#: dselect/basecmds.cc:178
msgid "Help: "
msgstr "Pomoc: "

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Naciśnij ?, by skorzystać z pomocy, . (kropkę), by przejść do następnego\n"
"tematu, <spację>, by opuścić pomoc."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Informacje pomocy są dostępne pod następującymi tematami:"

#: 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 ""
"Wybierz klawisz z powyższej listy, <spację> lub \"q\", by opuścić \n"
"pomoc, lub \".\" (kropkę), by przeglądać po kolei strony pomocy. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "błąd odczytu klawiatury w pomocy"

#: dselect/baselist.cc:57
msgid "ioctl(TIOCGWINSZ) failed"
msgstr "nie powiodło się wywołanie ioctl(TIOCGWINSZ)"

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "nie można uaktualnić procedury obsługi SIGWINCH"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "nie można odtworzyć poprzedniego sygnału SIGWINCH"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "nie można odtworzyć poprzedniej maski sygnału"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "nie można pobrać poprzedniej maski sygnału"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "nie można pobrać poprzedniego sygnału SIGWINCH"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "nie można zablokować SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "nie można ustawić nowego sygnału SIGWINCH"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "nie można zarezerwować par koloru"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "nie można utworzyć okna tytułowego"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "nie można utworzyć okna informacyjnego"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "nie można utworzyć pola listy"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "nie można utworzyć pola nagłówka"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "nie można utworzyć pola stanu"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "nie można utworzyć pola informacyjnego"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "nie można utworzyć okna zapytania"

#: dselect/baselist.cc:255
msgid "Keybindings"
msgstr "Skojarzenia klawiszy"

#: dselect/baselist.cc:303
#, c-format
msgid "  -- %d%%, press "
msgstr "  -- %d%%, wciśnij "

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s - więcej"

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr "%s - powrót"

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[nie skojarzone]"

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

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Przewinięcie pomocy/informacji w dół"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Przewinięcie pomocy/informacji w górę"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "W górę"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "W dół"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Początek listy"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Koniec listy"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Wywołanie pomocy (przełączanie ekranów pomocy)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Przełączanie ekranów z informacjami"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Odświeżenie ekranu"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Przewinięcie listy o jedną linię w dół"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Przewinięcie listy o jedną linię w górę"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Przewinięcie ekranu pomocy/informacji o jedną linię w dół"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Przewinięcie ekranu pomocy/informacji o jedną linię w górę"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Przewinięcie listy w dół"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Przewinięcie listy w górę"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Zaznaczenie pakietu do instalacji"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Zaznaczenie pakietu do usunięcia"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Zaznaczenie pakietu do wyczyszczenia"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Włączenie szczegółowych informacji"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Wyłączenie szczegółowych informacji"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Wyszukiwanie pakietu o nazwie zawierającej ciąg znaków"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Powtórzenie ostatniego wyszukiwania."

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Zmiana sposobu uporządkowania pakietów"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Wyjście z potwierdzeniem i sprawdzeniem zależności"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Wyjście z potwiedzeniem bez sprawdzenia"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Wyjście z odrzuceniem konfliktów/sugestii"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Wycofanie się bez dokonania zmian"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Przywrócenie poprzedniego stanu pakietów"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Przywrócenie sugerowanego stanu pakietów"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Przywrócenie żądanego stanu pakietów"

#: dselect/bindings.cc:171
msgid "Revert to currently installed state for all packages"
msgstr "Przywrócenie obecnie zainstalowanego stanu wszystkich pakietów"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Wybór metody dostępu"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Wyjście bez zmiany metody dostępu"

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "Spis klawiszy"

#: 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 ""
"Klawisze ruchu: Następny/Poprzedni, Góra/Dół, Do góry/W dół:\n"
"  j, Strzałka-w-dół,    k, Strzałka-do-góry,  ruch kursora\n"
"  N, Page-down, Spacja  P, Page-up, Backspace przewinięcie listy o 1 ekran\n"
"  ^n                    ^p                    przewinięcie listy o 1 linię\n"
"  t, Home               e, End                skok na początek/koniec listy\n"
"  u                     d                     przewinięcie info o 1 ekran\n"
"  ^u                    ^d                    przewinięcie info o 1 linię\n"
"  B, Strzałka-w-lewo    F, Strzałka-w-prawo   przesunięcie w bok 1/3 ekranu\n"
"  ^b                    ^f                    przesunięcie w bok o 1 znak\n"
"\n"
"Zaznaczenie pakietów do późniejszego przetwarzania:\n"
" +, Insert  instalacja lub aktualizacja   =, H  wstrzymanie\n"
" -, Delete  usunięcie                     :, G  ponowienie przetwarzania\n"
" _          usunięcie i wyczyszczenie konfiguracji\n"
"                                             Pozostałe klawisze:\n"
"Zakończenie wyboru pakietów:                   ?, F1 przywołanie pomocy\n"
" Return  Potwiedź, wyjdź (sprawdź zależności)  i, I  przełącz/wyłącz "
"informacje\n"
"   Q     Potwiedź, wyjdź (zignoruj zależności) o, O  zmiana metody "
"sortowania\n"
" X, Esc  Wyjdź, anuluj wszelkie zmiany         v, V  zmiana sposobu "
"wyświetlania\n"
"   R     Przywrócenie stanu przed wyborem      ^l    odświeżenie ekranu\n"
"   U     Wybierz sugerowane pakiety             /    szukaj (Return - "
"anuluj)\n"
"   D     Wybierz niezbędne pakiety             n, \\   powtórz ostatnie "
"szukanie\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Wprowadzenie do wyboru pakietów"

#: 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 ""
"Witaj w głównym ekranie wyboru pakietów programu dselect.\n"
"\n"
"Ukaże się lista pakietów, które są już zainstalowane lub można je dopiero\n"
"zainstalować. Po liście można się poruszać klawiszami kursora. Klawiszem\n"
"\"+\" można zaznaczyć pakiet do instalacji, klawiszem \"-\" do usunięcia.\n"
"\n"
"Pakiety mogą być zaznaczane pojedynczo lub grupami. Początkowo kursor "
"znajduje\n"
"się na pozycji \"Wszystkie pakiety\". Klawisze \"+\", \"-\" powodują zmianę "
"stanu\n"
"dla wszystkich pakietów z danej grupy.\n"
"\n"
"Czasem wybór pakietu powoduje konflikt lub problem zależności; pojawi się "
"wtedy\n"
"lista pakietów, których dotyczy dany problem, który należy rozwiązać.\n"
"\n"
"Zalecane jest zaznajomienie się z opisem listy klawiszy oraz ekranu.\n"
"Wiele pomocy można uzyskać naciskając \"?\" w każdym momencie.\n"
"\n"
"Jeżeli wybór pakietów został dokonany, należy wcisnąć <enter> dla\n"
" potwierdzenia zmian lub \"X\", by wyjść bez ich zapisania. Zostanie "
"dokonane\n"
" ostateczne sprawdzenie konfliktów i zależności - tu też może pojawić się\n"
" lista pakietów.\n"
"\n"
"Proszę wcisnąć <spację>, aby opuścić ekran pomocy i przejść do listy "
"pakietów.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Wprowadzenie do przeglądarki listy pakietów (tylko do odczytu)"

#: 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 ""
"Witaj w głównym ekranie wyboru pakietów programu dselect.\n"
"\n"
"Ukaże się lista pakietów, które są już zainstalowane lub można je dopiero\n"
"zainstalować. Ponieważ nie masz odpowiednich uprawnień do aktualizacji,\n"
"znajdujesz się w trybie tylko do odczytu. Po tej liście można się\n"
"poruszać klawiszami kursora (proszę przeczytać ekran pomocy z opisem\n"
"klawiszy), obserwować stan pakietów oraz czytać informacje o nich.\n"
"\n"
"Zalecane jest zaznajomienie się z opisem listy klawiszy oraz ekranu.\n"
"Wiele pomocy można uzyskać naciskając \"?\" w każdym momencie.\n"
"\n"
"Po zakończonym przeglądaniu listy pakietów, proszę wcisnąć \"Q\" lub "
"<enter>.\n"
"\n"
"Proszę wcisnać <spację>, aby opuścić ekran pomocy i przejść do listy "
"pakietów.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Wprowadzenie do listy konfliktów/zależności"

#: 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 ""
"Rozwiązywanie problemów zależności/konfliktów - wprowadzenie.\n"
"\n"
"Jeden lub więcej wybranych pakietów powoduje konflikt lub problem zależności "
"-\n"
"niektóre pakiety mogą zostać zainstalowane tylko wraz z innymi lub nie mogą\n"
"istnieć w systemie razem jednocześnie.\n"
"\n"
"Ukaże się lista zawierająca problematyczne pakiety. Okno poniżej listy "
"pakietów\n"
"pokazuje rodzaj konfliktu i zależności; można użyć klawisza \"i\" do "
"przełączania\n"
"się pomiędzy tą informacją a opisem pakietu.\n"
"\n"
"Został przygotowany zestaw pakietów \"sugerowanych\" wraz ze wstępnymi\n"
"ustawieniami dotyczącymi ich instalacji, więc jeśli się chce, można je\n"
"zaakceptować naciskając <enter>. Można anulować problematyczne zmiany\n"
"naciskając \"X\", a tym samym powracając do głównej listy.\n"
"\n"
"Można również poruszać się po liście i zmieniać ustawienia tak, by\n"
"dostosować je do swoich potrzeb lub odrzucić sugestie dselect używając\n"
"wielkich liter \"D\" lub \"R\" (zobacz opis klawiszy). Używając klawisza\n"
"\"Q\", można zmusić dselect do zaakceptowania aktualnie przedstawionej\n"
"sytuacji, w przypadku gdy chce się zmienić podane zalecenia lub gdy uważa\n"
"się, że dselect popełnił błąd.\n"
"\n"
"Proszę wcisnąć <spację>, aby opuścić ekran pomocy i przejść do listy "
"pakietów; proszę pamiętać, że \"?\" przywołuje ponownie ten ekran.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Wybór pakietów, część 1: lista pakietów i oznaczenie stanu"

#: 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 ""
"Górna część ekranu przedstawia listę pakietów. Dla każdego pakietu "
"wyświetlane\n"
"są cztery kolumny oznaczające aktualny jego stan w systemie i zaznaczenie.\n"
"W trybie domyślnym (klawisz \"v\" przełącza na tryb szczegółowy) są to "
"cztery\n"
"znaki, wymieniając od lewej strony:\n"
"\n"
" Flaga błędu: Spacja - brak błędu (ale pakiet może być w nieprawidłowym "
"stanie)\n"
"                \"R\"  - poważny błąd podczas instalacji - konieczna "
"reinstalacja\n"
" Stan zainstalowania: Spacja  - nie zainstalowany\n"
"                      \"*\"     - zainstalowany\n"
"                      \"-\"     - nie zainstalowany, zostały pliki "
"konfiguracyjne\n"
"      takie pakiety { \"U\"     - rozpakowany, jeszcze nie skonfigurowany\n"
"   nie są (całkiem) { \"C\"     - wpół-skonfigurowany (wystąpił błąd)\n"
"         prawidłowo { \"I\"     - wpół-zainstalowany (wystąpił błąd).\n"
"      zainstalowane { \"W\",\"t\" - oczekiwanie na wyzwalacze lub wyzw. "
"zaplanowane\n"
" Poprzedni wybór: to, co zostało wybrane przed pojawieniem się tej listy;\n"
" Zaznaczenie: to, co zostało określone dla danego pakietu:\n"
"  \"*\": zaznaczony do instalacji lub aktualizacji\n"
"  \"-\": zaznaczony do usunięcia, pliki konfiguracyjne zostaną zachowane\n"
"  \"=\": wstrzymany; pakiet nie będzie przetwarzany\n"
"  \"_\": zaznaczony do wyczyszczenia - wraz z plikami konfiguracyjnymi\n"
"  \"n\": nowy pakiet, jeszcze nie zaznaczony do instalacji/usunięcia\n"
"\n"
"Ponadto każdy pakiet ma wyświetloną informację o priorytecie, sekcji, "
"nazwie,\n"
"wersji zainstalowanej i dostępnej (shift-V ukrywa/pokazuje) oraz krótki "
"opis.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Wybór pakietów, część 2: kursor; wyświetlane informacje"

#: 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 ""
"* Podświetlenie: Jedna z linii jest podświetlona. Określa ona pakiet(y),\n"
"  którego(ych) stan zostanie zmieniony po wciśnięciu \"+\", \"-\" i \"_\".\n"
"\n"
"* Pasek na środku ekranu wyświetla informacje o stanie pakietu, który "
"został\n"
"  wskazany kursorem, lub wyświetla krótki opis grupy, w przypadku gdy taka\n"
"  zostanie wskazana. Jeżeli nie rozumie się znaczenia poszczególnych znaków\n"
"  oznaczających stan pakietu, pełny opis stanu wybranego pakietu można "
"znaleźć\n"
"  na tym pasku (można także skorzystać z klawisza \"v\" przełączającego "
"listę\n"
"  na tryb szczegółowy).\n"
"\n"
"* Na dole ekranu wyświetlane są szczegółowe informacje o wskazanym kursorem\n"
"  pakiecie (jeśli w ogóle został wskazany).\n"
"\n"
"  Można wyświetlić szczegółowy opis pakietu, informacje o stanie pakietu\n"
"  pobrane z bazy danych systemu pakietów oraz informacje o konfliktach lub\n"
"  problemach z zależnościami danego pakietu (dla listy konfliktów/"
"zależności).\n"
"\n"
"  Klawiszem \"i\" można wybrać rodzaj wyświetlanej informacji, a klawiszem "
"\"I\"\n"
"  można ukryć to okno lub je rozszerzyć na większą część ekranu.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Wprowadzenie do wyboru metody instalacji"

#: 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 ""
"Programy dselect i dpkg potrafią dokonać automatycznej instalacji, "
"pobierając\n"
"pliki przeznaczone do zainstalowania z wielu różnych możliwych miejsc.\n"
"\n"
"Ta lista pozwala na wybranie jednej z podanych metod instalacji.\n"
"\n"
"Najpierw należy wskazać wybraną metodę instalacji i wcisnąć Enter. "
"Następnie\n"
"należy odpowiedzieć na pytania dotyczące wybranej metody.\n"
"\n"
"Po przesunięciu kursora na daną metodę, na dole ekranu pojawi się jej opis.\n"
"\n"
"Klawisz \"x\" służy do opuszczenia tej listy bez określenia metody "
"instalacji.\n"
"\n"
"Pełny spis klawiszy dostępny jest po wciśnięciu klawisza \"k\" teraz, lub z "
"menu\n"
"pomocy dostępnego później pod klawiszem \"?\".\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Spis klawiszy dla wyboru metody instalacji"

#: 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 ""
"Klawisze ruchu: Następny/Poprzedni, Góra/Dół, Do góry/W dół:\n"
"  j, Strzałka-w-dół     k, Strzałka-do-góry     ruch kursora\n"
"  N, Page-down, Spacja  P, Page-up, Backspace   przewinięcie listy o 1 "
"ekran\n"
"  ^n                    ^p                      przewinięcie listy o 1 "
"linię\n"
"  t, Home               e, End                  skok na początek/koniec "
"listy\n"
"  u                     d                       przewinięcie info o 1 ekran\n"
"  ^u                    ^d                      przewinięcie info o 1 linię\n"
"  B, Left-arrow         F, Right-arrow          przesunięcie w bok 1/3 "
"ekranu\n"
"  ^b                    ^f                      przesunięcie w bok o 1 znak\n"
"(To są te same klawisze ruchu jak przy wyborze pakietów.)\n"
"\n"
"Wyjście:\n"
" Return, Enter    wybór metody instalacji i wywołanie jej konfiguracji\n"
" x, X             wyjście bez dokonania zmian w dotychczasowych "
"ustawieniach\n"
"\n"
"Pozostałe:\n"
"  ?, Help, F1      wywołanie pomocy\n"
" ^l                odświeżenie ekranu\n"
"  /                wyszukiwanie (return - anulowanie)\n"
"  \\                powtórzenie ostatniego wyszukiwania\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "Wpisz dselect --help aby otrzymać pomoc."

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

#: dselect/main.cc:143
msgid "[A]ccess"
msgstr "[A] Dostęp"

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Wybór metody dostępu."

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

#: dselect/main.cc:144
msgid "[U]pdate"
msgstr "[U] Aktualizacja"

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Zaktualizowanie informacji o dostępnych pakietach."

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

#: dselect/main.cc:145
msgid "[S]elect"
msgstr "[S] Wybór"

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Wybór pakietów instalowanych w systemie."

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

#: dselect/main.cc:146
msgid "[I]nstall"
msgstr "[I] Instalacja"

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Instalacja i uaktualnienie wybranych pakietów."

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

#: dselect/main.cc:147
msgid "[C]onfig"
msgstr "[C] Konfiguracja"

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Konfiguracja pakietów, które pozostały nieskonfigurowane."

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

#: dselect/main.cc:148
msgid "[R]emove"
msgstr "[R] Usuwanie"

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Usuwanie niechcianych pakietów."

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

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "[Q] Wyjście"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Wyjście z 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\", nakładka na program zarządzania pakietami, wersja %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 ""
"Niniejszy program jest wolnym oprogramowaniem, proszę sprawdzić\n"
"Powszechną Licencję Publiczną GNU w wersji drugiej lub późniejszej,\n"
"by dowiedzieć się o warunkach rozpowszechniania.\n"
"Brak JAKIEJKOLWIEK gwarancji.\n"
"Więcej szczegółów w %s --license.\n"

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

#: dselect/main.cc:183
#, c-format
msgid ""
"Usage: %s [<option> ...] [<action> ...]\n"
"\n"
msgstr ""
"Użycie: %s [<opcja> ...] [<akcja> ...]\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 ""
"Opcje:\n"
"  --admindir <katalog>       Używa <katalogu> zamiast %s.\n"
"  --expert                   Włącza tryb eksperta.\n"
"  --debug <plik> | -D<plik>  Włącza debugowanie, wysyła wyjście do <pliku>.\n"
"  --colour | --color część_widoku:[kolor_tekstu],[kolor_tła][:atr[+atr+..]]\n"
"                             Konfiguruje kolory ekranu.\n"
"\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                     Wyświetla ten komunikat pomocy.\n"
"  --version                  Wyświetla informacje o wersji.\n"
"  --license                  Wyświetla informacje o licencji.\n"
"\n"

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

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "Części widoku:\n"

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

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

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "nie można otworzyć pliku debuggera \"%.255s\"\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "Nieprawidłowy %s \"%s\"\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "część widoku"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Pusta specyfikacja koloru\n"

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

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "atrybuty koloru"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Terminal nie obsługuje adresowania kursora.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Terminal nie obsługuje podświetlania.\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 ""
"Proszę poprawnie ustawić zmienną TERM, użyć lepszego terminala,\n"
"lub wykorzystać narzędzie do zarządzania pakietami %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "brak potrzebnych funkcji terminala, przerywanie"

#: 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"
"Poruszanie: ^P oraz ^N, klawisze kursora, pierwsze litery lub cyfry;\n"
"Wciśnij <enter> aby potwierdzić wybór.  ^L - odświeżenie ekranu.\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Tryb tylko do odczytu: można jedynie przeglądać listę pakietów!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "nie można wywołać \"getch\" w głównym menu"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "nieznane działanie \"%.50s\""

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - lista metod dostępu"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "Metoda dostępu \"%s\"."

#: dselect/methlist.cc:120
msgid "Abbrev."
msgstr "Oznaczenie"

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

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "nie można wykonać funkcji \"doupdate\""

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "nie można odblokować SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "nie można ponownie zablokować SIGWINCH"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "nie można wykonać funkcji \"getch\""

#: dselect/methlist.cc:188
msgid "Explanation"
msgstr "Wyjaśnienie"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Brak dostępnego wyjaśnienia."

#: 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"
"Wciśnij <enter>, aby kontynuować."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Wciśnij <enter>, aby kontynuować.\n"

#: dselect/method.cc:162
msgid "<standard error>"
msgstr "<standardowe wyjście błędów>"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "nie można odczytać potwiedzenia komunikatów błędów programu"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "aktualizacja listy dostępnych skryptów"

#: dselect/method.cc:200
msgid "installation script"
msgstr "skrypt instalacyjny"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "skrypt zapytania/ustawiania"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "błąd składni w pliku opcji metody \"%.250s\" -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "nie można odczytać pliku opcji \"%.250s\""

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "nie można odczytać katalogu \"%.250s\" do odczytu metod"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "metoda \"%.250s\" ma za długą nazwę (%d > %d znaków)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "nie można odczytać skryptu opcji metody \"%.250s\""

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "nie można odczytać pliku opcji metody \"%.250s\""

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "znak nie będący cyfrą tam gdzie jest wymagana"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF w ciągu znaków indeksu"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "ciąg znaków indeksu jest za długi"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "znak nowej linii przed nazwą opcji"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF przed nazwą opcji"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "znak nie będący literą na początku nazwy opcji"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "znak nie będący literą lub cyfrą w nazwie opcji"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF w nazwie opcji"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "znak nowej linii przed podsumowaniem"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF przed podsumowaniem"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF w podsumowaniu - brak znaku nowej linii"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "nie można otworzyć pliku opisu opcji \"%.250s\""

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "nie można ustalić stanu pliku opisu opcji %.250s"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "nie można odczytać pliku opisu opcji %.250s"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "nie można odczytać pliku opisu opcji %.250s"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "nie można odczytać pliku opcji metody %.250s"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "nie można otworzyć pliku bieżącej opcji \"%.250s\""

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "nie można otworzyć pliku nowej opcji \"%.250s\""

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "nie można zapisać nowej opcji w \"%.250s\""

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "nie można zamknąć pliku nowej opcji \"%.250s\""

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "nie można zainstalować nowej opcji jako \"%.250s\""

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "nowy pakiet"

#: dselect/pkgdisplay.cc:37
msgid "install"
msgstr "instalacja"

#: dselect/pkgdisplay.cc:38
msgid "hold"
msgstr "wstrzymany"

#: dselect/pkgdisplay.cc:39
msgid "remove"
msgstr "usuwanie"

#: dselect/pkgdisplay.cc:40
msgid "purge"
msgstr "wyczyszczony"

#. 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 "REINSTALACJA"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "nie zainstalowany"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "usunięty (zostały pliki konfiguracyjne)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "wpół zainstalowany"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "rozpakowany (nie skonfigurowany)"

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

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "oczekiwanie na przetworzenie wyzwalaczy"

#: dselect/pkgdisplay.cc:57
msgid "triggered"
msgstr "wyzwalacz pobudzony"

#: dselect/pkgdisplay.cc:58
msgid "installed"
msgstr "zainstalowany"

#: dselect/pkgdisplay.cc:61
msgid "Required"
msgstr "Wymagane"

#: dselect/pkgdisplay.cc:62
msgid "Important"
msgstr "Ważne"

#: dselect/pkgdisplay.cc:63
msgid "Standard"
msgstr "Zwyczajne"

#: dselect/pkgdisplay.cc:64
msgid "Optional"
msgstr "Opcjonalne"

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

#: dselect/pkgdisplay.cc:66
msgid "!Bug!"
msgstr "!Błąd!"

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

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

#: dselect/pkgdisplay.cc:71
msgid "recommends"
msgstr "poleca"

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "wymaga"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "wymaga wstępnie"

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

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "w konflikcie z"

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

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "wymienia"

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "rozszerza"

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

#: dselect/pkgdisplay.cc:82
msgid "Imp"
msgstr "Waż"

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

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

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

#: dselect/pkgdisplay.cc:86
msgid "bUG"
msgstr "Błą"

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

#: dselect/pkgdisplay.cc:95 dselect/pkgdisplay.cc:115
msgid "Broken"
msgstr "Uszkodzone"

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

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "Do aktualizacji"

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "Wycofane/lokalne"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "Aktualne"

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "Dostępne"

#: dselect/pkgdisplay.cc:101 dselect/pkgdisplay.cc:117
msgid "Removed"
msgstr "Usunięte"

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Pakiety uszkodzone podczas instalacji"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Pakiety nowo dostępne"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Pakiety do aktualizacji (dostępna nowsza wersja)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Pakiety wycofane lub dostępne tylko lokalnie"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Pakiety aktualne"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Pakiety dostępne (jeszcze nie zainstalowane)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Pakiety usunięte i już niedostępne"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Pakiety zainstalowane"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Pakiety usunięte (pozostały pliki konfiguracyjne)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Pakiety wyczyszczone i nie zainstalowane"

#: dselect/pkgdisplay.cc:116
msgid "Installed"
msgstr "Zainstalowane"

#: dselect/pkgdisplay.cc:118
msgid "Purged"
msgstr "Wyczyszczone"

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - lista konfliktów"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - stan pakietów"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - lista pakietów"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (wg sekcji)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (dostępn., sekcja)"

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

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (wg priorytetu)"

#: dselect/pkgdisplay.cc:226
msgid " (avail., priority)"
msgstr " (dostępn., priorytet)"

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

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

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (wg dostępności)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (wg stanu)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " wybór:+/=/- ogólnie:v pomoc:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " wybór:+/=/- szczegółowo:v pomoc:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " ogólnie:v pomoc:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " szczegółowo:v pomoc:?"

#: 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 ""
"Podświetlona linia reprezentuje wiele pakietów; jeżeli zostanie wybrana "
"operacja instalacji, usunięcia, wyczyszczenia lub wstrzymania, dotyczyć "
"będzie wszystkich pakietów, które odpowiadają podanemu kryterium.\n"
"\n"
"Można przesunąć kursor, aby wybrać konkretny pakiet oraz uzyskać informacje "
"o nim.\n"
"Można użyć \"o\" lub \"O\", aby zmienić kolejność uporządkowania pakietów "
"lub zaznaczyć pakiety z innych grup."

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr "Relacje"

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr "Brak dostępnego opisu."

#: dselect/pkginfo.cc:130
msgid "Installed control file information"
msgstr "Informacje o zainstalowanej wersji pakietu"

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "Informacje o dostępnej wersji pakietu"

#: dselect/pkglist.cc:416
msgid "There are no packages."
msgstr "Nie ma żadnych pakietów."

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "nieprawidłowa opcja wyszukiwania"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "błąd w wyrażeniu regularnym"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " nie wydaje się być dostępny\n"

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

#: dselect/pkgtop.cc:57
msgid "All"
msgstr "Wszystkie"

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Wszystkie pakiety"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "%s pakiety bez sekcji"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "%s pakiety w sekcji %s"

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

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "%s %s pakiety bez sekcji"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "%s %s pakiety w sekcji %s"

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

#: dselect/pkgtop.cc:263
msgid "Error"
msgstr "Błąd"

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "zainstalowany?"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "Poprzedni wybór"

#: dselect/pkgtop.cc:275
msgid "Marked for"
msgstr "Zaznaczony do"

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

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

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

#: dselect/pkgtop.cc:282
msgid "Package"
msgstr "Pakiet"

#: dselect/pkgtop.cc:286
msgid "Inst.ver"
msgstr "Zainst."

#: dselect/pkgtop.cc:289
msgid "Avail.ver"
msgstr "Dostępne"

#~ msgid "returned error exit status %d.\n"
#~ msgstr "otrzymano kod powrotu %d.\n"

#~ msgid "was interrupted.\n"
#~ msgstr "został przerwany.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "został zakończony sygnałem: %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(Pozostawił plik core.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "funkcja \"wait\" zwróciła nierozpoznany kod błędu %d.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "nie można uruchomić procesu %.250s \"%.250s\""

#~ msgid "failed config"
#~ msgstr "błędna konfiguracja"

#~ msgid "unable to wait for %.250s"
#~ msgstr "nie można wykonać funkcji \"wait\" dla \"%.250s\""

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr ""
#~ "proces potomny zwrócił zły kod powrotu - spodziewano się %ld, otrzymano "
#~ "%ld"

#~ msgid "Recommended"
#~ msgstr "Polecane"

#~ msgid "Contrib"
#~ msgstr "Serwisowane"

#~ msgid "Rec"
#~ msgstr "Pol"

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

#~ 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 ""
#~ "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"

#~ msgid "[none]"
#~ msgstr "[brak]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "nie można odzyskać sygnału %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "nie można zignorować sygnału %d przed wykonaniem %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(brak danych)"

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