diff --git a/app/Config/App.php b/app/Config/App.php
index f79a00ca..c52f4d3e 100644
--- a/app/Config/App.php
+++ b/app/Config/App.php
@@ -101,7 +101,7 @@ class App extends BaseConfig
*
* @var string[]
*/
- public array $supportedLocales = ['en', 'fr'];
+ public array $supportedLocales = ['en', 'fr', 'pl'];
/**
* --------------------------------------------------------------------------
diff --git a/app/Language/en/Comment.php b/app/Language/en/Comment.php
index c9012c27..1dd8f5ea 100644
--- a/app/Language/en/Comment.php
+++ b/app/Language/en/Comment.php
@@ -12,7 +12,7 @@ return [
'title' => "{actorDisplayName}'s comment for {episodeTitle}",
'back_to_comments' => 'Back to comments',
'form' => [
- 'episode_message_placeholder' => 'Write a comment...',
+ 'episode_message_placeholder' => 'Write a comment…',
'reply_to_placeholder' => 'Reply to @{actorUsername}',
'submit' => 'Send',
'submit_reply' => 'Reply',
diff --git a/app/Language/en/Post.php b/app/Language/en/Post.php
index 489d3e14..58d1cf80 100644
--- a/app/Language/en/Post.php
+++ b/app/Language/en/Post.php
@@ -14,8 +14,8 @@ return [
'actor_shared' => '{actor} shared',
'reply_to' => 'Reply to @{actorUsername}',
'form' => [
- 'message_placeholder' => 'Write a message...',
- 'episode_message_placeholder' => 'Write a message for the episode...',
+ 'message_placeholder' => 'Write a message…',
+ 'episode_message_placeholder' => 'Write a message for the episode…',
'episode_url_placeholder' => 'Episode URL',
'reply_to_placeholder' => 'Reply to @{actorUsername}',
'submit' => 'Send',
diff --git a/app/Language/fr/Comment.php b/app/Language/fr/Comment.php
index 476e4297..dc411988 100644
--- a/app/Language/fr/Comment.php
+++ b/app/Language/fr/Comment.php
@@ -10,7 +10,7 @@ declare(strict_types=1);
return [
'form' => [
- 'episode_message_placeholder' => 'Saisissez un commentaire...',
+ 'episode_message_placeholder' => 'Saisissez un commentaire…',
'reply_to_placeholder' => 'Répondre à @{actorUsername}',
'submit' => 'Envoyer !',
'submit_reply' => 'Répondre',
diff --git a/app/Language/fr/Post.php b/app/Language/fr/Post.php
index 16846fe5..7c3c85b2 100644
--- a/app/Language/fr/Post.php
+++ b/app/Language/fr/Post.php
@@ -14,9 +14,9 @@ return [
'actor_shared' => '{actor} a partagé',
'reply_to' => 'Répondre à @{actorUsername}',
'form' => [
- 'message_placeholder' => 'Écrivez votre message...',
+ 'message_placeholder' => 'Écrivez votre message…',
'episode_message_placeholder' =>
- 'Écrivez votre message pour l’épisode...',
+ 'Écrivez votre message pour l’épisode…',
'episode_url_placeholder' => 'URL de l’épisode',
'reply_to_placeholder' => 'Répondre à @{actorUsername}',
'submit' => 'Envoyer !',
diff --git a/app/Language/pl/Comment.php b/app/Language/pl/Comment.php
new file mode 100644
index 00000000..100a97ca
--- /dev/null
+++ b/app/Language/pl/Comment.php
@@ -0,0 +1,35 @@
+ 'Komentarz użytkownika {actorDisplayName} do {episodeTitle}',
+ 'back_to_comments' => 'Wróć do komentarzy',
+ 'form' => [
+ 'episode_message_placeholder' => 'Napisz komentarz…',
+ 'reply_to_placeholder' => 'Odpowiedź do @{actorUsername}',
+ 'submit' => 'Wyślij',
+ 'submit_reply' => 'Odpowiedz',
+ ],
+ 'likes' => '{numberOfLikes, plural,
+ one {# polubienie}
+ few {# polubienia}
+ other {# polubień}
+ }',
+ 'replies' => '{numberOfReplies, plural,
+ one {# odpowiedź}
+ other {# odpowiedzi}
+ }',
+ 'like' => 'Polub',
+ 'reply' => 'Odpowiedz',
+ 'view_replies' => 'Zobacz odpowiedzi ({numberOfReplies})',
+ 'block_actor' => 'Zablokuj użytkownika @{actorUsername}',
+ 'block_domain' => 'Zablokuj domenę @{actorDomain}',
+ 'delete' => 'usuń komentarz',
+];
diff --git a/app/Language/pl/Common.php b/app/Language/pl/Common.php
new file mode 100644
index 00000000..dfe89ed7
--- /dev/null
+++ b/app/Language/pl/Common.php
@@ -0,0 +1,29 @@
+ 'Tak',
+ 'no' => 'Nie',
+ 'cancel' => 'Anuluj',
+ 'optional' => 'Opcjonalnie',
+ 'close' => 'Zamknij',
+ 'home' => 'Początek',
+ 'explicit' => 'Zawiera treści dla dorosłych',
+ 'powered_by' => 'Wspierane przez {castopod}',
+ 'go_back' => 'Wróć',
+ 'play_episode_button' => [
+ 'play' => 'Odtwórz',
+ 'playing' => 'Odtwarzanie',
+ ],
+ 'read_more' => 'czytaj więcej',
+ 'read_less' => 'Czytaj mniej',
+ 'see_more' => 'Zobacz więcej',
+ 'see_less' => 'Zobacz mniej',
+];
diff --git a/app/Language/pl/Episode.php b/app/Language/pl/Episode.php
new file mode 100644
index 00000000..3f519cce
--- /dev/null
+++ b/app/Language/pl/Episode.php
@@ -0,0 +1,35 @@
+ 'Sezon {seasonNumber}',
+ 'season_abbr' => 'S{seasonNumber}',
+ 'number' => 'Odcinek {episodeNumber}',
+ 'number_abbr' => 'Odc. {episodeNumber}',
+ 'season_episode' => 'Sezon {seasonNumber} odcinek {episodeNumber}',
+ 'season_episode_abbr' => 'S{seasonNumber}:O{episodeNumber}',
+ 'persons' => '{personsCount, plural,
+ one {# osoba}
+ few {# osoby}
+ other {# osób}
+ }',
+ 'persons_list' => 'Osoby',
+ 'back_to_episodes' => 'Wróć do odcinków {podcast}',
+ 'comments' => 'Komentarze',
+ 'activity' => 'Aktywność',
+ 'description' => 'Opis odcinka',
+ 'number_of_comments' => '{numberOfComments, plural,
+ one {# komentarz}
+ few {# komentarze}
+ other {# komentarzy}
+ }',
+ 'all_podcast_episodes' => 'Wszystkie odcinki podcastu',
+ 'back_to_podcast' => 'Wróć do podkastu',
+];
diff --git a/app/Language/pl/Fediverse.php b/app/Language/pl/Fediverse.php
new file mode 100644
index 00000000..cf063da3
--- /dev/null
+++ b/app/Language/pl/Fediverse.php
@@ -0,0 +1,36 @@
+ 'Twój uchwyt',
+ 'your_handle_hint' => 'Wpisz @nazwęużytkownika@domenę, z których chcesz działać.',
+ 'follow' => [
+ 'label' => 'Obserwuj',
+ 'title' => 'Obserwuj {actorDisplayName}',
+ 'subtitle' => 'Zamierzasz obserwować:',
+ 'accountNotFound' => 'Nie można znaleźć konta.',
+ 'submit' => 'Przejdź do obserwowania',
+ ],
+ 'favourite' => [
+ 'title' => 'Dodaj do ulubionych wpis {actorDisplayName}',
+ 'subtitle' => 'Zamierzasz dodać do ulubionych:',
+ 'submit' => 'Przejdź do dodania do ulubionych',
+ ],
+ 'reblog' => [
+ 'title' => 'Udostępnij wpis {actorDisplayName}',
+ 'subtitle' => 'Zamierzasz udostępnić:',
+ 'submit' => 'Przejdź do udostępnienia',
+ ],
+ 'reply' => [
+ 'title' => 'Odpowiedź do wpisu {actorDisplayName}',
+ 'subtitle' => 'Zamierzasz odpisać na:',
+ 'submit' => 'Przejdź do odpowiedzi',
+ ],
+];
diff --git a/app/Language/pl/Home.php b/app/Language/pl/Home.php
new file mode 100644
index 00000000..003a1e0c
--- /dev/null
+++ b/app/Language/pl/Home.php
@@ -0,0 +1,20 @@
+ 'Wszystkie podcasty',
+ 'sort_by' => 'Sortuj według',
+ 'sort_options' => [
+ 'activity' => 'Ostatniej aktywności',
+ 'created_desc' => 'Najpierw najnowszych',
+ 'created_asc' => 'Najpierw najstarszych',
+ ],
+ 'no_podcast' => 'Nie znaleziono podcastów',
+];
diff --git a/app/Language/pl/Page.php b/app/Language/pl/Page.php
new file mode 100644
index 00000000..4e24bdfa
--- /dev/null
+++ b/app/Language/pl/Page.php
@@ -0,0 +1,17 @@
+ 'Wróć do początku',
+ 'map' => [
+ 'title' => 'Mapa',
+ 'description' => 'Odkryj odcinki podcastów w witrynie {siteName} umieszczone na mapie! Podróżuj po mapie i słuchaj odcinków, które opowiadają o konkretnych lokalizacjach.',
+ ],
+];
diff --git a/app/Language/pl/Podcast.php b/app/Language/pl/Podcast.php
new file mode 100644
index 00000000..89603d91
--- /dev/null
+++ b/app/Language/pl/Podcast.php
@@ -0,0 +1,57 @@
+ 'Kanał RSS Podcastu',
+ 'season' => 'Sezon {seasonNumber}',
+ 'list_of_episodes_year' => '{year} odcinków ({episodeCount})',
+ 'list_of_episodes_season' =>
+ 'Sezon {seasonNumber} odcinki ({episodeCount})',
+ 'no_episode' => 'Nie znaleziono odcinków!',
+ 'follow' => 'Obserwuj',
+ 'followTitle' => 'Obserwuj {actorDisplayName} na fediverse!',
+ 'followers' => '{numberOfFollowers, plural,
+ one {# obserwujący}
+ other {# obserwujących}
+ }',
+ 'posts' => '{numberOfPosts, plural,
+ one {# wpis}
+ few {# wpisy}
+ other {# wpisów}
+ }',
+ 'activity' => 'Aktywność',
+ 'episodes' => 'Odcinki',
+ 'episodes_title' => 'Odcinki {podcastTitle}',
+ 'about' => 'Informacje',
+ 'stats' => [
+ 'title' => 'Statystyki',
+ 'number_of_seasons' => '{0, plural,
+ one {# sezon}
+ few{# sezony}
+ other {# sezonów}
+ }',
+ 'number_of_episodes' => '{0, plural,
+ one {# odcinek}
+ few {# odcinki}
+ other {# odcinków}
+ }',
+ 'first_published_at' => 'Pierwszy odcinek opublikowany {0, date, medium}',
+ ],
+ 'sponsor' => 'Sponsoruj',
+ 'funding_links' => 'Linki finansowania dla {podcastTitle}',
+ 'find_on' => 'Znajdź {podcastTitle} na',
+ 'listen_on' => 'Słuchaj na',
+ 'persons' => '{personsCount, plural,
+ one {# osoba}
+ few {# osoby}
+ other {# osób}
+ }',
+ 'persons_list' => 'Osoby',
+];
diff --git a/app/Language/pl/Post.php b/app/Language/pl/Post.php
new file mode 100644
index 00000000..1d1b0690
--- /dev/null
+++ b/app/Language/pl/Post.php
@@ -0,0 +1,42 @@
+ 'Wpis {actorDisplayName}',
+ 'back_to_actor_posts' => 'Wróć do wpisów {actor}',
+ 'actor_shared' => '{actor} udostępnił',
+ 'reply_to' => 'Odpowiedz do @{actorUsername}',
+ 'form' => [
+ 'message_placeholder' => 'Napisz wiadomość…',
+ 'episode_message_placeholder' => 'Napisz wiadomość do odcinka…',
+ 'episode_url_placeholder' => 'URL odcinka',
+ 'reply_to_placeholder' => 'Odpowiedz do @{actorUsername}',
+ 'submit' => 'Wyślij',
+ 'submit_reply' => 'Odpowiedz',
+ ],
+ 'favourites' => '{numberOfFavourites, plural,
+ one {# ulubiony}
+ few {# ulubione}
+ other {# ulubionych}
+ }',
+ 'reblogs' => '{numberOfReblogs, plural,
+ one {# udostępnienie}
+ few {# udostępnienia}
+ other {# udostępnień}
+ }',
+ 'replies' => '{numberOfReplies, plural,
+ one {# odpowiedź}
+ other {# odpowiedzi}
+ }',
+ 'expand' => 'Rozwiń wpis',
+ 'block_actor' => 'Zablokuj użytkownika @{actorUsername}',
+ 'block_domain' => 'Zablokuj domenę @{actorDomain}',
+ 'delete' => 'Usuń wpis',
+];
diff --git a/modules/Admin/Language/en/Common.php b/modules/Admin/Language/en/Common.php
index 634769db..d97bcf99 100644
--- a/modules/Admin/Language/en/Common.php
+++ b/modules/Admin/Language/en/Common.php
@@ -33,7 +33,7 @@ return [
],
'multiSelect' => [
'selectText' => 'Press to select',
- 'loadingText' => 'Loading...',
+ 'loadingText' => 'Loading…',
'noResultsText' => 'No results found',
'noChoicesText' => 'No choices to choose from',
'maxItemText' => 'Cannot add more items',
diff --git a/modules/Admin/Language/fr/Common.php b/modules/Admin/Language/fr/Common.php
index 23580a7b..04725db6 100644
--- a/modules/Admin/Language/fr/Common.php
+++ b/modules/Admin/Language/fr/Common.php
@@ -33,7 +33,7 @@ return [
],
'multiSelect' => [
'selectText' => 'Cliquez pour selectionner',
- 'loadingText' => 'Chargement...',
+ 'loadingText' => 'Chargement…',
'noResultsText' => 'Aucun résultat trouvé',
'noChoicesText' => 'Aucune sélection possible',
'maxItemText' => 'Impossible de rajouter un élément',
diff --git a/modules/Admin/Language/pl/Admin.php b/modules/Admin/Language/pl/Admin.php
new file mode 100644
index 00000000..cb262679
--- /dev/null
+++ b/modules/Admin/Language/pl/Admin.php
@@ -0,0 +1,15 @@
+ 'Pulpit administratora',
+ 'welcome_message' => 'Witamy w panelu administracyjnym!',
+ 'choose_interact' => 'Wybierz sposób interakcji',
+];
diff --git a/modules/Admin/Language/pl/Breadcrumb.php b/modules/Admin/Language/pl/Breadcrumb.php
new file mode 100644
index 00000000..6ad15119
--- /dev/null
+++ b/modules/Admin/Language/pl/Breadcrumb.php
@@ -0,0 +1,48 @@
+ 'okruszki',
+ config('Admin')
+ ->gateway => 'Początek',
+ 'podcasts' => 'podcasty',
+ 'episodes' => 'odcinki',
+ 'contributors' => 'kontrybutorzy',
+ 'pages' => 'strony',
+ 'settings' => 'ustawienia',
+ 'theme' => 'motyw',
+ 'add' => 'dodaj',
+ 'new' => 'nowy',
+ 'edit' => 'edytuj',
+ 'persons' => 'osoby',
+ 'publish' => 'publikuj',
+ 'publish-edit' => 'edytuj publikację',
+ 'unpublish' => 'cofnij publikację',
+ 'delete' => 'usuń',
+ 'fediverse' => 'fediverse',
+ 'block-lists' => 'listy blokowanych',
+ 'users' => 'użytkownicy',
+ 'my-account' => 'moje konto',
+ 'change-password' => 'zmień hasło',
+ 'import' => 'import kanału',
+ 'platforms' => 'platformy',
+ 'social' => 'sieci społecznościowe',
+ 'funding' => 'finansowanie',
+ 'analytics' => 'analityka',
+ 'locations' => 'lokalizacje',
+ 'webpages' => 'strony internetowe',
+ 'unique-listeners' => 'unikalni słuchacze',
+ 'players' => 'odtwarzacze',
+ 'listening-time' => 'czas odsłuchu',
+ 'time-periods' => 'okresy czasu',
+ 'soundbites' => 'zajawki',
+ 'video-clips' => 'klipy wideo',
+ 'embed' => 'odtwarzacz do osadzenia',
+];
diff --git a/modules/Admin/Language/pl/Charts.php b/modules/Admin/Language/pl/Charts.php
new file mode 100644
index 00000000..bdcdcbba
--- /dev/null
+++ b/modules/Admin/Language/pl/Charts.php
@@ -0,0 +1,38 @@
+ 'Pobrania odcinków według usługi (dla minionego tygodnia)',
+ 'by_player_weekly' => 'Pobrania odcinków według odtwarzacza (dla minionego tygodnia)',
+ 'by_player_yearly' => 'Pobrania odcinków według odtwarzacza (dla minionego roku)',
+ 'by_device_weekly' => 'Pobrania odcinków według urządzenia (dla minionego tygodnia)',
+ 'by_os_weekly' => 'Pobrania odcinków według systemu operacyjnego (dla minionego tygodnia)',
+ 'podcast_by_region' => 'Pobrania odcinków według regionu (dla minionego tygodnia)',
+ 'unique_daily_listeners' => 'Codzienni unikalni słuchacze',
+ 'unique_monthly_listeners' => 'Comiesięczni unikalni słuchacze',
+ 'by_browser' => 'Wykorzystanie stron internetowych według przeglądarki (dla minionego tygodnia)',
+ 'podcast_by_day' => 'Dzienne pobrania odcinków',
+ 'podcast_by_month' => 'Miesięczne pobrania odcinków',
+ 'episode_by_day' => 'Dzienne pobrania odcinków (pierwsze 60 dni)',
+ 'episode_by_month' => 'Miesięczne pobrania odcinków',
+ 'episodes_by_day' =>
+ '5 najnowszych pobrań odcinków (w ciągu ich pierwszych 60 dni)',
+ 'by_country_weekly' => 'Pobrania odcinków według kraju (dla minionego tygodnia)',
+ 'by_country_yearly' => 'Pobrania odcinków według urządzenia (dla minionego roku)',
+ 'by_domain_weekly' => 'Odwiedziny stron internetowych według źródła (dla minionego tygodnia)',
+ 'by_domain_yearly' => 'Odwiedziny stron internetowych według źródła (dla minionego roku)',
+ 'by_entry_page' => 'Odwiedziny stron internetowych według landing page (dla minionego tygodnia)',
+ 'podcast_bots' => 'Boty (robaki)',
+ 'daily_listening_time' => 'Dzienny łączny czas słuchania',
+ 'monthly_listening_time' => 'Miesięczny łączny czas słuchania',
+ 'by_weekday' => 'Według dnia tygodnia (dla minionych 60 dni)',
+ 'by_hour' => 'Według pory dnia (dla minionych 60 dni)',
+ 'podcast_by_bandwidth' => 'Dzienna przepustowość (w MB)',
+];
diff --git a/modules/Admin/Language/pl/Common.php b/modules/Admin/Language/pl/Common.php
new file mode 100644
index 00000000..f015f1f8
--- /dev/null
+++ b/modules/Admin/Language/pl/Common.php
@@ -0,0 +1,49 @@
+ 'Tak',
+ 'no' => 'Nie',
+ 'cancel' => 'Anuluj',
+ 'optional' => 'Opcjonalne',
+ 'more' => 'Więcej',
+ 'no_data' => 'Nie znaleziono danych!',
+ 'close' => 'Zamknij',
+ 'edit' => 'Edytuj',
+ 'copy' => 'Kopiuj',
+ 'copied' => 'Skopiowano!',
+ 'home' => 'Początek',
+ 'explicit' => 'Dla dorosłych',
+ 'powered_by' => 'Wspierane przez {castopod}',
+ 'actions' => 'Akcje',
+ 'pageInfo' => 'Strona {currentPage} z {pageCount}',
+ 'go_back' => 'Wróć',
+ 'forms' => [
+ 'editor' => [
+ 'write' => 'Napisz',
+ 'preview' => 'Podgląd',
+ 'help' => 'Obsługiwane przez markdown',
+ ],
+ 'multiSelect' => [
+ 'selectText' => 'Naciśnij, aby zaznaczyć',
+ 'loadingText' => 'Wczytywanie…',
+ 'noResultsText' => 'Nie znaleziono wyników',
+ 'noChoicesText' => 'Brak możliwości wyboru',
+ 'maxItemText' => 'Nie można dodać więcej elementów',
+ ],
+ 'upload_file' => 'Prześlij plik',
+ 'remote_url' => 'Zdalny URL',
+ ],
+ 'play_episode_button' => [
+ 'play' => 'Odtwarzaj',
+ 'playing' => 'Odtwarzanie',
+ ],
+ 'size_limit' => 'Limit rozmiaru: {0}.',
+];
diff --git a/modules/Admin/Language/pl/Contributor.php b/modules/Admin/Language/pl/Contributor.php
new file mode 100644
index 00000000..913c063c
--- /dev/null
+++ b/modules/Admin/Language/pl/Contributor.php
@@ -0,0 +1,41 @@
+ 'Kontrybutorzy podcastu',
+ 'view' => 'Wkład {username} do {podcastTitle}',
+ 'add' => 'Dodaj kontrybutora',
+ 'add_contributor' => 'Dodaj kontrybutora do {0}',
+ 'edit_role' => 'Zaktualizuj rolę dla {0}',
+ 'edit' => 'Edytuj',
+ 'remove' => 'Usuń',
+ 'list' => [
+ 'username' => 'Nazwa użytkownika',
+ 'role' => 'Rola',
+ ],
+ 'form' => [
+ 'user' => 'Użytkownik',
+ 'user_placeholder' => 'Wybierz użytkownika…',
+ 'role' => 'Rola',
+ 'role_placeholder' => 'Wybierz jego rolę…',
+ 'submit_add' => 'Dodaj kontrybutora',
+ 'submit_edit' => 'Zaktualizuj rolę',
+ ],
+ 'roles' => [
+ 'podcast_admin' => 'Administrator podcastu',
+ ],
+ 'messages' => [
+ 'removeOwnerError' => 'Nie możesz usunąć właściciela podcastu!',
+ 'removeSuccess' =>
+ 'Pomyślnie usunąłeś/aś {username} z {podcastTitle}',
+ 'alreadyAddedError' =>
+ 'Kontrybutor, którego próbujesz dodać został już dodany!',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Countries.php b/modules/Admin/Language/pl/Countries.php
new file mode 100644
index 00000000..32c5a064
--- /dev/null
+++ b/modules/Admin/Language/pl/Countries.php
@@ -0,0 +1,264 @@
+ 'Andorra',
+ 'AE' => 'Zjednoczone Emiraty Arabskie',
+ 'AF' => 'Afganistan',
+ 'AG' => 'Antigua i Barbuda',
+ 'AI' => 'Anguilla',
+ 'AL' => 'Albania',
+ 'AM' => 'Armenia',
+ 'AO' => 'Angola',
+ 'AQ' => 'Antarktyka',
+ 'AR' => 'Argentyna',
+ 'AS' => 'Samoa Amerykańskie',
+ 'AT' => 'Austria',
+ 'AU' => 'Australia',
+ 'AW' => 'Aruba',
+ 'AX' => 'Wyspy Alandzkie',
+ 'AZ' => 'Azerbejdżan',
+ 'BA' => 'Bośnia i Hercegowina',
+ 'BB' => 'Barbados',
+ 'BD' => 'Bangladesz',
+ 'BE' => 'Belgia',
+ 'BF' => 'Burkina Faso',
+ 'BG' => 'Bułgaria',
+ 'BH' => 'Bahrajn',
+ 'BI' => 'Burundi',
+ 'BJ' => 'Benin',
+ 'BL' => 'Saint-Barthélemy',
+ 'BM' => 'Bermudy',
+ 'BN' => 'Brunei',
+ 'BO' => 'Boliwia',
+ 'BQ' => 'Bonaire, Sint Eustatius i Saba',
+ 'BR' => 'Brazylia',
+ 'BS' => 'Bahamy',
+ 'BT' => 'Bhutan',
+ 'BV' => 'Wyspa Bouveta',
+ 'BW' => 'Botswana',
+ 'BY' => 'Białoruś',
+ 'BZ' => 'Belize',
+ 'CA' => 'Kanada',
+ 'CC' => 'Wyspy Kokosowe',
+ 'CD' => 'Demokratyczna Republika Konga',
+ 'CF' => 'Republika Środkowoafrykańska',
+ 'CG' => 'Kongo',
+ 'CH' => 'Szwajcaria',
+ 'CI' => 'Wybrzeże Kości Słoniowej',
+ 'CK' => 'Wyspy Cooka',
+ 'CL' => 'Chile',
+ 'CM' => 'Kamerun',
+ 'CN' => 'Chiny',
+ 'CO' => 'Kolumbia',
+ 'CR' => 'Kostaryka',
+ 'CU' => 'Kuba',
+ 'CV' => 'Republika Zielonego Przylądka',
+ 'CW' => 'Curaçao',
+ 'CX' => 'Wyspa Bożego Narodzenia',
+ 'CY' => 'Cypr',
+ 'CZ' => 'Czechy',
+ 'DE' => 'Niemcy',
+ 'DJ' => 'Dżibuti',
+ 'DK' => 'Dania',
+ 'DM' => 'Dominika',
+ 'DO' => 'Dominikana',
+ 'DZ' => 'Algieria',
+ 'EC' => 'Ekwador',
+ 'EE' => 'Estonia',
+ 'EG' => 'Egipt',
+ 'EH' => 'Sahara Zachodnia',
+ 'ER' => 'Erytrea',
+ 'ES' => 'Hiszpania',
+ 'ET' => 'Etiopia',
+ 'FI' => 'Finlandia',
+ 'FJ' => 'Fidżi',
+ 'FK' => 'Falklandy',
+ 'FM' => 'Mikronezja',
+ 'FO' => 'Wyspy Owcze',
+ 'FR' => 'Francja',
+ 'GA' => 'Gabon',
+ 'GB' => 'Wielka Brytania',
+ 'GD' => 'Grenada',
+ 'GE' => 'Gruzja',
+ 'GF' => 'Gujana Francuska',
+ 'GG' => 'Guernsey',
+ 'GH' => 'Ghana',
+ 'GI' => 'Gibraltar',
+ 'GL' => 'Grenlandia',
+ 'GM' => 'Gambia',
+ 'GN' => 'Gwinea',
+ 'GP' => 'Gwadelupa',
+ 'GQ' => 'Gwinea Równikowa',
+ 'GR' => 'Grecja',
+ 'GS' => 'Georgia Południowa i Sandwich Południowy',
+ 'GT' => 'Gwatemala',
+ 'GU' => 'Guam',
+ 'GW' => 'Gwinea Bissau',
+ 'GY' => 'Gujana',
+ 'HK' => 'Hongkong',
+ 'HM' => 'Wyspy Heard i McDonalda',
+ 'HN' => 'Honduras',
+ 'HR' => 'Chorwacja',
+ 'HT' => 'Haiti',
+ 'HU' => 'Węgry',
+ 'ID' => 'Indonezja',
+ 'IE' => 'Irlandia',
+ 'IL' => 'Izrael',
+ 'IM' => 'Wyspa Man',
+ 'IN' => 'Indie',
+ 'IO' => 'Brytyjskie Terytorium Oceanu Indyjskiego',
+ 'IQ' => 'Irak',
+ 'IR' => 'Iran',
+ 'IS' => 'Islandia',
+ 'IT' => 'Włochy',
+ 'JE' => 'Jersey',
+ 'JM' => 'Jamajka',
+ 'JO' => 'Jordania',
+ 'JP' => 'Japonia',
+ 'KE' => 'Kenia',
+ 'KG' => 'Kirgistan',
+ 'KH' => 'Kambodża',
+ 'KI' => 'Kiribati',
+ 'KM' => 'Komory',
+ 'KN' => 'Saint Kitts i Nevis',
+ 'KP' => 'Korea Północna',
+ 'KR' => 'Korea Południowa',
+ 'KW' => 'Kuwejt',
+ 'KY' => 'Kajmany',
+ 'KZ' => 'Kazachstan',
+ 'LA' => 'Laos',
+ 'LB' => 'Liban',
+ 'LC' => 'Saint Lucia',
+ 'LI' => 'Liechtenstein',
+ 'LK' => 'Sri Lanka',
+ 'LR' => 'Liberia',
+ 'LS' => 'Lesotho',
+ 'LT' => 'Litwa',
+ 'LU' => 'Luksemburg',
+ 'LV' => 'Łotwa',
+ 'LY' => 'Libya',
+ 'MA' => 'Maroko',
+ 'MC' => 'Monako',
+ 'MD' => 'Mołdawia',
+ 'ME' => 'Czarnogóra',
+ 'MF' => 'Saint Martin (French part)',
+ 'MG' => 'Madagaskar',
+ 'MH' => 'Wyspy Marshalla',
+ 'MK' => 'Macedonia Północna',
+ 'ML' => 'Mali',
+ 'MM' => 'Mjanma',
+ 'MN' => 'Mongolia',
+ 'MO' => 'Makau',
+ 'MP' => 'Mariany Północne',
+ 'MQ' => 'Martynika',
+ 'MR' => 'Mauretania',
+ 'MS' => 'Montserrat',
+ 'MT' => 'Malta',
+ 'MU' => 'Mauritius',
+ 'MV' => 'Malediwy',
+ 'MW' => 'Malawi',
+ 'MX' => 'Meksyk',
+ 'MY' => 'Malezja',
+ 'MZ' => 'Mozambik',
+ 'N/A' => 'Nie dotyczy (lokalny IP…)',
+ 'NA' => 'Namibia',
+ 'NC' => 'Nowa Kaledonia',
+ 'NE' => 'Niger',
+ 'NF' => 'Norfolk',
+ 'NG' => 'Nigeria',
+ 'NI' => 'Nikaragua',
+ 'NL' => 'Holandia',
+ 'NO' => 'Norwegia',
+ 'NP' => 'Nepal',
+ 'NR' => 'Nauru',
+ 'NU' => 'Niue',
+ 'NZ' => 'Nowa Zelandia',
+ 'OM' => 'Oman',
+ 'PA' => 'Panama',
+ 'PE' => 'Peru',
+ 'PF' => 'Polinezja Francuska',
+ 'PG' => 'Papua-Nowa Gwinea',
+ 'PH' => 'Filipiny',
+ 'PK' => 'Pakistan',
+ 'PL' => 'Polska',
+ 'PM' => 'Saint-Pierre i Miquelon',
+ 'PN' => 'Pitcairn',
+ 'PR' => 'Portoryko',
+ 'PS' => 'Palestyna',
+ 'PT' => 'Portugalia',
+ 'PW' => 'Palau',
+ 'PY' => 'Paragwaj',
+ 'QA' => 'Katar',
+ 'RE' => 'Reunion',
+ 'RO' => 'Rumunia',
+ 'RS' => 'Serbia',
+ 'RU' => 'Rosja',
+ 'RW' => 'Rwanda',
+ 'SA' => 'Arabia Saudyjska',
+ 'SB' => 'Wyspy Salomona',
+ 'SC' => 'Seszele',
+ 'SD' => 'Sudan',
+ 'SE' => 'Szwecja',
+ 'SG' => 'Singapur',
+ 'SH' => 'Wyspa Świętej Heleny, Wyspa Wniebowstąpienia i Tristan da Cunha',
+ 'SI' => 'Słowenia',
+ 'SJ' => 'Svalbard i Jan Mayen',
+ 'SK' => 'Słowacja',
+ 'SL' => 'Sierra Leone',
+ 'SM' => 'San Marino',
+ 'SN' => 'Senegal',
+ 'SO' => 'Somalia',
+ 'SR' => 'Surinam',
+ 'SS' => 'Sudan Południowy',
+ 'ST' => 'Wyspy Świętego Tomasza i Książęca',
+ 'SV' => 'Salwador',
+ 'SX' => 'Sint Maarten',
+ 'SY' => 'Syria',
+ 'SZ' => 'Swaziland',
+ 'TC' => 'Turks i Caicos',
+ 'TD' => 'Czad',
+ 'TF' => 'Francuskie Terytoria Południowe i Antarktyczne',
+ 'TG' => 'Togo',
+ 'TH' => 'Tajlandia',
+ 'TJ' => 'Tadżykistan',
+ 'TK' => 'Tokelau',
+ 'TL' => 'Timor Wschodni',
+ 'TM' => 'Turkmenistan',
+ 'TN' => 'Tunezja',
+ 'TO' => 'Tonga',
+ 'TR' => 'Turcja',
+ 'TT' => 'Trynidad i Tobago',
+ 'TV' => 'Tuvalu',
+ 'TW' => 'Tajwan',
+ 'TZ' => 'Tanzania',
+ 'UA' => 'Ukraina',
+ 'UG' => 'Uganda',
+ 'UM' => 'Dalekie Wyspy Mniejsze Stanów Zjednoczonych',
+ 'US' => 'Stany Zjednoczone',
+ 'UY' => 'Urugwaj',
+ 'UZ' => 'Uzbekistan',
+ 'VA' => 'Watykan',
+ 'VC' => 'Saint Vincent i Grenadyny',
+ 'VE' => 'Wenezuela',
+ 'VG' => 'Brytyjskie Wyspy Dziewicze',
+ 'VI' => 'Wyspy Dziewicze Stanów Zjednoczonych',
+ 'VN' => 'Wietnam',
+ 'VU' => 'Vanuatu',
+ 'WF' => 'Wallis i Futuna',
+ 'WS' => 'Samoa',
+ 'YE' => 'Jemen',
+ 'YT' => 'Majotta',
+ 'ZA' => 'Południowa Afryka',
+ 'ZM' => 'Zambia',
+ 'ZW' => 'Zimbabwe',
+];
diff --git a/modules/Admin/Language/pl/Episode.php b/modules/Admin/Language/pl/Episode.php
new file mode 100644
index 00000000..d550d5da
--- /dev/null
+++ b/modules/Admin/Language/pl/Episode.php
@@ -0,0 +1,165 @@
+ 'Sezon {seasonNumber}',
+ 'season_abbr' => 'S{seasonNumber}',
+ 'number' => 'Odcinek {episodeNumber}',
+ 'number_abbr' => 'Odc. {episodeNumber}',
+ 'season_episode' => 'Sezon {seasonNumber} odcinek {episodeNumber}',
+ 'season_episode_abbr' => 'S{seasonNumber}O{episodeNumber}',
+ 'number_of_comments' => '{numberOfComments, plural,
+ one {# komentarz}
+ few {# komentarze}
+ other {# komentarzy}
+ }',
+ 'all_podcast_episodes' => 'Wszystkie odcinki podcastu',
+ 'back_to_podcast' => 'Wróć do podkastu',
+ 'edit' => 'Edytuj',
+ 'publish' => 'Publikuj',
+ 'publish_edit' => 'Edytuj publikację',
+ 'unpublish' => 'Cofnij publikację',
+ 'publish_error' => 'Odcinek jest już opublikowany.',
+ 'publish_edit_error' => 'Odcinek jest już opublikowany.',
+ 'publish_cancel_error' => 'Odcinek jest już opublikowany.',
+ 'unpublish_error' => 'Odcinek nie jest opublikowany.',
+ 'delete' => 'Usuń',
+ 'go_to_page' => 'Przejdź do strony',
+ 'create' => 'Dodaj odcinek',
+ 'publication_status' => [
+ 'published' => 'Opublikowany',
+ 'scheduled' => 'Zaplanowany',
+ 'not_published' => 'Nieopublikowany',
+ ],
+ 'list' => [
+ 'episode' => 'Odcinek',
+ 'visibility' => 'Widoczność',
+ 'comments' => 'Komentarze',
+ 'actions' => 'Działania',
+ ],
+ 'messages' => [
+ 'createSuccess' => 'Odcinek został pomyślnie utworzony!',
+ 'editSuccess' => 'Odcinek został pomyślnie zaktualizowany!',
+ ],
+ 'form' => [
+ 'file_size_error' =>
+ 'Rozmiar Twojego pliku jest za duży! Maksymalny rozmiar to {0}. Zwiększ wartości `memory_limit`, `upload_max_filesize` i `post_max_size` w pliku konfiguracyjnym php, a następnie uruchom ponownie serwer www, aby przesłać plik.',
+ 'audio_file' => 'Plik audio',
+ 'audio_file_hint' => 'Wybierz plik audio w formacie .mp3 lub .m4a.',
+ 'info_section_title' => 'Informacje o odcinku',
+ 'cover' => 'Okładka odcinka',
+ 'cover_hint' =>
+ 'Jeśli nie ustawisz okładki, zamiast niej zostanie użyta okładka podcastu.',
+ 'cover_size_hint' => 'Okładka musi być kwadratowa o szerokości i wysokości co najmniej 1400 pikseli.',
+ 'title' => 'Tytuł',
+ 'title_hint' =>
+ 'Powinien zawierać jasną i zwięzłą nazwę odcinka. Nie podawaj tutaj numerów odcinków ani sezonów.',
+ 'permalink' => 'Odnośnik bezpośredni',
+ 'season_number' => 'Sezon',
+ 'episode_number' => 'Odcinek',
+ 'type' => [
+ 'label' => 'Typ',
+ 'full' => 'Pełny',
+ 'full_hint' => 'Pełna zawartość (odcinek)',
+ 'trailer' => 'Zwiastun',
+ 'trailer_hint' => 'Krótka, promocyjna treść przedstawiająca podgląd bieżącego programu',
+ 'bonus' => 'Bonus',
+ 'bonus_hint' => 'Dodatkowa treść do programu (np. informacje zza kulis lub wywiady z obsadą) albo treści promujące inne programy',
+ ],
+ 'parental_advisory' => [
+ 'label' => 'Kontrola rodzicielska',
+ 'hint' => 'Czy odcinek zawiera treści dla dorosłych?',
+ 'undefined' => 'nieokreślona',
+ 'clean' => 'Czysta',
+ 'explicit' => 'Dla dorosłych',
+ ],
+ 'show_notes_section_title' => 'Notatki programu',
+ 'show_notes_section_subtitle' =>
+ 'Do 4000 znaków, bądź jasny i zwięźly. Notatki programu pomagają potencjalnym słuchaczom w znalezieniu odcinka.',
+ 'description' => 'Opis',
+ 'description_footer' => 'Stopka opisu',
+ 'description_footer_hint' =>
+ 'Ten tekst jest dodawany na końcu każdego opisu odcinka; jest to dobre miejsce do wpisania np. linków społecznościowych.',
+ 'additional_files_section_title' => 'Dodatkowe pliki',
+ 'additional_files_section_subtitle' =>
+ 'Pliki te mogą być używane przez inne platformy, aby zapewnić lepsze wrażenia odbiorcom.
Więcej informacji znajdziesz w {podcastNamespaceLink}.',
+ 'location_section_title' => 'Lokalizacja',
+ 'location_section_subtitle' => 'O jakim miejscu jest ten odcinek?',
+ 'location_name' => 'Nazwa lub adres lokalizacji',
+ 'location_name_hint' => 'Może to być prawdziwa lub fikcyjna lokalizacja',
+ 'transcript' => 'Transkrypcja (napisy / podpisy kodowane)',
+ 'transcript_hint' => 'Dozwolone tylko .srt.',
+ 'transcript_download' => 'Pobierz transkrypcję',
+ 'transcript_file' => 'Plik transkrypcji (.srt)',
+ 'transcript_remote_url' => 'Zdalny adres URL dla transkrypcji',
+ 'transcript_file_delete' => 'Usuń plik transkrypcji',
+ 'chapters' => 'Rozdziały',
+ 'chapters_hint' => 'Plik musi być w formacie JSON Chapters.',
+ 'chapters_download' => 'Pobierz rozdziały',
+ 'chapters_file' => 'Plik rozdziałów',
+ 'chapters_remote_url' => 'Zdalny adres URL dla pliku rozdziałów',
+ 'chapters_file_delete' => 'Usuń plik rozdziałów',
+ 'advanced_section_title' => 'Parametry Zaawansowane',
+ 'advanced_section_subtitle' =>
+ 'Jeśli potrzebujesz tagów RSS, których Castopod nie obsługuje, ustaw je tutaj.',
+ 'custom_rss' => 'Własne tagi RSS dla odcinka',
+ 'custom_rss_hint' => 'Zostaną wstawione w tagu ❬item❭.',
+ 'block' => 'Odcinek powinien być ukryty na wszystkich platformach',
+ 'block_hint' =>
+ 'Pokaż lub ukryj post odcinka. Jeśli chcesz, aby ten odcinek został usunięty z katalogu Apple, włącz to.',
+ 'submit_create' => 'Stwórz odcinek',
+ 'submit_edit' => 'Zapisz odcinek',
+ ],
+ 'publish_form' => [
+ 'back_to_episode_dashboard' => 'Wróć do pulpitu odcinka',
+ 'post' => 'Twój wpis ogłoszeniowy',
+ 'post_hint' =>
+ 'Napisz wiadomość, aby ogłosić publikację swojego odcinka. Wiadomość zostanie wyemitowana do wszystkich Twoich obserwujących w fediverse i pojawi się na stronie głównej Twojego podcastu.',
+ 'message_placeholder' => 'Napisz swoją wiadomość…',
+ 'publication_date' => 'Data publikacji',
+ 'publication_method' => [
+ 'now' => 'Teraz',
+ 'schedule' => 'Zaplanuj',
+ ],
+ 'scheduled_publication_date' => 'Planowana data publikacji',
+ 'scheduled_publication_date_clear' => 'Wyczyść datę publikacji',
+ 'scheduled_publication_date_hint' =>
+ 'Możesz zaplanować wydanie odcinka ustawiając przyszłą datę publikacji. To pole musi być sformatowane jako YYYY-MM-DD HH:mm',
+ 'submit' => 'Opublikuj',
+ 'submit_edit' => 'Edytuj publikację',
+ 'cancel_publication' => 'Anuluj publikację',
+ 'message_warning' => 'Nie napisałeś wiadomości do swojego wpisu ogłoszeniowego!',
+ 'message_warning_hint' => 'Posiadanie wiadomości zwiększa zaangażowanie społeczne, co skutkuje lepszą widocznością Twojego odcinka.',
+ 'message_warning_submit' => 'Opublikuj mimo to',
+ ],
+ 'unpublish_form' => [
+ 'disclaimer' =>
+ 'Cofnięcie publikacji odcinka spowoduje usunięcie wszystkich powiązanych z nim wpisów i usunięcie go z kanału RSS podcastu.',
+ 'understand' => 'Rozumiem, chcę cofnąć publikację odcinka',
+ 'submit' => 'Cofnij publikację',
+ ],
+ 'delete_form' => [
+ 'disclaimer' =>
+ 'Usunięcie odcinka spowoduje usunięcie wszystkich powiązanych z nim wpisów i usunięcie go z kanału RSS podcastu.',
+ 'understand' => 'Rozumiem, chcę usunąć odcinek',
+ 'submit' => 'Usuń',
+ ],
+ 'embed' => [
+ 'title' => 'Odtwarzacz osadzalny',
+ 'label' =>
+ 'Wybierz kolor motywu, skopiuj osadzalny odtwarzacz do schowka, a następnie wklej go na swojej stronie internetowej.',
+ 'clipboard_iframe' => 'Skopiuj odtwarzacz osadzalny do schowka',
+ 'clipboard_url' => 'Skopiuj adres do schowka',
+ 'dark' => 'Ciemny',
+ 'dark-transparent' => 'Ciemny przezroczysty',
+ 'light' => 'Jasny',
+ 'light-transparent' => 'Jasny przezroczysty',
+ ],
+];
diff --git a/modules/Admin/Language/pl/EpisodeNavigation.php b/modules/Admin/Language/pl/EpisodeNavigation.php
new file mode 100644
index 00000000..6d71ae7e
--- /dev/null
+++ b/modules/Admin/Language/pl/EpisodeNavigation.php
@@ -0,0 +1,23 @@
+ 'Wyświetl stronę odcinka',
+ 'dashboard' => 'Pulpit odcinka',
+ 'episode-view' => 'Początek',
+ 'episode-edit' => 'Edytuj odcinek',
+ 'episode-persons-manage' => 'Zarządzaj osobami',
+ 'embed-add' => 'Odtwarzacz do zagnieżdżenia',
+ 'clips' => 'Klipy',
+ 'video-clips-list' => 'Klipy wideo',
+ 'video-clips-create' => 'Nowy klip wideo',
+ 'soundbites-list' => 'Zajawki',
+ 'soundbites-create' => 'Nowa zajawka',
+];
diff --git a/modules/Admin/Language/pl/Fediverse.php b/modules/Admin/Language/pl/Fediverse.php
new file mode 100644
index 00000000..aacfebe4
--- /dev/null
+++ b/modules/Admin/Language/pl/Fediverse.php
@@ -0,0 +1,31 @@
+ [
+ 'blockActorSuccess' => '{actor} został zablokowany!',
+ 'unblockActorSuccess' => 'Actor został odblokowany!',
+ 'blockDomainSuccess' => '{domain} została zablokowana!',
+ 'unblockDomainSuccess' => '{domain} została odblokowana!',
+ ],
+ 'blocked_actors' => 'Zablokowane konta',
+ 'blocked_domains' => 'Zablokowane domeny',
+ 'block_lists_form' => [
+ 'handle' => 'Uchwyt konta',
+ 'handle_hint' => 'Wpisz @nazwęużytkownika@domenę konta.',
+ 'domain' => 'Nazwa domeny',
+ 'submit' => 'Zablokuj!',
+ ],
+ 'list' => [
+ 'actor' => 'Konto',
+ 'domain' => 'Nazwa domeny',
+ 'unblock' => 'Odblokuj',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Home.php b/modules/Admin/Language/pl/Home.php
new file mode 100644
index 00000000..0fbf6d17
--- /dev/null
+++ b/modules/Admin/Language/pl/Home.php
@@ -0,0 +1,14 @@
+ 'Wszystkie podcasty',
+ 'no_podcast' => 'Nie znaleziono podcastu',
+];
diff --git a/modules/Admin/Language/pl/Install.php b/modules/Admin/Language/pl/Install.php
new file mode 100644
index 00000000..00384553
--- /dev/null
+++ b/modules/Admin/Language/pl/Install.php
@@ -0,0 +1,61 @@
+ 'Konfiguracja ręczna',
+ 'manual_config_subtitle' =>
+ 'Stwórz plik `.env` ze swoimi ustawieniami i odśwież stronę, aby kontynuować instalację.',
+ 'form' => [
+ 'instance_config' => 'Konfiguracja instancji',
+ 'hostname' => 'Nazwa hosta',
+ 'media_base_url' => 'Bazowy URL multimediów',
+ 'media_base_url_hint' =>
+ 'Jeśli korzystasz z CDN i/lub zewnętrznej usługi analitycznej, możesz ustawić je tutaj.',
+ 'admin_gateway' => 'Brama administracyjna',
+ 'admin_gateway_hint' =>
+ 'Droga dostępu do obszaru administracyjnego (np. https://example.com/cp-admin). Domyślnie jest ustawiona jako cp-admin, ze względów bezpieczeństwa zalecamy jej zmianę.',
+ 'auth_gateway' => 'Brama uwierzytelniania',
+ 'auth_gateway_hint' =>
+ 'Droga dostępu do stron uwierzytelniających (np. https://example.com/cp-auth). Domyślnie jest ustawiona jako cp-auth, ze względów bezpieczeństwa zalecamy jej zmianę.',
+ 'database_config' => 'Konfiguracja bazy danych',
+ 'database_config_hint' =>
+ 'Castopod musi połączyć się z bazą danych MySQL (lub MariaDB). Jeśli nie masz tych wymaganych informacji, skontaktuj się z administratorem serwera.',
+ 'db_hostname' => 'Nazwa hosta bazy danych',
+ 'db_name' => 'Nazwa bazy danych',
+ 'db_username' => 'Nazwa użytkownika bazy danych',
+ 'db_password' => 'Hasło bazy danych',
+ 'db_prefix' => 'Prefiks bazy danych',
+ 'db_prefix_hint' =>
+ 'Przedrostek nazw tabel Castopod; pozostaw bez zmian jeśli nie wiesz, co to znaczy.',
+ 'cache_config' => 'Konfiguracja pamięci podręcznej',
+ 'cache_config_hint' =>
+ 'Wybierz preferowaną obsługę pamięci podręcznej (cache). Pozostaw to jako wartość domyślną, jeśli nie masz pojęcia, co to znaczy.',
+ 'cache_handler' => 'Obsługa pamięci podręcznej',
+ 'cacheHandlerOptions' => [
+ 'file' => 'Plik',
+ 'redis' => 'Redis',
+ 'predis' => 'Predis',
+ ],
+ 'next' => 'Dalej',
+ 'submit' => 'Zakończ instalację',
+ 'create_superadmin' => 'Utwórz swoje konto superadministratora',
+ 'email' => 'Email',
+ 'username' => 'Nazwa użytkownika',
+ 'password' => 'Hasło',
+ ],
+ 'messages' => [
+ 'createSuperAdminSuccess' =>
+ 'Twoje konto superadministratora zostało pomyślnie utworzone. Zaloguj się, aby rozpocząć podcastowanie!',
+ 'databaseConnectError' =>
+ 'Castopod nie mógł połączyć się z Twoją bazą danych. Edytuj konfigurację bazy danych i spróbuj ponownie.',
+ 'writeError' =>
+ 'Nie można utworzyć/zapisać pliku `.env`. Musisz go utworzyć ręcznie postępując zgodnie z szablonem pliku `.env.example` w pakiecie Castopod.',
+ ],
+];
diff --git a/modules/Admin/Language/pl/MyAccount.php b/modules/Admin/Language/pl/MyAccount.php
new file mode 100644
index 00000000..5c981ede
--- /dev/null
+++ b/modules/Admin/Language/pl/MyAccount.php
@@ -0,0 +1,18 @@
+ 'Informacje o moim koncie',
+ 'changePassword' => 'Zmień moje hasło',
+ 'messages' => [
+ 'wrongPasswordError' => 'Wpisałeś złe hasło, spróbuj ponownie.',
+ 'passwordChangeSuccess' => 'Hasło zostało pomyślnie zmienione!',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Navigation.php b/modules/Admin/Language/pl/Navigation.php
new file mode 100644
index 00000000..d4a44104
--- /dev/null
+++ b/modules/Admin/Language/pl/Navigation.php
@@ -0,0 +1,41 @@
+ 'Przełącz pasek boczny',
+ 'go_to_website' => 'Idź do strony internetowej',
+ 'go_to_admin' => 'Idź do administracji',
+ 'dashboard' => 'Pulpit',
+ 'admin' => 'Początek',
+ 'podcasts' => 'Podcasty',
+ 'podcast-list' => 'Wszystkie podcasty',
+ 'podcast-create' => 'Nowy podcast',
+ 'podcast-import' => 'Importuj podcast',
+ 'persons' => 'Osoby',
+ 'person-list' => 'Wszystkie osoby',
+ 'person-create' => 'Nowa osoba',
+ 'fediverse' => 'Fediverse',
+ 'fediverse-blocked-actors' => 'Zablokowane konta',
+ 'fediverse-blocked-domains' => 'Zablokowane domeny',
+ 'users' => 'Użytkownicy',
+ 'user-list' => 'Wszyscy użytkownicy',
+ 'user-create' => 'Nowy użytkownik',
+ 'pages' => 'Strony',
+ 'page-list' => 'Wszystkie strony',
+ 'page-create' => 'Nowa strona',
+ 'settings' => 'Ustawienia',
+ 'settings-general' => 'Ogólne',
+ 'settings-theme' => 'Motyw',
+ 'account' => [
+ 'my-account' => 'Moje konto',
+ 'change-password' => 'Zmień hasło',
+ 'logout' => 'Wyloguj',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Page.php b/modules/Admin/Language/pl/Page.php
new file mode 100644
index 00000000..a8d0a93e
--- /dev/null
+++ b/modules/Admin/Language/pl/Page.php
@@ -0,0 +1,30 @@
+ 'Wróć do początku',
+ 'page' => 'Strona',
+ 'all_pages' => 'Wszystkie strony',
+ 'create' => 'Nowa strona',
+ 'go_to_page' => 'Idź do strony',
+ 'edit' => 'Edytuj stronę',
+ 'delete' => 'Usuń stronę',
+ 'form' => [
+ 'title' => 'Tytuł',
+ 'permalink' => 'Link bezpośredni',
+ 'content' => 'Treść',
+ 'submit_create' => 'Stwórz stronę',
+ 'submit_edit' => 'Zapisz',
+ ],
+ 'messages' => [
+ 'createSuccess' => 'Strona “{pageTitle}” została pomyślnie utworzona!',
+ 'editSuccess' => 'Strona została pomyślnie uaktualniona!',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Pager.php b/modules/Admin/Language/pl/Pager.php
new file mode 100644
index 00000000..ac835244
--- /dev/null
+++ b/modules/Admin/Language/pl/Pager.php
@@ -0,0 +1,21 @@
+ 'Nawigacja po stronie',
+ 'first' => 'Pierwsza',
+ 'previous' => 'Poprzednia',
+ 'next' => 'Następna',
+ 'last' => 'Ostatnia',
+ 'older' => 'Starsze',
+ 'newer' => 'Nowsze',
+ 'invalidTemplate' => '{0} nie jest prawidłowym szablonem pagera.',
+ 'invalidPaginationGroup' => '{0} nie jest prawidłową grupą paginacji.',
+];
diff --git a/modules/Admin/Language/pl/Person.php b/modules/Admin/Language/pl/Person.php
new file mode 100644
index 00000000..b1143eb7
--- /dev/null
+++ b/modules/Admin/Language/pl/Person.php
@@ -0,0 +1,65 @@
+ 'Osoby',
+ 'all_persons' => 'Wszystkie osoby',
+ 'no_person' => 'Nikogo nie znaleziono!',
+ 'create' => 'Stwórz osobę',
+ 'view' => 'Zobacz osobę',
+ 'edit' => 'Edytuj osobę',
+ 'delete' => 'Usuń osobę',
+ 'messages' => [
+ 'createSuccess' => 'Osoba została pomyślnie utworzona!',
+ 'editSuccess' => 'Osoba została pomyślnie zaktualizowana!',
+ 'deleteSuccess' => 'Osoba została usunięta!',
+ ],
+ 'form' => [
+ 'avatar' => 'Awatar',
+ 'avatar_size_hint' =>
+ 'Awatar musi być kwadratowy o szerokości i wysokości co najmniej 400 pikseli.',
+ 'full_name' => 'Pełne imię i nazwisko',
+ 'full_name_hint' => 'To jest pełne imię i nazwisko lub pseudonim osoby.',
+ 'unique_name' => 'Unikalna nazwa',
+ 'unique_name_hint' => 'Używana do adresów URL',
+ 'information_url' => 'Adres URL informacji',
+ 'information_url_hint' =>
+ 'Adres URL do odpowiedniego zasobu informacji o osobie, takiego jak strona domowa lub profil w zewnętrznej platformie.',
+ 'submit_create' => 'Stwórz osobę',
+ 'submit_edit' => 'Zapisz osobę',
+ ],
+ 'podcast_form' => [
+ 'title' => 'Zarządzaj osobami',
+ 'add_section_title' => 'Dodaj osoby do tego podcastu',
+ 'add_section_subtitle' => 'Możesz wybrać kilka osób i ról.',
+ 'persons' => 'Osoby',
+ 'persons_hint' =>
+ 'Możesz wybrać jedną lub kilka osób o tych samych rolach. Najpierw musisz stworzyć osoby.',
+ 'roles' => 'Role',
+ 'roles_hint' =>
+ 'Możesz wybrać żadną, jedną lub kilka ról dla osoby.',
+ 'submit_add' => 'Dodaj osobę(y)',
+ 'remove' => 'Usuń',
+ ],
+ 'episode_form' => [
+ 'title' => 'Zarządzaj osobami',
+ 'add_section_title' => 'Dodaj osoby do tego odcinka',
+ 'add_section_subtitle' => 'Możesz wybrać kilka osób i ról.',
+ 'persons' => 'Osoby',
+ 'persons_hint' =>
+ 'Możesz wybrać jedną lub kilka osób o tych samych rolach. Najpierw musisz stworzyć osoby.',
+ 'roles' => 'Role',
+ 'roles_hint' =>
+ 'Możesz wybrać żadną, jedną lub kilka ról dla osoby.',
+ 'submit_add' => 'Dodaj osobę(y)',
+ 'remove' => 'Usuń',
+ ],
+ 'credits' => 'Kredyty',
+];
diff --git a/modules/Admin/Language/pl/Platforms.php b/modules/Admin/Language/pl/Platforms.php
new file mode 100644
index 00000000..82bb83e6
--- /dev/null
+++ b/modules/Admin/Language/pl/Platforms.php
@@ -0,0 +1,30 @@
+ 'Platformy',
+ 'home_url' => 'Idź do strony {platformName}',
+ 'submit_url' => 'Prześlij swój podcast na {platformName}',
+ 'visible' => 'Wyświetlać na stronie głównej podcastu?',
+ 'on_embed' => 'Wyświetlać w osadzalnym odtwarzaczu?',
+ 'remove' => 'Usuń {platformName}',
+ 'submit' => 'Zapisz',
+ 'messages' => [
+ 'updateSuccess' => 'Linki do platform zostały pomyślnie zaktualizowane!',
+ 'removeLinkSuccess' => 'Link do platformy został usunięty.',
+ 'removeLinkError' =>
+ 'Link do platformy nie mógł zostać usunięty. Spróbuj ponownie.',
+ ],
+ 'description' => [
+ 'podcasting' => 'ID podcastu na tej platformie',
+ 'social' => 'ID konta podcastu na tej platformie',
+ 'funding' => 'Wiadomość z wezwaniem do działania',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Podcast.php b/modules/Admin/Language/pl/Podcast.php
new file mode 100644
index 00000000..5db43758
--- /dev/null
+++ b/modules/Admin/Language/pl/Podcast.php
@@ -0,0 +1,244 @@
+ 'Wszystkie podcasty',
+ 'no_podcast' => 'Nie znaleziono podcastu!',
+ 'create' => 'Stwórz podcast',
+ 'import' => 'Importuj podcast',
+ 'new_episode' => 'Nowy Odcinek',
+ 'view' => 'Wyświetl podcast',
+ 'edit' => 'Edytuj podcast',
+ 'delete' => 'Usuń podcast',
+ 'see_episodes' => 'Zobacz odcinki',
+ 'see_contributors' => 'Zobacz kontrybutorów',
+ 'go_to_page' => 'Idź do strony',
+ 'latest_episodes' => 'Najnowsze odcinki',
+ 'see_all_episodes' => 'Zobacz wszystkie odcinki',
+ 'messages' => [
+ 'createSuccess' => 'Podcast został pomyślnie utworzony!',
+ 'editSuccess' => 'Podcast został pomyślnie zaktualizowany!',
+ 'importSuccess' => 'Podcast został pomyślnie zaimportowany!',
+ ],
+ 'form' => [
+ 'identity_section_title' => 'Tożsamość podcastu',
+ 'identity_section_subtitle' => 'Te pola pozwalają Ci zostać zauważonym.',
+ 'cover' => 'Okładka podcastu',
+ 'cover_size_hint' => 'Okładka musi być kwadratowa o szerokości i wysokości co najmniej 1400 pikseli.',
+ 'banner' => 'Baner podcastu',
+ 'banner_size_hint' => 'Baner musi mieć proporcje 3:1 i co najmniej 1500 pikseli szerokości.',
+ 'banner_delete' => 'Usuń baner podcastu',
+ 'title' => 'Tytuł',
+ 'handle' => 'Uchwyt',
+ 'handle_hint' =>
+ 'Służy do identyfikacji podcastu. Akceptowane są wielkie i małe litery, cyfry i podkreślenia.',
+ 'type' => [
+ 'label' => 'Typ',
+ 'episodic' => 'Epizodyczny',
+ 'episodic_hint' => 'Jeśli odcinki mają być pobierane bez określonej kolejności. Najnowsze odcinki zostaną zaprezentowane jako pierwsze.',
+ 'serial' => 'Seryjny',
+ 'serial_hint' => 'Jeśli odcinki mają być pobierane w kolejności sekwencyjnej. Jako pierwsze zostaną zaprezentowane najstarsze odcinki.',
+ ],
+ 'description' => 'Opis',
+ 'classification_section_title' => 'Klasyfikacja',
+ 'classification_section_subtitle' =>
+ 'Te pola wpłyną na twoją publiczność i konkurencję.',
+ 'language' => 'Język',
+ 'category' => 'Kategoria',
+ 'category_placeholder' => 'Wybierz kategorię…',
+ 'other_categories' => 'Inne kategorie',
+ 'parental_advisory' => [
+ 'label' => 'Kontrola rodzicielska',
+ 'hint' => 'Czy zawiera treści dla dorosłych?',
+ 'undefined' => 'niezdefiniowana',
+ 'clean' => 'Czysta',
+ 'explicit' => 'Dla dorosłych',
+ ],
+ 'author_section_title' => 'Autor',
+ 'author_section_subtitle' => 'Kto zarządza podcastem?',
+ 'owner_name' => 'Nazwa właściciela',
+ 'owner_name_hint' =>
+ 'Wyłącznie do użytku administracyjnego. Widoczne w publicznym kanale RSS.',
+ 'owner_email' => 'Email właściciela',
+ 'owner_email_hint' =>
+ 'Będzie używany przez większość platform do weryfikacji własności podcastu. Widoczne w publicznym kanale RSS.',
+ 'publisher' => 'Wydawca',
+ 'publisher_hint' =>
+ 'Grupa odpowiedzialna za stworzenie programu. Często odnosi się do firmy macierzystej lub sieci podcastów. To pole jest czasami oznaczone jako ’Autor’.',
+ 'copyright' => 'Prawa autorskie',
+ 'location_section_title' => 'Lokalizacja',
+ 'location_section_subtitle' => 'O jakim miejscu jest ten podcast?',
+ 'location_name' => 'Nazwa lub adres lokalizacji',
+ 'location_name_hint' => 'Może to być prawdziwe lub fikcyjne miejsce',
+ 'monetization_section_title' => 'Monetyzacja',
+ 'monetization_section_subtitle' =>
+ 'Zarabiaj dzięki swoim odbiorcom.',
+ 'payment_pointer' => 'Wskaźnik płatności do zarabiania w sieci',
+ 'payment_pointer_hint' =>
+ 'To tutaj otrzymasz pieniądze dzięki Monetyzacji Internetowej',
+ 'advanced_section_title' => 'Parametry Zaawansowane',
+ 'advanced_section_subtitle' =>
+ 'Jeśli potrzebujesz tagów RSS, których Castopod nie obsługuje, ustaw je tutaj.',
+ 'custom_rss' => 'Własne tagi RSS dla podcastu',
+ 'custom_rss_hint' => 'Zostaną wstawione w tagu ❬channel❭.',
+ 'new_feed_url' => 'Nowy adres URL kanału',
+ 'new_feed_url_hint' => 'Użyj tego pola, gdy przenosisz się do innej domeny lub platformy hostingowej podcastu. Domyślnie wartość jest ustawiona na bieżący adres URL RSS, jeśli podcast jest importowany.',
+ 'partnership' => 'Partnerstwo',
+ 'partner_id' => 'ID',
+ 'partner_link_url' => 'Adres URL linku',
+ 'partner_image_url' => 'Adres URL obrazu',
+ 'partner_id_hint' => 'Twój własny ID partnera',
+ 'partner_link_url_hint' => 'Ogólny adres linku partnera',
+ 'partner_image_url_hint' => 'Ogólny adres obrazu partnera',
+ 'status_section_title' => 'Status',
+ 'block' => 'Podcast powinien być ukryty na wszystkich platformach',
+ 'complete' => 'Podcast nie będzie miał nowych odcinków',
+ 'lock' => 'Zapobiegaj kopiowaniu podcastu',
+ 'lock_hint' =>
+ 'Celem jest poinformowanie innych platform podcastów, czy są uprawnione do importowania tego kanału. Wartość tak oznacza, że każda próba zaimportowania tego kanału na nową platformę powinna zostać odrzucona.',
+ 'submit_create' => 'Stwórz podcast',
+ 'submit_edit' => 'Zapisz podcast',
+ ],
+ 'category_options' => [
+ 'uncategorized' => 'bez kategorii',
+ 'arts' => 'Sztuka',
+ 'business' => 'Biznes',
+ 'comedy' => 'Komedia',
+ 'education' => 'Edukacja',
+ 'fiction' => 'Fikcja',
+ 'government' => 'Rząd',
+ 'health_and_fitness' => 'Zdrowie i Fitness',
+ 'history' => 'Historia',
+ 'kids_and_family' => 'Dzieci i Rodzina',
+ 'leisure' => 'Wypoczynek',
+ 'music' => 'Muzyka',
+ 'news' => 'Wiadomości',
+ 'religion_and_spirituality' => 'Religia i Duchowość',
+ 'science' => 'Nauka',
+ 'society_and_culture' => 'Społeczność i Kultura',
+ 'sports' => 'Sport',
+ 'technology' => 'Technologia',
+ 'true_crime' => 'Prawdziwe Zbrodnie',
+ 'tv_and_film' => 'Telewizja i Film',
+ 'books' => 'Książki',
+ 'design' => 'Projektowanie',
+ 'fashion_and_beauty' => 'Moda i Uroda',
+ 'food' => 'Żywność',
+ 'performing_arts' => 'Sztuki Sceniczne',
+ 'visual_arts' => 'Dzieła Wizualne',
+ 'careers' => 'Kariera',
+ 'entrepreneurship' => 'Przedsiębiorczość',
+ 'investing' => 'Inwestowanie',
+ 'management' => 'Zarządzanie',
+ 'marketing' => 'Marketing',
+ 'non_profit' => 'Non-Profit',
+ 'comedy_interviews' => 'Wywiady Komediowe',
+ 'improv' => 'Improwizacja',
+ 'stand_up' => 'Stand-Up',
+ 'courses' => 'Kursy',
+ 'how_to' => 'Poradnik',
+ 'language_learning' => 'Nauka Języków',
+ 'self_improvement' => 'Samorozwój',
+ 'comedy_fiction' => 'Fikcja komediowa',
+ 'drama' => 'Dramat',
+ 'science_fiction' => 'Fantastyka Naukowa',
+ 'alternative_health' => 'Zdrowie Alternatywne',
+ 'fitness' => 'Fitness',
+ 'medicine' => 'Medycyna',
+ 'mental_health' => 'Zdrowie Psychiczne',
+ 'nutrition' => 'Odżywianie',
+ 'sexuality' => 'Seksualność',
+ 'education_for_kids' => 'Edukacja dla Dzieci',
+ 'parenting' => 'Rodzicielstwo',
+ 'pets_and_animals' => 'Zwierzęta i Zwierzęta Domowe',
+ 'stories_for_kids' => 'Historie dla Dzieci',
+ 'animation_and_manga' => 'Animacja i manga',
+ 'automotive' => 'Motoryzacja',
+ 'aviation' => 'Lotnictwo',
+ 'crafts' => 'Rzemieślnictwo',
+ 'games' => 'Gry',
+ 'hobbies' => 'Hobby',
+ 'home_and_garden' => 'Dom i Ogród',
+ 'video_games' => 'Gry Wideo',
+ 'music_commentary' => 'Komentarz Muzyczny',
+ 'music_history' => 'Historia Muzyki',
+ 'music_interviews' => 'Wywiady Muzyczne',
+ 'business_news' => 'Wiadomości Biznesowe',
+ 'daily_news' => 'Codzienne Wiadomości',
+ 'entertainment_news' => 'Wiadomości Rozrywkowe',
+ 'news_commentary' => 'Komentarz Wiadomości',
+ 'politics' => 'Polityka',
+ 'sports_news' => 'Wiadomości Sportowe',
+ 'tech_news' => 'Wiadomości Techniczne',
+ 'buddhism' => 'Buddyzm',
+ 'christianity' => 'Chrześcijaństwo',
+ 'hinduism' => 'Hinduizm',
+ 'islam' => 'Islam',
+ 'judaism' => 'Judaizm',
+ 'religion' => 'Religia',
+ 'spirituality' => 'Duchowość',
+ 'astronomy' => 'Astronomia',
+ 'chemistry' => 'Chemia',
+ 'earth_sciences' => 'Nauka o Ziemi',
+ 'life_sciences' => 'Nauki o Życiu',
+ 'mathematics' => 'Matematyka',
+ 'natural_sciences' => 'Nauki Przyrodnicze',
+ 'nature' => 'Natura',
+ 'physics' => 'Fizyka',
+ 'social_sciences' => 'Nauki Społeczne',
+ 'documentary' => 'Dokument',
+ 'personal_journals' => 'Dzienniki Osobiste',
+ 'philosophy' => 'Filozofia',
+ 'places_and_travel' => 'Miejsca i podróże',
+ 'relationships' => 'Związki',
+ 'baseball' => 'Baseball',
+ 'basketball' => 'Koszykówka',
+ 'cricket' => 'Krykiet',
+ 'fantasy_sports' => 'Sporty fantasy',
+ 'football' => 'Futbol',
+ 'golf' => 'Golf',
+ 'hockey' => 'Hokej',
+ 'rugby' => 'Rugby',
+ 'running' => 'Bieg',
+ 'soccer' => 'Soccer',
+ 'swimming' => 'Pływanie',
+ 'tennis' => 'Tenis',
+ 'volleyball' => 'Siatkówka',
+ 'wilderness' => 'Wilderness',
+ 'wrestling' => 'Wrestling',
+ 'after_shows' => 'After Shows',
+ 'film_history' => 'Historia Filmu',
+ 'film_interviews' => 'Wywiady filmowe',
+ 'film_reviews' => 'Recenzje filmów',
+ 'tv_reviews' => 'Recenzje telewizyjne',
+ ],
+ 'by' => 'Przez {publisher}',
+ 'season' => 'Sezon {seasonNumber}',
+ 'list_of_episodes_year' => '{year} odcinki ({episodeCount})',
+ 'list_of_episodes_season' =>
+ 'Sezon {seasonNumber} odcinki ({episodeCount})',
+ 'no_episode' => 'Nie znaleziono odcinków!',
+ 'follow' => 'Obserwuj',
+ 'followers' => '{numberOfFollowers, plural,
+ one {# obserwujący}
+ other {# obserwujących}
+ }',
+ 'posts' => '{numberOfPosts, plural,
+ one {# wpis}
+ few {# wpisy}
+ other {# wpisów}
+ }',
+ 'activity' => 'Aktywność',
+ 'episodes' => 'Odcinki',
+ 'sponsor' => 'Sponsoruj',
+ 'funding_links' => 'Linki finansowania dla {podcastTitle}',
+ 'find_on' => 'Znajdź {podcastTitle} na',
+ 'listen_on' => 'Słuchaj na',
+];
diff --git a/modules/Admin/Language/pl/PodcastImport.php b/modules/Admin/Language/pl/PodcastImport.php
new file mode 100644
index 00000000..468d8447
--- /dev/null
+++ b/modules/Admin/Language/pl/PodcastImport.php
@@ -0,0 +1,37 @@
+
+ 'Ta procedura może zająć dużo czasu.
Ponieważ bieżąca wersja nie pokazuje żadnego postępu podczas działania, nie zobaczysz żadnych aktualizacji dopóki nie zostanie wykonana.
W przypadku błędu przekroczenia limitu czasu, zwiększ wartość `max_execution_time`.',
+ 'old_podcast_section_title' => 'Podcast do zaimportowania',
+ 'old_podcast_section_subtitle' =>
+ 'Upewnij się, że masz prawa do tego podcastu zanim go zaimportujesz. Kopiowanie i nadawanie podcastu bez odpowiednich praw jest piractwem i podlega ściganiu.',
+ 'imported_feed_url' => 'Adres URL kanału',
+ 'imported_feed_url_hint' => 'Kanał musi być w formacie xml lub rss.',
+ 'new_podcast_section_title' => 'Nowy podcast',
+ 'advanced_params_section_title' => 'Parametry zaawansowane',
+ 'advanced_params_section_subtitle' =>
+ 'Zachowaj wartości domyślne jeśli nie masz pojęcia, do czego służą te pola.',
+ 'slug_field' => 'Pole używane do obliczenia slugu odcinka',
+ 'description_field' =>
+ 'Pole źródłowe używane do opisu odcinka/notatek programu',
+ 'force_renumber' => 'Wymuś przenumerowanie odcinków',
+ 'force_renumber_hint' =>
+ 'Użyj tego, jeśli Twój podcast nie ma numerów odcinków, ale chcesz je ustawić podczas importu.',
+ 'season_number' => 'Numer sezonu',
+ 'season_number_hint' =>
+ 'Użyj tego, jeśli Twój podcast nie ma numeru sezonu, ale chcesz go ustawić podczas importu. W przeciwnym razie pozostaw pusty.',
+ 'max_episodes' => 'Maksymalna liczba odcinków do zaimportowania',
+ 'max_episodes_hint' => 'Pozostaw puste, aby zaimportować wszystkie odcinki',
+ 'lock_import' =>
+ 'Ten kanał jest chroniony. Nie możesz go zaimportować. Jeśli jesteś jego właścicielem - usuń ochronę na platformie, z której pochodzi.',
+ 'submit' => 'Importuj podcast',
+];
diff --git a/modules/Admin/Language/pl/PodcastNavigation.php b/modules/Admin/Language/pl/PodcastNavigation.php
new file mode 100644
index 00000000..38b73ffb
--- /dev/null
+++ b/modules/Admin/Language/pl/PodcastNavigation.php
@@ -0,0 +1,35 @@
+ 'Idź do strony podcastu',
+ 'dashboard' => 'Pulpit podcastu',
+ 'podcast-view' => 'Początek',
+ 'podcast-edit' => 'Edytuj podcast',
+ 'podcast-persons-manage' => 'Zarządzaj osobami',
+ 'episodes' => 'Odcinki',
+ 'episode-list' => 'Wszystkie odcinki',
+ 'episode-create' => 'Nowy odcinek',
+ 'analytics' => 'Analityka',
+ 'podcast-analytics' => 'Przegląd odbiorców',
+ 'podcast-analytics-webpages' => 'Odwiedziny stron internetowych',
+ 'podcast-analytics-locations' => 'Lokalizacje',
+ 'podcast-analytics-unique-listeners' => 'Unikalni słuchacze',
+ 'podcast-analytics-players' => 'Odtwarzacze',
+ 'podcast-analytics-listening-time' => 'Czas odsłuchu',
+ 'podcast-analytics-time-periods' => 'Okresy czasu',
+ 'contributors' => 'Kontrybutorzy',
+ 'contributor-list' => 'Wszyscy kontrybutorzy',
+ 'contributor-add' => 'Dodaj kontrybutora',
+ 'platforms' => 'Zewnętrzne platformy',
+ 'platforms-podcasting' => 'Platformy podcastingowe',
+ 'platforms-social' => 'Sieci społecznościowe',
+ 'platforms-funding' => 'Finansowanie',
+];
diff --git a/modules/Admin/Language/pl/Settings.php b/modules/Admin/Language/pl/Settings.php
new file mode 100644
index 00000000..1abb1409
--- /dev/null
+++ b/modules/Admin/Language/pl/Settings.php
@@ -0,0 +1,56 @@
+ 'Ustawienia ogólne',
+ 'instance' => [
+ 'title' => 'Instancja',
+ 'site_icon' => 'Ikona witryny',
+ 'site_icon_delete' => 'Usuń ikonę witryny',
+ 'site_icon_hint' => 'Ikony witryny są widoczne na kartach przeglądarki, paskach zakładek oraz po dodaniu witryny jako skrótu na urządzeniach mobilnych.',
+ 'site_icon_helper' => 'Ikona musi być kwadratowa o szerokości i wysokości co najmniej 512 pikseli.',
+ 'site_name' => 'Nazwa strony',
+ 'site_description' => 'Opis strony',
+ 'submit' => 'Zapisz',
+ 'editSuccess' => 'Instancja została pomyślnie zaktualizowana!',
+ 'deleteIconSuccess' => 'Ikona witryny została pomyślnie usunięta!',
+ ],
+ 'images' => [
+ 'title' => 'Obrazy',
+ 'subtitle' => 'Tutaj możesz ponownie wygenerować wszystkie obrazy na podstawie przesłanych oryginałów. Do wykorzystania, jeśli okaże się, że brakuje niektórych obrazów. To zadanie może chwilę potrwać.',
+ 'regenerate' => 'Wygeneruj ponownie obrazy',
+ 'regenerationSuccess' => 'Wszystkie obrazy zostały pomyślnie wygenerowane ponownie!',
+ ],
+ 'housekeeping' => [
+ 'title' => 'Porządkowanie',
+ 'subtitle' => 'Wykonuje różne zadania porządkowe. Użyj tej funkcji jeśli kiedykolwiek napotkasz problemy z plikami multimedialnymi lub integralnością danych. Te zadania mogą chwilę potrwać.',
+ 'reset_counts' => 'Zresetuj liczniki',
+ 'reset_counts_helper' => 'Ta opcja zresetuje i ponownie obliczy wszystkie liczniki danych (liczbę obserwujących, wpisów, komentarzy, …).',
+ 'rewrite_media' => 'Przepisz metadane multimediów',
+ 'rewrite_media_helper' => 'Ta opcja usunie wszystkie zbędne pliki multimedialne i odtworzy je (obrazy, pliki audio, transkrypcje, rozdziały, …)',
+ 'clear_cache' => 'Wyczyść całą pamięć podręczną',
+ 'clear_cache_helper' => 'Ta opcja opróżni pamięć podręczną (cache) redis lub zapisywalne/buforowane pliki.',
+ 'run' => 'Przeprowadź porządkowanie',
+ 'runSuccess' => 'Porządkowanie zostało przeprowadzone pomyślnie!',
+ ],
+ 'theme' => [
+ 'title' => 'Motyw',
+ 'accent_section_title' => 'Kolor akcentu',
+ 'accent_section_subtitle' => 'Wybierz kolor, aby określić wygląd i styl wszystkich stron publicznych.',
+ 'pine' => 'Sosna',
+ 'crimson' => 'Karmazynowy',
+ 'amber' => 'bursztynowy',
+ 'lake' => 'Jezioro',
+ 'jacaranda' => 'Jacaranda',
+ 'onyx' => 'Onyks',
+ 'submit' => 'Zapisz',
+ 'setInstanceThemeSuccess' => 'Motyw został pomyślnie zaktualizowany!',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Soundbite.php b/modules/Admin/Language/pl/Soundbite.php
new file mode 100644
index 00000000..97544f8d
--- /dev/null
+++ b/modules/Admin/Language/pl/Soundbite.php
@@ -0,0 +1,31 @@
+ [
+ 'title' => 'Zajawki',
+ 'soundbite' => 'Zajawka',
+ ],
+ 'messages' => [
+ 'createSuccess' => 'Zajawka została pomyślnie utworzona!',
+ 'deleteSuccess' => 'Zajawka została pomyślnie usunięta!',
+ ],
+ 'form' => [
+ 'title' => 'Nowa zajawka',
+ 'soundbite_title' => 'Tytuł zajawki',
+ 'start_time' => 'Rozpocznij w',
+ 'duration' => 'Długość',
+ 'submit' => 'Stwórz zajawkę',
+ ],
+ 'play' => 'Odtwórz zajawkę',
+ 'stop' => 'Zatrzymaj zajawkę',
+ 'create' => 'Nowa zajawka',
+ 'delete' => 'Usuń zajawkę',
+];
diff --git a/modules/Admin/Language/pl/User.php b/modules/Admin/Language/pl/User.php
new file mode 100644
index 00000000..e2ff2b7a
--- /dev/null
+++ b/modules/Admin/Language/pl/User.php
@@ -0,0 +1,54 @@
+ 'Edytuj role użytkownika {username}',
+ 'forcePassReset' => 'Wymuś resetowanie hasła',
+ 'ban' => 'Zablokuj',
+ 'unban' => 'Odblokuj',
+ 'delete' => 'Usuń',
+ 'create' => 'Nowy użytkownik',
+ 'view' => 'Informacje użytkownika {username}',
+ 'all_users' => 'Wszyscy użytkownicy',
+ 'list' => [
+ 'user' => 'Użytkownik',
+ 'roles' => 'Role',
+ 'banned' => 'Zablokowany?',
+ ],
+ 'form' => [
+ 'email' => 'Email',
+ 'username' => 'Nazwa użytkownika',
+ 'password' => 'Hasło',
+ 'new_password' => 'Nowe hasło',
+ 'roles' => 'Role',
+ 'permissions' => 'Uprawnienia',
+ 'submit_create' => 'Stwórz użytkownika',
+ 'submit_edit' => 'Zapisz',
+ 'submit_password_change' => 'Zmień!',
+ ],
+ 'roles' => [
+ 'superadmin' => 'Superadministrator',
+ ],
+ 'messages' => [
+ 'createSuccess' =>
+ 'Pomyślnie utworzono użytkownika! {username} zostanie poproszony o zresetowanie hasła przy pierwszym uwierzytelnieniu.',
+ 'rolesEditSuccess' =>
+ 'Role {username} zostały pomyślnie zaktualizowane.',
+ 'forcePassResetSuccess' =>
+ '{username} zostanie poproszony o zresetowanie hasła przy następnej wizycie.',
+ 'banSuccess' => '{username} został zablokowany.',
+ 'unbanSuccess' => '{username} został odblokowany.',
+ 'banSuperAdminError' =>
+ '{username} jest superadministratorem, nie można po prostu zablokować superadministratora…',
+ 'deleteSuperAdminError' =>
+ '{username} jest superadministratorem, nie można po prostu usunąć superadministratora…',
+ 'deleteSuccess' => '{username} został usunięty.',
+ ],
+];
diff --git a/modules/Admin/Language/pl/Validation.php b/modules/Admin/Language/pl/Validation.php
new file mode 100644
index 00000000..a71b5913
--- /dev/null
+++ b/modules/Admin/Language/pl/Validation.php
@@ -0,0 +1,18 @@
+
+ '{field} nie jest obrazem, albo nie jest wystarczająco szeroki lub wysoki.',
+ 'is_image_ratio' =>
+ '{field} nie jest obrazem, albo nie ma właściwych proporcji.',
+ 'validate_url' =>
+ 'Pole {field} musi być prawidłowym adresem URL (np. https://przyklad.com/).',
+];
diff --git a/modules/Admin/Language/pl/VideoClip.php b/modules/Admin/Language/pl/VideoClip.php
new file mode 100644
index 00000000..6ff09752
--- /dev/null
+++ b/modules/Admin/Language/pl/VideoClip.php
@@ -0,0 +1,72 @@
+ [
+ 'title' => 'Klipy wideo',
+ 'status' => [
+ 'label' => 'Status',
+ 'queued' => 'w kolejce',
+ 'queued_hint' => 'Klip czeka na przetworzenie.',
+ 'pending' => 'oczekuje',
+ 'pending_hint' => 'Klip zostanie wkrótce wygenerowany.',
+ 'running' => 'działanie',
+ 'running_hint' => 'Klip jest generowany.',
+ 'failed' => 'niepowodzenie',
+ 'failed_hint' => 'Nie można wygenerować klipu: błąd skryptu.',
+ 'passed' => 'powodzenie',
+ 'passed_hint' => 'Klip został pomyślnie wygenerowany!',
+ ],
+ 'clip' => 'Klip',
+ 'duration' => 'Czas zadania',
+ ],
+ 'title' => 'Klip wideo: {videoClipLabel}',
+ 'download_clip' => 'Pobierz klip',
+ 'create' => 'Nowy klip wideo',
+ 'go_to_page' => 'Idź do strony klipu',
+ 'retry' => 'Ponów generowanie klipu',
+ 'delete' => 'Usuń klip',
+ 'logs' => 'Dzienniki zadania',
+ 'messages' => [
+ 'alreadyExistingError' => 'Klip wideo, który próbujesz utworzyć już istnieje!',
+ 'addToQueueSuccess' => 'Klip wideo został dodany do kolejki i oczekuje na utworzenie!',
+ 'deleteSuccess' => 'Klip wideo został pomyślnie usunięty!',
+ ],
+ 'format' => [
+ 'landscape' => 'Poziomy',
+ 'portrait' => 'Pionowy',
+ 'squared' => 'Kwadratowy',
+ ],
+ 'form' => [
+ 'title' => 'Nowy klip wideo',
+ 'params_section_title' => 'Parametry klipu wideo',
+ 'clip_title' => 'Tytuł klipu',
+ 'format' => [
+ 'label' => 'Wybierz format',
+ 'landscape_hint' => 'W proporcji 16:9, filmy w orientacji poziomej są świetne do PeerTube, Youtube i Vimeo.',
+ 'portrait_hint' => 'W proporcji 9:16, filmy pionowe świetnie nadają się do TikTok, krótkich filmów na YouTube i historii na Instagramie.',
+ 'squared_hint' => 'W proporcji 1:1, kwadratowe filmy są świetne dla Mastodon, Facebooka, Twittera i LinkedIn.',
+ ],
+ 'theme' => 'Wybierz motyw',
+ 'start_time' => 'Rozpocznij w',
+ 'duration' => 'Długość',
+ 'trim_start' => 'Przytnij początek',
+ 'trim_end' => 'Przytnij koniec',
+ 'submit' => 'Stwórz klip wideo',
+ ],
+ 'requirements' => [
+ 'title' => 'Brakujące wymagania',
+ 'missing' => 'Brakuje wymagań. Upewnij się, że dodałeś wszystkie wymagane elementy, aby móc tworzyć wideo do tego odcinka!',
+ 'ffmpeg' => 'FFmpeg',
+ 'gd' => 'Graphics Draw (GD)',
+ 'freetype' => 'Freetype library dla GD',
+ 'transcript' => 'Plik z transkrypcją (.srt)',
+ ],
+];
diff --git a/modules/Install/Language/pl/Install.php b/modules/Install/Language/pl/Install.php
new file mode 100644
index 00000000..c07cedc0
--- /dev/null
+++ b/modules/Install/Language/pl/Install.php
@@ -0,0 +1,62 @@
+ 'Instalator Castopod',
+ 'manual_config' => 'Konfiguracja ręczna',
+ 'manual_config_subtitle' =>
+ 'Stwórz plik `.env` ze swoimi ustawieniami i odśwież stronę, aby kontynuować instalację.',
+ 'form' => [
+ 'instance_config' => 'Konfiguracja instancji',
+ 'hostname' => 'Nazwa hosta',
+ 'media_base_url' => 'Bazowy URL multimediów',
+ 'media_base_url_hint' =>
+ 'Jeśli korzystasz z CDN i/lub zewnętrznej usługi analitycznej, możesz ustawić je tutaj.',
+ 'admin_gateway' => 'Brama administracyjna',
+ 'admin_gateway_hint' =>
+ 'Droga dostępu do obszaru administracyjnego (np. https://example.com/cp-admin). Domyślnie jest ustawiona jako cp-admin, ze względów bezpieczeństwa zalecamy jej zmianę.',
+ 'auth_gateway' => 'Brama uwierzytelniania',
+ 'auth_gateway_hint' =>
+ 'Droga dostępu do stron uwierzytelniających (np. https://example.com/cp-auth). Domyślnie jest ustawiona jako cp-auth, ze względów bezpieczeństwa zalecamy jej zmianę.',
+ 'database_config' => 'Konfiguracja bazy danych',
+ 'database_config_hint' =>
+ 'Castopod musi połączyć się z bazą danych MySQL (lub MariaDB). Jeśli nie masz tych wymaganych informacji, skontaktuj się z administratorem serwera.',
+ 'db_hostname' => 'Nazwa hosta bazy danych',
+ 'db_name' => 'Nazwa bazy danych',
+ 'db_username' => 'Nazwa użytkownika bazy danych',
+ 'db_password' => 'Hasło bazy danych',
+ 'db_prefix' => 'Prefiks bazy danych',
+ 'db_prefix_hint' =>
+ 'Przedrostek nazw tabel Castopod; pozostaw bez zmian jeśli nie wiesz, co to znaczy.',
+ 'cache_config' => 'Konfiguracja pamięci podręcznej',
+ 'cache_config_hint' =>
+ 'Wybierz preferowaną obsługę pamięci podręcznej (cache). Pozostaw to jako wartość domyślną, jeśli nie masz pojęcia, co to znaczy.',
+ 'cache_handler' => 'Obsługa pamięci podręcznej',
+ 'cacheHandlerOptions' => [
+ 'file' => 'Plik',
+ 'redis' => 'Redis',
+ 'predis' => 'Predis',
+ ],
+ 'next' => 'Dalej',
+ 'submit' => 'Zakończ instalację',
+ 'create_superadmin' => 'Utwórz swoje konto superadministratora',
+ 'email' => 'Email',
+ 'username' => 'Nazwa użytkownika',
+ 'password' => 'Hasło',
+ ],
+ 'messages' => [
+ 'createSuperAdminSuccess' =>
+ 'Twoje konto superadministratora zostało pomyślnie utworzone. Zaloguj się, aby rozpocząć podcastowanie!',
+ 'databaseConnectError' =>
+ 'Castopod nie mógł połączyć się z Twoją bazą danych. Edytuj konfigurację bazy danych i spróbuj ponownie.',
+ 'writeError' =>
+ 'Nie można utworzyć/zapisać pliku `.env`. Musisz go utworzyć ręcznie postępując zgodnie z szablonem pliku `.env.example` w pakiecie Castopod.',
+ ],
+];