<?php
return [
    'app.title' => 'Moja Aplikacja',
    'app.welcome' => 'Witaj',
    'app.copyright' => '© {year} {app}',
    'app.description' => 'Aplikacja internetowa z zarządzaniem użytkownikami',
    'nav.home' => 'Strona główna',
    'nav.about' => 'O programie',
    'nav.doc' => 'Dokumentacja',
    'doc.title' => 'Dokumentacja',
    'doc.cat_general_admin' => 'Administracja ogólna',
    'doc.cat_module_admin' => 'Administracja modułów',
    'doc.cat_general_user' => 'Ogólny przewodnik użytkownika',
    'doc.cat_module_user' => 'Przewodniki użytkownika modułów',
    'doc.empty' => 'Brak dokumentacji dostępnej dla Twojego profilu.',
    'doc.back' => 'Powrót do dokumentacji',
    'nav.login' => 'Zaloguj się',
    'nav.logout' => 'Wyloguj się',
    'nav.profile' => 'Mój profil',
    'nav.admin' => 'Administracja',
    'nav.settings' => 'Ustawienia',
    'nav.users' => 'Użytkownicy',
    'auth.username' => 'Nazwa użytkownika',
    'auth.password' => 'Hasło',
    'auth.password_new' => 'Nowe hasło',
    'auth.password_conf' => 'Potwierdź hasło',
    'auth.password_keep' => 'Pozostaw puste, aby zachować bieżące hasło',
    'auth.login' => 'Zaloguj się',
    'auth.logout' => 'Wyloguj się',
    'auth.remember' => 'Zapamiętaj mnie',
    'auth.login_title' => 'Logowanie',
    'auth.login_error' => 'Nieprawidłowa nazwa użytkownika lub hasło.',
    'auth.too_many_attempts' => 'Zbyt wiele prób logowania. Spróbuj ponownie za kilka minut.',
    'auth.login_inactive' => 'To konto jest wyłączone.',
    'auth.logout_success' => 'Zostałeś wylogowany.',
    'auth.no_access' => 'Odmowa dostępu. Niewystarczające uprawnienia.',
    'auth.method' => 'Metoda uwierzytelniania',
    'auth.method_local' => 'Konto lokalne',
    'auth.method_oauth' => 'OAuth / SSO',
    'auth.method_ldap' => 'LDAP / Active Directory',
    'auth.or_use' => 'Lub zaloguj się przez:',
    'user.list' => 'Lista użytkowników',
    'user.create' => 'Utwórz użytkownika',
    'user.edit' => 'Edytuj',
    'user.delete' => 'Usuń',
    'user.confirm_delete' => 'Czy na pewno chcesz usunąć użytkownika „{username}"?',
    'user.profile' => 'Rola',
    'user.roles' => 'Role',
    'user.roles_hint' => 'Wybierz jedną lub więcej ról. app_admin (system) przyznaje wszystkie uprawnienia we wszystkich modułach.',
    'user.roles_system' => 'System',
    'user.role_self_locked' => 'zablokowane: nie możesz usunąć własnej roli administratora',
    'user.language' => 'Język',
    'user.theme' => 'Motyw',
    'user.postgresql_prefs' => 'Preferencje PostgreSQL',
    'user.postgresql_landing' => 'Strona startowa po wyborze bazy',
    'user.postgresql_landing_hint' => 'Strona wyświetlana po wybraniu bazy PostgreSQL. Można ją też ustawić jednym kliknięciem z pływającego przycisku na stronach raportów.',
    'user.oracle_prefs' => 'Preferencje Oracle',
    'user.oracle_landing' => 'Strona startowa po wyborze bazy',
    'user.oracle_landing_hint' => 'Strona, na którą trafiasz po wybraniu bazy Oracle.',
    'user.oracle_report_format' => 'Format raportów Oracle',
    'user.oracle_format_html' => 'Statyczne HTML',
    'user.oracle_format_active' => 'Dynamiczne (jeśli dostępne)',
    'user.oracle_format_hint' => 'Dotyczy ASH i SQL Monitor. AWR nie ma formatu dynamicznego.',
    'user.active' => 'Aktywny',
    'user.inactive' => 'Nieaktywny',
    'user.created_at' => 'Utworzono',
    'user.last_login' => 'Ostatnie logowanie',
    'user.email' => 'E-mail',
    'user.password' => 'Hasło',
    'user.save' => 'Zapisz',
    'user.cancel' => 'Anuluj',
    'user.never' => 'Nigdy',
    'user.actions' => 'Akcje',
    'role.app_admin' => 'Administrator aplikacji',
    'role.oracle_admin' => 'Administrator Oracle',
    'role.oracle_user' => 'Użytkownik Oracle',
    'role.cmdb_admin' => 'Administrator CMDB',
    'role.cmdb_user' => 'Użytkownik CMDB',
    'role.cnp_admin' => 'Administrator CNP',
    'role.cnp_user' => 'Użytkownik CNP',
    'theme.label' => 'Motyw',
    'theme.os' => 'Motyw systemowy',
    'theme.light' => 'Jasny',
    'theme.dark' => 'Ciemny',
    'theme.colorblind' => 'Wysoki kontrast / Daltonizm',
    'theme.custom' => 'Niestandardowy',
    'lang.label' => 'Język',
    'lang.fr' => 'Français',
    'lang.en' => 'English',
    'lang.pl' => 'Polski',
    'lang.it' => 'Italiano',
    'lang.es' => 'Español',
    'lang.ro' => 'Română',
    'lang.de' => 'Deutsch',
    'settings.title' => 'Ustawienia aplikacji',
    'settings.app_name' => 'Nazwa aplikacji',
    'settings.app_logo' => 'Logo',
    'settings.app_logo_hint' => 'PNG, JPG, SVG, WebP — maks. 2 MB',
    'settings.app_favicon' => 'Favicon',
    'settings.app_favicon_hint' => 'PNG, ICO, SVG — maks. 512 KB. Zalecane: 32×32 px',
    'settings.app_logo_del' => 'Usuń logo',
    'settings.app_favicon_del' => 'Usuń favicon',
    'settings.appearance' => 'Wygląd',
    'settings.default_theme' => 'Domyślny motyw',
    'settings.default_lang' => 'Domyślny język',
    'settings.auth_methods' => 'Metody uwierzytelniania',
    'settings.smtp_title' => 'Email (SMTP)',
    'settings.smtp_hint' => 'Konfiguracja serwera SMTP do wysyłania wiadomości e-mail (powiadomienia, alerty).',
    'settings.smtp_host' => 'Serwer SMTP',
    'settings.smtp_port' => 'Port',
    'settings.smtp_encryption' => 'Szyfrowanie',
    'settings.smtp_enc_none' => 'Brak',
    'settings.smtp_auth_enabled' => 'Uwierzytelnianie SMTP',
    'settings.smtp_auth_hint' => 'Odznacz, jeśli serwer jest wewnętrznym przekaźnikiem niewymagającym danych logowania.',
    'settings.smtp_username' => 'Użytkownik',
    'settings.smtp_password' => 'Hasło',
    'settings.smtp_from_address' => 'Adres nadawcy',
    'settings.smtp_from_name' => 'Nazwa nadawcy',
    'settings.smtp_test' => 'Testuj połączenie',
    'settings.smtp_test_send' => 'Wyślij test',
    'settings.smtp_test_ok' => 'Połączenie SMTP udane.',
    'settings.smtp_test_sent' => 'Testowy e-mail wysłany. Sprawdź skrzynkę odbiorczą.',
    'settings.smtp_test_rcpt_placeholder' => 'odbiorca@przyklad.pl',
    'settings.smtp_test_rcpt_required' => 'Podaj adres e-mail odbiorcy do testu.',
    'settings.smtp_test_subject' => 'Konfiguracja SMTP zweryfikowana',
    'settings.smtp_test_body' => 'Jeśli otrzymujesz tego e-maila, konfiguracja SMTP aplikacji jest prawidłowa.',
    'settings.smtp_host_required' => 'Serwer SMTP nie jest skonfigurowany.',
    'report_sub.title' => 'Subskrypcje raportów',
    'report_sub.schedules_title' => 'Harmonogram raportów',
    'report_sub.matrix_title' => 'Subskrypcje użytkowników',
    'report_sub.save' => 'Zapisz',
    'report_sub.saved' => 'Subskrypcje zapisane.',
    'report_sub.col_user' => 'Użytkownik',
    'report_sub.col_email' => 'E-mail',
    'report_sub.no_users' => 'Brak aktywnych użytkowników z adresem e-mail.',
    'report_sub.frequency_daily' => 'Codziennie',
    'report_sub.frequency_weekly' => 'Co tydzień',
    'report_sub.frequency_monthly' => 'Co miesiąc',
    'report_sub.day_of_month' => 'Dzień miesiąca',
    'report_sub.logical_day' => 'Dzień logiczny',
    'report_sub.dow_1' => 'Poniedziałek',
    'report_sub.dow_2' => 'Wtorek',
    'report_sub.dow_3' => 'Środa',
    'report_sub.dow_4' => 'Czwartek',
    'report_sub.dow_5' => 'Piątek',
    'report_sub.dow_6' => 'Sobota',
    'report_sub.dow_7' => 'Niedziela',
    'report_sub.logical_first_monday' => 'Pierwszy poniedziałek',
    'report_sub.logical_first_tuesday' => 'Pierwszy wtorek',
    'report_sub.logical_first_wednesday' => 'Pierwsza środa',
    'report_sub.logical_first_thursday' => 'Pierwszy czwartek',
    'report_sub.logical_first_friday' => 'Pierwszy piątek',
    'report_sub.logical_last_monday' => 'Ostatni poniedziałek',
    'report_sub.logical_last_friday' => 'Ostatni piątek',
    'report_sub.logical_last_day' => 'Ostatni dzień',
    'report_sub.report_cnp_ad_anomalies' => 'Anomalie AD (CNP)',
    'report_sub.report_cmdb_db_inventory' => 'Inwentarz baz (CMDB)',
    'report_sub.report_cnp_cmdb_sync' => 'Synchr. CMDB/Oracle (CNP)',
    'report_sub.subject_cnp_ad_anomalies' => 'Raport: Anomalie AD',
    'report_sub.subject_cmdb_db_inventory' => 'Raport: Inwentarz baz danych',
    'report_sub.subject_cnp_cmdb_sync' => 'Raport: Synchronizacja CMDB / Oracle',
    'report_sub.view_online' => 'Zobacz online',
    'report_sub.total_databases' => 'Łącznie baz danych',
    'report_sub.log_title' => 'Ostatnie wysyłki',
    'report_sub.log_date' => 'Data',
    'report_sub.log_report' => 'Raport',
    'report_sub.log_recipients' => 'Odbiorcy',
    'report_sub.log_status' => 'Status',
    'report_sub.no_active_module' => 'Brak raportów do zaproponowania: wszystkie zależą od modułów obecnie wyłączonych. Włącz odpowiedni moduł, aby odzyskać jego harmonogram i subskrybentów — są zachowane.',
    'settings.oauth_config' => 'Konfiguracja OAuth',
    'settings.ldap_config' => 'Konfiguracja LDAP',
    'settings.save' => 'Zapisz ustawienia',
    'settings.debug_mode' => 'Tryb debugowania',
    'settings.trace_mode' => 'Tryb śledzenia',
    'settings.session_section' => 'Sesja',
    'settings.session_lifetime' => 'Czas trwania sesji',
    'settings.session_lifetime_unit' => 'sekund',
    'settings.session_lifetime_hint' => 'Od 300 (5 min) do 86 400 (24 godz.). Domyślnie: 3 600 (1 godz.).',
    'settings.enabled' => 'Włączony',
    'settings.disabled' => 'Wyłączony',
    'settings.client_id' => 'Client ID',
    'settings.client_secret' => 'Client Secret',
    'settings.redirect_uri' => 'URI przekierowania',
    'settings.auth_url' => 'URL autoryzacji',
    'settings.token_url' => 'URL tokenu',
    'settings.ldap_host' => 'Host LDAP',
    'settings.ldap_port' => 'Port LDAP',
    'settings.ldap_base_dn' => 'Base DN',
    'settings.ldap_bind_dn' => 'Bind DN',
    'settings.ldap_bind_pass' => 'Hasło połączenia',
    'settings.ldap_user_dn_pattern' => 'Wzorzec DN użytkownika',
    'settings.ldap_user_dn_pattern_hint' => 'Zmienne: {user}, {base_dn}, {domain}. Np. OpenLDAP: uid={user},{base_dn} — AD UPN: {user}@{domain}',
    'settings.ldap_tls_insecure' => 'Pomiń weryfikację certyfikatu TLS (LDAPS)',
    'settings.ldap_tls_insecure_hint' => 'Używać tylko do diagnostyki; w produkcji zainstalować CA w magazynie zaufania serwera WWW.',
    'settings.ldap_test_section' => 'Test konfiguracji',
    'settings.ldap_test_btn' => 'Testuj konfigurację',
    'settings.ldap_test_user' => 'Użytkownik testowy',
    'settings.ldap_test_user_hint' => 'Opcjonalnie — aby przetestować rzeczywiste logowanie użytkownika',
    'settings.ldap_test_pass' => 'Hasło testowe',
    'settings.ldap_test_running' => 'Test w toku…',
    'settings.ldap_test_ok' => 'Konfiguracja LDAP prawidłowa',
    'settings.ldap_test_ko' => 'Test LDAP nie powiódł się',
    'settings.ldap_test_step_ext_ko' => 'Brak rozszerzenia PHP ldap — włącz extension=ldap w php.ini',
    'settings.ldap_test_step_ext_ok' => 'Rozszerzenie PHP ldap załadowane',
    'settings.ldap_test_step_host_ko' => 'Host LDAP nie podany',
    'settings.ldap_test_step_connect_ko' => 'ldap_connect() nie powiodło się — nieprawidłowe parametry',
    'settings.ldap_test_step_connect_ok' => 'Połączenie zainicjalizowane (LDAPv3, timeout 5 s)',
    'settings.ldap_test_step_svc_ok' => 'Bind usługi powiódł się',
    'settings.ldap_test_step_svc_ko' => 'Bind usługi nie powiódł się',
    'settings.ldap_test_step_anon_ok' => 'Bind anonimowy powiódł się',
    'settings.ldap_test_step_anon_warn' => 'Bind anonimowy odrzucony (normalne w Active Directory)',
    'settings.ldap_test_step_user_ok' => 'Bind użytkownika powiódł się',
    'settings.ldap_test_step_user_ko' => 'Bind użytkownika nie powiódł się',
    'settings.ldap_test_step_user_no_base' => 'Brak Base DN — nie można zbudować DN użytkownika',
    'admin.title' => 'Administracja',
    'admin.dashboard' => 'Panel',
    'admin.total_users' => 'Łączna liczba użytkowników',
    'admin.active_users' => 'Aktywni użytkownicy',
    'admin.welcome' => 'Witaj w panelu administracyjnym.',
    'msg.save' => 'Zapisz',
    'msg.cancel' => 'Anuluj',
    'msg.saved' => 'Zmiany zostały zapisane.',
    'msg.error' => 'Wystąpił błąd.',
    'msg.warning' => 'Ostrzeżenie',
    'msg.deleted' => 'Usunięto pomyślnie.',
    'msg.access_denied' => 'Odmowa dostępu.',
    'msg.not_found' => 'Strona nie znaleziona.',
    'msg.server_error' => 'Wewnętrzny błąd serwera.',
    'msg.required_fields' => 'Wypełnij wszystkie wymagane pola.',
    'msg.passwords_mismatch' => 'Hasła nie są zgodne.',
    'msg.password_changed' => 'Hasło zostało zmienione.',
    'msg.user_created' => 'Użytkownik został utworzony.',
    'msg.user_updated' => 'Użytkownik został zaktualizowany.',
    'msg.user_deleted' => 'Użytkownik został usunięty.',
    'msg.username_taken' => 'Ta nazwa użytkownika jest już zajęta.',
    'msg.ldap_user_not_found' => 'Ten identyfikator nie istnieje w katalogu LDAP.',
    'module.title' => 'Moduły',
    'module.list' => 'Lista modułów',
    'module.manage' => 'Zarządzaj modułami',
    'module.name' => 'Moduł',
    'module.status' => 'Status',
    'module.active' => 'Aktywny',
    'module.inactive' => 'Nieaktywny',
    'module.active_count' => 'aktywny(ch) moduł(ów)',
    'module.enable' => 'Włącz',
    'module.enable_required' => 'Włącz {module} i jego zależności',
    'module.enable_required_confirm' => 'Włączyć moduł „{module}" i wszystkie moduły, od których zależy?',
    'module.enable_required_summary' => 'Włączono {n} moduł(y/ów): {list}.',
    'module.enable_required_none' => 'Moduł i jego zależności są już aktywne.',
    'module.enable_required_failed' => 'Nie udało się włączyć {n} moduł(u/ów):',
    'module.disable' => 'Wyłącz',
    'module.open' => 'Otwórz',
    'module.roles' => 'Role',
    'module.depends_on' => 'Zależy od',
    'module.none_registered' => 'Brak zarejestrowanych modułów.',
    'module.confirm_disable' => 'Wyłączyć moduł „{label}"?',
    'module.warn_users_linked' => '{n} aktywny(ch) użytkownik(ów) ma rolę „{role}". Utracą dostęp do modułu.',
    'module.deps_missing' => 'Nie można włączyć „{module}": wymagany moduł nieaktywny — {deps}',
    'module.deps_dependents' => 'Nie można wyłączyć „{module}": nadal używany przez {dependents}',
    'module.enable_failed' => 'Aktywacja modułu nie powiodła się',
    'module.provision_summary' => 'Utworzono {created} użytkownik(ów), przypisano {roles} rol(e).',
    'module.add_title' => 'Dodaj lub zaktualizuj moduł',
    'module.add_hint' => 'Prześlij archiwum ZIP zawierające pojedynczy katalog modułu (z plikiem module.php w katalogu głównym). Jeśli moduł jeszcze nie istnieje, zostanie dodany jako wyłączony; jeśli już istnieje, zostanie zaktualizowany w miejscu — jego role wraz z przypisaniami użytkowników, konfiguracja i dane zostaną zachowane. Poprzednia wersja jest archiwizowana przed zastąpieniem.',
    'module.zip_label' => 'Archiwum ZIP modułu',
    'module.add_apply' => 'Zastosuj',
    'module.remove' => 'Usuń',
    'module.confirm_delete' => 'Usunąć moduł „{label}” i wszystkie jego dane (role, konfiguracja)?',
    'module.cannot_delete_active' => 'Nie można usunąć aktywnego modułu. Najpierw go wyłącz.',
    'module.upload_error' => 'Błąd przesyłania pliku.',
    'module.upload_invalid_zip' => 'Plik nie jest prawidłowym archiwum ZIP.',
    'module.upload_bad_structure' => 'Archiwum ZIP musi zawierać pojedynczy katalog modułu w katalogu głównym.',
    'module.upload_no_descriptor' => 'Archiwum ZIP nie zawiera module.php w katalogu głównym modułu.',
    'module.upload_exists' => 'Moduł „{name}” już istnieje.',
    'module.upload_extract_failed' => 'Wypakowanie modułu nie powiodło się.',
    'module.upload_success' => 'Moduł „{name}” dodany (wyłączony). Włącz go, aby używać.',
    'module.update_success' => 'Moduł „{name}” zaktualizowany (v{from} → v{to}). Jego role, konfiguracja i dane zostały zachowane. Kopia zapasowa poprzedniej wersji: {backup}',
    'module.update_failed' => 'Aktualizacja modułu „{name}” nie powiodła się: nie udało się odsunąć istniejącego katalogu. Nic nie zostało zmienione.',
    'module.update_backup_failed' => 'Utworzenie kopii zapasowej zainstalowanej wersji nie powiodło się. Aktualizacja została anulowana, nic nie zostało zmienione.',
    'module.update_rollback' => 'Aktualizacja modułu „{name}” nie powiodła się; poprzednia wersja została przywrócona.',
    'module.update_rollback_failed' => 'Aktualizacja modułu „{name}” nie powiodła się ORAZ nie udało się przywrócić poprzedniej wersji. Aplikacja pozostaje w trybie konserwacji: przywróć kopię {backup} (prześlij ją tutaj), a następnie wyłącz tryb konserwacji.',
    'module.update_name_mismatch' => 'Niespójne archiwum: katalog to „{name}”, ale deskryptor deklaruje „{decl}”. Nic nie zostało zmienione.',
    'module.update_on_enable_warn' => 'Moduł „{name}” zaktualizowany, ale jego inicjalizacja zgłosiła błąd: {error}',
    'module.delete_success' => 'Moduł usunięty.',
    'module.delete_failed' => 'Nie udało się całkowicie usunąć katalogu modułu „{name}”.',
    'module.dev_php_env' => 'Środowisko PHP',
    'module.dev_ini' => 'Konfiguracja php.ini',
    'module.dev_session' => 'Bieżąca sesja',
    'module.dev_extensions' => 'Załadowane rozszerzenia',
    'module.dev_logs' => 'Ostatnie logi',
    'module.dev_no_logs' => 'Brak wpisów w dzienniku.',
    'module.dev_db_file' => 'Baza danych',
    'home.title' => 'Strona główna',
    'home.logged_in' => 'Jesteś zalogowany jako <strong>{username}</strong> ({role}).',
    'home.visitor' => 'Przeglądasz jako gość. <a href="/login.php">Zaloguj się</a>, aby uzyskać dostęp do więcej funkcji.',
    'admin.maintenance' => 'Konserwacja',

    // ── Zadania wsadowe / Harmonogram ─────────────────────────────────────
    'batch.title' => 'Zadania wsadowe / Harmonogram',
    'batch.card_desc' => 'Harmonogram zadań (crontab / harmonogram Windows), stan i dzienniki.',
    'batch.manage' => 'Zarządzaj zadaniami',
    'batch.schedule_title' => 'Proponowany harmonogram',
    'batch.schedule_intro' => 'Zaplanowane zadania aplikacji i ich częstotliwość.',
    'batch.col_job' => 'Zadanie',
    'batch.col_schedule' => 'Harmonogram (cron)',
    'batch.col_command' => 'Polecenie',
    'batch.col_state' => 'Stan',
    'batch.state_active' => 'Aktywne',
    'batch.state_inactive' => 'Nieaktywne',
    'batch.job_logrotate' => 'Rotacja logów',
    'batch.job_backup' => 'Kopia zapasowa',
    'batch.job_collect_ash' => 'Zbieranie ASH',
    'batch.job_collect_cmdb' => 'Zbieranie CMDB',
    'batch.job_collect_rman' => 'Zbieranie RMAN',
    'batch.job_collect_users' => 'Inwentaryzacja użytkowników Oracle',
    'batch.job_schedule_reports' => 'Wysyłka zaplanowanych raportów',
    'batch.job_remediate' => 'Naprawa użytkowników Oracle',
    'batch.job_provision' => 'Provisioning użytkowników Oracle',
    'batch.install' => 'Włącz (zainstaluj crontab)',
    'batch.uninstall' => 'Wyłącz (usuń z crontab)',
    'batch.confirm_install' => 'Zainstalować zadania w crontab użytkownika apache?',
    'batch.confirm_uninstall' => 'Usunąć zadania aplikacji z crontab?',
    'batch.apache_note' => 'Działa na crontab użytkownika serwera WWW (apache).',
    'batch.crontab_title' => 'Bieżąca crontab',
    'batch.crontab_empty' => 'Brak crontab dla bieżącego użytkownika.',
    'batch.windows_title' => 'Windows (Harmonogram zadań)',
    'batch.windows_intro' => 'Polecenia schtasks do uruchomienia w wierszu poleceń administratora (host Windows).',
    'batch.logs_title' => 'Ostatnie wykonania',
    'batch.logs_rman' => 'Zbieranie RMAN',
    'batch.logs_ash' => 'Zbieranie ASH',
    'batch.logs_backups' => 'Kopie zapasowe',
    'batch.logs_applog' => 'Dziennik aplikacji',
    'batch.logs_none' => 'Brak danych.',
    'batch.col_when' => 'Kiedy',
    'batch.col_result' => 'Wynik',
    'batch.col_source' => 'Źródło',
    'batch.col_day' => 'Dzień',
    'batch.col_rows' => 'Wiersze',
    'batch.failed' => 'Błąd',
    'batch.shell_unavailable' => 'Wykonanie powłoki niedostępne (crontab niezarządzalny z poziomu WWW).',
    'batch.already_installed' => 'Wszystkie zadania już istnieją w crontab.',
    'batch.install_ok' => 'Dodano {n} zadań do crontab.',
    'batch.uninstall_ok' => 'Usunięto zadania aplikacji z crontab.',
    'batch.crontab_error' => 'Nie można zaktualizować crontab.',
    'backup.title' => 'Kopia zapasowa i przywracanie',
    'backup.overview' => 'Metadane aplikacji',
    'backup.overview_hint' => 'Zawartość katalogu bezpieczeństwa: baza danych, klucz szyfrowania, portfele Oracle Cloud.',
    'backup.files_count' => 'Pliki',
    'backup.total_size' => 'Łączny rozmiar',
    'backup.create_title' => 'Utwórz kopię zapasową',
    'backup.create_hint' => 'Tworzy archiwum ZIP całego katalogu bezpieczeństwa (z wyłączeniem poprzednich kopii zapasowych). Kopia zapasowa może zostać zapisana na serwerze lub pobrana.',
    'backup.save_local' => 'Zapisz na serwerze',
    'backup.download' => 'Pobierz',
    'backup.created_ok' => 'Kopia zapasowa „%s" utworzona (%d plików).',
    'backup.restore_title' => 'Przywróć kopię zapasową',
    'backup.restore_hint' => 'Prześlij archiwum ZIP utworzone na tej stronie, aby przywrócić metadane. Kopia zapasowa bieżącego stanu zostanie automatycznie utworzona przed przywróceniem.',
    'backup.restore_label' => 'Archiwum ZIP kopii zapasowej',
    'backup.restore_apply' => 'Przywróć',
    'backup.restore_confirm' => 'Czy na pewno chcesz przywrócić tę kopię zapasową? Bieżący stan zostanie wcześniej zapisany.',
    'backup.restore_this' => 'Przywróć tę kopię zapasową',
    'backup.restored_ok' => 'Przywrócono %d plik(ów). Kopia zapasowa przed przywróceniem: %s',
    'backup.local_list' => 'Lokalne kopie zapasowe',
    'backup.no_backups' => 'Brak lokalnych kopii zapasowych.',
    'backup.col_name' => 'Plik',
    'backup.col_size' => 'Rozmiar',
    'backup.col_date' => 'Data',
    'backup.delete_confirm' => 'Usunąć kopię zapasową „%s"?',
    'backup.deleted_ok' => 'Kopia zapasowa „%s" usunięta.',
    'backup.invalid_file' => 'Nieprawidłowa nazwa pliku.',
    'backup.securite_missing' => 'Katalog bezpieczeństwa nie istnieje.',
    'backup.create_error' => 'Nie udało się utworzyć archiwum ZIP.',
    'update.title' => 'Aktualizacja aplikacji',
    'update.current_version' => 'Bieżąca wersja',
    'update.upload_title' => 'Prześlij aktualizację',
    'update.upload_hint' => 'Wybierz archiwum ZIP zawierające pliki aktualizacji. Baza danych i klucz szyfrowania nie zostaną nadpisane.',
    'update.zip_label' => 'Archiwum ZIP aktualizacji',
    'update.apply' => 'Zastosuj aktualizację',
    'update.confirm' => 'Czy na pewno chcesz zastosować tę aktualizację? Kopia zapasowa zostanie utworzona automatycznie.',
    'update.upload_error' => 'Błąd przesyłania pliku.',
    'update.invalid_zip' => 'Plik nie jest prawidłowym archiwum ZIP.',
    'update.zip_ext_missing' => 'Rozszerzenie PHP ZipArchive nie jest dostępne na tym serwerze.',
    'update.empty_archive' => 'Archiwum nie zawiera plików do rozpakowania (wszystkie pliki są chronione lub archiwum jest puste).',
    'update.success' => 'Pomyślnie zaktualizowano %d plik(ów).',
    'update.backup_created' => 'Utworzono kopię zapasową: %s',
    'update.deleted' => 'Usunięto %d element(ów) poprzedniej wersji.',
    'update.full_backup_created' => 'Pełna kopia zapasowa: %s',
    'update.backup_failed' => 'Kopia zapasowa przed aktualizacją nie powiodła się — aktualizację przerwano, nie usunięto żadnego pliku.',
    'update.maintenance_failed' => 'Niekompletne rozpakowanie: aplikacja pozostaje w trybie konserwacji. Przywróć kopię %s (Kopia zapasowa/Przywracanie) lub uruchom aktualizację ponownie.',
    'update.maintenance_active' => 'Aplikacja jest obecnie w trybie konserwacji (widoczna tylko dla administratorów).',
    'update.clear_maintenance' => 'Wyjdź z trybu konserwacji',
    'update.maintenance_cleared' => 'Tryb konserwacji wyłączony.',
    'update.danger_hint' => 'Aktualizacja przełącza aplikację w tryb konserwacji, tworzy kopię, a następnie USUWA poprzednią wersję (oprócz securite/ i log/) i rozpakowuje nową.',
    'update.pruned' => 'Usunięto %d starych kopii zapasowych.',
    'update.restore_success' => 'Wersja przywrócona z %s:',
    'update.backup_deleted' => 'Usunięto kopię zapasową: %s',
    'update.backup_not_found' => 'Nie znaleziono kopii zapasowej lub nieprawidłowa nazwa.',
    'update.delete_failed' => 'Nie udało się usunąć kopii zapasowej.',
    'update.backups_title' => 'Poprzednie wersje (kopie zapasowe)',
    'update.backups_hint' => 'Ostatnie 3 wersje są zachowywane automatycznie. Możesz przywrócić lub usunąć wersję.',
    'update.backups_empty' => 'Brak dostępnych kopii zapasowych.',
    'update.backup_latest' => 'najnowsza',
    'update.restore' => 'Przywróć',
    'update.restore_confirm' => 'Przywrócenie tej wersji zastąpi bieżącą (clean replace). Kontynuować?',
    'update.delete_backup' => 'Usuń',
    'update.delete_backup_confirm' => 'Trwale usunąć tę kopię zapasową?',
    'update.protected_dirs' => 'Dane i dzienniki zawsze zachowane',
    'update.git_kept' => 'Metadane git zachowane (moduł Developer obecny)',
    'update.git_removed' => 'Metadane git usunięte (instancja spakowana)',
    'update.partial_errors' => 'Nie udało się rozpakować %d plik(ów):',
    'update.skipped_files' => 'Pominięto %d chroniony(ch) plik(ów):',
    'update.protected_title' => 'Pliki chronione',
    'update.protected_hint' => 'Następujące pliki nigdy nie zostaną nadpisane podczas aktualizacji, nawet jeśli znajdują się w archiwum:',
    'update.protected_db' => 'Baza danych aplikacji',
    'update.protected_key' => 'Główny klucz szyfrowania',
    'update.protected_wallets' => 'Portfele Oracle Cloud',
    'maintenance.title' => 'Trwa konserwacja',
    'maintenance.message' => 'Aplikacja jest tymczasowo niedostępna z powodu konserwacji. Spróbuj ponownie za chwilę.',
    'about.title' => 'O programie',
    'about.version' => 'Version',
    'about.libraries' => 'Biblioteki zewnętrzne',
    'about.lib_name' => 'Biblioteka',
    'about.lib_version' => 'Version',
    'about.lib_license' => 'Licencja',
    'about.license_title' => 'Licencja',
    'about.license_rights' => 'Wszelkie prawa zastrzeżone.',
    'about.license_grant' => 'Niniejsze oprogramowanie jest udostępniane na licencji zastrzeżonej, niewyłącznej i nieprzenoszalnej. Autor udziela nabywcy prawa do korzystania z oprogramowania w jego oryginalnej postaci, bez przeniesienia własności.',
    'about.license_conditions' => 'Z zastrzeżeniem następujących warunków:',
    'about.license_cond_attribution' => '<strong>Uznanie autorstwa</strong> — Pochodzenie oprogramowania i nazwisko autora muszą zostać zachowane w kodzie źródłowym i dokumentacji technicznej. Interfejs prezentowany użytkownikom końcowym może natomiast zostać dostosowany (zob. „Marka własna").',
    'about.license_cond_no_derivs' => '<strong>Bez utworów zależnych</strong> — Kodu oprogramowania nie wolno modyfikować, przerabiać ani wykorzystywać jako podstawy utworów zależnych bez uprzedniej pisemnej zgody autora, z wyjątkiem dostosowania identyfikacji wizualnej (tytuł, logo, favicon, motyw) przewidzianego przez aplikację.',
    'about.license_cond_commercial' => '<strong>Bez cesji — marka własna dozwolona</strong> — Oprogramowania nie wolno cedować, odsprzedawać ani sublicencjonować jako produktu. Nabywca może jednak z niego korzystać i oferować je własnym klientom pod własną marką (marka własna), bez przeniesienia własności licencji.',
    'about.license_disclaimer' => 'OPROGRAMOWANIE JEST DOSTARCZANE „TAK JAK JEST", BEZ JAKICHKOLWIEK GWARANCJI, WYRAŹNYCH LUB DOROZUMIANYCH, W TYM MIĘDZY INNYMI GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU I NIENARUSZANIA PRAW OSÓB TRZECICH. W ŻADNYM WYPADKU AUTOR NIE PONOSI ODPOWIEDZIALNOŚCI ZA JAKIEKOLWIEK ROSZCZENIA, SZKODY LUB INNĄ ODPOWIEDZIALNOŚĆ.',
    'about.license_compat' => 'Licencja zastrzeżona i nieprzenoszalna: oprogramowanie może być wykorzystywane pod marką własną, ale nie może być cedowane ani odsprzedawane.',
    'backup.include_key' => 'Dołącz klucz szyfrowania (master.key) — pełne odtwarzanie',
    'backup.include_key_warn' => '⚠ Bez klucza kopia nie odszyfruje sekretów: zapisz master.key osobno. Z kluczem chroń plik (zawiera WSZYSTKIE sekrety).',
];
