Merge origin/master into feat/apple-typed-resources-and-fixes

Brings in custom relays, relay connection policies, storage cache clearing, and
receiver-failure reporting. Apple-side conflict resolutions:
- CoreRepository: keep CoreDispatcher, adopt master's relay factory + network
  transition guard, drop the now-unused serial queue.
- TransferDetailsView: keep the toolbar-share layout; adopt master's
  invitationPresentation-based QR panel and the new .failed receiver case (typed).
- SettingsModel/SettingsScreen: typed L10n titleKey with master's .network case;
  relay controls and the Free up space / storage redesign coexist.
- Add the missing transfer_receiver_failed localization key.
- Regenerate l10n from the merged strings.json; keep the Apple catalog untracked.
- Drop the notificationsEnabled test assertion (notifications preference was
  intentionally removed on this branch).
This commit is contained in:
2026-07-24 17:48:10 +02:00
80 changed files with 5906 additions and 383 deletions

View File

@@ -170,6 +170,32 @@
<string name="receive_review_title">Przejrzyj transfer</string>
<string name="receive_title">Odbierz</string>
<string name="receive_unknown_transfer">Transfer VniDrop</string>
<string name="relay_add_url">Dodaj serwer przekaźnikowy</string>
<string name="relay_apply">Zastosuj ustawienia sieci</string>
<string name="relay_applying">Stosowanie…</string>
<string name="relay_apply_active_transfers">Zatrzymaj wszystkie aktywne transfery i udostępnienia przed zastosowaniem ustawień sieci.</string>
<string name="relay_apply_failed">Nie udało się zastosować tych ustawień. Przywrócono poprzednie ustawienia sieci.</string>
<string name="relay_apply_restart_description">Zastosowanie ustawień ponownie uruchamia połączenie sieciowe VniDrop. Najpierw zatrzymaj aktywne transfery i udostępnienia. Istniejące zaproszenia mogą wymagać ponownego udostępnienia.</string>
<string name="relay_custom_urls_help">Wprowadź po jednym adresie URL HTTPS przekaźnika w każdym wierszu. Dane logowania w adresach URL nie są obsługiwane. Certyfikat TLS musi być wystawiony przez publicznie zaufany urząd certyfikacji.</string>
<string name="relay_custom_urls_label">Adresy URL przekaźników</string>
<string name="relay_mode_automatic">Automatyczny (zalecany)</string>
<string name="relay_mode_automatic_description">Używa domyślnej publicznej infrastruktury przekaźników VniDrop, gdy połączenie bezpośrednie jest niedostępne.</string>
<string name="relay_mode_custom">Ścisły niestandardowy</string>
<string name="relay_mode_custom_description">Używa tylko skonfigurowanych własnych przekaźników lub połączeń bezpośrednich. Zgłasza błąd, jeśli nie można połączyć się z żadnym własnym przekaźnikiem.</string>
<string name="relay_mode_custom_direct_fallback">Niestandardowy z trybem bezpośrednim</string>
<string name="relay_mode_custom_direct_fallback_description">Preferuje skonfigurowane własne przekaźniki. Jeśli są niedostępne, kontynuuje tylko przez połączenia bezpośrednie. Nigdy nie używa publicznych przekaźników.</string>
<string name="relay_mode_local_only">Tylko sieć lokalna</string>
<string name="relay_mode_local_only_description">Wyłącza wszystkie przekaźniki i zezwala tylko na połączenia bezpośrednie, głównie dla urządzeń w tej samej sieci.</string>
<string name="relay_privacy_description">Przekaźniki przesyłają zaszyfrowany ruch i nie mogą odczytać plików, ale ich operator może obserwować metadane połączenia.</string>
<string name="relay_remove_url">Usuń serwer przekaźnikowy</string>
<string name="relay_restore_failed">Nie udało się przywrócić poprzednich ustawień sieci. Uruchom ponownie VniDrop i sprawdź konfigurację przekaźników.</string>
<string name="relay_settings_applied">Zastosowano ustawienia sieci.</string>
<string name="relay_strict_warning">Ścisły tryb niestandardowy uruchamia się tylko wtedy, gdy co najmniej jeden skonfigurowany przekaźnik jest dostępny. VniDrop nigdy nie używa w tym trybie publicznych przekaźników ani publicznego wykrywania.</string>
<string name="relay_validation_duplicate_url">Adres URL przekaźnika w wierszu %1$d powtarza wcześniejszy wpis.</string>
<string name="relay_validation_https_required">Adres URL przekaźnika w wierszu %1$d musi zaczynać się od https://.</string>
<string name="relay_validation_invalid_url">Adres URL przekaźnika w wierszu %1$d jest nieprawidłowy.</string>
<string name="relay_validation_missing_url">Dodaj co najmniej jeden adres URL przekaźnika.</string>
<string name="relay_validation_too_many_urls">Możesz skonfigurować maksymalnie %1$d serwerów przekaźnikowych.</string>
<string name="send_access_anyone">Każdy, kto ma ten transfer</string>
<string name="send_access_anyone_description">Nie jest wymagane zatwierdzenie. Używaj tylko dla elementów, które możesz swobodnie udostępniać.</string>
<string name="send_access_anyone_warning">Każdy, kto ma zaproszenie, może pobierać, dopóki nie zatrzymasz udostępniania. Nie używaj tego dla prywatnych ani wrażliwych elementów.</string>
@@ -193,6 +219,8 @@
<string name="send_transfer_created">Transfer utworzony.</string>
<string name="send_transfer_details_title">Szczegóły transferu</string>
<string name="send_transfers_title">Twoje transfery</string>
<string name="settings_advanced_title">Zaawansowane</string>
<string name="settings_network_title">Sieć</string>
<string name="settings_subtitle">Twoja nazwa, miejsce zapisu transferów, wygląd i powiadomienia.</string>
<string name="settings_title">Ustawienia</string>
<string name="snackbar_dismiss">Zamknij</string>
@@ -253,6 +281,7 @@
<string name="transfer_receiver_accepted">Zatwierdzono — oczekiwanie na ukończenie</string>
<string name="transfer_receiver_completed">Odebrano pomyślnie</string>
<string name="transfer_receiver_expired">Prośba wygasła</string>
<string name="transfer_receiver_failed">Dostarczenie nie powiodło się</string>
<string name="transfer_receiver_refused">Prośba odrzucona</string>
<string name="transfer_receiver_requested">Oczekiwanie na Twoje zatwierdzenie</string>
<string name="transfer_receiver_unknown">Status niedostępny</string>
@@ -260,6 +289,7 @@
<string name="transfer_receivers_description">Prośby, zatwierdzenia i ukończone dostawy</string>
<string name="transfer_receivers_pending">Oczekujące: %1$d</string>
<string name="transfer_receivers_title">Odbiorcy</string>
<string name="transfer_qr_unavailable">Kod QR jest niedostępny dla tego zaproszenia. Zamiast tego użyj opcji Udostępnij lub Pobierz.</string>
<string name="transfer_scan_qr">Zeskanuj za pomocą VniDrop, aby odebrać ten transfer</string>
<string name="transfer_share_description">Kod QR, plik zaproszenia i opcje w pobliżu</string>
<string name="transfer_share_title">Udostępnij</string>