From 2688e1b981eb18bb274f49cb999d9b2796a764fc Mon Sep 17 00:00:00 2001 From: Ahmed Sbai <30757139+sbaiahmed1@users.noreply.github.com> Date: Sun, 16 Mar 2025 17:57:39 +0100 Subject: [PATCH] feat: add Polish translation and update language options (#608) --- i18n.ts | 3 + translations/pl.json | 477 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 480 insertions(+) create mode 100644 translations/pl.json diff --git a/i18n.ts b/i18n.ts index 7f35e575..806668c6 100644 --- a/i18n.ts +++ b/i18n.ts @@ -9,6 +9,7 @@ import it from "./translations/it.json"; import ja from "./translations/ja.json"; import tr from "./translations/tr.json"; import nl from "./translations/nl.json"; +import pl from "./translations/pl.json"; import sv from "./translations/sv.json"; import ua from "./translations/ua.json" import zhCN from './translations/zh-CN.json'; @@ -24,6 +25,7 @@ export const APP_LANGUAGES = [ { label: "日本語", value: "ja" }, { label: "Türkçe", value: "tr" }, { label: "Nederlands", value: "nl" }, + { label: 'Polski', value: 'pl' }, { label: "Svenska", value: "sv" }, { label: "Українська", value: "ua" }, { label: "简体中文", value: "zh-CN" }, @@ -40,6 +42,7 @@ i18n.use(initReactI18next).init({ it: { translation: it }, ja: { translation: ja }, nl: { translation: nl }, + pl: { translation: pl }, sv: { translation: sv }, tr: { translation: tr }, ua: { translation: ua }, diff --git a/translations/pl.json b/translations/pl.json new file mode 100644 index 00000000..0f6c31bd --- /dev/null +++ b/translations/pl.json @@ -0,0 +1,477 @@ +{ + "login": { + "username_required": "Nazwa użytkownika jest wymagana", + "error_title": "Błąd", + "login_title": "Zaloguj się", + "login_to_title": "Zaloguj się do", + "username_placeholder": "Nazwa użytkownika", + "password_placeholder": "Hasło", + "login_button": "Zaloguj się", + "quick_connect": "Szybkie połączenie", + "enter_code_to_login": "Wpisz kod {{code}}, aby się zalogować", + "failed_to_initiate_quick_connect": "Nie udało się zainicjować szybkiego połączenia", + "got_it": "Rozumiem", + "connection_failed": "Połączenie nieudane", + "could_not_connect_to_server": "Nie można połączyć się z serwerem. Sprawdź adres URL oraz połączenie sieciowe.", + "an_unexpected_error_occured": "Wystąpił nieoczekiwany błąd", + "change_server": "Zmień serwer", + "invalid_username_or_password": "Nieprawidłowa nazwa użytkownika lub hasło", + "user_does_not_have_permission_to_log_in": "Użytkownik nie ma uprawnień do logowania", + "server_is_taking_too_long_to_respond_try_again_later": "Serwer zbyt długo nie odpowiada – spróbuj ponownie później", + "server_received_too_many_requests_try_again_later": "Serwer otrzymał zbyt wiele żądań – spróbuj ponownie później.", + "there_is_a_server_error": "Wystąpił błąd serwera", + "an_unexpected_error_occured_did_you_enter_the_correct_url": "Wystąpił nieoczekiwany błąd. Czy wpisałeś poprawny adres URL?" + }, + "server": { + "enter_url_to_jellyfin_server": "Podaj adres URL serwera Jellyfin", + "server_url_placeholder": "http(s)://twoj-serwer.com", + "connect_button": "Połącz", + "previous_servers": "Poprzednie serwery", + "clear_button": "Wyczyść", + "search_for_local_servers": "Wyszukaj lokalne serwery", + "searching": "Wyszukiwanie...", + "servers": "Serwery" + }, + "home": { + "no_internet": "Brak Internetu", + "no_items": "Brak elementów", + "no_internet_message": "Spokojnie, nadal możesz oglądać\npobrane treści.", + "go_to_downloads": "Przejdź do pobranych", + "oops": "Ups!", + "error_message": "Coś poszło nie tak.\nWyloguj się i zaloguj ponownie.", + "continue_watching": "Kontynuuj oglądanie", + "next_up": "Następne w kolejce", + "recently_added_in": "Ostatnio dodano w {{libraryName}}", + "suggested_movies": "Sugerowane filmy", + "suggested_episodes": "Sugerowane odcinki", + "intro": { + "welcome_to_streamyfin": "Witamy w Streamyfin", + "a_free_and_open_source_client_for_jellyfin": "Darmowy i otwartoźródłowy klient dla Jellyfin.", + "features_title": "Funkcje", + "features_description": "Streamyfin posiada wiele funkcji i integruje się z szeroką gamą oprogramowania (możesz je znaleźć w menu ustawień), w tym:", + "jellyseerr_feature_description": "Połącz się ze swoim serwerem Jellyseerr i zamawiaj filmy bezpośrednio w aplikacji.", + "downloads_feature_title": "Pobieranie", + "downloads_feature_description": "Pobieraj filmy oraz seriale do oglądania offline. Użyj domyślnej metody lub zainstaluj serwer do optymalizacji, aby pobierać pliki w tle.", + "chromecast_feature_description": "Przesyłaj filmy i seriale na urządzenia Chromecast.", + "centralised_settings_plugin_title": "Scentralizowana wtyczka ustawień", + "centralised_settings_plugin_description": "Konfiguruj ustawienia z jednego miejsca na serwerze Jellyfin. Wszystkie ustawienia klientów dla wszystkich użytkowników będą synchronizowane automatycznie.", + "done_button": "Gotowe", + "go_to_settings_button": "Przejdź do ustawień", + "read_more": "Czytaj więcej" + }, + "settings": { + "settings_title": "Ustawienia", + "log_out_button": "Wyloguj się", + "user_info": { + "user_info_title": "Informacje o użytkowniku", + "user": "Użytkownik", + "server": "Serwer", + "token": "Token", + "app_version": "Wersja aplikacji" + }, + "quick_connect": { + "quick_connect_title": "Szybkie połączenie", + "authorize_button": "Autoryzuj szybkie połączenie", + "enter_the_quick_connect_code": "Wpisz kod szybkiego połączenia...", + "success": "Sukces", + "quick_connect_autorized": "Szybkie połączenie autoryzowane", + "error": "Błąd", + "invalid_code": "Nieprawidłowy kod", + "authorize": "Autoryzuj" + }, + "media_controls": { + "media_controls_title": "Sterowanie multimediami", + "forward_skip_length": "Długość przewijania do przodu", + "rewind_length": "Długość przewijania do tyłu", + "seconds_unit": "s" + }, + "audio": { + "audio_title": "Audio", + "set_audio_track": "Ustaw ścieżkę audio z poprzedniego elementu", + "audio_language": "Język audio", + "audio_hint": "Wybierz domyślny język audio.", + "none": "Brak", + "language": "Język" + }, + "subtitles": { + "subtitle_title": "Napisy", + "subtitle_language": "Język napisów", + "subtitle_mode": "Tryb napisów", + "set_subtitle_track": "Ustaw ścieżkę napisów z poprzedniego elementu", + "subtitle_size": "Rozmiar napisów", + "subtitle_hint": "Skonfiguruj preferencje dotyczące napisów.", + "none": "Brak", + "language": "Język", + "loading": "Ładowanie", + "modes": { + "Default": "Domyślny", + "Smart": "Inteligentny", + "Always": "Zawsze", + "None": "Brak", + "OnlyForced": "Tylko wymuszone" + } + }, + "other": { + "other_title": "Inne", + "follow_device_orientation": "Podążaj za orientacją urządzenia", + "video_orientation": "Orientacja wideo", + "orientation": "Orientacja", + "orientations": { + "DEFAULT": "Domyślna", + "ALL": "Wszystkie", + "PORTRAIT": "Pionowa", + "PORTRAIT_UP": "Pionowa w górę", + "PORTRAIT_DOWN": "Pionowa w dół", + "LANDSCAPE": "Pozioma", + "LANDSCAPE_LEFT": "Pozioma w lewo", + "LANDSCAPE_RIGHT": "Pozioma w prawo", + "OTHER": "Inna", + "UNKNOWN": "Nieznana" + }, + "safe_area_in_controls": "Bezpieczny obszar w kontrolkach", + "video_player": "Odtwarzacz wideo", + "video_players": { + "VLC_3": "VLC 3", + "VLC_4": "VLC 4 (Eksperymentalny + PiP)" + }, + "show_custom_menu_links": "Pokaż niestandardowe odnośniki w menu", + "hide_libraries": "Ukryj biblioteki", + "select_liraries_you_want_to_hide": "Wybierz biblioteki, które chcesz ukryć na karcie Biblioteka i w sekcjach strony głównej.", + "disable_haptic_feedback": "Wyłącz wibracje", + "default_quality": "Domyślna jakość" + }, + "downloads": { + "downloads_title": "Pobieranie", + "download_method": "Metoda pobierania", + "remux_max_download": "Maksymalne pobieranie remux", + "auto_download": "Automatyczne pobieranie", + "optimized_versions_server": "Serwer zoptymalizowanych wersji", + "save_button": "Zapisz", + "optimized_server": "Serwer zoptymalizowany", + "optimized": "Zoptymalizowany", + "default": "Domyślny", + "optimized_version_hint": "Podaj adres URL dla serwera optymalizującego. Adres powinien zawierać http lub https oraz opcjonalnie port.", + "read_more_about_optimized_server": "Dowiedz się więcej o serwerze optymalizującym.", + "url": "URL", + "server_url_placeholder": "http(s)://domena.org:port" + }, + "plugins": { + "plugins_title": "Wtyczki", + "jellyseerr": { + "jellyseerr_warning": "Ta integracja jest na wczesnym etapie. Należy oczekiwać zmian.", + "server_url": "URL serwera", + "server_url_hint": "Przykład: http(s)://twoja-nazwa.url\n(dodaj port, jeśli jest wymagany)", + "server_url_placeholder": "Adres URL Jellyseerr...", + "password": "Hasło", + "password_placeholder": "Wpisz hasło użytkownika Jellyfin {{username}}", + "save_button": "Zapisz", + "clear_button": "Wyczyść", + "login_button": "Zaloguj", + "total_media_requests": "Łączna liczba próśb o media", + "movie_quota_limit": "Limit zapytań o filmy", + "movie_quota_days": "Okres limitu (dni) dla filmów", + "tv_quota_limit": "Limit zapytań o seriale", + "tv_quota_days": "Okres limitu (dni) dla seriali", + "reset_jellyseerr_config_button": "Resetuj konfigurację Jellyseerr", + "unlimited": "Bez limitu", + "plus_n_more": "+{{n}} więcej", + "order_by": { + "DEFAULT": "Domyślny", + "VOTE_COUNT_AND_AVERAGE": "Liczba głosów i średnia", + "POPULARITY": "Popularność" + } + }, + "marlin_search": { + "enable_marlin_search": "Włącz wyszukiwanie Marlin", + "url": "URL", + "server_url_placeholder": "http(s)://domena.org:port", + "marlin_search_hint": "Podaj adres URL serwera Marlin. Adres powinien zawierać http lub https oraz opcjonalnie port.", + "read_more_about_marlin": "Dowiedz się więcej o Marlin.", + "save_button": "Zapisz", + "toasts": { + "saved": "Zapisano" + } + } + }, + "storage": { + "storage_title": "Pamięć", + "app_usage": "Aplikacja {{usedSpace}}%", + "device_usage": "Urządzenie {{availableSpace}}%", + "size_used": "{{used}} z {{total}} wykorzystane", + "delete_all_downloaded_files": "Usuń wszystkie pobrane pliki" + }, + "intro": { + "show_intro": "Pokaż wprowadzenie", + "reset_intro": "Zresetuj wprowadzenie" + }, + "logs": { + "logs_title": "Logi", + "no_logs_available": "Brak dostępnych logów", + "delete_all_logs": "Usuń wszystkie logi" + }, + "languages": { + "title": "Języki", + "app_language": "Język aplikacji", + "app_language_description": "Wybierz język aplikacji.", + "system": "System" + }, + "toasts": { + "error_deleting_files": "Błąd podczas usuwania plików", + "background_downloads_enabled": "Pobieranie w tle włączone", + "background_downloads_disabled": "Pobieranie w tle wyłączone", + "connected": "Połączono", + "could_not_connect": "Nie udało się połączyć", + "invalid_url": "Nieprawidłowy URL" + } + }, + "sessions": { + "title": "Sesje", + "no_active_sessions": "Brak aktywnych sesji" + }, + "downloads": { + "downloads_title": "Pobrane", + "tvseries": "Seriale", + "movies": "Filmy", + "queue": "Kolejka", + "queue_hint": "Kolejka i pobierania zostaną utracone po ponownym uruchomieniu aplikacji", + "no_items_in_queue": "Brak elementów w kolejce", + "no_downloaded_items": "Brak pobranych elementów", + "delete_all_movies_button": "Usuń wszystkie filmy", + "delete_all_tvseries_button": "Usuń wszystkie seriale", + "delete_all_button": "Usuń wszystko", + "active_download": "Aktywne pobieranie", + "no_active_downloads": "Brak aktywnych pobrań", + "active_downloads": "Aktywne pobrania", + "new_app_version_requires_re_download": "Nowa wersja aplikacji wymaga ponownego pobrania", + "new_app_version_requires_re_download_description": "Nowa aktualizacja wymaga ponownego pobrania treści. Usuń wszystkie pobrane materiały i spróbuj ponownie.", + "back": "Wstecz", + "delete": "Usuń", + "something_went_wrong": "Coś poszło nie tak", + "could_not_get_stream_url_from_jellyfin": "Nie udało się pobrać URL transmisji z Jellyfin", + "eta": "Szacowany czas: {{eta}}", + "methods": "Metody", + "toasts": { + "you_are_not_allowed_to_download_files": "Nie masz uprawnień do pobierania plików.", + "deleted_all_movies_successfully": "Wszystkie filmy zostały pomyślnie usunięte!", + "failed_to_delete_all_movies": "Nie udało się usunąć wszystkich filmów", + "deleted_all_tvseries_successfully": "Wszystkie seriale zostały pomyślnie usunięte!", + "failed_to_delete_all_tvseries": "Nie udało się usunąć wszystkich seriali", + "download_cancelled": "Pobieranie anulowane", + "could_not_cancel_download": "Nie udało się anulować pobierania", + "download_completed": "Pobieranie zakończone", + "download_started_for": "Rozpoczęto pobieranie: {{item}}", + "item_is_ready_to_be_downloaded": "{{item}} jest gotowe do pobrania", + "download_stated_for_item": "Rozpoczęto pobieranie: {{item}}", + "download_failed_for_item": "Pobieranie nie powiodło się dla {{item}} – {{error}}", + "download_completed_for_item": "Zakończono pobieranie: {{item}}", + "queued_item_for_optimization": "Dodano do kolejki optymalizacji: {{item}}", + "failed_to_start_download_for_item": "Nie udało się rozpocząć pobierania: {{item}}: {{message}}", + "server_responded_with_status_code": "Serwer zwrócił status {{statusCode}}", + "no_response_received_from_server": "Serwer nie zwrócił odpowiedzi", + "error_setting_up_the_request": "Błąd podczas konfiguracji żądania", + "failed_to_start_download_for_item_unexpected_error": "Nie udało się rozpocząć pobierania dla {{item}}: Nieoczekiwany błąd", + "all_files_folders_and_jobs_deleted_successfully": "Wszystkie pliki, foldery i zadania zostały pomyślnie usunięte", + "an_error_occured_while_deleting_files_and_jobs": "Wystąpił błąd podczas usuwania plików i zadań", + "go_to_downloads": "Przejdź do pobranych" + } + } + }, + "search": { + "search_here": "Szukaj tutaj...", + "search": "Szukaj...", + "x_items": "{{count}} elementów", + "library": "Biblioteka", + "discover": "Odkrywaj", + "no_results": "Brak wyników", + "no_results_found_for": "Nie znaleziono wyników dla", + "movies": "Filmy", + "series": "Seriale", + "episodes": "Odcinki", + "collections": "Kolekcje", + "actors": "Aktorzy", + "request_movies": "Zamów filmy", + "request_series": "Zamów seriale", + "recently_added": "Ostatnio dodane", + "recent_requests": "Ostatnie zamówienia", + "plex_watchlist": "Plex Watchlist", + "trending": "Popularne", + "popular_movies": "Popularne filmy", + "movie_genres": "Gatunki filmowe", + "upcoming_movies": "Nadchodzące filmy", + "studios": "Studia", + "popular_tv": "Popularne seriale", + "tv_genres": "Gatunki seriali", + "upcoming_tv": "Nadchodzące seriale", + "networks": "Sieci", + "tmdb_movie_keyword": "Słowo kluczowe filmu (TMDB)", + "tmdb_movie_genre": "Gatunek filmu (TMDB)", + "tmdb_tv_keyword": "Słowo kluczowe serialu (TMDB)", + "tmdb_tv_genre": "Gatunek serialu (TMDB)", + "tmdb_search": "Wyszukiwanie TMDB", + "tmdb_studio": "Studio TMDB", + "tmdb_network": "Sieć TMDB", + "tmdb_movie_streaming_services": "Usługi streamingowe filmów (TMDB)", + "tmdb_tv_streaming_services": "Usługi streamingowe seriali (TMDB)" + }, + "library": { + "no_items_found": "Nie znaleziono elementów", + "no_results": "Brak wyników", + "no_libraries_found": "Nie znaleziono bibliotek", + "item_types": { + "movies": "filmy", + "series": "seriale", + "boxsets": "zestawy", + "items": "elementy" + }, + "options": { + "display": "Wyświetlanie", + "row": "Wiersz", + "list": "Lista", + "image_style": "Styl obrazu", + "poster": "Plakat", + "cover": "Okładka", + "show_titles": "Pokaż tytuły", + "show_stats": "Pokaż statystyki" + }, + "filters": { + "genres": "Gatunki", + "years": "Lata", + "sort_by": "Sortuj według", + "sort_order": "Kolejność sortowania", + "asc": "Rosnąco", + "desc": "Malejąco", + "tags": "Tagi" + } + }, + "favorites": { + "series": "Seriale", + "movies": "Filmy", + "episodes": "Odcinki", + "videos": "Filmy wideo", + "boxsets": "Zestawy", + "playlists": "Playlisty", + "noDataTitle": "Brak ulubionych jeszcze", + "noData": "Dodaj elementy do ulubionych, aby zobaczyć je tutaj dla szybkiego dostępu." + }, + "custom_links": { + "no_links": "Brak odnośników" + }, + "player": { + "error": "Błąd", + "failed_to_get_stream_url": "Nie udało się pobrać adresu strumienia", + "an_error_occured_while_playing_the_video": "Wystąpił błąd podczas odtwarzania wideo. Sprawdź logi w ustawieniach.", + "client_error": "Błąd klienta", + "could_not_create_stream_for_chromecast": "Nie udało się utworzyć strumienia dla Chromecasta", + "message_from_server": "Wiadomość z serwera: {{message}}", + "video_has_finished_playing": "Wideo zostało odtworzone do końca!", + "no_video_source": "Brak źródła wideo...", + "next_episode": "Następny odcinek", + "refresh_tracks": "Odśwież ścieżki", + "subtitle_tracks": "Ścieżki napisów:", + "audio_tracks": "Ścieżki audio:", + "playback_state": "Stan odtwarzania:", + "no_data_available": "Brak dostępnych danych", + "index": "Indeks:" + }, + "item_card": { + "next_up": "Następne", + "no_items_to_display": "Brak elementów do wyświetlenia", + "cast_and_crew": "Obsada i ekipa", + "series": "Serial", + "seasons": "Sezony", + "season": "Sezon", + "no_episodes_for_this_season": "Brak odcinków w tym sezonie", + "overview": "Opis", + "more_with": "Więcej z {{name}}", + "similar_items": "Podobne elementy", + "no_similar_items_found": "Nie znaleziono podobnych elementów", + "video": "Wideo", + "more_details": "Więcej szczegółów", + "quality": "Jakość", + "audio": "Audio", + "subtitles": "Napisy", + "show_more": "Pokaż więcej", + "show_less": "Pokaż mniej", + "appeared_in": "Wystąpił w", + "could_not_load_item": "Nie udało się wczytać elementu", + "none": "Brak", + "download": { + "download_season": "Pobierz sezon", + "download_series": "Pobierz serial", + "download_episode": "Pobierz odcinek", + "download_movie": "Pobierz film", + "download_x_item": "Pobierz {{item_count}} elementów", + "download_button": "Pobierz", + "using_optimized_server": "Używanie serwera zoptymalizowanego", + "using_default_method": "Używanie metody domyślnej" + } + }, + "live_tv": { + "next": "Następny", + "previous": "Poprzedni", + "live_tv": "Telewizja na żywo", + "coming_soon": "Już wkrótce", + "on_now": "Teraz na żywo", + "shows": "Programy", + "movies": "Filmy", + "sports": "Sport", + "for_kids": "Dla dzieci", + "news": "Wiadomości" + }, + "jellyseerr": { + "confirm": "Potwierdź", + "cancel": "Anuluj", + "yes": "Tak", + "whats_wrong": "Co jest nie tak?", + "issue_type": "Typ problemu", + "select_an_issue": "Wybierz problem", + "types": "Typy", + "describe_the_issue": "(opcjonalnie) Opisz problem...", + "submit_button": "Zgłoś", + "report_issue_button": "Zgłoś problem", + "request_button": "Poproś", + "are_you_sure_you_want_to_request_all_seasons": "Czy na pewno chcesz zamówić wszystkie sezony?", + "failed_to_login": "Logowanie nie powiodło się", + "cast": "Obsada", + "details": "Szczegóły", + "status": "Status", + "original_title": "Oryginalny tytuł", + "series_type": "Typ serialu", + "release_dates": "Daty premiery", + "first_air_date": "Data pierwszej emisji", + "next_air_date": "Data następnej emisji", + "revenue": "Przychód", + "budget": "Budżet", + "original_language": "Oryginalny język", + "production_country": "Kraj produkcji", + "studios": "Studia", + "network": "Sieć", + "currently_streaming_on": "Aktualnie dostępne w streamingu na", + "advanced": "Zaawansowane", + "request_as": "Poproś jako", + "tags": "Tagi", + "quality_profile": "Profil jakości", + "root_folder": "Folder główny", + "season_all": "Sezon (wszystkie)", + "season_number": "Sezon {{season_number}}", + "number_episodes": "{{episode_number}} odcinków", + "born": "Urodzony", + "appearances": "Występy", + "toasts": { + "jellyseer_does_not_meet_requirements": "Serwer Jellyseerr nie spełnia minimalnych wymagań wersji! Zaktualizuj go co najmniej do wersji 2.0.0", + "jellyseerr_test_failed": "Test Jellyseerr nie powiódł się. Spróbuj ponownie.", + "failed_to_test_jellyseerr_server_url": "Nie udało się przetestować adresu URL Jellyseerr", + "issue_submitted": "Zgłoszenie zostało przesłane!", + "requested_item": "Poproszono o {{item}}!", + "you_dont_have_permission_to_request": "Nie masz uprawnień, aby złożyć zamówienie!", + "something_went_wrong_requesting_media": "Coś poszło nie tak podczas zamawiania materiałów!" + } + }, + "tabs": { + "home": "Strona główna", + "search": "Szukaj", + "library": "Biblioteka", + "custom_links": "Niestandardowe odnośniki", + "favorites": "Ulubione" + } +}