diff --git a/Telegram/Resources/langs/rewrites/pl.json b/Telegram/Resources/langs/rewrites/pl.json
new file mode 100644
index 000000000..7a10c7c96
--- /dev/null
+++ b/Telegram/Resources/langs/rewrites/pl.json
@@ -0,0 +1,176 @@
+// This file is used to override translation in Kotatogram.
+// Please note that changes here won't be saved, because
+// this file is bundled into application.
+// Suggest any new translations or edits for existing here:
+// https://github.com/kotatogram/kotatogram-desktop/issues
+
+{
+ "ktg_intro_about": "Witamy w nieoficjalnym komunikatorze\nbazującym na Telegram Desktop.",
+ "ktg_about_text1": "Eksperymentalna, nieoficjalna wersja {tdesktop_link}.",
+ "ktg_about_text1_tdesktop": "Telegram Desktop",
+ "ktg_about_text3": "Odwiedź {channel_link} lub {faq_link}, by uzyskać więcej informacji.",
+ "ktg_about_text3_channel": "Kanał Kotatogram",
+ "ktg_new_version": "Kotatogram Desktop został zaktualizowany do wersji {version} (TD {td_version})\n\nPełna historia wersji dostępna jest tutaj:\n{link}",
+ "ktg_open_from_tray": "Otwórz Kotatogram",
+ "ktg_quit_from_tray": "Zamknij Kotatogram",
+ "ktg_tray_icon_text": "Kotatogram nadal działa.\nJeśli nie widzisz ikony w obszarze\npowiadomień, możesz przeciągnąć\nją tu z obszaru ikon ukrytych.",
+ "ktg_error_start_minimized_passcoded": "Ustawiono lokalny kod dostępu, więc Kotatogram Desktop nie można uruchomić zminimalizowanego. Przed rozpoczęciem działania aplikacja poprosi o wprowadzenie twojego kodu dostępu.",
+ "ktg_proxy_unsupported": "Twoja wersja Kotatogram Desktop nie obsługuje tego typu serwera proxy lub link do serwera proxy jest nieprawidłowy. Zaktualizuj Kotatogram Desktop do najnowszej wersji.",
+ "ktg_update_telegram": "Aktualizuj Kotatogram",
+ "ktg_settings_auto_start": "Uruchamiaj Kotatogram przy starcie systemu",
+ "ktg_settings_add_sendto": "Pokaż Kotatogram w menu «Wyślij do»",
+ "ktg_theme_no_desktop": "Ten motyw nie zawiera wersji dla Kotatogram Desktop.",
+ "ktg_download_path_default_radio": "Folder Kotatogram w systemowym «Pobrane»",
+ "ktg_passcode_about": "Po skonfigurowaniu lokalnego kodu dostępu na górze listy czatów pojawi się ikona kłódki. Kliknij ją, aby zablokować Kotatogram Desktop.\n\nUwaga! Jeśli zapomnisz lokalny kod dostępu, trzeba będzie wylogować się z Kotatogram Desktop i zalogować ponownie.",
+ "ktg_message_unsupported": "Ta wiadomość nie jest obsługiwana w twojej wersji Kotatogram Desktop. Zaktualizuj aplikację do najnowszej wersji przechodząc do Ustawienia » Zaawansowane lub zainstaluj z {link}",
+ "ktg_bot_share_location_unavailable": "Udostępnianie lokalizacji jest obecnie niedostępne w Kotatogram Desktop.",
+ "ktg_theme_editor_need_unlock": "Aby zapisać swój motyw, musisz odblokować Kotatogram.",
+ "ktg_payments_not_supported": "Kotatogram Desktop jeszcze nie obsługuje płatności. Aby zapłacić, proszę skorzystać z jednej z naszych aplikacji mobilnych.",
+ "ktg_no_mic_permission": "Aby wykonywać połączenia i nagrywać wiadomości głosowe, Kotatogram musi mieć dostęp do mikrofonu.",
+ "ktg_passport_app_out_of_date": "Twoja aplikacja Kotatogram jest nieaktualna i nie może obsłużyć tego żądania. Zaktualizuj Kotatogram.",
+ "ktg_export_progress": "Możesz teraz zamknąć to okno. Nie należy opuszczać Kotatograma, dopóki eksport danych nie zostanie zakończony.",
+ "ktg_language_not_ready_about": "Niestety, ten własny pakiet językowy ({lang_name}) nie zawiera danych dla Kotatograma Desktop. Możesz przyczynić się do powstania tego pakietu językowego, korzystając z {link}.",
+ "ktg_outdated_soon": "W przeciwnym razie Kotatogram Desktop przestanie się aktualizować z dniem {date}.",
+ "ktg_outdated_now": "Aby Kotatogram Desktop mógł być aktualizowany do nowszych wersji.",
+ "ktg_mac_menu_show": "Pokaż Kotatograma",
+ "ktg_settings_kotato": "Ustawienia Kotatogram",
+ "ktg_user_status_unaccessible": "konto niedostępne",
+ "ktg_settings_show_json_settings": "Pokaż plik ustawień",
+ "ktg_settings_restart": "Zrestartuj Kotatogram",
+ "ktg_copy_btn_callback": "Kopiuj dane oddzwonienia",
+ "ktg_pinned_message_show": "Pokaż przypiętą wiadomość",
+ "ktg_pinned_message_hide": "Ukryj przypiętą wiadomość",
+ "ktg_settings_chats": "Czaty",
+ "ktg_settings_sticker_height": "Wysokość naklejki: {pixels}px",
+ "ktg_settings_sticker_scale_both": "Zastosuj do szerokości naklejki",
+ "ktg_settings_sticker_scale_both_about": "Po włączeniu maksymalna szerokość naklejki zostanie zmieniona wraz z wysokością naklejki.",
+ "ktg_settings_emoji_outline": "Kontur dużych emoji",
+ "ktg_settings_disable_up_edit": "Wyłącz edycję klawiszem ▲",
+ "ktg_settings_always_show_scheduled": "Zawsze pokazuj „Zaplanowane”",
+ "ktg_settings_chat_list_compact": "Kompaktowa lista czatów",
+ "ktg_fonts_title": "Czcionki",
+ "ktg_settings_fonts": "Zmień czcionkę aplikacji",
+ "ktg_fonts_reset": "Resetuj",
+ "ktg_fonts_about": "Aby zastosować i zobaczyć zmiany, musisz ponownie uruchomić aplikację.",
+ "ktg_fonts_main": "Główna czcionka",
+ "ktg_fonts_semibold": "Czcionka pół pogrubiona",
+ "ktg_fonts_semibold_is_bold": "Pogrubiona czcionka",
+ "ktg_fonts_monospaced": "Czcionka o stałej szerokości",
+ "ktg_fonts_use_system_font": "Użyj czcionki systemowej",
+ "ktg_fonts_use_original_metrics": "Użyj wysokiej Open Sans",
+ "ktg_settings_network": "Sieć",
+ "ktg_settings_net_speed_boost": "Zwiększenie prędkości wysyłania",
+ "ktg_net_speed_boost_title": "Zwiększenie prędkości wysyłania",
+ "ktg_net_speed_boost_desc": "Ostrzeżenie: zmiana tego parametru na wysokie wartości w wolnych sieciach może jeszcze bardziej pogorszyć sytuację. Używaj go na własne ryzyko.\n\nAby zapisać zmiany musisz ponownie uruchomić aplikację.",
+ "ktg_net_speed_boost_default": "Wyłączone",
+ "ktg_net_speed_boost_slight": "Niewielkie",
+ "ktg_net_speed_boost_medium": "Średnie",
+ "ktg_net_speed_boost_big": "Duże",
+ "ktg_settings_system": "System",
+ "ktg_settings_use_native_decorations": "Natywne dekoracje okna",
+ "ktg_settings_other": "Inne",
+ "ktg_profile_copy_id": "Kopiuj ID",
+ "ktg_profile_bot_id": "ID Bota",
+ "ktg_profile_user_id": "ID użytkownika",
+ "ktg_profile_group_id": "ID grupy",
+ "ktg_profile_supergroup_id": "ID supergrupy",
+ "ktg_profile_channel_id": "ID kanału",
+ "ktg_settings_show_phone_number": "Wyświetl telefon w głównym menu",
+ "ktg_settings_call_confirm": "Potwierdzenie przed zadzwonieniem",
+ "ktg_call_sure": "Czy na pewno chcesz zadzwonić do tego użytkownika?",
+ "ktg_call_button": "Zadzwoń",
+ "ktg_settings_adaptive_bubbles": "Adaptacyjne dymki",
+ "ktg_settings_disable_sound_from_tray": "Wyłącz dźwięk",
+ "ktg_settings_enable_sound_from_tray": "Włącz dźwięk",
+ "ktg_settings_recent_stickers_limit": {
+ "one": "Ostatnie naklejki: pokaż {count} naklejkę",
+ "few": "Ostatnie naklejki: pokaż {count} naklejki",
+ "many": "Ostatnie naklejki: pokaż {count} naklejek",
+ "other": "Ostatnie naklejki: pokaż {count} naklejki"
+ },
+ "ktg_settings_recent_stickers_limit_none": "Ostatnie naklejki: ukryj wszystkie",
+ "ktg_filters_default": "Domyślny folder",
+ "ktg_filters_context_edit_all": "Edytuj foldery",
+ "ktg_filters_context_make_default": "Ustaw folder jako domyślny",
+ "ktg_filters_context_reset_default": "Zresetuj domyślny folder",
+ "ktg_settings_filters": "Foldery",
+ "ktg_settings_filters_only_unmuted_counter": "Nie zliczaj wyciszonych czatów",
+ "ktg_settings_filters_hide_edit": "Ukryj przycisk „Edytuj”",
+ "ktg_settings_filters_hide_folder_names": "Kompaktowe foldery",
+ "ktg_settings_top_bar_mute": "Przycisk „Wycisz” w górnym pasku profilu",
+ "ktg_settings_messages": "Wiadomości",
+ "ktg_settings_filters_hide_all": "Ukryj folder „Wszystkie”",
+ "ktg_hide_pinned_message": "Ukryj",
+ "ktg_stickers_copy_title": "Kopiuj nazwę",
+ "ktg_stickers_title_copied": "Nazwa pakietu naklejek została skopiowana do schowka.",
+ "ktg_context_show_messages_from": "Wiadomości użytkownika",
+ "ktg_settings_userpic_rounding": "Zaokrąglanie zdjęć profilowych",
+ "ktg_settings_userpic_rounding_none": "Kwadratowe",
+ "ktg_settings_userpic_rounding_small": "Małe",
+ "ktg_settings_userpic_rounding_big": "Duże",
+ "ktg_settings_userpic_rounding_full": "Okrągłe",
+ "ktg_settings_userpic_rounding_desc": "Aby zapisać zmiany musisz ponownie uruchomić aplikację.",
+ "ktg_settings_tray_icon": "Ikona w obszarze powiadomień",
+ "ktg_settings_tray_icon_default": "Domyślna",
+ "ktg_settings_tray_icon_blue": "Niebieska",
+ "ktg_settings_tray_icon_green": "Zielona",
+ "ktg_settings_tray_icon_orange": "Pomarańczowa",
+ "ktg_settings_tray_icon_red": "Czerwona",
+ "ktg_settings_tray_icon_legacy": "Dziedziczona",
+ "ktg_settings_tray_icon_desc": "Jeśli nie podoba ci się żadna z tych ikon, możesz umieścić icon.png w folderze profilu, ale musisz ponownie uruchomić aplikację, aby ją zobaczyć.\n\nIkony poniżej nie wymagają ponownego uruchomienia.",
+ "ktg_settings_disable_tray_counter": "Wyłącz licznik na ikonie",
+ "ktg_settings_use_telegram_panel_icon": "Poproś system o ikonę Telegrama",
+ "ktg_settings_chat_id": "ID czatu w profilu",
+ "ktg_settings_chat_id_desc": "Tutaj możesz wybrać żądany format.\n\nTelegram API używa identyfikatorów takimi, jakie są, ale Bot API dodaje na początku minus dla grup i -100 dla kanałów i super grup, aby dopasować je do jednego pola.\n\nJeśli masz otwarty panel profilu, otwórz go ponownie, aby zobaczyć zmiany.",
+ "ktg_settings_chat_id_disable": "Ukryj",
+ "ktg_settings_chat_id_telegram": "Telegram API",
+ "ktg_settings_chat_id_bot": "Bot API",
+ "ktg_message_id": "ID wiadomości: {id}",
+ "ktg_emoji_panel_hover": "Panel emoji po najechaniu myszką",
+ "ktg_local_storage_limit_days": {
+ "one": "{count} dzień",
+ "few": "{count} dni",
+ "many": "{count} dni",
+ "other": "{count} dnia"
+ },
+ "ktg_settings_monospace_large_bubbles": "Rozwiń dymki z czcionką o stałej szerości",
+ "ktg_bot_id_copied": "ID Bota skopiowane do schowka.",
+ "ktg_user_id_copied": "ID użytkownika skopiowane do schowka.",
+ "ktg_group_id_copied": "ID grupy skopiowane do schowka.",
+ "ktg_supergroup_id_copied": "ID supergrupy skopiowane do schowka.",
+ "ktg_channel_id_copied": "ID kanału skopiowane do schowka.",
+ "ktg_phone_copied": "Numer telefonu skopiowany do schowka.",
+ "ktg_mention_copied": "Nazwa użytkownika skopiowana do schowka.",
+ "ktg_status_mutual_contact": "wzajemny kontakt",
+ "ktg_status_contact": "kontakt",
+ "ktg_status_non_contact": "spoza kontaktów",
+ "ktg_supergroup_status": "super grupa",
+ "ktg_group_status_not_in": "nie jest członkiem",
+ "ktg_channel_status_not_in": "nie jest subskrybentem",
+ "ktg_group_status_owner": "jest właścicielem",
+ "ktg_group_status_admin": "jest administratorem",
+ "ktg_too_many_accounts_warning": "Ostrzeżenie! Używanie zbyt wielu kont w tym samym czasie nie jest zalecane ze względu na większe zużycie pamięci i możliwe z tego powodu awarie.\n\nNa pewno chcesz dodać nowe konto?",
+ "ktg_account_add_anyway": "Dodaj mimo to",
+ "ktg_media_selected_gif": {
+ "one": "{count} GIF",
+ "few": "{count} GIFy",
+ "many": "{count} GIFów",
+ "other": "{count} GIFa"
+ },
+ "ktg_media_type_gif": "GIFy",
+ "ktg_profile_gif": {
+ "one": "{count} GIF",
+ "few": "{count} GIFy",
+ "many": "{count} GIFów",
+ "other": "{count} GIFa"
+ },
+ "ktg_media_gif_empty": "Tu jeszcze nie ma GIFów",
+ "ktg_rights_chat_send_stickers": "Wyślij naklejki",
+ "ktg_rights_chat_send_gif": "Wyślij GIFy",
+ "ktg_rights_chat_send_games": "Wyślij gry",
+ "ktg_rights_chat_use_inline": "Użyj bota liniowego (inline)",
+ "ktg_admin_log_banned_send_stickers": "Wyślij naklejki",
+ "ktg_admin_log_banned_send_gif": "Wyślij GIFy",
+ "ktg_admin_log_banned_send_games": "Wyślij gry",
+ "ktg_admin_log_banned_use_inline": "Użyj bota liniowego (inline)"
+}
\ No newline at end of file
diff --git a/Telegram/Resources/qrc/telegram/telegram.qrc b/Telegram/Resources/qrc/telegram/telegram.qrc
index 572a1099c..2fb87f835 100644
--- a/Telegram/Resources/qrc/telegram/telegram.qrc
+++ b/Telegram/Resources/qrc/telegram/telegram.qrc
@@ -75,5 +75,6 @@
../../langs/rewrites/ru.json
../../langs/rewrites/uk.json
../../langs/rewrites/tr.json
+ ../../langs/rewrites/pl.json
diff --git a/Telegram/SourceFiles/lang/lang_instance.cpp b/Telegram/SourceFiles/lang/lang_instance.cpp
index 6889d44a6..4d0fc9bff 100644
--- a/Telegram/SourceFiles/lang/lang_instance.cpp
+++ b/Telegram/SourceFiles/lang/lang_instance.cpp
@@ -565,7 +565,7 @@ QString Instance::jsonLangDir() {
void Instance::fillDefaultJson() {
if (!QDir().exists(jsonLangDir())) QDir().mkpath(jsonLangDir());
- for (const auto language : { "ru", "uk", "tr" }) {
+ for (const auto language : { "ru", "uk", "tr", "pl" }) {
const auto path = jsonLangDir() + language + ".default.json";
const auto pathRaw = jsonLangDir() + language + "-raw.default.json";
auto input = QFile(qsl(":/ktg_lang/%1.json").arg(language));