diff --git a/web/public/static/langs/pl.json b/web/public/static/langs/pl.json
index 0967ef4..697de55 100644
--- a/web/public/static/langs/pl.json
+++ b/web/public/static/langs/pl.json
@@ -1 +1,191 @@
-{}
+{
+ "action_bar_send_test_notification": "Wyślij powiadomienie testowe",
+ "action_bar_clear_notifications": "Wyczyść powiadomienia",
+ "action_bar_toggle_mute": "Włączanie/wyłączanie wyciszania powiadomień",
+ "action_bar_toggle_action_menu": "Otwórz/zamknij menu działań",
+ "message_bar_type_message": "Wpisz wiadomość tutaj",
+ "message_bar_error_publishing": "Błąd przy wysyłaniu powiadomienia",
+ "message_bar_show_dialog": "Pokaż okno dialogowe publikacji",
+ "nav_button_all_notifications": "Wszystkie powiadomienia",
+ "nav_button_documentation": "Dokumentacja",
+ "nav_button_muted": "Powiadomienia wyciszone",
+ "alert_grant_title": "Powiadomienia są wyłączone",
+ "alert_grant_description": "Udziel przeglądarce pozwolenia na wyświetlanie powiadomień na pulpicie.",
+ "alert_grant_button": "Pozwól teraz",
+ "alert_not_supported_title": "Powiadomienia nie są obsługiwane",
+ "alert_not_supported_description": "Powiadomienia nie są obsługiwane przez Twoją przeglądarkę.",
+ "notifications_list": "Lista powiadomień",
+ "notifications_list_item": "Powiadomienie",
+ "notifications_mark_read": "Oznacz jako przeczytane",
+ "notifications_delete": "Usuń",
+ "notifications_copied_to_clipboard": "Skopiowano do schowka",
+ "notifications_tags": "Tagi",
+ "message_bar_publish": "Opublikuj powiadomienie",
+ "nav_topics_title": "Subskrybowane tematy",
+ "nav_button_settings": "Ustawienia",
+ "nav_button_publish_message": "Opublikuj powiadomienie",
+ "nav_button_subscribe": "Zasubskrybuj temat",
+ "nav_button_connecting": "łączenie",
+ "notifications_attachment_image": "Obraz załącznika",
+ "notifications_attachment_copy_url_button": "Kopiuj Adres URL",
+ "notifications_attachment_link_expires": "Łącze wygasa w dniu {{date}}",
+ "notifications_attachment_link_expired": "Łącze do pobrania wygasło",
+ "notifications_attachment_file_image": "plik graficzny",
+ "notifications_attachment_file_video": "plik wideo",
+ "notifications_attachment_file_audio": "plik audio",
+ "notifications_attachment_file_app": "plik aplikacji Android",
+ "notifications_attachment_file_document": "inny dokument",
+ "notifications_click_copy_url_title": "Skopiuj adres URL do schowka",
+ "notifications_click_open_button": "Otwórz łącze",
+ "notifications_actions_open_url_title": "Przejdź do {{url}}",
+ "notifications_actions_not_supported": "Ta akcja nie jest obsługiwana w aplikacji internetowej",
+ "notifications_actions_http_request_title": "Wyślij HTTP {{method}} do {{url}}",
+ "notifications_none_for_topic_title": "Nie otrzymałeś jeszcze żadnych powiadomień dla tego tematu.",
+ "notifications_none_for_any_description": "Aby wysłać powiadomienia do tematu, wyślij PUT/POST do adresu URL tematu. Oto przykład z jednym z twoich tematów.",
+ "notifications_no_subscriptions_title": "Wygląda na to, że nie masz jeszcze żadnych subskrypcji.",
+ "notifications_no_subscriptions_description": "Kliknij łącze \"{{linktext}}\", aby stworzyć lub zasubskrybować temat. Następnie możesz wysyłać wiadomości za pomocą PUT lub POST i otrzymywać powiadomienia tutaj.",
+ "notifications_example": "Przykład",
+ "notifications_loading": "Ładowanie powiadomień …",
+ "publish_dialog_title_topic": "Opublikuj do {{topic}}",
+ "publish_dialog_title_no_topic": "Opublikuj powiadomienie",
+ "publish_dialog_progress_uploading": "Przesyłanie …",
+ "publish_dialog_progress_uploading_detail": "Przesyłanie {{loaded}}/{{total}} ({{percent}}%) …",
+ "publish_dialog_message_published": "Powiadomienie wysłane",
+ "publish_dialog_attachment_limits_file_and_quota_reached": "przekracza limit rozmiaru pliku {{fileSizeLimit}}, pozostaje {{remainingBytes}}",
+ "publish_dialog_attachment_limits_file_reached": "przekracza limit rozmiaru pliku {{filesizeLimit}}",
+ "publish_dialog_attachment_limits_quota_reached": "przekracza limit, {{remainingBytes}} pozostało",
+ "publish_dialog_emoji_picker_show": "Wybierz emotkę",
+ "publish_dialog_priority_min": "Min. priorytet",
+ "publish_dialog_priority_low": "Niski priorytet",
+ "publish_dialog_base_url_label": "Adres URL usługi",
+ "publish_dialog_base_url_placeholder": "Adres URL usługi, np. https://example.com",
+ "publish_dialog_topic_label": "Nazwa tematu",
+ "publish_dialog_topic_placeholder": "Nazwa tematu, np. moje_alerty",
+ "publish_dialog_topic_reset": "Resetuj temat",
+ "publish_dialog_title_label": "Tytuł",
+ "publish_dialog_title_placeholder": "Tytuł notyfikacji, np. Niski poziom baterrii",
+ "publish_dialog_message_label": "Wiadomość",
+ "publish_dialog_message_placeholder": "Wpisz wiadomość tutaj",
+ "publish_dialog_tags_label": "Tagi",
+ "publish_dialog_tags_placeholder": "Lista tagów oddzielona przecinkami, np. ostrzeżenie, srv1-backup",
+ "publish_dialog_priority_label": "Priorytet",
+ "publish_dialog_click_label": "Kliknij Adres URL",
+ "publish_dialog_click_placeholder": "Adres URL, który ma być otwarty po kliknięciu na powiadomienie",
+ "publish_dialog_click_reset": "Usuń adres URL kliknięcia",
+ "publish_dialog_email_label": "Email",
+ "publish_dialog_email_placeholder": "Adres, na który ma być wysłane powiadomienie, np. phil@example.com",
+ "publish_dialog_email_reset": "Usuń przekazywanie wiadomości email",
+ "publish_dialog_attach_label": "Adres URL załącznika",
+ "publish_dialog_attach_placeholder": "Dołączenie pliku z adresu URL, np. https://f-droid.org/F-Droid.apk",
+ "publish_dialog_attach_reset": "Usuń adres URL załącznika",
+ "publish_dialog_filename_label": "Nazwa pliku",
+ "publish_dialog_filename_placeholder": "Nazwa pliku załącznika",
+ "publish_dialog_delay_label": "Opóźnienie",
+ "publish_dialog_delay_reset": "Usuń opóźnione dostarczenie",
+ "publish_dialog_other_features": "Inne funkcje:",
+ "publish_dialog_chip_click_label": "Adres URL kliknięcia",
+ "publish_dialog_chip_email_label": "Przekaż na email",
+ "publish_dialog_chip_attach_url_label": "Dołącz plik z adresu URL",
+ "publish_dialog_chip_attach_file_label": "Dołącz plik lokalny",
+ "publish_dialog_chip_delay_label": "Opóźnienie dostawy",
+ "publish_dialog_chip_topic_label": "Zmień temat",
+ "publish_dialog_details_examples_description": "Przykłady i szczegółowe informacje na temat wszystkich opcji można znaleźć w dokumentacji.",
+ "publish_dialog_button_cancel_sending": "Anuluj wysyłanie",
+ "publish_dialog_button_send": "Wyślij",
+ "publish_dialog_checkbox_publish_another": "Wyślij kolejną wiadomość",
+ "publish_dialog_attached_file_title": "Załączony plik:",
+ "publish_dialog_attached_file_filename_placeholder": "Nazwa pliku załącznika",
+ "publish_dialog_drop_file_here": "Upuść plik tutaj",
+ "emoji_picker_search_placeholder": "Szukaj emotki",
+ "emoji_picker_search_clear": "Wyczyść wyszukiwanie",
+ "subscribe_dialog_subscribe_title": "Zasubskrybuj temat",
+ "subscribe_dialog_subscribe_topic_placeholder": "Nazwa tematu, np. moje_alerty",
+ "subscribe_dialog_subscribe_use_another_label": "Użyj innego serwera",
+ "subscribe_dialog_subscribe_base_url_label": "Adres URL usługi",
+ "subscribe_dialog_subscribe_button_cancel": "Anuluj",
+ "subscribe_dialog_login_description": "Ten temat jest chroniony hasłem. Proszę podać nazwę użytkownika i hasło, aby zasubskrybować.",
+ "subscribe_dialog_login_username_label": "Nazwa użytkownika, np. phil",
+ "subscribe_dialog_login_password_label": "Hasło",
+ "publish_dialog_button_cancel": "Anuluj",
+ "subscribe_dialog_login_button_back": "Powrót",
+ "subscribe_dialog_login_button_login": "Zaloguj się",
+ "subscribe_dialog_error_user_not_authorized": "Użytkownik {{username}} nie ma uprawnień",
+ "subscribe_dialog_error_user_anonymous": "anonim",
+ "prefs_notifications_title": "Powiadomienia",
+ "prefs_notifications_sound_title": "Dźwięk powiadomienia",
+ "prefs_notifications_sound_description_none": "Brak dźwięku po otrzymaniu powiadomienia",
+ "prefs_notifications_sound_description_some": "Odtwarzaj dźwięk {{sound}}, gdy nadejdzie powiadomienie",
+ "prefs_notifications_sound_play": "Odtwórz wybrany dźwięk",
+ "prefs_notifications_min_priority_title": "Minimalny priorytet",
+ "prefs_notifications_min_priority_description_any": "Pokaż wszystkie powiadomienia, niezależnie od priorytetu",
+ "prefs_notifications_min_priority_description_x_or_higher": "Pokazuj powiadomienia, gdy ich priorytet to {{number}} ({{name}}) lub wyższy",
+ "prefs_notifications_min_priority_description_max": "Pokaż powiadomienia, jeśli priorytet wynosi 5 (max)",
+ "prefs_notifications_min_priority_any": "Dowolny priorytet",
+ "prefs_notifications_min_priority_low_and_higher": "Niski priorytet i wyższy",
+ "prefs_notifications_min_priority_default_and_higher": "Priorytet standardowy i wyższy",
+ "prefs_notifications_min_priority_high_and_higher": "Wysoki priorytet i wyższy",
+ "prefs_notifications_delete_after_one_day": "Po jednym dniu",
+ "prefs_notifications_delete_after_one_week": "Po tygodniu",
+ "prefs_notifications_delete_after_one_month": "Po miesiącu",
+ "prefs_notifications_delete_after_never_description": "Powiadomienia nigdy nie są automatycznie usuwane",
+ "prefs_notifications_delete_after_three_hours_description": "Powiadomienia są automatycznie usuwane po trzech godzinach",
+ "prefs_notifications_delete_after_one_day_description": "Powiadomienia są automatycznie usuwane po jednym dniu",
+ "prefs_notifications_delete_after_one_month_description": "Powiadomienia są automatycznie usuwane po upływie jednego miesiąca",
+ "prefs_notifications_delete_after_one_week_description": "Powiadomienia są automatycznie usuwane po upływie jedego tygodnia",
+ "prefs_users_title": "Zarządzaj użytkownikami",
+ "prefs_users_description": "Dodaj/usuń użytkowników dla tematów chronionych hasłem. Uwaga: Nazwa użytkownika i hasło są przechowywane w lokalnej pamięci przeglądarki.",
+ "prefs_users_table": "Tabela użytkowników",
+ "prefs_users_add_button": "Dodaj użytkownika",
+ "notifications_attachment_open_button": "Otwórz załącznik",
+ "prefs_users_edit_button": "Edytuj użytkownika",
+ "prefs_users_delete_button": "Usuń użytkownika",
+ "prefs_users_table_base_url_header": "Adres URL usługi",
+ "prefs_users_dialog_title_add": "Dodaj użytkownika",
+ "prefs_users_dialog_button_cancel": "Anuluj",
+ "prefs_users_dialog_button_add": "Dodaj",
+ "prefs_users_dialog_button_save": "Zapisz",
+ "prefs_appearance_title": "Wygląd",
+ "prefs_appearance_language_title": "Język",
+ "error_boundary_title": "Oh nie, ntfy przestało działać",
+ "error_boundary_description": "Oczywiście, to nie miało się wydarzyć. Bardzo przepraszam za to.
Jeśli masz minutę, proszę zgłoś to na GitHubie, albo daj nam znać przez Discord lub Matrix.",
+ "error_boundary_button_copy_stack_trace": "Kopiuj stack trace",
+ "error_boundary_stack_trace": "Stack trace",
+ "error_boundary_gathering_info": "Zbierz więcej informacji …",
+ "error_boundary_unsupported_indexeddb_title": "Prywatne karty przeglądarki nie są obsługiwane",
+ "action_bar_show_menu": "Pokaż menu",
+ "action_bar_logo_alt": "ntfy logo",
+ "action_bar_unsubscribe": "Zrezygnuj z subskrypcji",
+ "notifications_attachment_copy_url_title": "Kopiuj adres URL załącznika do schowka",
+ "action_bar_settings": "Ustawienia",
+ "notifications_priority_x": "Priorytet {{priority}}",
+ "notifications_new_indicator": "Nowe powiadomienie",
+ "notifications_attachment_open_title": "Przejdź do {{url}}",
+ "notifications_click_copy_url_button": "Skopiuj łącze",
+ "notifications_none_for_topic_description": "Aby wysłać powiadomienia do tego tematu, wyślij PUT lub POST-Request na adres URL tematu.",
+ "notifications_none_for_any_title": "Nie otrzymałeś żadnych powiadomień.",
+ "notifications_more_details": "Bardziej szczegółowe informacje można znaleźć na stronie internetowej oraz w dokumentacji.",
+ "publish_dialog_priority_default": "Domyślny priorytet",
+ "publish_dialog_priority_max": "Max. priorytet",
+ "publish_dialog_priority_high": "Wysoki priorytet",
+ "publish_dialog_delay_placeholder": "Opóźnienie dostarczenie, np.{{unixTimestamp}}, {{relativeTime}}, lub \"{{naturalLanguage}}\" (tylko w języku angielskim)",
+ "subscribe_dialog_subscribe_button_subscribe": "Subskrybuj",
+ "prefs_users_table_user_header": "Użytkownik",
+ "publish_dialog_attached_file_remove": "Usuń załączony plik",
+ "subscribe_dialog_subscribe_description": "Tematy nie mogą być chronione hasłem, więc wybierz trudną do odgadnięcia nazwę. Po zasubskrybowaniu możesz wysyłać powiadomienia poprzez POST/PUT.",
+ "subscribe_dialog_login_title": "Wymagane jest zalogowanie się",
+ "prefs_notifications_delete_after_title": "Usuń powiadomienia",
+ "prefs_users_dialog_password_label": "Hasło",
+ "priority_low": "niski",
+ "priority_default": "podstawowy",
+ "priority_max": "maksymalny",
+ "prefs_notifications_delete_after_three_hours": "Po trzech godzinach",
+ "prefs_users_dialog_base_url_label": "Adres URL usługi, np. https://ntfy.sh",
+ "prefs_notifications_sound_no_sound": "Bez dzwięku",
+ "prefs_users_dialog_username_label": "Nazwa użytkownika, np. phil",
+ "priority_high": "wysoki",
+ "prefs_notifications_min_priority_max_only": "Tylko maksymalny priorytet",
+ "prefs_notifications_delete_after_never": "Nigdy",
+ "prefs_users_dialog_title_edit": "Edytuj użytkownika",
+ "priority_min": "minimum",
+ "error_boundary_unsupported_indexeddb_description": "Aplikacja ntfy potrzebuje IndexedDB, aby działać poprawnie, a Twoja przeglądarka nie obsługuje IndexedDB w prywatnych zakładkach.
To denerwujące, ale używanie ntfy w prywatnej zakładce nie ma sensu, ponieważ wszystkie dane są przechowywane w przeglądarce. Więcej informacji można uzyskać w tym wydaniu GitHub, lub na czacie w Discord lub Matrix."
+}