From 2d83b44add9e4e00766a1f326377ed892f48ad73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patryk=20Mi=C5=9B?= <patryk.mis@mykolab.com>
Date: Fri, 4 Mar 2022 17:52:52 +0000
Subject: [PATCH] feat(i18n): add Polish translation

---
 app/Config/App.php                            |   2 +-
 app/Language/en/Comment.php                   |   2 +-
 app/Language/en/Post.php                      |   4 +-
 app/Language/fr/Comment.php                   |   2 +-
 app/Language/fr/Post.php                      |   4 +-
 app/Language/pl/Comment.php                   |  35 +++
 app/Language/pl/Common.php                    |  29 ++
 app/Language/pl/Episode.php                   |  35 +++
 app/Language/pl/Fediverse.php                 |  36 +++
 app/Language/pl/Home.php                      |  20 ++
 app/Language/pl/Page.php                      |  17 ++
 app/Language/pl/Podcast.php                   |  57 ++++
 app/Language/pl/Post.php                      |  42 +++
 modules/Admin/Language/en/Common.php          |   2 +-
 modules/Admin/Language/fr/Common.php          |   2 +-
 modules/Admin/Language/pl/Admin.php           |  15 +
 modules/Admin/Language/pl/Breadcrumb.php      |  48 ++++
 modules/Admin/Language/pl/Charts.php          |  38 +++
 modules/Admin/Language/pl/Common.php          |  49 ++++
 modules/Admin/Language/pl/Contributor.php     |  41 +++
 modules/Admin/Language/pl/Countries.php       | 264 ++++++++++++++++++
 modules/Admin/Language/pl/Episode.php         | 165 +++++++++++
 .../Admin/Language/pl/EpisodeNavigation.php   |  23 ++
 modules/Admin/Language/pl/Fediverse.php       |  31 ++
 modules/Admin/Language/pl/Home.php            |  14 +
 modules/Admin/Language/pl/Install.php         |  61 ++++
 modules/Admin/Language/pl/MyAccount.php       |  18 ++
 modules/Admin/Language/pl/Navigation.php      |  41 +++
 modules/Admin/Language/pl/Page.php            |  30 ++
 modules/Admin/Language/pl/Pager.php           |  21 ++
 modules/Admin/Language/pl/Person.php          |  65 +++++
 modules/Admin/Language/pl/Platforms.php       |  30 ++
 modules/Admin/Language/pl/Podcast.php         | 244 ++++++++++++++++
 modules/Admin/Language/pl/PodcastImport.php   |  37 +++
 .../Admin/Language/pl/PodcastNavigation.php   |  35 +++
 modules/Admin/Language/pl/Settings.php        |  56 ++++
 modules/Admin/Language/pl/Soundbite.php       |  31 ++
 modules/Admin/Language/pl/User.php            |  54 ++++
 modules/Admin/Language/pl/Validation.php      |  18 ++
 modules/Admin/Language/pl/VideoClip.php       |  72 +++++
 modules/Install/Language/pl/Install.php       |  62 ++++
 41 files changed, 1843 insertions(+), 9 deletions(-)
 create mode 100644 app/Language/pl/Comment.php
 create mode 100644 app/Language/pl/Common.php
 create mode 100644 app/Language/pl/Episode.php
 create mode 100644 app/Language/pl/Fediverse.php
 create mode 100644 app/Language/pl/Home.php
 create mode 100644 app/Language/pl/Page.php
 create mode 100644 app/Language/pl/Podcast.php
 create mode 100644 app/Language/pl/Post.php
 create mode 100644 modules/Admin/Language/pl/Admin.php
 create mode 100644 modules/Admin/Language/pl/Breadcrumb.php
 create mode 100644 modules/Admin/Language/pl/Charts.php
 create mode 100644 modules/Admin/Language/pl/Common.php
 create mode 100644 modules/Admin/Language/pl/Contributor.php
 create mode 100644 modules/Admin/Language/pl/Countries.php
 create mode 100644 modules/Admin/Language/pl/Episode.php
 create mode 100644 modules/Admin/Language/pl/EpisodeNavigation.php
 create mode 100644 modules/Admin/Language/pl/Fediverse.php
 create mode 100644 modules/Admin/Language/pl/Home.php
 create mode 100644 modules/Admin/Language/pl/Install.php
 create mode 100644 modules/Admin/Language/pl/MyAccount.php
 create mode 100644 modules/Admin/Language/pl/Navigation.php
 create mode 100644 modules/Admin/Language/pl/Page.php
 create mode 100644 modules/Admin/Language/pl/Pager.php
 create mode 100644 modules/Admin/Language/pl/Person.php
 create mode 100644 modules/Admin/Language/pl/Platforms.php
 create mode 100644 modules/Admin/Language/pl/Podcast.php
 create mode 100644 modules/Admin/Language/pl/PodcastImport.php
 create mode 100644 modules/Admin/Language/pl/PodcastNavigation.php
 create mode 100644 modules/Admin/Language/pl/Settings.php
 create mode 100644 modules/Admin/Language/pl/Soundbite.php
 create mode 100644 modules/Admin/Language/pl/User.php
 create mode 100644 modules/Admin/Language/pl/Validation.php
 create mode 100644 modules/Admin/Language/pl/VideoClip.php
 create mode 100644 modules/Install/Language/pl/Install.php

