/** * Polish — translated from locales/en.js. * * Register: formal — the polite impersonal ("Proszę wpisać…", "Można…"), which is * how formal Polish software addresses the reader; direct "Pan / Pani" is used * only where a sentence needs a subject. * `hub`, `node` and `GEK` are left in English: they name the CLI * (`meshbay-node`), node.toml and the docs, which are English throughout. * Polish uses four plural categories, so counted strings carry all of * one / few / many / other. */ export default { // Nav 'nav.toggle_menu': 'Pokaż menu', 'nav.light_mode': 'Motyw jasny', 'nav.dark_mode': 'Motyw ciemny', 'nav.logout': 'Wyloguj', 'nav.login': 'Zaloguj', // Sidebar 'sidebar.my_groups': 'Moje grupy', 'sidebar.no_groups': 'Nie ma jeszcze żadnych grup', 'sidebar.discover': 'Odkrywaj', 'sidebar.public_groups': 'Grupy publiczne', // Login 'login.title': 'Logowanie', 'login.username': 'Nazwa użytkownika', 'login.password': 'Hasło', 'login.submit': 'Zaloguj', 'login.loading': 'Logowanie...', 'login.no_account': 'Nie ma jeszcze konta?', 'login.register_link': 'Załóż konto', // Register 'register.title': 'Zakładanie konta', 'register.username': 'Nazwa użytkownika', 'register.email': 'Adres e-mail', 'register.password': 'Hasło-fraza (co najmniej 12 znaków)', 'register.confirm': 'Potwierdź hasło', 'register.submit': 'Załóż konto', 'register.loading': 'Tworzenie konta...', 'register.has_account': 'Konto już istnieje?', 'register.login_link': 'Zaloguj', 'register.success_title': 'Konto zostało założone', 'register.success_msg': 'Można się już zalogować przy użyciu swoich danych.', 'register.go_login': 'Przejdź do logowania', 'register.err_mismatch': 'Hasła nie są zgodne', 'register.err_min_len': { one: 'Proszę użyć co najmniej {n} znaku', few: 'Proszę użyć co najmniej {n} znaków', many: 'Proszę użyć co najmniej {n} znaków', other: 'Proszę użyć co najmniej {n} znaku', }, 'register.err_too_weak': 'Zbyt łatwe do odgadnięcia. To hasło-fraza chroni klucze ' + 'tam, gdzie są przechowywane — kilka niepowiązanych ze sobą słów sprawdza się ' + 'bardzo dobrze.', 'register.strength': 'Siła: około {bits} bitów. Chroni kopię kluczy przechowywaną na ' + 'nodes, do których się dołącza, więc warto ją dobrać starannie.', // Home 'home.welcome': 'Witamy w MeshBay', 'home.no_groups': 'Nie należy Pan(i) jeszcze do żadnej grupy.', 'home.browse_prefix': 'Warto przejrzeć ', 'home.browse_link': 'grupy publiczne', 'home.browse_suffix': ' albo poprosić administratora grupy o zaproszenie.', 'home.my_groups': 'Moje grupy', // Explore 'explore.title': 'Grupy publiczne', 'explore.search': 'Szukaj grup...', 'explore.loading': 'Wczytywanie...', 'explore.empty': 'Brak dostępnych grup publicznych.', 'explore.create_group': 'Utwórz grupę', 'explore.join': 'Dołącz', 'explore.member': 'Należy', // Group page 'group.default_name': 'Grupa', 'group.tab_files': 'Pliki', 'group.tab_chat': 'Czat', 'group.tab_members': 'Członkowie', 'group.filter': 'Filtruj pliki...', 'group.col_name': 'Nazwa', 'group.col_size': 'Rozmiar', 'group.col_type': 'Typ', 'group.col_date': 'Data', 'group.empty_filter': 'Żaden plik nie pasuje do filtra', 'group.empty_dir': 'Ten folder jest pusty', 'group.download': 'Pobierz', 'group.play': 'Odtwórz', 'group.offline_title': 'Obecnie żaden node nie jest dostępny dla tej grupy.', 'group.offline_hint': 'Pliki pojawią się, gdy połączy się node hostujący tę grupę.', 'group.upload': 'Wyślij', 'group.mkdir': 'Nowy folder', 'group.mkdir_prompt': 'Nazwa nowego folderu:', 'group.view': 'Podgląd', 'group.delete': 'Usuń', 'group.delete_confirm': 'Usunąć {name}?', 'group.delete_group': 'Usuń grupę', 'group.delete_group_confirm': 'Trwale usunąć grupę „{name}” i odłączyć wszystkich ' + 'członków? Pliki znajdujące się na node zostaną zachowane.', 'group.err_transport': 'Moduł transportu nie został wczytany', // Status 'status.idle': 'Bezczynny', 'status.discovering': 'Szukanie nodes...', 'status.connecting': 'Łączenie przez WebRTC...', 'status.fetching': 'Pobieranie indeksu...', 'status.files': { one: '{n} plik', few: '{n} pliki', many: '{n} plików', other: '{n} pliku', }, 'status.offline': 'Żaden node nie jest dostępny', 'status.error': 'Połączenie nie powiodło się', // Chat 'chat.empty': 'Nie ma jeszcze wiadomości. Warto zacząć rozmowę!', 'chat.placeholder': 'Napisz wiadomość...', 'chat.send': 'Wyślij', 'chat.attach': 'Załącz plik', // Video player 'video.loading': 'Wczytywanie {name}...', 'video.buffering': 'Buforowanie...', 'video.resumed_at': "Wznowiono od {time}", 'video.from_start': "Odtwórz od początku", 'video.close': 'Zamknij (Esc)', 'preview.pdf_fallback': 'Ta przeglądarka nie wyświetli pliku PDF na stronie. Proszę ' + 'go pobrać — i tak został odszyfrowany tutaj.', 'group.upload_indexing': 'indeksowanie…', 'video.err_transport': 'Transport nie jest połączony', 'video.err_mse': 'Kodek nieobsługiwany przy odtwarzaniu strumieniowym: {codec}', // Settings 'settings.title': 'Ustawienia', 'settings.coming_soon': 'Wkrótce.', 'settings.downloads': 'Pobieranie', 'settings.dl_auto': 'Zapisuj automatycznie', 'settings.dl_auto_hint': 'Pliki trafiają prosto do folderu wybranego poniżej, bez ' + 'żadnego okna. Pobranie dwudziestu plików umieści tam dwadzieścia plików.', 'settings.dl_ask': 'Pytaj za każdym razem', 'settings.dl_ask_hint': 'Okno „Zapisz jako” dla każdego pliku — po jednym na plik, ' + 'także przy pobieraniu zaznaczonych pozycji.', 'settings.dl_folder': 'Folder: {name}', 'settings.dl_no_folder': 'Nie wybrano folderu — pobrane pliki trafiają tam, gdzie ' + 'umieszcza je przeglądarka', 'settings.dl_choose': 'Wybierz folder', 'settings.dl_change': 'Zmień', 'settings.dl_forget': 'Zapomnij', 'settings.dl_path_note': 'Stronie internetowej nie da się podać ścieżki, więc nie ma ' + 'tu czego wpisywać: to przeglądarka udziela dostępu do wskazanego folderu, a ' + 'MeshBay zapisuje wyłącznie w jego wnętrzu. Raz na sesję może pojawić się prośba ' + 'o potwierdzenie.', 'settings.dl_unsupported': 'Ta przeglądarka nie potrafi zapisywać w dowolnie ' + 'wybranym folderze (brak File System Access API), więc pobrane pliki trafiają do ' + 'jej własnego folderu pobierania. Chrome i Edge pozwalają wybrać folder.', 'settings.profile': 'Profil', 'settings.username': 'Nazwa użytkownika', 'settings.node_pins': 'Tożsamości nodes', 'settings.node_pins_hint': 'Klucz tożsamości każdego node jest zapamiętywany przy ' + 'pierwszym połączeniu. Jeśli się zmieni, połączenie zostanie odrzucone — czego ' + 'należy się spodziewać wyłącznie wtedy, gdy operator przeinstalował node. Przed ' + 'wyczyszczeniem warto to z nim potwierdzić.', 'settings.node_pins_count': { one: '{n} przypięta', few: '{n} przypięte', many: '{n} przypiętych', other: '{n} przypiętej', }, 'settings.node_pins_clear': 'Wyczyść przypięte tożsamości', 'settings.danger': 'Usunięcie konta', 'settings.delete_hint': 'Usuwa z huba konto, członkostwa w grupach i powiadomienia ' + 'oraz zwalnia nazwę użytkownika. Nie sięga tego, co znajduje się na nodes: ' + 'wysłane pliki pozostają tam, gdzie przechowuje je ich operator, a każdy node ' + 'zachowuje przypiętą tożsamość do czasu, aż jego operator ją odepnie. Dzienniki ' + 'połączeń są przechowywane przez rok, zgodnie z wymogami prawa.', 'settings.delete_account': 'Usuń moje konto', 'settings.delete_confirm': 'Proszę wpisać hasło-frazę, aby potwierdzić. Tej operacji ' + 'nie da się cofnąć.', 'settings.delete_confirm_btn': 'Usuń bezpowrotnie', 'settings.cancel': 'Anuluj', 'settings.appearance': 'Wygląd', 'settings.theme': 'Motyw', 'settings.theme_light': 'Jasny', 'settings.theme_dark': 'Ciemny', 'settings.theme_system': 'Systemowy', 'settings.language': 'Język', 'settings.about': 'O programie', 'settings.version': 'Wersja', 'settings.protocol': 'Protokół', 'settings.role': 'Rola', 'settings.groups': 'Powiadomienia z grup', 'settings.notifications': 'Powiadomienia', 'settings.node_key': 'Powiąż node', 'settings.node_key_desc': 'Osoby prowadzące własny node MeshBay mogą wkleić tutaj ' + 'jego klucz publiczny Ed25519, aby powiązać go ze swoim kontem. Klucz ten znajduje ' + 'się w panelu administracyjnym node.', 'settings.node_key_placeholder': 'Wklej klucz publiczny Ed25519 node (base64)', 'settings.node_key_submit': 'Powiąż node', 'settings.node_key_success': 'Node został powiązany', 'settings.node_key_current': 'Klucz powiązanego node', // Sidebar 'sidebar.create_group': 'Utwórz grupę', 'sidebar.settings': 'Ustawienia', 'sidebar.admin': 'Administracja', // User menu 'usermenu.language': 'Język', 'usermenu.settings': 'Ustawienia', 'usermenu.theme_light': 'Motyw jasny', 'usermenu.theme_dark': 'Motyw ciemny', 'usermenu.logout': 'Wyloguj', // Admin panel 'admin.title': 'Administracja', 'admin.tab_stats': 'Statystyki', 'admin.tab_users': 'Użytkownicy', 'admin.tab_groups': 'Grupy', 'admin.tab_nodes': 'Nodes', 'admin.tab_logs': 'Dzienniki', 'admin.col_observed_ip': 'Widziany z', 'admin.col_hint': 'Zgłoszony adres', 'admin.col_last_seen': 'Ostatnie zgłoszenie', 'admin.node_online': 'dostępny', 'admin.node_offline': 'niedostępny', 'admin.no_nodes': 'Brak zarejestrowanych nodes', 'admin.nodes_hint': '„Widziany z” to adres, z którego zgłoszenie rzeczywiście ' + 'dotarło, w żądaniu podpisanym kluczem node — i to na nim należy się opierać, ' + 'odpowiadając na zapytanie. Zgłoszony adres to ten, który node uważa za własny, ' + 'poznany od serwera STUN i przesłany do nas; przydaje się do nawiązania ' + 'połączenia i niczego nie dowodzi.', 'admin.tab_blocklist': 'Lista blokad', // Admin stats 'admin.stat_users': 'Użytkownicy', 'admin.stat_groups': 'Grupy', 'admin.stat_nodes': 'Nodes', 'admin.stat_online': 'Dostępne nodes', // Admin users 'admin.users_search': 'Szukaj użytkowników...', 'admin.col_username': 'Nazwa użytkownika', 'admin.col_role': 'Rola', 'admin.col_status': 'Status', 'admin.col_created': 'Utworzono', 'admin.col_actions': 'Działania', 'admin.col_email': 'E-mail', 'admin.col_groups': 'Grupy', 'admin.no_users': 'Nie znaleziono użytkowników', 'admin.btn_suspend': 'Zawieś', 'admin.btn_unsuspend': 'Przywróć', 'admin.btn_details': 'Szczegóły', 'admin.btn_delete': 'Usuń', 'admin.delete_confirm': 'Usunąć konto „{user}”? Tej operacji nie da się cofnąć. ' + 'Wysłane przez tę osobę pliki pozostaną na hostujących je nodes, a każdy node ' + 'zachowa przypiętą tożsamość do czasu, aż jego operator ją odepnie. Zawieszenie ' + 'jest opcją odwracalną.', 'admin.user_detail': 'Szczegóły użytkownika', 'admin.btn_close': 'Zamknij', 'admin.self_note': '(to Pan/Pani)', // Admin groups 'admin.col_name': 'Nazwa', 'admin.col_visibility': 'Widoczność', 'admin.col_members': 'Członkowie', 'admin.no_groups': 'Nie znaleziono grup', // Admin logs 'admin.col_time': 'Czas', 'admin.col_event': 'Zdarzenie', 'admin.col_user': 'Użytkownik', 'admin.col_ip': 'IP', 'admin.col_detail': 'Szczegóły', 'admin.filter_all': 'Wszystkie zdarzenia', 'admin.no_logs': 'Nie znaleziono wpisów', 'admin.btn_load_more': 'Wczytaj więcej', // Admin blocklist 'admin.col_hash': 'Skrót', 'admin.col_reason': 'Powód', 'admin.col_date': 'Data', 'admin.col_added_by': 'Dodane przez', 'admin.no_blocked': 'Brak zablokowanych skrótów', 'admin.add_hash': 'Dodaj skrót do listy blokad', 'admin.hash_placeholder': 'skrót blake3 (64 znaki szesnastkowe)', 'admin.reason_placeholder': 'Powód', 'admin.btn_block': 'Zablokuj', 'admin.btn_unblock': 'Odblokuj', // Notifications // Create group 'create_group.title': 'Tworzenie grupy', 'create_group.name': 'Nazwa grupy', 'create_group.name_placeholder': 'np. Zdjęcia rodzinne, Pliki projektu...', 'create_group.visibility': 'Widoczność', 'create_group.private': 'Prywatna', 'create_group.private_desc': 'Tylko zaproszeni członkowie widzą pliki i mają do nich dostęp', 'create_group.public': 'Publiczna', 'create_group.public_desc': 'Każdy może odnaleźć i przeglądać tę grupę', 'create_group.join_policy': 'Zasady dołączania', 'create_group.invite': 'Tylko z zaproszeniem', 'create_group.invite_desc': 'Członków musi zaprosić administrator', 'create_group.open': 'Otwarta (każdy może dołączyć)', 'create_group.open_desc': 'Każdy może dołączyć bez zatwierdzenia', 'create_group.description': 'Opis', 'create_group.description_hint': 'Czego dotyczy ta grupa? (opcjonalnie)', 'create_group.submit': 'Utwórz', 'create_group.hint': 'Grupa potrzebuje node, który będzie hostował pliki. Można ' + 'utworzyć grupę teraz, a node podłączyć później.', 'create_group.creating': 'Tworzenie...', // Members 'members.col_role': 'Rola', 'members.group_role': 'Rola w grupie', 'members.admin': 'Administrator', 'members.group_admin': 'Administrator grupy', 'members.owner': 'Właściciel', 'members.member': 'Członek', 'members.invite_title': 'Zaproszenie członka', 'members.username_placeholder': 'Nazwa użytkownika', 'members.invite_btn': 'Zaproś', 'members.invite_needs_pairing': 'Zaproszenia są podpisywane kluczem, który ten node ' + 'przypiął dla tej przeglądarki — proszę najpierw sparować ją poniżej, zanim ' + 'kogokolwiek Pan(i) zaprosi.', 'members.invite_ask_operator': 'Zapraszać może wyłącznie operator node hostującego tę ' + 'grupę, z przeglądarki sparowanej z tym node.', 'members.remove': 'Usuń', 'members.remove_confirm': 'Usunąć użytkownika {user} z tej grupy? Jego konto, ' + 'pozostałe grupy i wysłane przez niego pliki pozostaną nienaruszone.', 'members.remove_hint': 'Usunięcie kogoś odbiera mu członkostwo i sprawia, że node ' + 'przestaje wydawać mu klucz grupy. Nie usuwa to jego konta ani nie odbiera ' + 'klucza, który już posiada — jeśli to istotne, należy zmienić klucz na node ' + '(meshbay-node gek-init).', 'members.pair_title': 'Sparowanie tej przeglądarki z Pana/Pani node', 'members.pair_hint': 'Node przyjmuje działania operatora — zaproszenia, usuwanie ' + 'plików — wyłącznie z przeglądarki, z którą został sparowany. Proszę uruchomić na ' + 'node polecenie `meshbay-node operator pair` i wpisać tutaj kod. Kod nigdy nie ' + 'przechodzi przez hub.', 'members.pair_btn': 'Sparuj', 'members.pair_success': 'Ta przeglądarka jest już sparowana z node.', 'members.invite_code_ready': 'Kod zaproszenia dla użytkownika {user} — proszę ' + 'przekazać go tak, jak zwykle się Państwo kontaktują. Działa jednorazowo i nigdy ' + 'nie przechodzi przez hub.', 'members.invite_code_hint': 'Osoba zaproszona wpisze go, otwierając tę grupę po raz ' + 'pierwszy. Nie trzeba być wtedy dostępnym.', 'transfers.title': 'Transfery', 'transfers.clear': 'Wyczyść zakończone', 'transfers.cancel': 'Anuluj', 'transfers.open': 'Otwórz', 'transfers.done': 'Zakończony', 'transfers.cancelled': 'Anulowany', 'transfers.failed': 'Nie powiódł się', 'group.select': 'Zaznacz', 'group.select_done': 'Gotowe', 'group.actions': 'Działania ({n})', 'group.download_n': 'Pobierz ({n})', 'group.download_zip_n': 'Pobierz foldery jako zip ({n})', 'group.delete_n': 'Usuń ({n})', 'group.delete_n_confirm': { one: 'Usunąć {n} element? {names}', few: 'Usunąć {n} elementy? {names}', many: 'Usunąć {n} elementów? {names}', other: 'Usunąć {n} elementu? {names}', }, 'group.download_zip': { one: 'Pobierz jako zip ({n} plik)', few: 'Pobierz jako zip ({n} pliki)', many: 'Pobierz jako zip ({n} plików)', other: 'Pobierz jako zip ({n} pliku)', }, 'group.zip_empty': 'W tym folderze nie ma nic do pobrania.', 'group.zip_no_stream': 'Ta przeglądarka nie potrafi zapisywać pobieranych danych ' + 'wprost na dysk, więc {name} ({size}) trzeba najpierw zbudować w pamięci. Przy ' + 'dużym archiwum może się to nie udać. Kontynuować?', 'group.rmdir': 'Usuń folder', 'group.rmdir_confirm': 'Usunąć folder „{name}”? Musi być pusty.', 'group.rmdir_not_empty': 'Ten folder nie jest pusty. Proszę najpierw usunąć jego ' + 'zawartość — nic tutaj nie kasuje plików, których nie widać.', 'group.desc_edit': 'Edytuj opis', 'group.desc_add': 'Dodaj opis', 'group.desc_save': 'Zapisz', 'group.desc_cancel': 'Anuluj', 'group.desc_placeholder': 'Do czego służy ta grupa — członkowie zobaczą to na swojej ' + 'stronie głównej.', 'group.join_code_title': 'Ten node musi Pana/Panią rozpoznać', 'group.join_code_hint': 'Proszę poprosić osobę zapraszającą o kod jednorazowy i ' + 'wpisać go tutaj. Od tej pory przeglądarka jest rozpoznawana i pytanie się nie ' + 'powtórzy.', 'group.join_code_btn': 'Dołącz', 'notif.purge': 'Wyczyść wszystko', 'notif.title': 'Powiadomienia', 'notif.empty': 'Brak powiadomień', 'notif.mark_all_read': 'Oznacz wszystkie jako przeczytane', // Sidebar 'sidebar.search': 'Szukaj plików', // Status // Search 'search.title': 'Wyszukiwanie plików', 'search.placeholder': 'Szukaj we wszystkich grupach...', 'search.no_results': 'Żaden plik nie pasuje do zapytania.', 'search.synced': 'zsynchronizowano {ago}', 'search.cache_note': 'Wyszukiwanie opiera się na stanie każdej grupy z chwili jej ' + 'ostatniego otwarcia. Otwarcie grupy odświeża tutaj jej pliki.', 'search.col_group': 'Grupa', 'search.result_count': { one: 'Znaleziono {n} plik', few: 'Znaleziono {n} pliki', many: 'Znaleziono {n} plików', other: 'Znaleziono {n} pliku', }, 'search.hint': 'Przeszukuje nazwy plików we wszystkich zbuforowanych indeksach grup.', // Presence, chat paging, leaving a group, the profile page 'presence.online': 'Node hostujący tę grupę jest dostępny', 'presence.offline': 'Brak osiągalnego node dla tej grupy', 'presence.unknown': 'Jeszcze nie sprawdzono', 'chat.load_older': 'Wczytaj {n} starszych wiadomości', 'chat.start_of_history': 'Początek rozmowy', 'chat.today': 'Dziś', 'chat.yesterday': 'Wczoraj', 'chat.unread': 'Nowe wiadomości', 'chat.jump_latest': 'Przejdź do najnowszych', 'chat.jump_new': 'Nowe wiadomości', 'group.leave': 'Opuść grupę', 'group.leave_confirm': 'Opuścić grupę „{name}”? Utraci Pan(i) dostęp do jej plików i czatu. Wysłane pliki pozostaną na node, a node zachowa przypiętą dla Pana/Pani tożsamość do czasu, aż jego operator ją usunie.', 'profile.title': 'Profil', 'usermenu.profile': 'Profil', 'create_group.public_is_open': 'Grupę publiczną każdy może znaleźć i do niej dołączyć. Aby decydować, kto wchodzi, proszę utworzyć grupę prywatną.', };