Add Polish Localization

This commit is contained in:
Marcin Maj
2025-08-07 23:46:21 +02:00
parent 9a469196c2
commit e2af198a8e
6 changed files with 124 additions and 2 deletions

View File

@@ -196,6 +196,7 @@
Base, Base,
es, es,
it, it,
pl,
); );
mainGroup = 4EB3C74F2D96631A00C1B22C; mainGroup = 4EB3C74F2D96631A00C1B22C;
minimizedProjectReferenceProxies = 1; minimizedProjectReferenceProxies = 1;

View File

@@ -983,7 +983,7 @@ class LanguageManager: ObservableObject {
@Published var currentLanguage: String = Locale.current.languageCode ?? "en" @Published var currentLanguage: String = Locale.current.languageCode ?? "en"
private let supportedLanguages = ["en", "es", "it"] private let supportedLanguages = ["en", "es", "it", "pl"]
func updateLanguage(to languageCode: String) { func updateLanguage(to languageCode: String) {
if supportedLanguages.contains(languageCode) { if supportedLanguages.contains(languageCode) {
@@ -1000,4 +1000,4 @@ class LanguageManager: ObservableObject {
#Preview { #Preview {
ContentView() ContentView()
} }

View File

@@ -41,6 +41,7 @@
"english" = "English"; "english" = "English";
"spanish" = "Spanish"; "spanish" = "Spanish";
"italian" = "Italian"; "italian" = "Italian";
"polish" = "Polish";
"settings" = "Settings"; "settings" = "Settings";
"done" = "Done"; "done" = "Done";

View File

@@ -41,6 +41,7 @@
"english" = "Inglés"; "english" = "Inglés";
"spanish" = "Español"; "spanish" = "Español";
"italian" = "Italiano"; "italian" = "Italiano";
"polish" = "Polish";
"settings" = "Configuración"; "settings" = "Configuración";
"done" = "Hecho"; "done" = "Hecho";

View File

@@ -41,6 +41,7 @@
"english" = "Inglese"; "english" = "Inglese";
"spanish" = "Spagnolo"; "spanish" = "Spagnolo";
"italian" = "Italiano"; "italian" = "Italiano";
"polish" = "Polish";
"settings" = "Impostazioni"; "settings" = "Impostazioni";
"done" = "Fine"; "done" = "Fine";

View File

@@ -0,0 +1,118 @@
/* MARK: Start Screen */
"disconnected" = "Rozłączony";
"connecting" = "Łączenie";
"connected" = "Połączony";
"disconnecting" = "Rozłączanie";
"error" = "Błąd";
"local_tunnel_active" = "Lokalny tunel aktywny";
"local_tunnel_inactive" = "Lokalny tunel nieaktywny";
"connect" = "Połącz";
"disconnect" = "Rozłącz";
"connecting_ellipsis" = "Łączenie...";
"disconnecting_ellipsis" = "Rozłączanie...";
"server_address_name" = "Lokalny tunel StosVPN";
"local_tunnel_details" = "Szczegóły tunelu";
"time_connected" = "Czas połączenia";
"status" = "Status";
"active" = "Aktywny";
"network_interface" = "Interfejs sieciowy";
"local" = "Lokalny";
"assigned_ip" = "Przydzielony IP";
/* MARK: Settings */
"connection_settings" = "Ustawienia połączenia";
"auto_connect_on_launch" = "Automatyczne łączenie przy uruchomieniu";
"connection_logs" = "Logi połączenia";
"network_configuration" = "Konfiguracja sieci";
"device_ip" = "IP urządzenia";
"tunnel_ip" = "IP tunelu";
"subnet_mask" = "Maska podsieci";
"app_information" = "Informacje o aplikacji";
"privacy_policy" = "Polityka prywatności";
"data_collection_policy" = "Polityka zbierania danych";
"app_version" = "Wersja aplikacji";
"help_and_support" = "Pomoc i wsparcie";
"language" = "Język";
"english" = "Angielski";
"spanish" = "Hiszpański";
"italian" = "Włoski";
"polish" = "Polski";
"settings" = "Ustawienia";
"done" = "Gotowe";
"data_collection_policy_title" = "Polityka zbierania danych";
"no_data_collection" = "Brak zbierania danych";
"no_data_collection_description" = "StosVPN NIE zbiera danych użytkownika, informacji o ruchu ani aktywności w przeglądarce. Aplikacja tworzy lokalny tunel sieciowy, który działa wyłącznie na Twoim urządzeniu.";
"local_processing_only" = "Tylko lokalne przetwarzanie";
"local_processing_only_description" = "Cały ruch sieciowy i konfiguracje są przetwarzane lokalnie na Twoim urządzeniu. Żadne informacje nie opuszczają urządzenia ani nie są przesyłane przez Internet.";
"no_third_party_sharing" = "Brak udostępniania osobom trzecim";
"no_third_party_sharing_description" = "Ponieważ nie zbieramy danych, nie ma żadnego udostępniania osobom trzecim. Aplikacja nie zawiera analityki, śledzenia ani mechanizmów zbierania danych.";
"why_use_network_permissions" = "Dlaczego wymagane są uprawnienia sieciowe";
"why_use_network_permissions_description" = "StosVPN wymaga uprawnień rozszerzenia sieciowego, aby utworzyć lokalny interfejs sieciowy na Twoim urządzeniu. Jest on używany wyłącznie do lokalnego rozwoju i testowania.";
"our_promise" = "Nasza obietnica";
"our_promise_description" = "Zobowiązujemy się do ochrony prywatności i przejrzystości. Ta aplikacja została zaprojektowana z myślą o programistach do testowania i łączenia się z lokalnymi serwerami bez obaw o prywatność.";
"data_collection_policy_nav" = "Zbieranie danych";
"logs_nav" = "Logi";
"faq_header" = "Najczęściej zadawane pytania";
"faq_q1" = "Do czego służy ta aplikacja?";
"faq_q1_a1" = "StosVPN tworzy lokalny interfejs sieciowy do celów rozwojowych i testowych. Nie przekierowuje ruchu przez zewnętrzne serwery wszystko pozostaje na urządzeniu.";
"faq_common_use_cases" = "Typowe przypadki użycia:";
"faq_case1" = "• Testowanie aplikacji webowych z lokalnymi serwerami";
"faq_case2" = "• Tworzenie i debugowanie funkcji sieciowych";
"faq_case3" = "• Dostęp do lokalnych środowisk deweloperskich";
"faq_case4" = "• Testowanie aplikacji wymagających określonych konfiguracji sieciowych";
"faq_q2" = "Czy to tradycyjna sieć VPN?";
"faq_q2_a1" = "Nie, StosVPN NIE jest tradycyjną usługą VPN. NIE robi:";
"faq_q2_point1" = "• Przekierowywania ruchu przez zewnętrzne serwery";
"faq_q2_point2" = "• Zapewnienia prywatności lub anonimowości przeglądania";
"faq_q2_point3" = "• Łączenia z zewnętrznymi serwerami VPN";
"faq_q2_point4" = "• Szyfrowania lub przekierowywania Twojego ruchu internetowego";
"faq_q2_a2" = "StosVPN jedynie tworzy lokalny interfejs sieciowy, aby pomóc programistom łączyć się z lokalnymi usługami w celu rozwoju i testowania.";
"faq_q3" = "Dlaczego połączenie się nie udaje?";
"faq_q3_a1" = "Nieudane połączenia mogą wynikać z braku uprawnień systemowych, błędów konfiguracji lub ograniczeń iOS.";
"faq_troubleshoot_header" = "Kroki rozwiązywania problemów:";
"faq_troubleshoot1" = "• Upewnij się, że zatwierdziłeś uprawnienia rozszerzenia sieciowego";
"faq_troubleshoot2" = "• Spróbuj ponownie uruchomić aplikację";
"faq_troubleshoot3" = "• Sprawdź, czy konfiguracja IP jest prawidłowa";
"faq_troubleshoot4" = "• Uruchom ponownie urządzenie, jeśli problemy będą się powtarzać";
"faq_q4" = "Dla kogo jest ta aplikacja?";
"faq_q4_intro" = "StosVPN został zaprojektowany głównie dla:";
"faq_q4_case1" = "• Programistów testujących lokalne serwery webowe";
"faq_q4_case2" = "• Twórców aplikacji testujących funkcje sieciowe";
"faq_q4_case3" = "• Inżynierów QA testujących aplikacje w izolowanych środowiskach";
"faq_q4_case4" = "• Każdego, kto potrzebuje dostępu do lokalnych usług na iOS";
"faq_q4_conclusion" = "Aplikacja jest publicznie dostępna i przydatna dla deweloperów testujących aplikacje z funkcjami sieciowymi na iOS.";
"business_model_header" = "Model biznesowy";
"biz_q1" = "Jak działa StosVPN?";
"biz_q1_a1" = "StosVPN to całkowicie darmowa aplikacja dostępna publicznie. Nie ma żadnych płatnych funkcji, subskrypcji ani zakupów w aplikacji.";
"biz_key_points_header" = "Kluczowe cechy naszego modelu:";
"biz_point1" = "• Aplikacja nie jest powiązana z żadną firmą ani organizacją";
"biz_point2" = "• Każdy może pobrać i używać aplikacji z App Store";
"biz_point3" = "• Nie jest wymagane zakładanie konta";
"biz_point4" = "• Wszystkie funkcje są dostępne za darmo dla wszystkich użytkowników";
"biz_point5" = "• Aplikacja jest rozwijana i utrzymywana jako otwarte narzędzie dla społeczności iOS";
"app_info_header" = "Informacje o aplikacji";
"requires_ios" = "Wymaga iOS 14.0 lub nowszego";
"uses_network_extension" = "Wykorzystuje API Apple Network Extension";
"help_and_support_nav" = "Pomoc i wsparcie";
"setup_welcome_title" = "Witamy w StosVPN";
"setup_welcome_description" = "Prosty lokalny tunel sieciowy dla programistów";
"setup_welcome_details" = "StosVPN tworzy lokalny interfejs sieciowy do rozwoju, testowania i dostępu do lokalnych serwerów. Aplikacja NIE zbiera danych użytkownika ani nie przekierowuje ruchu przez zewnętrzne serwery.";
"setup_why_title" = "Dlaczego warto używać StosVPN?";
"setup_why_description" = "Idealny dla programistów iOS";
"setup_why_details" = "• Dostęp do lokalnych serwerów webowych i środowisk deweloperskich\n• Testowanie aplikacji wymagających określonych konfiguracji sieci\n• Łączenie z lokalnymi usługami sieciowymi bez skomplikowanej konfiguracji\n• Tworzenie izolowanych środowisk testowych";
"setup_easy_title" = "Łatwy w użyciu";
"setup_easy_description" = "Połączenie za pomocą jednego kliknięcia";
"setup_easy_details" = "StosVPN został zaprojektowany z myślą o prostocie. Wystarczy kliknąć przycisk połączenia, aby ustanowić lokalny tunel z gotową konfiguracją.";
"setup_privacy_title" = "Skoncentrowany na prywatności";
"setup_privacy_description" = "Twoje dane pozostają na urządzeniu";
"setup_privacy_details" = "StosVPN tworzy lokalny tunel, który nie przekierowuje ruchu przez zewnętrzne serwery. Cały ruch pozostaje na Twoim urządzeniu, zapewniając prywatność i bezpieczeństwo. Żadne dane nie są zbierane ani udostępniane osobom trzecim.";
"setup_nav" = "Konfiguracja";
"setup_get_started" = "Zaczynamy";
"setup_next" = "Dalej";
"setup_skip" = "Pomiń";