diff --git a/app/Config/App.php b/app/Config/App.php
index f79a00ca0b..c52f4d3e2b 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 c9012c27da..1dd8f5eadc 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 489d3e1474..58d1cf8002 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 476e42972d..dc411988d2 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 16846fe580..7c3c85b206 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 0000000000..100a97ca61
--- /dev/null
+++ b/app/Language/pl/Comment.php
@@ -0,0 +1,35 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'title' => '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 0000000000..dfe89ed7c8
--- /dev/null
+++ b/app/Language/pl/Common.php
@@ -0,0 +1,29 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'yes' => '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 0000000000..3f519cce45
--- /dev/null
+++ b/app/Language/pl/Episode.php
@@ -0,0 +1,35 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'season' => '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 0000000000..cf063da340
--- /dev/null
+++ b/app/Language/pl/Fediverse.php
@@ -0,0 +1,36 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2021 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'your_handle' => '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 0000000000..003a1e0c1e
--- /dev/null
+++ b/app/Language/pl/Home.php
@@ -0,0 +1,20 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'all_podcasts' => '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 0000000000..4e24bdfa03
--- /dev/null
+++ b/app/Language/pl/Page.php
@@ -0,0 +1,17 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'back_to_home' => '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 0000000000..89603d9187
--- /dev/null
+++ b/app/Language/pl/Podcast.php
@@ -0,0 +1,57 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'feed' => '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 {<span class="font-semibold">#</span> obserwujÄ…cy}
+        other {<span class="font-semibold">#</span> obserwujÄ…cych}
+    }',
+    'posts' => '{numberOfPosts, plural,
+        one {<span class="font-semibold">#</span> wpis}
+        few {<span class="font-semibold">#</span> wpisy}
+        other {<span class="font-semibold">#</span> wpisów}
+    }',
+    'activity' => 'Aktywność',
+    'episodes' => 'Odcinki',
+    'episodes_title' => 'Odcinki {podcastTitle}',
+    'about' => 'Informacje',
+    'stats' => [
+        'title' => 'Statystyki',
+        'number_of_seasons' => '{0, plural,
+            one {<span class="font-semibold">#</span> sezon}
+            few{<span class="font-semibold">#</span> sezony}
+            other {<span class="font-semibold">#</span> sezonów}
+        }',
+        'number_of_episodes' => '{0, plural,
+            one {<span class="font-semibold">#</span> odcinek}
+            few {<span class="font-semibold">#</span> odcinki}
+            other {<span class="font-semibold">#</span> odcinków}
+        }',
+        'first_published_at' => 'Pierwszy odcinek opublikowany <span class="font-semibold">{0, date, medium}</span>',
+    ],
+    '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 0000000000..1d1b0690f7
--- /dev/null
+++ b/app/Language/pl/Post.php
@@ -0,0 +1,42 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'title' => '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 634769db35..d97bcf991f 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 23580a7b1a..04725db62e 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 0000000000..cb262679da
--- /dev/null
+++ b/modules/Admin/Language/pl/Admin.php
@@ -0,0 +1,15 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'dashboard' => '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 0000000000..6ad15119c9
--- /dev/null
+++ b/modules/Admin/Language/pl/Breadcrumb.php
@@ -0,0 +1,48 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'label' => '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 0000000000..bdcdcbba94
--- /dev/null
+++ b/modules/Admin/Language/pl/Charts.php
@@ -0,0 +1,38 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'by_service_weekly' => '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 0000000000..f015f1f889
--- /dev/null
+++ b/modules/Admin/Language/pl/Common.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'yes' => '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 0000000000..913c063c74
--- /dev/null
+++ b/modules/Admin/Language/pl/Contributor.php
@@ -0,0 +1,41 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'podcast_contributors' => '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 0000000000..32c5a064f2
--- /dev/null
+++ b/modules/Admin/Language/pl/Countries.php
@@ -0,0 +1,264 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * ISO 3166 country codes
+ *
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'AD' => '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 0000000000..d550d5dab3
--- /dev/null
+++ b/modules/Admin/Language/pl/Episode.php
@@ -0,0 +1,165 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'season' => '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.<br />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 0000000000..6d71ae7ecc
--- /dev/null
+++ b/modules/Admin/Language/pl/EpisodeNavigation.php
@@ -0,0 +1,23 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'go_to_page' => '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 0000000000..aacfebe4ad
--- /dev/null
+++ b/modules/Admin/Language/pl/Fediverse.php
@@ -0,0 +1,31 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'messages' => [
+        '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 0000000000..0fbf6d1749
--- /dev/null
+++ b/modules/Admin/Language/pl/Home.php
@@ -0,0 +1,14 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'all_podcasts' => '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 0000000000..00384553b2
--- /dev/null
+++ b/modules/Admin/Language/pl/Install.php
@@ -0,0 +1,61 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    '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.',
+    ],
+];
diff --git a/modules/Admin/Language/pl/MyAccount.php b/modules/Admin/Language/pl/MyAccount.php
new file mode 100644
index 0000000000..5c981eded6
--- /dev/null
+++ b/modules/Admin/Language/pl/MyAccount.php
@@ -0,0 +1,18 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'info' => '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 0000000000..d4a4410497
--- /dev/null
+++ b/modules/Admin/Language/pl/Navigation.php
@@ -0,0 +1,41 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'toggle_sidebar' => '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 0000000000..a8d0a93ec2
--- /dev/null
+++ b/modules/Admin/Language/pl/Page.php
@@ -0,0 +1,30 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'back_to_home' => '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 0000000000..ac83524411
--- /dev/null
+++ b/modules/Admin/Language/pl/Pager.php
@@ -0,0 +1,21 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'pageNavigation' => '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 0000000000..b1143eb70b
--- /dev/null
+++ b/modules/Admin/Language/pl/Person.php
@@ -0,0 +1,65 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'persons' => '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 0000000000..82bb83e67f
--- /dev/null
+++ b/modules/Admin/Language/pl/Platforms.php
@@ -0,0 +1,30 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'title' => '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 0000000000..5db437584a
--- /dev/null
+++ b/modules/Admin/Language/pl/Podcast.php
@@ -0,0 +1,244 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'all_podcasts' => '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 {<span class="font-semibold">#</span> obserwujÄ…cy}
+        other {<span class="font-semibold">#</span> obserwujÄ…cych}
+    }',
+    'posts' => '{numberOfPosts, plural,
+        one {<span class="font-semibold">#</span> wpis}
+        few {<span class="font-semibold">#</span> wpisy}
+        other {<span class="font-semibold">#</span> 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 0000000000..468d844760
--- /dev/null
+++ b/modules/Admin/Language/pl/PodcastImport.php
@@ -0,0 +1,37 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'warning' =>
+        'Ta procedura może zająć dużo czasu.<br/>Ponieważ bieżąca wersja nie pokazuje żadnego postępu podczas działania, nie zobaczysz żadnych aktualizacji dopóki nie zostanie wykonana.<br/>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 0000000000..38b73ffbe1
--- /dev/null
+++ b/modules/Admin/Language/pl/PodcastNavigation.php
@@ -0,0 +1,35 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'go_to_page' => '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 0000000000..1abb1409c5
--- /dev/null
+++ b/modules/Admin/Language/pl/Settings.php
@@ -0,0 +1,56 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'title' => '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 0000000000..97544f8d74
--- /dev/null
+++ b/modules/Admin/Language/pl/Soundbite.php
@@ -0,0 +1,31 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2021 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'list' => [
+        '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 0000000000..e2ff2b7a0f
--- /dev/null
+++ b/modules/Admin/Language/pl/User.php
@@ -0,0 +1,54 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'edit_roles' => '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 0000000000..a71b591349
--- /dev/null
+++ b/modules/Admin/Language/pl/Validation.php
@@ -0,0 +1,18 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'min_dims' =>
+        '{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 0000000000..6ff0975255
--- /dev/null
+++ b/modules/Admin/Language/pl/VideoClip.php
@@ -0,0 +1,72 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2021 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'list' => [
+        '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 0000000000..c07cedc032
--- /dev/null
+++ b/modules/Install/Language/pl/Install.php
@@ -0,0 +1,62 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright  2020 Ad Aures
+ * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
+ * @link       https://castopod.org/
+ */
+
+return [
+    'title' => '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.',
+    ],
+];
-- 
GitLab