# Polish translations for the GNU gettext messages, gettext-runtime domain
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2006, 2007, 2010, 2013, 2014, 2015, 2019, 2020 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Piotr Pogorzelski <ppogorze@ippt.gov.pl>, 1995
# Jakub Bogusz <qboosh@pld-linux.org>, 1 typo, 2015
# Rafał Maszkowski <rzm@icm.edu.pl>, 1995-1999, 2001, 2003, 2006, 2007, 2010, 2013, 2014, 2015, 2019, 2020
msgid ""
msgstr ""
"Project-Id-Version: GNU gettext-runtime 0.20.2\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-07-26 21:56+0200\n"
"PO-Revision-Date: 2020-04-16 15:00+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"

#: gnulib-lib/closeout.c:66
msgid "write error"
msgstr "błąd zapisu"

#: gnulib-lib/error.c:195
msgid "Unknown system error"
msgstr "Nieznany błąd systemu"

#: gnulib-lib/getopt.c:278
#, c-format
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s: opcja „%s%s” jest niejednoznaczna\n"

#: gnulib-lib/getopt.c:284
#, c-format
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: opcja „%s%s” jest niejednoznaczna; możliwości:"

#: gnulib-lib/getopt.c:319
#, c-format
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s: nierozpoznana opcja „%s%s”\n"

#: gnulib-lib/getopt.c:345
#, c-format
msgid "%s: option '%s%s' doesn't allow an argument\n"
msgstr "%s: opcja „%s%s” nie może mieć argumentu\n"

#: gnulib-lib/getopt.c:360
#, c-format
msgid "%s: option '%s%s' requires an argument\n"
msgstr "%s: opcja „%s%s” wymaga argumentu\n"

#: gnulib-lib/getopt.c:621
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: błędna opcja -- „%c”\n"

#: gnulib-lib/getopt.c:636 gnulib-lib/getopt.c:682
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opcja wymaga argumentu -- „%c'\n"

#: gnulib-lib/xmalloc.c:38
#, c-format
msgid "memory exhausted"
msgstr "pamięć wyczerpana"

#: src/envsubst.c:110 src/gettext.c:135 src/ngettext.c:124
#, c-format, no-wrap
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"License GPLv3+: GNU GPL version 3 or later <%s>\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"Licencja GPLv3+: GNU GPL, wersja 3 lub nowsza %s\n"
"To jest wolne oprogramowanie: możesz je modyfikować i rozpowszechniać.\n"
"Autorzy NIE DAJĄ GWARANCJI, na ile pozwala na to prawo.\n"

#: src/envsubst.c:116 src/gettext.c:141 src/ngettext.c:130
#, c-format
msgid "Written by %s.\n"
msgstr "Autor programu: %s.\n"

#. This is a proper name. See the gettext manual, section Names.
#: src/envsubst.c:116
msgid "Bruno Haible"
msgstr "Bruno Haible"

#: src/envsubst.c:125 src/gettext.c:159 src/ngettext.c:142
#, c-format
msgid "too many arguments"
msgstr "za dużo argumentów"

#: src/envsubst.c:136 src/gettext.c:169 src/ngettext.c:154
#, c-format
msgid "missing arguments"
msgstr "brakujące argumenty"

#: src/envsubst.c:174 src/gettext.c:246 src/ngettext.c:211
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Napisz „%s --help” żeby otrzymać więcej informacji.\n"

#: src/envsubst.c:179
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [SHELL-FORMAT]\n"
msgstr "Składnia: %s [OPCJA] [FORMAT-POWŁOKI]\n"

#: src/envsubst.c:184
#, c-format, no-wrap
msgid "Substitutes the values of environment variables.\n"
msgstr "Podstawia wartości zmiennych powłoki.\n"

#: src/envsubst.c:188
#, c-format, no-wrap
msgid "Operation mode:\n"
msgstr "Tryb działania:\n"

#: src/envsubst.c:191
#, c-format, no-wrap
msgid "  -v, --variables             output the variables occurring in SHELL-FORMAT\n"
msgstr "  -v, --variables             wypisanie zmiennych z FORMATU-POWŁOKI\n"

