diff --git a/client/strings/pl.json b/client/strings/pl.json
index 3a9593db0..3be1c2dfe 100644
--- a/client/strings/pl.json
+++ b/client/strings/pl.json
@@ -11,7 +11,7 @@
"ButtonApplyChapters": "Zatwierdź rozdziały",
"ButtonAuthors": "Autorzy",
"ButtonBack": "Wstecz",
- "ButtonBatchEditPopulateFromExisting": "Powiel z poprzednich",
+ "ButtonBatchEditPopulateFromExisting": "Uzupełnij na podstawie istniejących",
"ButtonBatchEditPopulateMapDetails": "Powiel szczegóły mapy",
"ButtonBrowseForFolder": "Wyszukaj folder",
"ButtonCancel": "Anuluj",
@@ -55,7 +55,7 @@
"ButtonNext": "Następny",
"ButtonNextChapter": "Następny rozdział",
"ButtonNextItemInQueue": "Następny element w kolejce",
- "ButtonOk": "Ok",
+ "ButtonOk": "OK",
"ButtonOpenFeed": "Otwórz feed",
"ButtonOpenManager": "Otwórz menadżera",
"ButtonPause": "Wstrzymaj",
@@ -127,7 +127,7 @@
"HeaderAudiobookTools": "Narzędzia do zarządzania audiobookami",
"HeaderAuthentication": "Uwierzytelnianie",
"HeaderBackups": "Kopie zapasowe",
- "HeaderBulkChapterModal": "Dodaj wiele rozdziałów",
+ "HeaderBulkChapterModal": "Dodaj kilka rozdziałów",
"HeaderChangePassword": "Zmień hasło",
"HeaderChapters": "Rozdziały",
"HeaderChooseAFolder": "Wybierz folder",
@@ -275,7 +275,7 @@
"LabelBonus": "Bonus",
"LabelBooks": "Książki",
"LabelButtonText": "Tekst przycisku",
- "LabelByAuthor": "autorstwa {0}",
+ "LabelByAuthor": "Autor {0}",
"LabelChangePassword": "Zmień hasło",
"LabelChannels": "Kanały",
"LabelChapterCount": "{0} rozdziałów",
@@ -286,7 +286,7 @@
"LabelClickToUseCurrentValue": "Kliknij by zastosować aktualną wartość",
"LabelClosePlayer": "Zamknij odtwarzacz",
"LabelCodec": "Kodek",
- "LabelCollapseSeries": "Podsumuj serię",
+ "LabelCollapseSeries": "Zwiń serię",
"LabelCollapseSubSeries": "Zwiń podserie",
"LabelCollection": "Kolekcja",
"LabelCollections": "Kolekcje",
@@ -300,7 +300,7 @@
"LabelCoverImageURL": "URL okładki",
"LabelCoverProvider": "Dostawca okładki",
"LabelCreatedAt": "Utworzone",
- "LabelCronExpression": "Wyrażenie CRON",
+ "LabelCronExpression": "Wyrażenie harmonogramowania zadań cron",
"LabelCurrent": "Aktualny",
"LabelCurrently": "Obecnie:",
"LabelCustomCronExpression": "Niestandardowe wyrażenie Cron:",
@@ -339,11 +339,11 @@
"LabelEnable": "Włącz",
"LabelEncodingBackupLocation": "Kopia zapasowa twoich oryginalnych plików audio będzie się znajdować w:",
"LabelEncodingChaptersNotEmbedded": "W audiobookach wielościeżkowych rozdziały nie są osadzone.",
- "LabelEncodingClearItemCache": "Pamiętaj o okresowym czyszczeniu pamięci podręcznej elementów.",
+ "LabelEncodingClearItemCache": "Pamiętaj, aby okresowo czyścić pamięć podręczną elementów.",
"LabelEncodingFinishedM4B": "Ukończony plik M4B zostanie umieszczony w folderze audiobooka pod adresem:",
"LabelEncodingInfoEmbedded": "Metadane zostaną osadzone w ścieżkach audio w folderze z audiobookiem.",
"LabelEncodingStartedNavigation": "Po uruchomieniu zadania możesz opuścić tę stronę.",
- "LabelEncodingTimeWarning": "Konwersja może potrwać do 30 minut.",
+ "LabelEncodingTimeWarning": "Kodowanie może potrwać do 30 minut.",
"LabelEncodingWarningAdvancedSettings": "Ostrzeżenie: Nie aktualizuj tych ustawień, jeśli nie jesteś zaznajomiony ze sposobem działania ffmpeg i opcji konwersji.",
"LabelEncodingWatcherDisabled": "Jeśli monitorowanie folderów jest wyłączone, należy ponownie przeskanować audiobooka.",
"LabelEnd": "Zakończ",
@@ -436,7 +436,7 @@
"LabelLibraryFilterSublistEmpty": "Brak {0}",
"LabelLibraryItem": "Element biblioteki",
"LabelLibraryName": "Nazwa biblioteki",
- "LabelLibrarySortByProgress": "Postęp: Ostatnio zaktualizowane",
+ "LabelLibrarySortByProgress": "Postęp: Ostatnia aktualizacja",
"LabelLibrarySortByProgressFinished": "Postęp: Ukończony",
"LabelLibrarySortByProgressStarted": "Postęp: Rozpoczęty",
"LabelLimit": "Limit",
@@ -450,7 +450,7 @@
"LabelMatchConfidence": "Zaufanie",
"LabelMatchExistingUsersBy": "Dopasuje istniejących użytkowników poprzez",
"LabelMatchExistingUsersByDescription": "Służy do łączenia istniejących użytkowników. Po połączeniu użytkownicy zostaną dopasowani za pomocą unikalnego identyfikatora od dostawcy SSO",
- "LabelMaxEpisodesToDownload": "Maksymalna liczba odcinków do pobrania. Użyj 0, aby wyłączyć ograniczenie.",
+ "LabelMaxEpisodesToDownload": "Maksymalna liczba odcinków do pobrania. Użyj 0, aby uzyskać nieograniczoną liczbę.",
"LabelMaxEpisodesToDownloadPerCheck": "Maksymalna liczba nowych odcinków do pobrania na jedno sprawdzenie",
"LabelMaxEpisodesToKeep": "Maksymalna liczba odcinków do zachowania",
"LabelMaxEpisodesToKeepHelp": "Wartość 0 wyłącza maksymalny limit. Po automatycznym pobraniu nowego odcinka, najstarszy odcinek zostanie usunięty, jeśli masz ich więcej niż X. Spowoduje to usunięcie tylko 1 odcinka na nowe pobieranie.",
@@ -498,7 +498,8 @@
"LabelNumberOfChapters": "Liczba rozdziałów:",
"LabelNumberOfEpisodes": "# Odcinków",
"LabelOpenIDAdvancedPermsClaimDescription": "Nazwa deklaracji OpenID zawierającej zaawansowane uprawnienia do działań użytkownika w aplikacji, które będą miały zastosowanie do ról innych niż administracyjne (jeśli skonfigurowano). Jeśli deklaracja nie zostanie uwzględniona w odpowiedzi, dostęp do ABS zostanie zablokowany. Brak jednej opcji zostanie uznany za fałsz. Upewnij się, że deklaracja dostawcy tożsamości jest zgodna z oczekiwaną strukturą:",
- "LabelOpenIDClaims": "Pozostaw poniższe opcje puste, aby wyłączyć zaawansowane przypisywanie grup i uprawnień. Automatycznie zostanie przypisana grupa „Użytkownik”.",
+ "LabelOpenIDClaims": "Pozostaw poniższe opcje puste, aby wyłączyć zaawansowane przypisywanie grup i uprawnień. Wówczas automatycznie zostanie przypisana grupa „Użytkownik”.",
+ "LabelOpenIDGroupClaimDescription": "Nazwa roszczenia OpenID zawierającego listę grup użytkownika. Powszechnie nazywane grupami. Jeśli skonfigurowano, aplikacja automatycznie przypisze role na podstawie przynależności użytkownika do grup, pod warunkiem, że te grupy są nazwane bez uwzględniania wielkości liter „admin”, „user” lub „guest” w roszczeniu. Roszczenie powinno zawierać listę, a jeśli użytkownik należy do wielu grup, aplikacja przypisze rolę odpowiadającą najwyższemu poziomowi dostępu. Jeśli żadna grupa nie będzie pasować, dostęp zostanie odrzucony.",
"LabelOpenRSSFeed": "Otwórz kanał RSS",
"LabelOverwrite": "Nadpisz",
"LabelPaginationPageXOfY": "Strona {0} z {1}",
@@ -577,7 +578,7 @@
"LabelSeries": "Serie",
"LabelSeriesName": "Nazwy serii",
"LabelSeriesProgress": "Postęp w serii",
- "LabelServerLogLevel": "Poziom logowania servera",
+ "LabelServerLogLevel": "Poziom logów servera",
"LabelServerYearReview": "Podsumowanie serwera w roku ({0})",
"LabelSetEbookAsPrimary": "Ustaw jako pierwszy",
"LabelSetEbookAsSupplementary": "Ustaw jako dodatkowy",
@@ -686,7 +687,7 @@
"LabelToolsMakeM4bDescription": "Tworzy plik w formacie .M4B, który zawiera metadane, okładkę oraz rozdziały.",
"LabelToolsSplitM4b": "Podziel plik .M4B na pliki .MP3",
"LabelToolsSplitM4bDescription": "Podziel plik .M4B na pliki .MP3 na rozdziały z załączonymi metadanymi oraz okładką.",
- "LabelTotalDuration": "TCałkowita długość",
+ "LabelTotalDuration": "Całkowita długość",
"LabelTotalTimeListened": "Całkowity czas odtwarzania",
"LabelTrackFromFilename": "Ścieżka z nazwy pliku",
"LabelTrackFromMetadata": "Ścieżka z metadanych",
@@ -723,6 +724,7 @@
"LabelViewQueue": "Wyświetlaj kolejkę odtwarzania",
"LabelVolume": "Głośność",
"LabelWebRedirectURLsDescription": "Zezwól na te adresy URL w swoim dostawcy OAuth, aby umożliwić przekierowanie z powrotem do aplikacji internetowej po zalogowaniu:",
+ "LabelWebRedirectURLsSubfolder": "Podfolder dla adresów URL przekierowań",
"LabelWeekdaysToRun": "Dni tygodnia",
"LabelXBooks": "{0} książek",
"LabelXItems": "{0} elementów",
@@ -915,15 +917,21 @@
"MessageTaskNoFilesToScan": "Brak plików do skanowania",
"MessageTaskOpmlImport": "Importuj OPML",
"MessageTaskOpmlImportDescription": "Tworzenie {0} podcastów z kanałów RSS",
+ "MessageTaskOpmlImportFeed": "Importuje plik OPML",
+ "MessageTaskOpmlImportFeedDescription": "Importowanie kanału RSS „{0}”",
+ "MessageTaskOpmlImportFeedFailed": "Nie udało się pobrać kanału podcastowego",
"MessageTaskOpmlImportFeedPodcastDescription": "Tworzenie podcastu \"{0}\"",
"MessageTaskOpmlImportFeedPodcastExists": "Podcast już istnieje pod podaną ścieżką",
"MessageTaskOpmlImportFeedPodcastFailed": "Nie udało się utworzyć podcastu",
"MessageTaskOpmlImportFinished": "Dodano {0} podcastów",
"MessageTaskOpmlParseFailed": "Błąd parsowania pliku OPML",
+ "MessageTaskOpmlParseFastFail": "Nieprawidłowy plik OPML. Nie znaleziono tagu LUB nie znaleziono tagu .",
+ "MessageTaskOpmlParseNoneFound": "Nie znaleziono kanałów w pliku OPML",
"MessageTaskScanItemsAdded": "Dodano {0}",
"MessageTaskScanItemsMissing": "Brakuje {0}",
"MessageTaskScanItemsUpdated": "Zaktualizowano {0}",
"MessageTaskScanNoChangesNeeded": "Brak zmian",
+ "MessageTaskScanningFileChanges": "Skanowanie zmian w plikach w „{0}”",
"MessageTaskScanningLibrary": "Skanowanie biblioteki \"{0}\"",
"MessageTaskTargetDirectoryNotWritable": "Brak prawa zapisu do folderu docelowego",
"MessageThinking": "Myślę...",
@@ -944,6 +952,7 @@
"NoteUploaderOnlyAudioFiles": "Jeśli przesyłasz tylko pliki audio, każdy plik audio będzie traktowany jako osobny audiobook.",
"NoteUploaderUnsupportedFiles": "Nieobsługiwane pliki są ignorowane. Podczas dodawania folderu, inne pliki, które nie znajdują się w folderze elementu, są ignorowane.",
"NotificationOnTestDescription": "Zdarzenie używane do testowania systemu powiadomień",
+ "PlaceholderBulkChapterInput": "Wpisz tytuł rozdziału lub użyj numeracji (np. „Odcinek 1”, „Rozdział 10”, „1.”)",
"PlaceholderNewCollection": "Nowa nazwa kolekcji",
"PlaceholderNewFolderPath": "Nowa ścieżka folderu",
"PlaceholderNewPlaylist": "Nowa nazwa playlisty",
@@ -1018,8 +1027,12 @@
"ToastDeviceTestEmailFailed": "NIeudana próba wysłania testowego maila",
"ToastDeviceTestEmailSuccess": "Testowy email został wysłany",
"ToastEmailSettingsUpdateSuccess": "Ustawienia email zaktualizowane",
+ "ToastEncodeCancelFailed": "Nie udało się anulować kodowania",
+ "ToastEncodeCancelSucces": "Kodowanie anulowane",
+ "ToastEpisodeDownloadQueueClearFailed": "Nie udało się wyczyścić kolejki",
"ToastEpisodeDownloadQueueClearSuccess": "Wyczyszczono kolejkę epizodów do ściągnięcia",
"ToastEpisodeUpdateSuccess": "Zaktualizowano {0} odcinków",
+ "ToastErrorCannotShare": "Nie można udostępniać natywnie na tym urządzeniu.",
"ToastInvalidImageUrl": "Nieprawidłowy URL obrazu",
"ToastInvalidUrl": "Nieprawidłowy URL",
"ToastInvalidUrls": "Jeden lub więcej URL-i są nieprawidłowe",