فهرست منبع

Update Polish translation (#7508)

* Update Polish translation

* corrections

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Inverle 11 ماه پیش
والد
کامیت
4dbd98b1d5
7فایلهای تغییر یافته به همراه263 افزوده شده و 263 حذف شده
  1. 54 54
      app/i18n/pl/admin.php
  2. 45 45
      app/i18n/pl/conf.php
  3. 5 5
      app/i18n/pl/feedback.php
  4. 36 36
      app/i18n/pl/gen.php
  5. 25 25
      app/i18n/pl/index.php
  6. 66 66
      app/i18n/pl/install.php
  7. 32 32
      app/i18n/pl/sub.php

+ 54 - 54
app/i18n/pl/admin.php

@@ -14,9 +14,9 @@ return array(
 	'auth' => array(
 		'allow_anonymous' => 'Pozwól na anonimowy odczyt wiadomości domyślnego użytkownika (%s)',
 		'allow_anonymous_refresh' => 'Pozwól na anonimowe odświeżanie wiadomości',
-		'api_enabled' => 'Pozwól na dostęp przez <abbr>API</abbr> <small>(wymagane dla aplikacji na telefon and sharing user queries)</small>',	// DIRTY
+		'api_enabled' => 'Pozwól na dostęp przez <abbr>API</abbr> <small>(wymagane dla aplikacji na telefon i udostępniania zapytań użytkownika)</small>',
 		'form' => 'Formularz na stronie (tradycyjna, wymagany JavaScript)',
-		'http' => 'HTTP (advanced: managed by Web server, OIDC, SSO…)',	// TODO
+		'http' => 'HTTP (zaawansowane: zarządzane przez serwer WWW, OIDC, SSO…)',
 		'none' => 'Brak (niebezpieczna)',
 		'title' => 'Uwierzytelnianie',
 		'token' => 'Główny token uwierzytelniania',
@@ -26,88 +26,88 @@ return array(
 	),
 	'check_install' => array(
 		'cache' => array(
-			'nok' => 'Check permissions on <em>./data/cache</em> directory. HTTP server must have write permission.',	// TODO
-			'ok' => 'Permissions on the cache directory are good.',	// TODO
+			'nok' => 'Sprawdz uprawnienia dla katalogu <em>./data/cache</em>. Serwer WWW musi miec uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu pamięci podręcznej się zgadzają.',
 		),
 		'categories' => array(
-			'nok' => 'Category table is improperly configured.',	// TODO
-			'ok' => 'Category table is okay.',	// TODO
+			'nok' => 'Tabela kategorii jest nieprawidłowo skonfigurowana.',
+			'ok' => 'Tabela kategorii jest OK.',
 		),
 		'connection' => array(
-			'nok' => 'Connection to the database cannot be established.',	// TODO
-			'ok' => 'Connection to the database is okay.',	// TODO
+			'nok' => 'Nie udało się połączyć z bazą danych.',
+			'ok' => 'Połączenie z bazą danych się powiodło.',
 		),
 		'ctype' => array(
-			'nok' => 'Cannot find a required library for character type checking (php-ctype).',	// TODO
-			'ok' => 'You have the required library for character type checking (ctype).',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki do sprawdzania rodzajów znaków (php-ctype).',
+			'ok' => 'Znaleziono wymaganą bibliotekę do sprawdzania rodzajów znaków (ctype).',
 		),
 		'curl' => array(
-			'nok' => 'Cannot find the cURL library (php-curl package).',	// TODO
-			'ok' => 'You have the cURL library.',	// TODO
+			'nok' => 'Nie znaleziono biblioteki cURL (paczka php-curl).',
+			'ok' => 'Znaleziono bibliotekę cURL.',
 		),
 		'data' => array(
-			'nok' => 'Check permissions on <em>./data</em> directory. HTTP server must have write permission.',	// TODO
-			'ok' => 'Permissions on the data directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia dla katalogu <em>./data</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawienia dla katalogu danych się zgadzają.',
 		),
-		'database' => 'Database installation',	// TODO
+		'database' => 'Instalacja bazy danych',
 		'dom' => array(
-			'nok' => 'Cannot find a required library to browse the DOM (php-xml package).',	// TODO
-			'ok' => 'You have the required library to browse the DOM.',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki do korzystania z DOM-u (paczka php-xml).',
+			'ok' => 'Znaleziono wymaganą bibliotekę do korzystania z DOM-u.',
 		),
 		'entries' => array(
-			'nok' => 'Entry table is improperly configured.',	// TODO
-			'ok' => 'Entry table is okay.',	// TODO
+			'nok' => 'Tabela wpisów jest nieprawidłowo skonfigurowana.',
+			'ok' => 'Tabela wpisów jest OK.',
 		),
 		'favicons' => array(
-			'nok' => 'Check permissions on <em>./data/favicons</em> directory. HTTP server must have write permission.',	// TODO
-			'ok' => 'Permissions on the favicons directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia dla katalogu <em>./data/favicons</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu ikonek kanałów się zgadzają.',
 		),
 		'feeds' => array(
-			'nok' => 'Feed table is improperly configured.',	// TODO
-			'ok' => 'Feed table is okay.',	// TODO
+			'nok' => 'Tabela kanałów jest nieprawidłowo skonfigurowana.',
+			'ok' => 'Tabela kanałów jest OK.',
 		),
 		'fileinfo' => array(
-			'nok' => 'Cannot find the PHP fileinfo library (fileinfo package).',	// TODO
-			'ok' => 'You have the fileinfo library.',	// TODO
+			'nok' => 'Nie znaleziono biblioteki fileinfo dla PHP (paczka fileinfo).',
+			'ok' => 'Znaleziono bibliotekę fileinfo.',
 		),
-		'files' => 'File installation',	// TODO
+		'files' => 'Instalacja plików',
 		'json' => array(
-			'nok' => 'Cannot find JSON (php-json package).',	// TODO
-			'ok' => 'You have the JSON extension.',	// TODO
+			'nok' => 'Nie znaleziono biblioteki do przetwarzania JSON-a.',
+			'ok' => 'Znaleziono bibliotekę do przetwarzania JSON-a.',
 		),
 		'mbstring' => array(
-			'nok' => 'Cannot find the recommended mbstring library for Unicode.',	// TODO
-			'ok' => 'You have the recommended mbstring library for Unicode.',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki mbstring do obsługi Unicode.',
+			'ok' => 'Znaleziono wymaganą bibliotekę mbstring do obsługi Unicode.',
 		),
 		'pcre' => array(
-			'nok' => 'Cannot find a required library for regular expressions (php-pcre).',	// TODO
-			'ok' => 'You have the required library for regular expressions (PCRE).',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki do obsługi wyrażeń regularnych (php-pcre).',
+			'ok' => 'Znaleziono wymaganą bibliotekę do obsługi wyrażeń regularnych (PCRE).',
 		),
 		'pdo' => array(
-			'nok' => 'Cannot find PDO or one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).',	// TODO
-			'ok' => 'You have PDO and at least one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).',	// TODO
+			'nok' => 'Nie znaleziono PDO ani żadnego wspieranego sterownika bazy danych (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+			'ok' => 'Znaleziono PDO oraz przynajmniej jeden z wspieranych sterowników bazy danych (pdo_mysql, pdo_sqlite, pdo_pgsql).',
 		),
 		'php' => array(
-			'_' => 'PHP installation',	// TODO
-			'nok' => 'Your PHP version is %s but FreshRSS requires at least version %s.',	// TODO
-			'ok' => 'Your PHP version (%s) is compatible with FreshRSS.',	// TODO
+			'_' => 'Instalacja PHP',
+			'nok' => 'Twoja wersja PHP to %s, lecz FreshRSS wymaga co najmniej wersji %s.',
+			'ok' => 'Twoja wersja PHP (%s) jest kompatybilna z FreshRSS.',
 		),
 		'tables' => array(
-			'nok' => 'There are one or more missing tables in the database.',	// TODO
-			'ok' => 'The appropriate tables exist in the database.',	// TODO
+			'nok' => 'W bazie danych brakuje jednej bądź więcej wymaganych tabeli.',
+			'ok' => 'Odpowiednie tabele znajdują się w bazie danych.',
 		),
-		'title' => 'Installation check',	// TODO
+		'title' => 'Weryfikacja instalacji',
 		'tokens' => array(
-			'nok' => 'Check permissions on <em>./data/tokens</em> directory. HTTP server must have write permission',	// TODO
-			'ok' => 'Permissions on the tokens directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia dla katalogu <em>./data/tokens</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu tokenów się zgadzają.',
 		),
 		'users' => array(
-			'nok' => 'Check permissions on <em>./data/users</em> directory. HTTP server must have write permission',	// TODO
-			'ok' => 'Permissions on the users directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia dla katalogu <em>./data/users</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu użytkownika się zgadzają.',
 		),
 		'zip' => array(
-			'nok' => 'Cannot find the ZIP extension (php-zip package).',	// TODO
-			'ok' => 'You have the ZIP extension.',	// TODO
+			'nok' => 'Nie znaleziono rozszerzenia ZIP (paczka php-zip).',
+			'ok' => 'Znaleziono rozszerzenie ZIP.',
 		),
 	),
 	'extensions' => array(
@@ -116,7 +116,7 @@ return array(
 		'description' => 'Opis',
 		'disabled' => 'Wyłączone',
 		'empty_list' => 'Brak zainstalowanych rozszerzeń',
-		'empty_list_help' => 'Check the logs to determine the reason behind the empty extension list.',	// TODO
+		'empty_list_help' => 'Sprawdź dziennik, aby ustalić powód pustej listy rozszerzeń.',
 		'enabled' => 'Włączone',
 		'latest' => 'Zainstalowane',
 		'name' => 'Nazwa',
@@ -148,7 +148,7 @@ return array(
 		'main_stream' => 'Kanał główny',
 		'no_idle' => 'Brak bezczynnych kanałów!',
 		'number_entries' => '%d wiadomości',
-		'overview' => 'Overview',	// TODO
+		'overview' => 'Podsumowanie',
 		'percent_of_total' => '% wszystkich',
 		'repartition' => 'Podział wiadomości: %s',
 		'status_favorites' => 'Ulubione',
@@ -159,8 +159,8 @@ return array(
 		'top_feed' => '10 największych kanałów',
 	),
 	'system' => array(
-		'_' => 'Konfiguracja serwisu',
-		'auto-update-url' => 'Adres serwera automatycznej aktualizacji',
+		'_' => 'Konfiguracja serwera',
+		'auto-update-url' => 'Adres serwera aktualizacji',
 		'base-url' => array(
 			'_' => 'Baza URL-a',
 			'recommendation' => 'Automatyczne zalecenie: <kbd>%s</kbd>',
@@ -193,7 +193,7 @@ return array(
 		'tos' => array(
 			'disabled' => 'nie zostały ustalone',
 			'enabled' => '<a href="./?a=tos">włączone</a>',
-			'help' => 'W jaki sposób włączyć <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">Warunki użytkowania</a>',
+			'help' => 'zobacz, jak utworzyć <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">warunki użytkowania</a>',
 		),
 		'websub' => array(
 			'help' => 'O protokole <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>',
@@ -205,7 +205,7 @@ return array(
 		'changelog' => 'lista zmian',
 		'check' => 'Szukaj uaktualnień',
 		'copiedFromURL' => 'update.php skopiowany z %s do ./data',
-		'current_version' => 'Używana wersja',
+		'current_version' => 'Aktualna wersja',
 		'last' => 'Ostatnie sprawdzenie',
 		'loading' => 'Aktualizowanie…',
 		'none' => 'Brak nowych aktualizacji',
@@ -232,8 +232,8 @@ return array(
 		'list' => 'Lista użytkowników',
 		'number' => 'Liczba aktywnych kont: %d',
 		'numbers' => 'Liczba aktywnych kont: %d',
-		'password_form' => 'Hasło<br /><small>(dla logowania przez formularz na stronie)</small>',
-		'password_format' => 'Przynajmniej 7 znaków',
+		'password_form' => 'Hasło<br /><small>(do logowania przez formularz na stronie)</small>',
+		'password_format' => 'przynajmniej 7 znaków',
 		'title' => 'Zarządzanie użytkownikami',
 		'username' => 'Nazwa użytkownika',
 	),

+ 45 - 45
app/i18n/pl/conf.php

@@ -35,7 +35,7 @@ return array(
 		'darkMode' => array(
 			'_' => 'Tryb ciemny',
 			'auto' => 'Automatyczny',
-			'help' => 'For compatible themes only',	// TODO
+			'help' => 'Wyłącznie dla kompatybilnych wyglądów',
 			'no' => 'Wyłączony',
 		),
 		'icon' => array(
@@ -44,7 +44,7 @@ return array(
 			'entry' => 'Ikony wiadomości',
 			'publication_date' => 'Data publikacji',
 			'related_tags' => 'Tagi',
-			'sharing' => 'Podaj dalej',
+			'sharing' => 'Udostępnij',
 			'summary' => 'Skrót wiadomości',
 			'top_line' => 'Górny margines',
 		),
@@ -64,10 +64,10 @@ return array(
 		'theme_not_available' => 'Motyw “%s” nie jest już dostępny. Wybierz inny motyw.',
 		'thumbnail' => array(
 			'label' => 'Miniaturka',
-			'landscape' => 'Pejzaż',
+			'landscape' => 'Pozioma',
 			'none' => 'Brak',
-			'portrait' => 'Portret',
-			'square' => 'Kwadrat',
+			'portrait' => 'Pionowa',
+			'square' => 'Kwadratowa',
 		),
 		'timezone' => 'Strefa czasowa',
 		'title' => 'Wyświetlanie',
@@ -100,40 +100,40 @@ return array(
 		),
 	),
 	'mark_read_button' => array(
-		'_' => '“Mark all as read” button',	// TODO
-		'big' => 'Big',	// TODO
-		'none' => 'None',	// TODO
-		'small' => 'Small',	// TODO
+		'_' => 'Przycisk "Oznacz wszystkie jako przeczytane”',
+		'big' => 'Wielki',
+		'none' => 'Brak',
+		'small' => 'Mały',
 	),
 	'privacy' => array(
-		'_' => 'Privacy',	// TODO
-		'retrieve_extension_list' => 'Retrieve extension list',	// TODO
+		'_' => 'Prywatność',
+		'retrieve_extension_list' => 'Pobieraj listę rozszerzeń',
 	),
 	'profile' => array(
 		'_' => 'Zarządzanie profilem',
 		'api' => array(
 			'_' => 'Zarządzanie API',
-			'api_not_set' => 'API password not set',	// TODO
-			'api_set' => 'API password set',	// TODO
-			'check_link' => 'Check API status via: <kbd><a href="../api/" target="_blank">%s</a></kbd>',	// TODO
-			'disabled' => 'The API access is disabled.',	// TODO
-			'documentation_link' => 'See the <a href="https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target="_blank">documentation and list of known apps</a>',	// TODO
-			'help' => 'See <a href="http://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target=_blank>documentation</a>',	// TODO
+			'api_not_set' => 'Hasło do API nie jest ustawione',
+			'api_set' => 'Hasło do API jest ustawione',
+			'check_link' => 'Sprawdz status API poprzez: <kbd><a href="../api/" target="_blank">%s</a></kbd>',
+			'disabled' => 'Dostęp przez API jest wyłączony.',
+			'documentation_link' => 'Zobacz <a href="https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target="_blank">dokumentację i listę aplikacji na telefon</a>',
+			'help' => 'Zobacz <a href="http://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target=_blank>dokumentację</a>',
 		),
 		'delete' => array(
 			'_' => 'Usunięcie konta',
 			'warn' => 'Twoje konto i wszystkie powiązane z nim dane zostaną usunięte.',
 		),
 		'email' => 'Adres e-mail',
-		'password_api' => 'Hasło API<br /><small>(np. dla aplikacji na telefony)</small>',
-		'password_form' => 'Hasło<br /><small>(dla logowania przez formularz na stronie)</small>',
-		'password_format' => 'Przynajmniej 7 znaków',
+		'password_api' => 'Hasło API<br /><small>(np. do aplikacji na telefony)</small>',
+		'password_form' => 'Hasło<br /><small>(do logowania przez formularz na stronie)</small>',
+		'password_format' => 'przynajmniej 7 znaków',
 		'title' => 'Profil',
 	),
 	'query' => array(
 		'_' => 'Zapisane zapytania',
 		'deprecated' => 'To zapytanie nie jest już poprawne. Kategoria lub kanał do którego się odnosi już nie istnieje.',
-		'description' => 'Description',	// TODO
+		'description' => 'Opis',
 		'filter' => array(
 			'_' => 'Zastosowane filtry:',
 			'categories' => 'Według kategorii',
@@ -146,8 +146,8 @@ return array(
 			'tags' => 'Według tagu',
 			'type' => 'Rodzaj',
 		),
-		'get_A' => 'Show all feeds, also those shown in their category',	// TODO
-		'get_Z' => 'Show all feeds, also archived ones',	// TODO
+		'get_A' => 'Pokaż wszystkie kanały, włączając również te w ich kategorii',
+		'get_Z' => 'Pokaż wszystkie kanały, włączając również te zarchiwizowane',
 		'get_all' => 'Wyświetlenie wszystkich wiadomości',
 		'get_all_labels' => 'Wyświetl wiadomości z dowolnymi etykietami',
 		'get_category' => 'Wyświetlenie kategorii “%s”',
@@ -156,12 +156,12 @@ return array(
 		'get_important' => 'Wyświetl wiadomości z ważnych kanałów',
 		'get_label' => 'Wyświetl wiadomości z etykietą “%s”',
 		'help' => 'Zapytania i dzielenie się nimi przez HTML / RSS / OPML opisane są w <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">dokumentacji</a>.',
-		'image_url' => 'Image URL',	// TODO
+		'image_url' => 'URL do obrazka',
 		'name' => 'Nazwa',
 		'no_filter' => 'Brak filtrów',
 		'no_queries' => array(
-			'_' => 'No user queries are saved yet.',	// TODO
-			'help' => 'See <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">documentation</a>',	// TODO
+			'_' => 'Nie masz jeszcze żadnych zapisanych zapytań.',
+			'help' => 'Zobacz <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">dokumentację</a>',
 		),
 		'number' => 'Zapytanie nr %d',
 		'order_asc' => 'Wyświetl najpierw najstarsze wiadomości',
@@ -170,10 +170,10 @@ return array(
 		'share' => array(
 			'_' => 'Udostępnij to zapytanie',
 			'disabled' => array(
-				'_' => 'disabled',	// TODO
-				'title' => 'Sharing',	// TODO
+				'_' => 'wyłączone',
+				'title' => 'Udostępnianie',
 			),
-			'greader' => 'Shareable link to the GReader JSON',	// TODO
+			'greader' => 'Wygenerowany link do udostępniania JSON-a w standardzie GReader',
 			'help' => 'Posłuż się tym odnośnikiem, aby podzielić się zapytaniem',
 			'html' => 'Odnośnik do strony HTML',
 			'opml' => 'Odnośnik do listy kanałów (OPML)',
@@ -201,7 +201,7 @@ return array(
 		'_' => 'Czytanie',
 		'after_onread' => 'Po oznaczeniu wszystkich jako przeczytane,',
 		'always_show_favorites' => 'Pokaż wszystkie wiadomości po wejściu do ulubionych',
-		'apply_to_individual_feed' => 'Applies to feeds individually',	// TODO
+		'apply_to_individual_feed' => 'Dotyczy kanałów indywidualnie',
 		'article' => array(
 			'authors_date' => array(
 				'_' => 'Autor i data',
@@ -217,9 +217,9 @@ return array(
 			),
 			'feed_title' => 'Nazwa kanału',
 			'icons' => array(
-				'_' => 'Article icons position<br /><small>(Reading view only)</small>',	// TODO
-				'above_title' => 'Above title',	// TODO
-				'with_authors' => 'In authors and date row',	// TODO
+				'_' => 'Pozycja ikonek artykułu<br /><small>(tylko w widoku czytania)</small>',
+				'above_title' => 'Powyżej tytułu',
+				'with_authors' => 'W tej samej linii co autor i data',
 			),
 			'tags' => array(
 				'_' => 'Tagi',
@@ -249,20 +249,20 @@ return array(
 		),
 		'hide_read_feeds' => 'Ukryj kategorie i kanały nie zawierające nieprzeczytanych wiadomości (nie działa gdy włączone jest wyświetlanie wszystkich wiadomości)',
 		'img_with_lazyload' => 'Opóźnij ładowanie obrazów dopóki nie będą widoczne',
-		'jump_next' => 'przejdź do następnego nieprzeczytanego rodzeństwa',
+		'jump_next' => 'przeskocz do następnego nieprzeczytanego wpisu',
 		'mark_updated_article_unread' => 'Oznacz zaktualizowane wiadomości jako nieprzeczytane',
 		'number_divided_when_reader' => 'Dzielone przez 2 w widoku czytania.',
 		'read' => array(
 			'article_open_on_website' => 'gdy wiadomość jest otworzona na pierwotnej stronie',
 			'article_viewed' => 'gdy wiadomość jest otworzona',
-			'focus' => 'kiedy ma focus (z wyłączeniem ważnych kanałów)',
+			'focus' => 'kiedy ma focus (z wyłączeniem ważnych kanałów)',	// DIRTY
 			'keep_max_n_unread' => 'Maksymalna liczba nieprzeczytanych wiadomości',
 			'scroll' => 'podczas przewijania (z wyłączeniem ważnych kanałów)',
-			'upon_gone' => 'gdy nie jest już listowana w źródle kanału',
+			'upon_gone' => 'gdy nie jest już wyświetlana w źródle kanału',
 			'upon_reception' => 'po otrzymaniu wiadomości',
 			'when' => 'Oznacz wiadomość jako przeczytaną…',
-			'when_same_title_in_category' => 'if an identical title already exists in the top <i>n</i> newest articles of the category',	// TODO
-			'when_same_title_in_feed' => 'gdy identyczny tytuł już istnieje w <i>n</i> najnowszych wiadomościach (of the feed)',	// DIRTY
+			'when_same_title_in_category' => 'gdy identyczny tytuł już istnieje w <i>n</i> najnowszych wiadomościach kategorii',
+			'when_same_title_in_feed' => 'gdy identyczny tytuł już istnieje w <i>n</i> najnowszych wiadomościach (kanału RSS)',
 		),
 		'show' => array(
 			'_' => 'Wiadomości do wyświetlenia',
@@ -283,7 +283,7 @@ return array(
 			'older_first' => 'Najpierw najstarsze',
 		),
 		'star' => array(
-			'when' => 'Mark an article as favourite…',	// TODO
+			'when' => 'Oznacz artykuł jako ulubiony…',
 		),
 		'sticky_post' => 'Przesuń wiadomość na górę strony po otworzeniu',
 		'title' => 'Czytanie',
@@ -295,9 +295,9 @@ return array(
 		),
 	),
 	'sharing' => array(
-		'_' => 'Podawanie dalej',
-		'add' => 'Dodaj sposób na podanie dalej wiadomości',
-		'bluesky' => 'Bluesky',	// TODO
+		'_' => 'Udostępnianie',
+		'add' => 'Dodaj sposób na udostepnianie wiadomości',
+		'bluesky' => 'Bluesky',	// IGNORE
 		'deprecated' => 'Ta usługa jest przestarzała i zostanie usunięta w <a href="https://freshrss.github.io/FreshRSS/en/users/08_sharing_services.html" title="Dodatkowe informacje znajdują się w dokumentacji" target="_blank">przyszłych wydaniach</a> FreshRSS.',
 		'diaspora' => 'Diaspora*',	// IGNORE
 		'email' => 'E-mail',
@@ -309,15 +309,15 @@ return array(
 		'shaarli' => 'Shaarli',	// IGNORE
 		'share_name' => 'Wyświetlana nazwa serwisu',
 		'share_url' => 'Adres API serwisu',
-		'title' => 'Podawanie dalej',
+		'title' => 'Udostępnianie',
 		'twitter' => 'Twitter',	// IGNORE
 		'wallabag' => 'wallabag',	// IGNORE
 	),
 	'shortcut' => array(
 		'_' => 'Skróty klawiszowe',
 		'article_action' => 'Akcje wiadomości',
-		'auto_share' => 'Podaj dalej',
-		'auto_share_help' => 'Gdy jest dostępna tylko jedna metoda podawania dalej jest ona od razu wykorzystywana. W pozostałych przypadkach poszczególne metody są dostępne przez wybranie ich numeru.',
+		'auto_share' => 'Udostępnij',
+		'auto_share_help' => 'Gdy jest dostępna tylko jedna metoda udostępniania jest ona od razu wykorzystywana. W pozostałych przypadkach poszczególne metody są dostępne przez wybranie ich numeru.',
 		'close_dropdown' => 'Zamknięcie menu',
 		'collapse_article' => 'Zwinięcie',
 		'first_article' => 'Otworzenie pierwszej wiadomości',

+ 5 - 5
app/i18n/pl/feedback.php

@@ -91,9 +91,9 @@ return array(
 			'actualizeds' => 'Kanały RSS zostały zaktualizowane',
 			'added' => 'Kanał RSS <em>%s</em> został dodany',
 			'already_subscribed' => 'Kanał <em>%s</em> znajduje się już na liście subskrybowanych kanałów',
-			'cache_cleared' => 'Cache kanału <em>%s</em> zostało wyczyszczone',
+			'cache_cleared' => 'Pamięć podręczna kanału <em>%s</em> została wyczyszczona',
 			'deleted' => 'Kanał został usunięty',
-			'error' => 'Nie można zaktualizować kanału',
+			'error' => 'Nie udało się zaktualizować kanału',
 			'internal_problem' => 'Wystąpił błąd podczas dodawania kanału. <a href="%s">Sprawdź dziennik</a> w celu uzyskania szczegółowych informacji. Można spróbować wymusić dodanie kanału przez dodanie <code>#force_feed</code> na końcu adresu URL.',
 			'invalid_url' => 'Adres URL <em>%s</em> nie jest prawidłowy',
 			'n_actualized' => 'Liczba zaktualizowanych kanałów: %d',
@@ -124,15 +124,15 @@ return array(
 	'update' => array(
 		'can_apply' => 'FreshRSS zostanie zaktualizowany do <strong>wersji %s</strong>.',
 		'error' => 'Proces aktualizacji napotkał błąd: %s',
-		'file_is_nok' => 'Nowa <strong>wersja %s</strong> jest dostępna, ale należy sprawdzić uprawnienia katalogu <em>%s</em>. Serwer HTTP musi mieć możliwość zapisu',
+		'file_is_nok' => 'Nowa <strong>wersja %s</strong> jest dostępna, lecz należy sprawdzić uprawnienia katalogu <em>%s</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu',
 		'finished' => 'Aktualizacja ukończona!',
 		'none' => 'Brak dostępnych aktualizacji',
 		'server_not_found' => 'Serwer aktualizacji nie może zostać odnaleziony. [%s]',
 	),
 	'user' => array(
 		'created' => array(
-			'_' => 'Stworzono konto użytkownika %s',
-			'error' => 'Konto użytkownika %s nie może zostać stworzone',
+			'_' => 'Utworzono konto użytkownika %s',
+			'error' => 'Konto użytkownika %s nie może zostać utworzone',
 		),
 		'deleted' => array(
 			'_' => 'Konto użytkownika %s zostało usunięte',

+ 36 - 36
app/i18n/pl/gen.php

@@ -14,31 +14,31 @@ return array(
 	'action' => array(
 		'actualize' => 'Aktualizuj kanały',
 		'add' => 'Dodaj',
-		'back_to_rss_feeds' => '← Wróć do subskrybowanych kanałów RSS',
+		'back_to_rss_feeds' => '← Wróć do subskrypcji',
 		'cancel' => 'Anuluj',
-		'close' => 'Close',	// TODO
-		'create' => 'Stwórz',
-		'delete_all_feeds' => 'Delete all feeds',	// TODO
-		'delete_errored_feeds' => 'Delete feeds with errors',	// TODO
+		'close' => 'Zamknij',
+		'create' => 'Utwórz',
+		'delete_all_feeds' => 'Usuń wszystkie kanały',
+		'delete_errored_feeds' => 'Usuń kanały z błędami',
 		'delete_muted_feeds' => 'Usuń wyciszone kanały',
 		'demote' => 'Zdegraduj',
 		'disable' => 'Wyłącz',
-		'download' => 'Download',	// TODO
+		'download' => 'Pobierz',
 		'empty' => 'Opróżnij',
 		'enable' => 'Włącz',
 		'export' => 'Eksportuj',
 		'filter' => 'Filtruj',
 		'import' => 'Importuj',
-		'load_default_shortcuts' => 'Ustaw domyślne skróty',
+		'load_default_shortcuts' => 'Przywróć domyślne skróty',
 		'manage' => 'Ustawienia',
 		'mark_read' => 'Oznacz jako przeczytane',
 		'menu' => array(
-			'open' => 'Open menu',	// TODO
+			'open' => 'Otwórz menu',
 		),
 		'nav_buttons' => array(
-			'next' => 'Next article',	// TODO
-			'prev' => 'Previous article',	// TODO
-			'up' => 'Go up',	// TODO
+			'next' => 'Następny artykuł',
+			'prev' => 'Poprzedni artykuł',
+			'up' => 'Idź do góry',
 		),
 		'open_url' => 'Otwórz adres',
 		'promote' => 'Awansuj',
@@ -55,35 +55,35 @@ return array(
 		'accept_tos' => 'Akceptuję <a href="%s">Warunki użytkowania</a>.',
 		'email' => 'Adres e-mail',
 		'keep_logged_in' => 'Nie pytaj ponownie o logowanie <small>(przez %s dni)</small>',
-		'login' => 'Logowanie',
+		'login' => 'Zaloguj się',
 		'logout' => 'Wyloguj',
 		'password' => array(
 			'_' => 'Hasło',
-			'format' => '<small>Przynajmniej 7 znaków</small>',
+			'format' => '<small>przynajmniej 7 znaków</small>',
 		),
 		'registration' => array(
-			'_' => 'Nowe konto',
-			'ask' => 'Stworzyć nowe konto?',
+			'_' => 'Tworzenie konta',
+			'ask' => 'Nie masz konta?',
 			'title' => 'Tworzenie konta',
 		),
 		'username' => array(
 			'_' => 'Nazwa użytkownika',
-			'format' => '<small>Nie więcej niż 16 znaków alfanumerycznych</small>',
+			'format' => '<small>nie więcej niż 16 znaków alfanumerycznych</small>',
 		),
 	),
 	'date' => array(
-		'Apr' => '\\K\\w\\i\\e\\t\\n\\i\\a',
-		'Aug' => '\\S\\i\\e\\r\\p\\n\\i\\a',
-		'Dec' => '\\G\\r\\u\\d\\n\\i\\a',
-		'Feb' => '\\L\\u\\t\\e\\g\\o',
-		'Jan' => '\\S\\t\\y\\c\\z\\n\\i\\a',
-		'Jul' => '\\L\\i\\p\\c\\a',
-		'Jun' => '\\C\\z\\e\\r\\w\\c\\a',
-		'Mar' => '\\M\\a\\r\\c\\a',
-		'May' => '\\M\\a\\j\\a',
-		'Nov' => '\\L\\i\\s\\t\\o\\p\\a\\d\\a',
-		'Oct' => '\\P\\a\\ź\\d\\z\\i\\e\\r\\n\\i\\k\\a',
-		'Sep' => '\\W\\r\\z\\e\\ś\\n\\i\\a',
+		'Apr' => '\\k\\w\\i\\e\\t\\n\\i\\a',
+		'Aug' => '\\s\\i\\e\\r\\p\\n\\i\\a',
+		'Dec' => '\\g\\r\\u\\d\\n\\i\\a',
+		'Feb' => '\\l\\u\\t\\e\\g\\o',
+		'Jan' => '\\s\\t\\y\\c\\z\\n\\i\\a',
+		'Jul' => '\\l\\i\\p\\c\\a',
+		'Jun' => '\\c\\z\\e\\r\\w\\c\\a',
+		'Mar' => '\\m\\a\\r\\c\\a',
+		'May' => '\\m\\a\\j\\a',
+		'Nov' => '\\l\\i\\s\\t\\o\\p\\a\\d\\a',
+		'Oct' => '\\p\\a\\ź\\d\\z\\i\\e\\r\\n\\i\\k\\a',
+		'Sep' => '\\w\\r\\z\\e\\ś\\n\\i\\a',
 		'apr' => 'Kwi',
 		'april' => 'Kwiecień',
 		'aug' => 'Sie',
@@ -133,14 +133,14 @@ return array(
 	'dir' => 'ltr',	// IGNORE
 	'freshrss' => array(
 		'_' => 'FreshRSS',	// IGNORE
-		'about' => 'O serwisie FreshRSS',
+		'about' => 'O oprogramowaniu FreshRSS',
 	),
 	'js' => array(
 		'category_empty' => 'Pusta kategoria',
 		'confirm_action' => 'Czy jesteś pewien, że chcesz przeprowadzić daną operację? Nie można cofnąć jej rezultatów!',
-		'confirm_action_feed_cat' => 'czy jesteś pewien, że chcesz przeprowadzić daną operację? Stracisz powiązane zapytania i ulubione wiadomości. Tych zmian nie można wycofać!',
+		'confirm_action_feed_cat' => 'Czy jesteś pewien, że chcesz przeprowadzić daną operację? Stracisz powiązane zapytania i ulubione wiadomości. Tych zmian nie można wycofać!',
 		'feedback' => array(
-			'body_new_articles' => 'Na FreshRSS znajduje się %%d wiadomości do przeczytania.',
+			'body_new_articles' => 'W FreshRSS znajduje się %%d wiadomości do przeczytania.',
 			'body_unread_articles' => '(Nieprzeczytane: %%d)',
 			'request_failed' => 'Zapytanie nie powiodło się. Może to być spowodowane problemami z łącznością z internetem.',
 			'title_new_articles' => 'FreshRSS: nowe wiadomości!',
@@ -188,15 +188,15 @@ return array(
 		'display' => 'Wyświetlanie',
 		'extensions' => 'Rozszerzenia',
 		'logs' => 'Dziennik',
-		'privacy' => 'Privacy',	// TODO
+		'privacy' => 'Prywatność',
 		'queries' => 'Zapisane zapytania',
 		'reading' => 'Czytanie',
 		'search' => 'Wyszukaj wyrazy lub #tagi',
 		'search_help' => 'Zaawansowane <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">parametry wyszukiwania</a> opisane są w dokumentacji',
-		'sharing' => 'Podawanie dalej',
+		'sharing' => 'Udostępnianie',
 		'shortcuts' => 'Skróty klawiszowe',
 		'stats' => 'Statystyki',
-		'system' => 'Konfiguracja serwisu',
+		'system' => 'Konfiguracja serwera',
 		'update' => 'Aktualizacja',
 		'user_management' => 'Zarządzanie użytkownikami',
 		'user_profile' => 'Profil',
@@ -213,7 +213,7 @@ return array(
 		'archiveIS' => 'archive.is',	// IGNORE
 		'archiveORG' => 'archive.org',	// IGNORE
 		'archivePH' => 'archive.ph',	// IGNORE
-		'bluesky' => 'Bluesky',	// TODO
+		'bluesky' => 'Bluesky',	// IGNORE
 		'buffer' => 'Buffer',	// IGNORE
 		'clipboard' => 'Schowek',
 		'diaspora' => 'Diaspora*',	// IGNORE
@@ -252,7 +252,7 @@ return array(
 		'default_category' => 'Brak kategorii',
 		'no' => 'Nie',
 		'not_applicable' => 'Niedostępne',
-		'ok' => 'Okay!',	// IGNORE
+		'ok' => 'Okej!',
 		'or' => 'lub',
 		'yes' => 'Tak',
 	),

+ 25 - 25
app/i18n/pl/index.php

@@ -16,18 +16,18 @@ return array(
 		'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>',	// IGNORE
 		'bug_reports' => array(
 			'environment_information' => array(
-				'_' => 'System information',	// TODO
-				'browser' => 'Browser',	// TODO
-				'database' => 'Database',	// TODO
-				'server_software' => 'Server software',	// TODO
-				'version_curl' => 'cURL version',	// TODO
-				'version_frss' => 'FreshRSS version',	// TODO
-				'version_php' => 'PHP version',	// TODO
+				'_' => 'Informacje o serwerze',
+				'browser' => 'Przeglądarka',
+				'database' => 'Baza danych',
+				'server_software' => 'Oprogramowanie serwera',
+				'version_curl' => 'Wersja biblioteki cURL',
+				'version_frss' => 'Wersja FreshRSS',
+				'version_php' => 'Wersja PHP',
 			),
 		),
-		'bugs_reports' => 'Zgłaszanie problemów',
+		'bugs_reports' => 'Zgłaszanie błędów',
 		'documentation' => 'Dokumentacja',
-		'freshrss_description' => 'FreshRSS jest agregatorem kanałów RSS przeznaczonym do zainstalowania na własnym serwerze. Jest lekki i łatwy do schowania w kieszeni, pozostając przy tym potężnym i konfigurowalnym narzędziem.',
+		'freshrss_description' => 'FreshRSS to agregator i czytnik RSS, który można hostować samodzielnie. Pozwala na szybkie śledzenie i czytanie wielu stron informacyjnych bez potrzeby przechodzenia z jednej strony na drugą. FreshRSS jest lekki, konfigurowalny i łatwy w użyciu.',
 		'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">na GitHubie</a>',
 		'license' => 'Licencja',
 		'project_website' => 'Strona projektu',
@@ -37,9 +37,9 @@ return array(
 	'feed' => array(
 		'empty' => 'Brak wiadomości do wyświetlenia.',
 		'received' => array(
-			'before_yesterday' => 'Received before yesterday',	// TODO
-			'today' => 'Received today',	// TODO
-			'yesterday' => 'Received yesterday',	// TODO
+			'before_yesterday' => 'Otrzymane przedwczoraj',
+			'today' => 'Otrzymane dzisiaj',
+			'yesterday' => 'Otrzymane wczoraj',
 		),
 		'rss_of' => 'Kanał RSS: %s',
 		'title' => 'Kanał główny',
@@ -53,7 +53,7 @@ return array(
 		'title' => 'Dziennik',
 	),
 	'menu' => array(
-		'about' => 'O serwisie FreshRSS',
+		'about' => 'O oprogramowaniu FreshRSS',
 		'before_one_day' => 'Starsze niż dzień',
 		'before_one_week' => 'Starsze niż tydzień',
 		'bookmark_query' => 'Zapisz bieżące zapytanie',
@@ -70,29 +70,29 @@ return array(
 		'non-starred' => 'Pokaż wiadomości, które nie są ulubione',
 		'normal_view' => 'Widok normalny',
 		'older_first' => 'Najpierw najstarsze',
-		'queries' => 'Zapisane wyszukiwania',
+		'queries' => 'Zapisane zapytania',
 		'read' => 'Pokaż przeczytane',
 		'reader_view' => 'Widok czytania',
 		'rss_view' => 'Kanał RSS',
 		'search_short' => 'Szukaj',
 		'sort' => array(
-			'_' => 'Sorting criteria',	// TODO
-			'date_asc' => 'Publication date 1→9',	// TODO
-			'date_desc' => 'Publication date 9→1',	// TODO
-			'id_asc' => 'Freshly received last',	// TODO
-			'id_desc' => 'Freshly received first',	// TODO
-			'link_asc' => 'Link A→Z',	// TODO
-			'link_desc' => 'Link Z→A',	// TODO
-			'rand' => 'Random order',	// TODO
-			'title_asc' => 'Title A→Z',	// TODO
-			'title_desc' => 'Title Z→A',	// TODO
+			'_' => 'Kryteria sortowania',
+			'date_asc' => 'Data publikacji 1→9',
+			'date_desc' => 'Data publikacji 9→1',
+			'id_asc' => 'Najpożniej otrzymane',
+			'id_desc' => 'Najwcześniej otrzymane',
+			'link_asc' => 'Link A→Z',	// IGNORE
+			'link_desc' => 'Link Z→A',	// IGNORE
+			'rand' => 'Losowa kolejność',
+			'title_asc' => 'Tytuł A→Z',
+			'title_desc' => 'Tytuł Z→A',
 		),
 		'starred' => 'Pokaż ulubione',
 		'stats' => 'Statystyki',
 		'subscription' => 'Zarządzanie subskrypcjami',
 		'unread' => 'Pokaż nieprzeczytane',
 	),
-	'share' => 'Podaj dalej',
+	'share' => 'Udostępnij',
 	'tag' => array(
 		'related' => 'Tagi',
 	),

+ 66 - 66
app/i18n/pl/install.php

@@ -12,117 +12,117 @@
 
 return array(
 	'action' => array(
-		'finish' => 'Complete installation',	// TODO
-		'fix_errors_before' => 'Please all fix errors before continuing to the next step.',	// TODO
-		'keep_install' => 'Keep previous configuration',	// TODO
-		'next_step' => 'Go to the next step',	// TODO
-		'reinstall' => 'Reinstall FreshRSS',	// TODO
+		'finish' => 'Zakończ instalację',
+		'fix_errors_before' => 'Proszę naprawić wszystkie błędy przed przystąpieniem do kolejnego kroku.',
+		'keep_install' => 'Zachowaj poprzednią konfigurację',
+		'next_step' => 'Przejdź do następnego kroku',
+		'reinstall' => 'Przeinstaluj FreshRSS',
 	),
 	'bdd' => array(
-		'_' => 'Database',	// TODO
+		'_' => 'Nazwa bazy danych',
 		'conf' => array(
-			'_' => 'Database configuration',	// TODO
-			'ko' => 'Verify your database configuration.',	// TODO
-			'ok' => 'Database configuration has been saved.',	// TODO
-		),
-		'host' => 'Host',	// TODO
-		'password' => 'Database password',	// TODO
-		'prefix' => 'Table prefix',	// TODO
-		'type' => 'Type of database',	// TODO
-		'username' => 'Database username',	// TODO
+			'_' => 'Konfiguracja bazy danych',
+			'ko' => 'Sprawdź swoją konfigurację bazy danych.',
+			'ok' => 'Konfiguracja bazy danych została zapisana.',
+		),
+		'host' => 'Host',	// IGNORE
+		'password' => 'Hasło',
+		'prefix' => 'Prefiks tabeli',
+		'type' => 'Rodzaj bazy danych',
+		'username' => 'Nazwa użytkownika',
 	),
 	'check' => array(
-		'_' => 'Checks',	// TODO
-		'already_installed' => 'We have detected that FreshRSS is already installed!',	// TODO
+		'_' => 'Weryfikacja instalacji',
+		'already_installed' => 'Wykryto że FreshRSS jest już zainstalowany!',
 		'cache' => array(
-			'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> user. The HTTP server must have write permissions.',
-			'ok' => 'Permissions on the cache directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia użytkownika <em>%2$s</em> dla katalogu <em>%1$s</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu pamięci podręcznej się zgadzają.',
 		),
 		'ctype' => array(
-			'nok' => 'Cannot find the required library for character type checking (php-ctype).',	// TODO
-			'ok' => 'You have the required library for character type checking (ctype).',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki do sprawdzania rodzajów znaków (php-ctype).',
+			'ok' => 'Znaleziono wymaganą bibliotekę do sprawdzania rodzajów znaków (ctype).',
 		),
 		'curl' => array(
-			'nok' => 'Cannot find the cURL library (php-curl package).',	// TODO
-			'ok' => 'You have the cURL library.',	// TODO
+			'nok' => 'Nie znaleziono biblioteki cURL (php-curl package).',
+			'ok' => 'Znaleziono bibliotekę cURL.',
 		),
 		'data' => array(
-			'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> user. The HTTP server must have write permissions.',
-			'ok' => 'Permissions on the data directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia użytkownika <em>%2$s</em> dla katalogu <em>%1$s</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu danych się zgadzają.',
 		),
 		'dom' => array(
-			'nok' => 'Cannot find the required library to browse the DOM.',	// TODO
-			'ok' => 'You have the required library to browse the DOM.',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki do korzystania z DOM-u.',
+			'ok' => 'Znaleziono wymaganą bibliotekę do korzystania z DOM-u.',
 		),
 		'favicons' => array(
-			'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> user. The HTTP server must have write permissions.',
-			'ok' => 'Permissions on the favicons directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia użytkownika <em>%2$s</em> dla katalogu <em>%1$s</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu ikonek kanałów się zgadzają.',
 		),
 		'fileinfo' => array(
-			'nok' => 'Cannot find the PHP fileinfo library (fileinfo package).',	// TODO
-			'ok' => 'You have the fileinfo library.',	// TODO
+			'nok' => 'Nie znaleziono biblioteki fileinfo dla PHP (paczka fileinfo).',
+			'ok' => 'Znaleziono bibliotekę fileinfo.',
 		),
 		'json' => array(
-			'nok' => 'Cannot find the recommended library to parse JSON.',	// TODO
-			'ok' => 'You have the recommended library to parse JSON.',	// TODO
+			'nok' => 'Nie znaleziono zalecanej biblioteki do przetwarzania JSON-a.',
+			'ok' => 'Znaleziono zalecaną bibliotekę do przetwarzania JSON-a.',
 		),
 		'mbstring' => array(
-			'nok' => 'Cannot find the recommended library mbstring for Unicode.',	// TODO
-			'ok' => 'You have the recommended library mbstring for Unicode.',	// TODO
+			'nok' => 'Nie znaleziono zalecanej biblioteki mbstring do obsługi Unicode.',
+			'ok' => 'Znaleziono zalecaną bibliotekę mbstring do obsługi Unicode.',
 		),
 		'pcre' => array(
-			'nok' => 'Cannot find the required library for regular expressions (php-pcre).',	// TODO
-			'ok' => 'You have the required library for regular expressions (PCRE).',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki do obsługi wyrażeń regularnych (php-pcre).',
+			'ok' => 'Znaleziono wymaganą bibliotekę do obsługi wyrażeń regularnych (PCRE).',
 		),
 		'pdo' => array(
-			'nok' => 'Cannot find PDO or one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).',	// TODO
-			'ok' => 'You have PDO and at least one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).',	// TODO
+			'nok' => 'Nie znaleziono PDO ani żadnego wspieranego sterownika bazy danych (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+			'ok' => 'Znaleziono PDO oraz przynajmniej jeden z wspieranych sterowników bazy danych (pdo_mysql, pdo_sqlite, pdo_pgsql).',
 		),
 		'php' => array(
-			'nok' => 'Your PHP version is %s, but FreshRSS requires at least version %s.',	// TODO
-			'ok' => 'Your PHP version, %s, is compatible with FreshRSS.',	// TODO
+			'nok' => 'Twoja wersja PHP to %s, lecz FreshRSS wymaga co najmniej wersji %s.',
+			'ok' => 'Twoja wersja PHP, %s, jest kompatybilna z FreshRSS.',
 		),
 		'reload' => 'Sprawdź ponownie',
 		'tmp' => array(
-			'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> user. The HTTP server must have write permissions.',	// TODO
-			'ok' => 'Permissions on the temp directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia użytkownika <em>%2$s</em> dla katalogu <em>%1$s</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawienia dla katalogu plików tymczasowych się zgadzają.',
 		),
-		'unknown_process_username' => 'unknown',	// TODO
+		'unknown_process_username' => 'nieznany',
 		'users' => array(
-			'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> user. The HTTP server must have write permissions.',	// TODO
-			'ok' => 'Permissions on the users directory are good.',	// TODO
+			'nok' => 'Sprawdź uprawnienia użytkownika <em>%2$s</em> dla katalogu <em>%1$s</em>. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.',
+			'ok' => 'Uprawnienia dla katalogu użytkowników się zgadzają.',
 		),
 		'xml' => array(
-			'nok' => 'Cannot find the required library to parse XML.',	// TODO
-			'ok' => 'You have the required library to parse XML.',	// TODO
+			'nok' => 'Nie znaleziono wymaganej biblioteki do przetwarzania XML-a.',
+			'ok' => 'Znaleziono wymaganą bibliotekę do przetwarzania XML-a.',
 		),
 	),
 	'conf' => array(
-		'_' => 'General configuration',	// TODO
-		'ok' => 'General configuration has been saved.',	// TODO
+		'_' => 'Dalsza konfiguracja',
+		'ok' => 'Główna konfiguracja została zapisana.',
 	),
-	'congratulations' => 'Congratulations!',	// TODO
+	'congratulations' => 'Gratulacje!',
 	'default_user' => array(
-		'_' => 'Username of the default user',	// TODO
-		'max_char' => 'maximum 16 alphanumeric characters',	// TODO
+		'_' => 'Nazwa domyślnego użytkownika',
+		'max_char' => 'maksymalnie 16 znaków alfanumerycznych',
 	),
-	'fix_errors_before' => 'Please fix errors before continuing to the next step.',	// TODO
-	'javascript_is_better' => 'FreshRSS is more pleasant with JavaScript enabled',	// TODO
+	'fix_errors_before' => 'Proszę naprawić wszystkie błędy przed przystąpieniem do kolejnego kroku.',
+	'javascript_is_better' => 'FreshRSS działa lepiej z włączonym JavaScript-em',
 	'js' => array(
-		'confirm_reinstall' => 'You will lose your previous configuration by reinstalling FreshRSS. Are you sure you want to continue?',	// TODO
+		'confirm_reinstall' => 'Stracisz swoją poprzednią konfigurację poprzez przeinstalację FreshRSS. Czy jesteś pewien, że chcesz kontynuowac?',
 	),
 	'language' => array(
-		'_' => 'Language',	// TODO
-		'choose' => 'Choose a language for FreshRSS',	// TODO
-		'defined' => 'Language has been defined.',	// TODO
+		'_' => 'Język',
+		'choose' => 'Wybierz język dla FreshRSS',
+		'defined' => 'Język został wybrany.',
 	),
-	'missing_applied_migrations' => 'Something went wrong; you should create an empty file <em>%s</em> manually.',	// TODO
-	'ok' => 'The installation process was successful.',	// TODO
+	'missing_applied_migrations' => 'Coś poszło nie tak. Powinieneś stworzyć pusty plik o nazwie <em>%s</em> ręcznie.',
+	'ok' => 'Instalacja przebiegła pomyślnie.',
 	'session' => array(
-		'nok' => 'The web server seems to be incorrectly configured for cookies required for PHP sessions!',	// TODO
+		'nok' => 'Wygląda na to, że serwer WWW jest nieprawidłowo skonfigurowany do obsługi ciasteczek dla sesji PHP!',
 	),
-	'step' => 'step %d',	// TODO
-	'steps' => 'Steps',	// TODO
-	'this_is_the_end' => 'This is the end',	// TODO
-	'title' => 'Installation · FreshRSS',	// TODO
+	'step' => 'krok %d',
+	'steps' => 'Kroki',
+	'this_is_the_end' => 'Koniec',
+	'title' => 'Instalacja · FreshRSS',
 );

+ 32 - 32
app/i18n/pl/sub.php

@@ -29,9 +29,9 @@ return array(
 			'help' => 'Podaj adres <a href="http://opml.org/" target="_blank">pliku OPML</a>, aby dynamicznie zapełnić tę kategorię kanałami',
 		),
 		'empty' => 'Pusta kategoria',
-		'expand' => 'Expand category',	// TODO
+		'expand' => 'Rozszerz kategorię',
 		'information' => 'Informacje',
-		'open' => 'Open category',	// TODO
+		'open' => 'Otwórz kategorię',
 		'opml_url' => 'Adres OPML',
 		'position' => 'Miejsce wyświetlania',
 		'position_help' => 'Kontrola porządku sortowania kategorii',
@@ -57,7 +57,7 @@ return array(
 			'prepend' => 'Umieść przed treścią z kanału',
 			'replace' => 'Zastąp treść z kanału',
 		),
-		'content_retrieval' => 'Content retrieval',	// TODO
+		'content_retrieval' => 'Pobieranie zawartości',
 		'css_cookie' => 'Użyj plików cookie podczas pobierania wiadomości',
 		'css_cookie_help' => 'Przykład: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>',
 		'css_help' => 'Pozwala na ograniczenie zawartości kanałów (uwaga, wymaga więcej czasu!)',
@@ -68,27 +68,27 @@ return array(
 		),
 		'description' => 'Opis',
 		'empty' => 'Ten kanał jest pusty. Należy sprawdzić czy kanał w dalszym ciągu działa.',
-		'error' => 'Napotkano problem podczas dostępu do tego kanału. Należy sprawdzić czy kanał jest zawsze dostępny.',	// DIRTY
+		'error' => 'Wystąpił błąd podczas pobierania kanału. Należy sprawdzić czy kanał jest nadal dostępny.',
 		'export-as-opml' => array(
 			'download' => 'Pobierz',
-			'help' => 'Plik XML (data subset. <a href="https://freshrss.github.io/FreshRSS/en/developers/OPML.html" target="_blank">See documentation</a>)',	// DIRTY
+			'help' => 'Plik XML (podzbiór danych. <a href="https://freshrss.github.io/FreshRSS/en/developers/OPML.html" target="_blank">Zobacz dokumentację</a>)',
 			'label' => 'Eksportuj OPML',
 		),
 		'filteractions' => array(
 			'_' => 'Akcje filtrowania',
 			'help' => 'Jedno zapytanie na linię. Operatory opisane są w <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">dokumentacji</a>.',
 		),
-		'http_headers' => 'HTTP Headers',	// TODO
-		'http_headers_help' => 'Headers are separated by a newline, and the name and value of a header are separated by a colon (e.g: <kbd><code>Accept: application/atom+xml<br />Authorization: Bearer some-token</code></kbd>).',	// TODO
+		'http_headers' => 'Nagłówki HTTP',
+		'http_headers_help' => 'Nagłówki są oddzielane przez nową linię, a nazwa i wartość nagłówka są oddzielane przez dwukropek (np: <kbd><code>Accept: application/atom+xml<br />Authorization: Bearer jakiś-token</code></kbd>).',
 		'information' => 'Informacja',
-		'keep_min' => 'Minimalna liczba wiadomości do do przechowywania',
+		'keep_min' => 'Minimalna liczba wiadomości do przechowywania',
 		'kind' => array(
 			'_' => 'Rodzaj źródła kanału',
 			'html_json' => array(
-				'_' => 'HTML + XPath + JSON dot notation (JSON in HTML)',	// TODO
+				'_' => 'HTML + XPath + notacja kropkowa JSON (JSON w HTML-u)',
 				'xpath' => array(
-					'_' => 'XPath for JSON in HTML',	// TODO
-					'help' => 'Example: <code>normalize-space(//script[@type="application/json"])</code> (single JSON)<br />or: <code>//script[@type="application/ld+json"]</code> (one JSON object per article)',	// TODO
+					'_' => 'XPath do JSON-a w HTML-u',
+					'help' => 'Przykład: <code>normalize-space(//script[@type="application/json"])</code> (single JSON)<br />or: <code>//script[@type="application/ld+json"]</code> (jeden obiekt JSON dla każdego artykułu)',
 				),
 			),
 			'html_xpath' => array(
@@ -139,15 +139,15 @@ return array(
 				'xpath' => 'XPath dla:',
 			),
 			'json_dotnotation' => array(
-				'_' => 'JSON (dot notation)',	// IGNORE
+				'_' => 'JSON (notacja kropkowa)',
 				'feed_title' => array(
 					'_' => 'Tytuł kanału',
-					'help' => 'Przykład: <code>meta.title</code>, lub stały ciąg: <code>"Mój kanał"</code>',
+					'help' => 'Przykład: <code>meta.title</code>, lub stały ciąg znaków: <code>"Mój kanał"</code>',
 				),
 				'help' => 'JSON oddzielający obiekty kropkami i używający nawiasów kwadratowych dla tablic (na przykład <code>data.items[0].title</code>)',
 				'item' => array(
 					'_' => 'odnajdywanie <strong>wiadomości</strong><br /><small>(najważniejsze)</small>',
-					'help' => 'Ścieżka w JSON-ie do tablicy zawierającej wiadomości, na przykład <code>$</code> or <code>newsItems</code>',	// DIRTY
+					'help' => 'Ścieżka w JSON-ie do tablicy zawierającej wiadomości, na przykład <code>$</code> lub <code>newsItems</code>',
 				),
 				'item_author' => 'autor wiadomości',
 				'item_categories' => 'tagi wiadomości',
@@ -188,21 +188,21 @@ return array(
 			'title' => 'Konserwacja',
 		),
 		'max_http_redir' => 'Limit przekierowań HTTP',
-		'max_http_redir_help' => 'Ustaw na 0, albo pozostaw puste, by zabronić przekierowywania. Wartość -1 wyłącza limit.',
+		'max_http_redir_help' => 'Ustaw na 0, albo pozostaw puste, aby zabronić przekierowywania. Wartość -1 wyłącza limit.',
 		'method' => array(
-			'_' => 'Medoda HTTP',
+			'_' => 'Metoda HTTP',
 		),
 		'method_help' => 'Ładunek w POST automatycznie wspiera <code>application/x-www-form-urlencoded</code> oraz <code>application/json</code>',
 		'method_postparams' => 'Ładunek w POST',
 		'moved_category_deleted' => 'Po usunięciu kategorii znajdujące się w niej kanały zostaną automatycznie przeniesione do <em>%s</em>.',
 		'mute' => array(
 			'_' => 'wycisz',
-			'state_is_muted' => 'This feed is muted',	// TODO
+			'state_is_muted' => 'Ten kanał jest wyciszony',
 		),
 		'no_selected' => 'Brak kanałów.',
 		'number_entries' => '%d wiadomości',
-		'open_feed' => 'Open feed %s',	// TODO
-		'path_entries_conditions' => 'Conditions for content retrieval',	// TODO
+		'open_feed' => 'Otwórz kanał %s',
+		'path_entries_conditions' => 'Warunki dla pobrania zawartości',
 		'priority' => array(
 			'_' => 'Widoczność',
 			'archived' => 'Nie pokazuj (zarchiwizowany)',
@@ -210,7 +210,7 @@ return array(
 			'important' => 'Pokaż w ważnych kanałach',
 			'main_stream' => 'Pokaż w kanale głównym',
 		),
-		'proxy' => 'Użyj mechanizmu proxy podczas pobierania kanału',
+		'proxy' => 'Serwer proxy używany podczas pobierania kanału',
 		'proxy_help' => 'Wybierz protokół (np. SOCKS5) i podaj adres serwera proxy (np. <kbd>127.0.0.1:1080</kbd> lub <kbd>username:password@127.0.0.1:1080</kbd>)',
 		'selector_preview' => array(
 			'show_raw' => 'Pokaż źródło',
@@ -231,32 +231,32 @@ return array(
 		'title_add' => 'Dodaj kanał',
 		'ttl' => 'Nie odświeżaj automatycznie częściej niż',
 		'unicityCriteria' => array(
-			'_' => 'Article unicity criteria',	// TODO
-			'forced' => '<span title="Block the unicity criteria, even when the feed has duplicate articles">forced</span>',	// TODO
-			'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.',	// TODO
-			'id' => 'Standard ID (default)',	// TODO
-			'link' => 'Link',	// TODO
-			'sha1:link_published' => 'Link + Date',	// TODO
-			'sha1:link_published_title' => 'Link + Date + Title',	// TODO
-			'sha1:link_published_title_content' => 'Link + Date + Title + Content',	// TODO
+			'_' => 'Kryteria jednorodności kanału',
+			'forced' => '<span title="Zablokuj kryteria jednorodności, nawet jeżeli kanał ma duplikaty artykułów">wymuszone</span>',
+			'help' => 'Istotne dla niezgodnych kanałów.<br />⚠️ Wprowadzenie zmian w polityce utworzy duplikaty.',
+			'id' => 'standardowe ID (domyślne)',
+			'link' => 'link',
+			'sha1:link_published' => 'link + data',
+			'sha1:link_published_title' => 'link + data + tytuł',
+			'sha1:link_published_title_content' => 'link + data + tytuł + zawartość',
 		),
 		'url' => 'Adres kanału',
 		'useragent' => 'Ciąg user agent używany podczas pobierania kanału',
 		'useragent_help' => 'Przykład: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>',
-		'validator' => 'Sprawdź poprawność kanału',
+		'validator' => 'Sprawdź zgodność kanału',
 		'website' => 'Adres strony',
 		'websub' => 'Natychmiastowe powiadomienia protokołu WebSub',
 	),
 	'import_export' => array(
 		'export' => array(
 			'_' => 'Eksport',
-			'sqlite' => 'Download user database as SQLite',	// TODO
+			'sqlite' => 'Pobierz bazę danych użytkownika jako SQLite',
 		),
 		'export_labelled' => 'Eksportuj wiadomości z etykietami',
 		'export_opml' => 'Eksportuj listę kanałów (format OPML)',
 		'export_starred' => 'Eksportuj ulubione wiadomości',
 		'feed_list' => 'Lista wiadomości z kanału %s',
-		'file_to_import' => 'Plik do zaimportowania<br />(formaty OPML, JSON lub ZIP)',
+		'file_to_import' => 'Plik do zaimportowania<br />(format OPML, JSON lub ZIP)',
 		'file_to_import_no_zip' => 'Plik do zaimportowania<br />(OPML lub JSON)',
 		'import' => 'Import',	// IGNORE
 		'starred_list' => 'Lista ulubionych wiadomości',
@@ -287,7 +287,7 @@ return array(
 		'add_dynamic_opml' => 'Dodaj dynamiczny OPML',
 		'add_feed' => 'Dodaj kanał',
 		'add_label' => 'Dodaj etykietę',
-		'add_opml_category' => 'OPML category name',	// TODO
+		'add_opml_category' => 'Nazwa kategorii OPML',
 		'delete_label' => 'Usuń etykietę',
 		'feed_management' => 'Zarządzanie kanałami RSS',
 		'rename_label' => 'Zmień nazwę etykiety',