#: src/envsubst.c:195 src/gettext.c:275 src/ngettext.c:241
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informacje:\n"

#: src/envsubst.c:198
#, c-format, no-wrap
msgid "  -h, --help                  display this help and exit\n"
msgstr "  -h, --help                  wyświetlenie tego opisu i zakończenie\n"

#: src/envsubst.c:201
#, c-format, no-wrap
msgid "  -V, --version               output version information and exit\n"
msgstr "  -V, --version               wyświetlenie informacji o wersji i zakończenie\n"

#: src/envsubst.c:205
#, c-format, no-wrap
msgid ""
"In normal operation mode, standard input is copied to standard output,\n"
"with references to environment variables of the form $VARIABLE or ${VARIABLE}\n"
"being replaced with the corresponding values.  If a SHELL-FORMAT is given,\n"
"only those environment variables that are referenced in SHELL-FORMAT are\n"
"substituted; otherwise all environment variables references occurring in\n"
"standard input are substituted.\n"
msgstr ""
"W zwykłym trybie działania standardowe wejście jest kopiowane do standardowego\n"
"wyjścia. Odniesienia do zmiennych środowiska w rodzaju $ZMIENNA i ${ZMIENNA}\n"
"są zastępowane wartościami zmiennych. Jeżeli jest podany FORMAT-POWŁOKI,\n"
"zastępowane są tylko zmienne tam wymienione. W przeciwnym wypadku podstawiane\n"
"są wartości wszystkich zmiennych środowiska podanych na standardowym wejściu.\n"

#: src/envsubst.c:214
#, c-format, no-wrap
msgid ""
"When --variables is used, standard input is ignored, and the output consists\n"
"of the environment variables that are referenced in SHELL-FORMAT, one per line.\n"
msgstr ""
"Kiedy podana jest opcja --variables, standardowe wejście jest ignorowane, a\n"
"wynik składa się ze zmiennych środowiska podanych w FORMACIE-POWŁOKI, każda w\n"
"osobnej linii.\n"

#. TRANSLATORS: The first placeholder is the web address of the Savannah
#. project of this package.  The second placeholder is the bug-reporting
#. email address for this package.  Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: src/envsubst.c:223 src/gettext.c:299 src/ngettext.c:262
#, c-format
msgid ""
"Report bugs in the bug tracker at <%s>\n"
"or by email to <%s>.\n"
msgstr ""
"Raporty o błędach należy wysyłać przez system zgłoszeniowy\n"
"%s\n"
"albo przez e-mail do %s.\n"

#: src/envsubst.c:451
#, c-format
msgid "error while reading \"%s\""
msgstr "błąd podczas czytania \"%s\""

#: src/envsubst.c:451
msgid "standard input"
msgstr "standardowe wejście"

#. This is a proper name. See the gettext manual, section Names.
#: src/gettext.c:141 src/ngettext.c:130
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"

#: src/gettext.c:251
#, c-format, no-wrap
msgid ""
"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
"or:    %s [OPTION] -s [MSGID]...\n"
msgstr ""
"Składnia: %s [OPCJA] [[DOMENA] MSGID]\n"
"    albo: %s [OPCJA] -s [MSGID]...\n"

#: src/gettext.c:257
#, c-format, no-wrap
msgid "Display native language translation of a textual message.\n"
msgstr "Wyświetla tłumaczenie komunikatu.\n"

#: src/gettext.c:261
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
msgstr "  -d, --domain=DOMENA       wydobycie przetłumaczonych komunikatów z DOMENY\n"

#: src/gettext.c:263 src/ngettext.c:228
#, c-format
msgid "  -c, --context=CONTEXT     specify context for MSGID\n"
msgstr "  -c, --context=KONTEKST    podaj kontekst dla MSGID\n"

#: src/gettext.c:265 src/ngettext.c:230
#, c-format
msgid "  -e                        enable expansion of some escape sequences\n"
msgstr "  -e                        rozwijanie niektórych sekwencji escape\n"

#: src/gettext.c:267
#, c-format
msgid "  -n                        suppress trailing newline\n"
msgstr "  -n                        wyłączenie końcowego znaku nowej linii\n"

#: src/gettext.c:269 src/ngettext.c:232
#, c-format
msgid "  -E                        (ignored for compatibility)\n"
msgstr "  -E                        (ignorowane, dla kompatybilności)\n"

#: src/gettext.c:271
#, c-format
msgid ""
"  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
"                            to MSGID from TEXTDOMAIN\n"
msgstr ""
"  [DOMENA] MSGID            wydobycie z DOMENY przetłumaczonego komunikatu\n"
"                            odpowiadającego MSGID\n"

#: src/gettext.c:277 src/ngettext.c:243
#, c-format
msgid "  -h, --help                display this help and exit\n"
msgstr "  -h, --help                wypisanie tego opisu i zakończenie\n"

#: src/gettext.c:279 src/ngettext.c:245
#, c-format
msgid "  -V, --version             display version information and exit\n"
msgstr ""
"  -V, --version             wypisanie informacji o wersji i zakończenie\n"

#: src/gettext.c:283
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"When used with the -s option the program behaves like the 'echo' command.\n"
"But it does not simply copy its arguments to stdout.  Instead those messages\n"
"found in the selected catalog are translated.\n"
"Standard search directory: %s\n"
msgstr ""
"Jeżeli parametr DOMENA nie jest podany, domena (nazwa pakietu) jest wyznaczana\n"
"ze zmiennej środowiskowej TEXTDOMAIN. Jeżeli katalog komunikatów nie zostanie\n"
"znaleziony w domyślnym katalogu, inna lokalizacja może być podana przez\n"
"zmienną środowiskową TEXTDOMAINDIR.\n"
"Jeżeli użyty z opcją -s, program zachowuje się jak polecenie „echo”, ale\n"
"zamiast kopiować argumenty na standardowe wyjście tłumaczy komunikaty\n"
"znalezione w wybranym katalogu.\n"
"Domyślnie przeszukiwany katalog: %s\n"

#: src/ngettext.c:216
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
msgstr "Składnia: %s [OPCJA] [DOMENA] MSGID MSGID-MNOGA ILOŚĆ\n"

#: src/ngettext.c:221
#, c-format, no-wrap
msgid ""
"Display native language translation of a textual message whose grammatical\n"
"form depends on a number.\n"
msgstr "Wyświetlenie tłumaczenia komunikatu, którego forma gramatyczna zależy od liczby\n"

#: src/ngettext.c:226
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
msgstr "  -d, --domain=DOMENA       wydobycie przetłumaczonych komunikatów z DOMENY\n"

#: src/ngettext.c:234
#, c-format
msgid ""
"  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
msgstr ""
"  [DOMENA]                  wydobycie z DOMENA przetłumaczonego komunikatu\n"

#: src/ngettext.c:236
#, c-format
msgid ""
"  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL "
"(plural)\n"
msgstr ""
"  MSGID MSGID-MNOGA         przetłumaczenie MSGID (pojed.) / MSGID-MNOGA "
"(mn.)\n"

#: src/ngettext.c:238
#, c-format
msgid ""
"  COUNT                     choose singular/plural form based on this value\n"
msgstr ""
"  LICZBA                    wybranie formy pojed./mn. w oparciu o LICZBĘ\n"

#: src/ngettext.c:249
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"Standard search directory: %s\n"
msgstr ""
"Jeżeli parametr DOMENA nie jest podany, domena (nazwa pakietu) jest wyznaczana\n"
"ze zmiennej środowiskowej TEXTDOMAIN. Jeżeli katalog komunikatów nie zostanie\n"
"znaleziony w domyślnym katalogu, inna lokalizacja może być podana przez\n"
"zmienną środowiskową TEXTDOMAINDIR.\n"
"Domyślnie przeszukiwany katalog: %s\n"
