From 76010ad72577a9041836c193906ebecffb99bedd Mon Sep 17 00:00:00 2001 From: Home Assistant Bot Date: Thu, 9 Apr 2026 11:38:16 +0000 Subject: [PATCH 1/3] Update Localized Strings --- .../Resources/bg.lproj/Localizable.strings | 19 ++- .../Resources/ca-ES.lproj/Localizable.strings | 19 ++- .../Resources/cs.lproj/Localizable.strings | 19 ++- .../Resources/cy-GB.lproj/Localizable.strings | 19 ++- .../Resources/da.lproj/Localizable.strings | 19 ++- .../Resources/de.lproj/Localizable.strings | 19 ++- .../Resources/el.lproj/Localizable.strings | 19 ++- .../Resources/en-GB.lproj/Localizable.strings | 19 ++- .../Resources/en.lproj/Localizable.strings | 28 ++--- .../Resources/es-ES.lproj/Frontend.strings | 2 +- .../Resources/es-ES.lproj/Localizable.strings | 19 ++- .../Resources/es-MX.lproj/Localizable.strings | 19 ++- .../Resources/es.lproj/Localizable.strings | 19 ++- .../Resources/et.lproj/Localizable.strings | 19 ++- .../Resources/fi.lproj/Localizable.strings | 19 ++- .../Resources/fr.lproj/Localizable.strings | 19 ++- Sources/App/Resources/he.lproj/Core.strings | 2 +- .../Resources/he.lproj/Localizable.strings | 19 ++- .../Resources/hu.lproj/Localizable.strings | 19 ++- .../Resources/id.lproj/Localizable.strings | 19 ++- .../Resources/it.lproj/Localizable.strings | 19 ++- .../Resources/ja.lproj/Localizable.strings | 19 ++- .../Resources/ko-KR.lproj/Localizable.strings | 19 ++- .../Resources/ml.lproj/Localizable.strings | 19 ++- .../Resources/nb.lproj/Localizable.strings | 93 ++++++++------ .../Resources/nl.lproj/Localizable.strings | 19 ++- .../Resources/pl-PL.lproj/Localizable.strings | 19 ++- .../Resources/pt-BR.lproj/Localizable.strings | 19 ++- .../Resources/ru.lproj/Localizable.strings | 115 ++++++++++-------- .../Resources/sl.lproj/Localizable.strings | 19 ++- .../Resources/sv.lproj/Localizable.strings | 83 ++++++++----- .../Resources/tr.lproj/Localizable.strings | 25 +++- .../Resources/uk.lproj/Localizable.strings | 19 ++- .../Resources/vi.lproj/Localizable.strings | 19 ++- .../Resources/zh-Hans.lproj/InfoPlist.strings | 2 +- .../zh-Hans.lproj/Localizable.strings | 19 ++- .../zh-Hant.lproj/Localizable.strings | 19 ++- .../Shared/Resources/Swiftgen/Strings.swift | 6 +- 38 files changed, 733 insertions(+), 174 deletions(-) diff --git a/Sources/App/Resources/bg.lproj/Localizable.strings b/Sources/App/Resources/bg.lproj/Localizable.strings index b460e93148..a3a3cd32d2 100644 --- a/Sources/App/Resources/bg.lproj/Localizable.strings +++ b/Sources/App/Resources/bg.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancel"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Докоснете, за да продължите на вашия iPhone"; "carPlay.action.intro.item.title" = "Създайте първото си действие"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Сигурни ли сте, че искате да извършите действие за заключване на %@?"; "carplay.navigation.button.next" = "Следващ"; "carplay.navigation.button.previous" = "Предишен"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Сигурни ли сте, че искате да извършите действие за отключване на %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; diff --git a/Sources/App/Resources/ca-ES.lproj/Localizable.strings b/Sources/App/Resources/ca-ES.lproj/Localizable.strings index 0d9a7b8a69..4a3b5700ce 100644 --- a/Sources/App/Resources/ca-ES.lproj/Localizable.strings +++ b/Sources/App/Resources/ca-ES.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Arrossega per reordenar"; "cameras.no_server_found" = "No s'ha trobat cap servidor per la càmera: %@"; "cancel_label" = "Cancel·lar"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Continua a l'iPhone"; "carPlay.action.intro.item.title" = "Crea la teva primera acció"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Següent"; "carplay.navigation.button.previous" = "Anterior"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "El mode ajornat no es compatible amb l'exactitud sol·licitada."; "cl_error.description.deferred_canceled" = "L'aplicació o el gestor d'ubicacions han cancel·lat la sol·licitud d'actualitzacions diferides."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Ubicació actualitzada mitjançant drecera d’aplicació"; "location_change_notification.background_fetch.body" = "Ubicació actual activada en segon pla"; "location_change_notification.beacon_region_enter.body" = "%@ entrat a través de iBeacon"; diff --git a/Sources/App/Resources/cs.lproj/Localizable.strings b/Sources/App/Resources/cs.lproj/Localizable.strings index c76f9a08b4..3715dfb142 100644 --- a/Sources/App/Resources/cs.lproj/Localizable.strings +++ b/Sources/App/Resources/cs.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Přetažením přeuspořádáte"; "cameras.no_server_found" = "Pro kameru nebyl nalezen server: %@"; "cancel_label" = "Zrušit"; +"carPlay.action.execute.in_progress" = "Provádění..."; "carPlay.action.intro.item.body" = "Klepnutím pokračujte na vašem iPhonu"; "carPlay.action.intro.item.title" = "Vytvořte svou první akci"; "carPlay.config.tabs.title" = "Karty"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Opravdu chcete provést akci uzamčení na %@?"; "carplay.navigation.button.next" = "Další"; "carplay.navigation.button.previous" = "Předchozí"; +"carplay.tab.quick_access.layout" = "Rozložení"; "carplay.unlock.confirmation.title" = "Opravdu chcete provést akci odemknutí na %@?"; "cl_error.description.deferred_accuracy_too_low" = "Odložený režim není pro požadovanou přesnost podporován."; "cl_error.description.deferred_canceled" = "Žádost o odložené aktualizace byla zrušena Vaší aplikací nebo správcem místa."; @@ -490,7 +492,7 @@ Tento server vyžaduje klientský certifikát (mTLS), ale operace byla zrušena. "kiosk.section.title" = "Režim kiosku"; "kiosk.security.device_auth" = "Ověření zařízení"; "kiosk.security.gesture_corner" = "Roh pro gesto pro ukončení"; -"kiosk.security.gesture_footer" = "Klepněte na %@ roh %likrát pro přístup k nastavení kiosku, když je uzamčen."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Skrýt stavový řádek"; "kiosk.security.prevent_autolock" = "Zabránit automatickému uzamčení"; "kiosk.security.secret_gesture" = "Tajné gesto pro ukončení"; @@ -498,6 +500,21 @@ Tento server vyžaduje klientský certifikát (mTLS), ale operace byla zrušena. "kiosk.security.taps_required" = "Požadovaná klepnutí: %li"; "kiosk.title" = "Režim kiosku"; "legacy_actions.disclaimer" = "Akce starších verzí systému iOS již nejsou doporučeným způsobem interakce s Home Asistentem. Používejte skripty, scény a automatizace přímo ve widgetech, Apple Watch a CarPlay."; +"live_activity.empty_state" = "Žádné aktivní živé aktivity"; +"live_activity.end_all.button" = "Ukončit všechny aktivity"; +"live_activity.end_all.confirm.button" = "Ukončit vše"; +"live_activity.end_all.confirm.title" = "Ukončit všechny živé aktivity?"; +"live_activity.frequent_updates.footer" = "Umožňuje Home Assistantovi aktualizovat živé aktivity až jednou za sekundu. Povolte v Nastavení. \u203A %@ \u203A Živé aktivity."; +"live_activity.frequent_updates.title" = "Časté aktualizace"; +"live_activity.privacy.message" = "Obsah živých aktivit je viditelný na zamykací obrazovce a v Dynamic Islandu bez použití Face ID nebo Touch ID. Pečlivě si vyberte, co chcete zobrazit."; +"live_activity.section.active" = "Aktivní aktivity"; +"live_activity.section.privacy" = "Soukromí"; +"live_activity.section.status" = "Stav"; +"live_activity.status.enabled" = "Povoleno"; +"live_activity.status.not_supported" = "Není dostupné na iPadu"; +"live_activity.status.open_settings" = "Otevřít Nastavení"; +"live_activity.subtitle" = "Aktualizace Home Assistanta v reálném čase na zamykací obrazovce a v Dynamic Islandu."; +"live_activity.title" = "Živé aktivity"; "location_change_notification.app_shortcut.body" = "Poloha aktualizována přes zástupce aplikace"; "location_change_notification.background_fetch.body" = "Doručení aktuální polohy spuštěno prostřednictvím načtení na pozadí"; "location_change_notification.beacon_region_enter.body" = "%@ vstoupil přes iBeacon"; diff --git a/Sources/App/Resources/cy-GB.lproj/Localizable.strings b/Sources/App/Resources/cy-GB.lproj/Localizable.strings index f495c6eb80..06559d34be 100644 --- a/Sources/App/Resources/cy-GB.lproj/Localizable.strings +++ b/Sources/App/Resources/cy-GB.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Canslo"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Nid yw'r modd gohiriedig yn cael ei gefnogi ar gyfer y cywirdeb gofynnol."; "cl_error.description.deferred_canceled" = "Cafodd y cais am ddiweddariadau gohiriedig ei ganslo gan eich ap neu gan y rheolwr lleoliad."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Diweddarwyd y lleoliad trwy App Shortcut"; "location_change_notification.background_fetch.body" = "Cyflenwi lleoliad cyfredol wedi'i sbarduno trwy'r cefndir nôl"; "location_change_notification.beacon_region_enter.body" = "%@ wedi mynd i mewn trwy iBeacon"; diff --git a/Sources/App/Resources/da.lproj/Localizable.strings b/Sources/App/Resources/da.lproj/Localizable.strings index 44b08ad2ea..93fd026eac 100644 --- a/Sources/App/Resources/da.lproj/Localizable.strings +++ b/Sources/App/Resources/da.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Træk og slip for at ændre rækkefølge"; "cameras.no_server_found" = "Ingen server fundet til kamera: %@"; "cancel_label" = "Annullér"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tryk for at fortsætte på din iPhone"; "carPlay.action.intro.item.title" = "Opret din første handling"; "carPlay.config.tabs.title" = "Faner"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Er du sikker på, at du vil udføre låsehandling på %@?"; "carplay.navigation.button.next" = "Næste"; "carplay.navigation.button.previous" = "Forrige"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Er du sikker på, at du vil udføre oplåsningshandling på %@?"; "cl_error.description.deferred_accuracy_too_low" = "Udskudt tilstand understøttes ikke for den ønskede nøjagtighed."; "cl_error.description.deferred_canceled" = "Anmodningen om udskudte opdateringer blev annulleret af din app eller af lokalitetsadministratoren."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Forældede iOS-handlinger er ikke længere den anbefalede måde at interagere med Home Assistant på, så brug scripts, scener og automatiseringer direkte i dine widgets, Apple Watch og CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Lokalitet opdateret via appgenvej"; "location_change_notification.background_fetch.body" = "Nuværende lokalitetslevering udløst via baggrundshentning"; "location_change_notification.beacon_region_enter.body" = "ankom til %@ via iBeacon"; diff --git a/Sources/App/Resources/de.lproj/Localizable.strings b/Sources/App/Resources/de.lproj/Localizable.strings index 2d086b48fc..b77f652b41 100644 --- a/Sources/App/Resources/de.lproj/Localizable.strings +++ b/Sources/App/Resources/de.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Per Drag & Drop neu anordnen"; "cameras.no_server_found" = "Kein Server für Kamera gefunden: %@"; "cancel_label" = "Abbrechen"; +"carPlay.action.execute.in_progress" = "Wird ausgeführt …"; "carPlay.action.intro.item.body" = "Tippe, um auf deinem iPhone fortzufahren"; "carPlay.action.intro.item.title" = "Erstelle deine erste Aktion"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Bist du sicher, dass du die Aktion Abschließen von %@ ausführen möchtest?"; "carplay.navigation.button.next" = "Weiter"; "carplay.navigation.button.previous" = "Zurück"; +"carplay.tab.quick_access.layout" = "Anordnung"; "carplay.unlock.confirmation.title" = "Bist du sicher, dass du die Aktion Aufschließen von %@ ausführen möchtest?"; "cl_error.description.deferred_accuracy_too_low" = "Der Aufschieben-Modus wird für die angeforderte Genauigkeit nicht unterstützt."; "cl_error.description.deferred_canceled" = "Die Anforderung für verzögerte Aktualisierungen wurde von deiner App oder vom Standortmanager abgebrochen."; @@ -490,7 +492,7 @@ Dieser Server benötigt ein Clientzertifikat (mTLS), aber der Vorgang wurde abge "kiosk.section.title" = "Kiosk-Modus"; "kiosk.security.device_auth" = "Geräteauthentifizierung"; "kiosk.security.gesture_corner" = "Ecke für Ausstiegsgeste"; -"kiosk.security.gesture_footer" = "Tippe %li-mal auf die Ecke %@, um im gesperrten Zustand auf die Kiosk-Einstellungen zuzugreifen."; +"kiosk.security.gesture_footer" = "Tippe %2$@-mal auf die Ecke %1$@, um auf die gesperrten Kioskeinstellungen zuzugreifen."; "kiosk.security.hide_status_bar" = "Statusleiste ausblenden"; "kiosk.security.prevent_autolock" = "Automatische Verriegelung verhindern"; "kiosk.security.secret_gesture" = "Geheime Ausstiegsgeste"; @@ -498,6 +500,21 @@ Dieser Server benötigt ein Clientzertifikat (mTLS), aber der Vorgang wurde abge "kiosk.security.taps_required" = "Erforderliche Tippvorgänge: %li"; "kiosk.title" = "Kiosk-Modus"; "legacy_actions.disclaimer" = "Die Verwendung älterer iOS-Aktionen wird nicht mehr empfohlen, um mit Home Assistant zu interagieren. Bitte verwende stattdessen Skripte, Szenen und Automationen direkt in deinen Widgets, deiner Apple Watch und CarPlay."; +"live_activity.empty_state" = "Keine aktiven Live-Aktivitäten"; +"live_activity.end_all.button" = "Alle Aktivitäten beenden"; +"live_activity.end_all.confirm.button" = "Alle beenden"; +"live_activity.end_all.confirm.title" = "Alle Live-Aktivitäten beenden?"; +"live_activity.frequent_updates.footer" = "Ermöglicht es Home Assistant, Live-Aktivitäten bis zu einmal pro Sekunde zu aktualisieren. In Einstellungen \u203A %@ \u203A Live-Aktivitäten aktiveren."; +"live_activity.frequent_updates.title" = "Häufige Aktualisierungen"; +"live_activity.privacy.message" = "Inhalte für Live-Aktivität sind auf deinem Sperrbildschirm und Dynamic Island auch ohne Face ID oder Touch ID sichtbar. Wähle die angezeigten Inhalte sorgfältig aus."; +"live_activity.section.active" = "Aktive Aktivitäten"; +"live_activity.section.privacy" = "Datenschutz"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Aktiviert"; +"live_activity.status.not_supported" = "Auf dem iPad nicht verfügbar"; +"live_activity.status.open_settings" = "Einstellungen öffnen"; +"live_activity.subtitle" = "Home Assistant-Updates in Echtzeit auf deinem Sperrbildschirm und Dynamic Island."; +"live_activity.title" = "Live-Aktivitäten"; "location_change_notification.app_shortcut.body" = "Standort über App-Shortcut aktualisiert"; "location_change_notification.background_fetch.body" = "Standortaktualisierung: Hintergrundaktualisierung"; "location_change_notification.beacon_region_enter.body" = "%@ über iBeacon betreten"; diff --git a/Sources/App/Resources/el.lproj/Localizable.strings b/Sources/App/Resources/el.lproj/Localizable.strings index 7c8e79f330..c514473f59 100644 --- a/Sources/App/Resources/el.lproj/Localizable.strings +++ b/Sources/App/Resources/el.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Σύρετε και αποθέστε για αναδιάταξη"; "cameras.no_server_found" = "Δεν βρέθηκε server για την κάμερα: %@"; "cancel_label" = "Ακύρωση"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Πατήστε για να συνεχίσετε στο iPhone σας"; "carPlay.action.intro.item.title" = "Δημιουργήστε την πρώτη σας ενέργεια"; "carPlay.config.tabs.title" = "Καρτέλες"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Είστε σίγουροι ότι θέλετε να εκτελέσετε ενέργεια κλειδώματος στο %@;"; "carplay.navigation.button.next" = "Επόμενο"; "carplay.navigation.button.previous" = "Προηγούμενο"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Είστε σίγουροι ότι θέλετε να εκτελέσετε ενέργεια ξεκλειδώματος στο %@;"; "cl_error.description.deferred_accuracy_too_low" = "Η λειτουργία αναβολής δεν υποστηρίζεται για την ακρίβεια που ζητήθηκε."; "cl_error.description.deferred_canceled" = "Το αίτημα για αναβαλλόμενες ενημερώσεις ακυρώθηκε από την εφαρμογή σας ή από το διαχειριστή τοποθεσίας."; @@ -490,7 +492,7 @@ "kiosk.section.title" = "Λειτουργία κιόσκι"; "kiosk.security.device_auth" = "Ελεγχος ταυτότητας συσκευής"; "kiosk.security.gesture_corner" = "Γωνία χειρονομίας εξόδου"; -"kiosk.security.gesture_footer" = "Πατήστε τη γωνία %@ %li φορές για να αποκτήσετε πρόσβαση στις ρυθμίσεις κιόσκι όταν είναι κλειδωμένο."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Απόκρυψη γραμμής κατάστασης"; "kiosk.security.prevent_autolock" = "Αποτροπή αυτόματου κλειδώματος"; "kiosk.security.secret_gesture" = "Μυστική χειρονομία εξόδου"; @@ -498,6 +500,21 @@ "kiosk.security.taps_required" = "Απαιτούμενες πατήματα: %li"; "kiosk.title" = "Λειτουργία κιόσκι"; "legacy_actions.disclaimer" = "Οι παλαιού τύπου Ενέργειες iOS δεν είναι πλέον ο συνιστώμενος τρόπος αλληλεπίδρασης με το Home Assistant, παρακαλώ χρησιμοποιήστε Σενάρια, Σκηνές και Αυτοματισμούς απευθείας στα Γραφικά στοιχεία, το Apple Watch και το CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Η τοποθεσία ενημερώθηκε μέσω συντόμευσης εφαρμογής"; "location_change_notification.background_fetch.body" = "Η τρέχουσα παράδοση τοποθεσίας πυροδοτήθηκε μέσω λήψης φόντου"; "location_change_notification.beacon_region_enter.body" = "%@ εισήχθη μέσω iBeacon"; diff --git a/Sources/App/Resources/en-GB.lproj/Localizable.strings b/Sources/App/Resources/en-GB.lproj/Localizable.strings index b8083087d2..20155ac68c 100644 --- a/Sources/App/Resources/en-GB.lproj/Localizable.strings +++ b/Sources/App/Resources/en-GB.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancel"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; diff --git a/Sources/App/Resources/en.lproj/Localizable.strings b/Sources/App/Resources/en.lproj/Localizable.strings index 7c7e6df0c7..5b92bb348e 100644 --- a/Sources/App/Resources/en.lproj/Localizable.strings +++ b/Sources/App/Resources/en.lproj/Localizable.strings @@ -209,8 +209,8 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; -"carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "carplay.tab.quick_access.layout" = "Layout"; +"carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; "cl_error.description.deferred_distance_filtered" = "Deferred mode does not support distance filters."; @@ -492,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -500,23 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; - -"live_activity.title" = "Live Activities"; -"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; "live_activity.section.active" = "Active Activities"; -"live_activity.section.status" = "Status"; "live_activity.section.privacy" = "Privacy"; -"live_activity.empty_state" = "No active Live Activities"; +"live_activity.section.status" = "Status"; "live_activity.status.enabled" = "Enabled"; "live_activity.status.not_supported" = "Not available on iPad"; "live_activity.status.open_settings" = "Open Settings"; -"live_activity.end_all.button" = "End All Activities"; -"live_activity.end_all.confirm.title" = "End all Live Activities?"; -"live_activity.end_all.confirm.button" = "End All"; -"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; -"live_activity.frequent_updates.title" = "Frequent Updates"; -"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; - +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; @@ -1617,4 +1615,4 @@ Home Assistant is open source, advocates for privacy and runs locally in your ho "widgets.todo_list.refresh_title" = "Refresh To-do List"; "widgets.todo_list.select_list" = "Edit widget to select list."; "widgets.todo_list.title" = "To-do List"; -"yes_label" = "Yes"; +"yes_label" = "Yes"; \ No newline at end of file diff --git a/Sources/App/Resources/es-ES.lproj/Frontend.strings b/Sources/App/Resources/es-ES.lproj/Frontend.strings index 99c971f4ca..53eb2f0b43 100644 --- a/Sources/App/Resources/es-ES.lproj/Frontend.strings +++ b/Sources/App/Resources/es-ES.lproj/Frontend.strings @@ -9,6 +9,6 @@ "panel::media_browser" = "Medios"; "panel::profile" = "Perfil"; "panel::shopping_list" = "Lista de la compra"; -"panel::states" = "Resumen"; +"panel::states" = "Vista general"; "state::default::unavailable" = "No disponible"; "state::default::unknown" = "Desconocido"; \ No newline at end of file diff --git a/Sources/App/Resources/es-ES.lproj/Localizable.strings b/Sources/App/Resources/es-ES.lproj/Localizable.strings index 68a5435a48..d4c19ec2a9 100644 --- a/Sources/App/Resources/es-ES.lproj/Localizable.strings +++ b/Sources/App/Resources/es-ES.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancel"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; diff --git a/Sources/App/Resources/es-MX.lproj/Localizable.strings b/Sources/App/Resources/es-MX.lproj/Localizable.strings index 50c7963cbc..3cc658357f 100644 --- a/Sources/App/Resources/es-MX.lproj/Localizable.strings +++ b/Sources/App/Resources/es-MX.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancel"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; diff --git a/Sources/App/Resources/es.lproj/Localizable.strings b/Sources/App/Resources/es.lproj/Localizable.strings index df71cbda51..434820ffe5 100644 --- a/Sources/App/Resources/es.lproj/Localizable.strings +++ b/Sources/App/Resources/es.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancelar"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Crea tu primera acción"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Siguiente"; "carplay.navigation.button.previous" = "Anterior"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "El modo diferido no es compatible con la precisión solicitada."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Ubicación actualizada mediante el acceso directo a la aplicación"; "location_change_notification.background_fetch.body" = "Ubicación actual activada en segundo plano"; "location_change_notification.beacon_region_enter.body" = "%@ entrado a través de iBeacon"; diff --git a/Sources/App/Resources/et.lproj/Localizable.strings b/Sources/App/Resources/et.lproj/Localizable.strings index 5f0dce5afb..52367dbc3a 100644 --- a/Sources/App/Resources/et.lproj/Localizable.strings +++ b/Sources/App/Resources/et.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Lohista ja aseta ümberjärjestamiseks"; "cameras.no_server_found" = "Kaamera jaoks ei leitud serverit: %@"; "cancel_label" = "Loobu"; +"carPlay.action.execute.in_progress" = "Täitmine..."; "carPlay.action.intro.item.body" = "Puuduta jätkamiseks oma iPhone'is"; "carPlay.action.intro.item.title" = "Loo oma esimene toiming"; "carPlay.config.tabs.title" = "Vahekaardid"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Kas oled kindel, et soovid teostada %@ lukustustamise toimingut?"; "carplay.navigation.button.next" = "Järgmine"; "carplay.navigation.button.previous" = "Eelmine"; +"carplay.tab.quick_access.layout" = "Paigutus"; "carplay.unlock.confirmation.title" = "Kas oled kindel, et soovid teostada %@ lukustuse avamise toimingut?"; "cl_error.description.deferred_accuracy_too_low" = "Soovitud täpsuse jaoks edasilükatud režiimi ei toetata."; "cl_error.description.deferred_canceled" = "Rakendus või asukohahaldur tühistas edasilükatud värskenduste taotluse."; @@ -490,7 +492,7 @@ "kiosk.section.title" = "Kioskirežiim"; "kiosk.security.device_auth" = "Seadme tuvastamine"; "kiosk.security.gesture_corner" = "Väljapääsu žestide nurk"; -"kiosk.security.gesture_footer" = "Koputage lukustatud kioski seadete avamiseks korduvalt nuppu %@ %li ."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Peida olekuriba"; "kiosk.security.prevent_autolock" = "Automaatse lukustuse vältimine"; "kiosk.security.secret_gesture" = "Salajane väljumisžest"; @@ -498,6 +500,21 @@ "kiosk.security.taps_required" = "Vajalik koputuste arv: %li"; "kiosk.title" = "Kioskirežiim"; "legacy_actions.disclaimer" = "Vananenud iOS-i toimingud ei ole enam soovitatav viis Home Assistantiga suhtlemiseks. Kasuta skripte, stseene ja automatiseeringuid otse oma vidinates, Apple Watchis ja CarPlays."; +"live_activity.empty_state" = "Ei ole aktiivset live-tegevust"; +"live_activity.end_all.button" = "Lõpeta kõik tegevused"; +"live_activity.end_all.confirm.button" = "Lõpeta kõik"; +"live_activity.end_all.confirm.title" = "Kas lõpetada kõik Live Activity tegevused?"; +"live_activity.frequent_updates.footer" = "Lubab Home Assistantil reaalajas tegevusi kuni üks kord sekundis värskendada. Luba seadetes. \u203A %@ \u203A Otseülekanded."; +"live_activity.frequent_updates.title" = "Sagedased uuendused"; +"live_activity.privacy.message" = "Live Activity sisu on nähtav lukustusekraanil ja dünaamilisel saarel ilma Face ID või Touch ID-ta. Vali hoolikalt, mida kuvada."; +"live_activity.section.active" = "Aktiivsed tegevused"; +"live_activity.section.privacy" = "Privaatsus"; +"live_activity.section.status" = "Olek"; +"live_activity.status.enabled" = "Lubatud"; +"live_activity.status.not_supported" = "Pole iPadis saadaval"; +"live_activity.status.open_settings" = "Ava seaded"; +"live_activity.subtitle" = "Reaalajas Home Assistant värskendused lukustuskuval ja dünaamilisel saarel."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Asukohta värskendati rakenduse otsetee kaudu"; "location_change_notification.background_fetch.body" = "Praeguse asukoha edastamine käivitati taustal toomise kaudu"; "location_change_notification.beacon_region_enter.body" = "%@ sisenes iBeaconi kaudu"; diff --git a/Sources/App/Resources/fi.lproj/Localizable.strings b/Sources/App/Resources/fi.lproj/Localizable.strings index e4b159448b..af43c24e97 100644 --- a/Sources/App/Resources/fi.lproj/Localizable.strings +++ b/Sources/App/Resources/fi.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "Palvelinta ei löytynyt kameralle: %@"; "cancel_label" = "Peruuta"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Napauta jatkaaksesi iPhonessasi"; "carPlay.action.intro.item.title" = "Luo ensimmäinen toiminto"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Seuraava"; "carplay.navigation.button.previous" = "Edellinen"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Lykätty tila ei tue pyydettyä tarkkuutta."; "cl_error.description.deferred_canceled" = "Sovellus tai sijainninhallinta peruutti lykättyjen päivitysten pyynnön."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Sijainti päivitetty Shortcut-sovelluksen kautta"; "location_change_notification.background_fetch.body" = "Nykyisen sijainnin toimitus käynnistynyt taustahaun kautta"; "location_change_notification.beacon_region_enter.body" = "%@ saapunut iBeacon:in kautta"; diff --git a/Sources/App/Resources/fr.lproj/Localizable.strings b/Sources/App/Resources/fr.lproj/Localizable.strings index 95132e39ae..5d90220cad 100644 --- a/Sources/App/Resources/fr.lproj/Localizable.strings +++ b/Sources/App/Resources/fr.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Glisser pour réorganiser"; "cameras.no_server_found" = "Aucun serveur trouvé pour la caméra %@"; "cancel_label" = "Annuler"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Appuyez pour continuer sur votre iPhone"; "carPlay.action.intro.item.title" = "Créez votre première action"; "carPlay.config.tabs.title" = "Onglets"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Etes-vous sûr de vouloir effectuer une action de verrouillage sur %@?"; "carplay.navigation.button.next" = "Suivant"; "carplay.navigation.button.previous" = "Précédent"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Etes-vous sûr de vouloir effectuer une action de déverrouillage sur %@ ?"; "cl_error.description.deferred_accuracy_too_low" = "Le mode différé n'est pas pris en charge pour la précision demandée."; "cl_error.description.deferred_canceled" = "La demande de mises à jour différées a été annulée par votre application ou par le gestionnaire de localisation."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Lieu mis à jour via l'App Shortcut"; "location_change_notification.background_fetch.body" = "L'envoi de l'emplacement actuel a été déclenché via l'actualisation en arrière-plan"; "location_change_notification.beacon_region_enter.body" = "%@ entrée via iBeacon"; diff --git a/Sources/App/Resources/he.lproj/Core.strings b/Sources/App/Resources/he.lproj/Core.strings index 28b69d30a2..a9567a5e07 100644 --- a/Sources/App/Resources/he.lproj/Core.strings +++ b/Sources/App/Resources/he.lproj/Core.strings @@ -57,7 +57,7 @@ "component::counter::entity_component::_::state_attributes::editable::state::true" = "כן"; "component::cover::entity_component::_::state::closed" = "נסגר"; "component::cover::entity_component::_::state::open" = "פתוח"; -"component::cover::title" = "וילון"; +"component::cover::title" = "כיסוי"; "component::deluge::entity::sensor::status::state::idle" = "מצב סרק"; "component::demo::entity::climate::ubercool::state_attributes::swing_mode::state::off" = "כבוי"; "component::demo::entity::sensor::thermostat_mode::state::away" = "בחוץ"; diff --git a/Sources/App/Resources/he.lproj/Localizable.strings b/Sources/App/Resources/he.lproj/Localizable.strings index 9e6670131b..97179b7818 100644 --- a/Sources/App/Resources/he.lproj/Localizable.strings +++ b/Sources/App/Resources/he.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "ביטול"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; diff --git a/Sources/App/Resources/hu.lproj/Localizable.strings b/Sources/App/Resources/hu.lproj/Localizable.strings index 60cd4ff919..c5ef620660 100644 --- a/Sources/App/Resources/hu.lproj/Localizable.strings +++ b/Sources/App/Resources/hu.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Húzza át az átrendezéshez"; "cameras.no_server_found" = "Nem található szerver a kamerához: %@"; "cancel_label" = "Mégse"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Koppintással folytathatja iPhone-on"; "carPlay.action.intro.item.title" = "Az első művelet létrehozása"; "carPlay.config.tabs.title" = "Lapfülek"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Biztos, hogy zárolási műveletet hajt végre a következőn %@ ?"; "carplay.navigation.button.next" = "Következő"; "carplay.navigation.button.previous" = "Előző"; +"carplay.tab.quick_access.layout" = "Elrendezés"; "carplay.unlock.confirmation.title" = "Biztos, hogy feloldó műveletet hajt végre a következőn %@ ?"; "cl_error.description.deferred_accuracy_too_low" = "A késleltetett mód nem támogatott a kért pontossághoz."; "cl_error.description.deferred_canceled" = "A halasztott frissítésekre vonatkozó kérést az Ön alkalmazása vagy a helykezelő törölte."; @@ -490,7 +492,7 @@ Ez a szerver kliens tanúsítványt (mTLS) igényel, de a művelet megszakítva. "kiosk.section.title" = "Kioskmód"; "kiosk.security.device_auth" = "Eszköz hitelesítése"; "kiosk.security.gesture_corner" = "Kilépési gesztus sarka"; -"kiosk.security.gesture_footer" = "Koppintson a %@ sarokra %li-szer a kioszkbeállítások eléréséhez, amikor zárolt."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Állapotsor elrejtése"; "kiosk.security.prevent_autolock" = "Automatikus zárolás megakadályozása"; "kiosk.security.secret_gesture" = "Titkos kilépési gesztus"; @@ -498,6 +500,21 @@ Ez a szerver kliens tanúsítványt (mTLS) igényel, de a művelet megszakítva. "kiosk.security.taps_required" = "Szükséges koppintások: %li"; "kiosk.title" = "Kioskmód"; "legacy_actions.disclaimer" = "A régi iOS műveletek már nem az ajánlott módja a Home Assistanttal való interakciónak, használjon közvetlenül szkripteket, jeleneteket és automatizálásokat a widgetekben, Apple Watch-on és CarPlay-en."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "A hely frissítve az alkalmazás parancsikonján keresztül"; "location_change_notification.background_fetch.body" = "Aktuális helymeghatározás háttérben történő lekérdezéssel"; "location_change_notification.beacon_region_enter.body" = "%@ iBeacon-en keresztül lépett be"; diff --git a/Sources/App/Resources/id.lproj/Localizable.strings b/Sources/App/Resources/id.lproj/Localizable.strings index 471b4c8908..bbee74c5b7 100644 --- a/Sources/App/Resources/id.lproj/Localizable.strings +++ b/Sources/App/Resources/id.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Seret dan lepas untuk menyusun ulang"; "cameras.no_server_found" = "Tidak ditemukan server untuk kamera: %@"; "cancel_label" = "Batalkan"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Ketuk untuk melanjutkan di iPhone Anda"; "carPlay.action.intro.item.title" = "Buat aksi pertama Anda"; "carPlay.config.tabs.title" = "Tab"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Yakin ingin melakukan tindakan mengunci pada %@?"; "carplay.navigation.button.next" = "Berikutnya"; "carplay.navigation.button.previous" = "Sebelumnya"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Yakin ingin melakukan tindakan membuka kunci pada %@?"; "cl_error.description.deferred_accuracy_too_low" = "Mode ditangguhkan tidak didukung untuk akurasi yang diminta."; "cl_error.description.deferred_canceled" = "Permintaan untuk pembaruan yang ditangguhkan telah dibatalkan oleh aplikasi Anda atau oleh pengelola lokasi."; @@ -490,7 +492,7 @@ Server ini memerlukan sertifikat klien (mTLS) tetapi operasi dibatalkan."; "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ Server ini memerlukan sertifikat klien (mTLS) tetapi operasi dibatalkan."; "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Aksi iOS lawas bukan lagi cara yang disarankan untuk berinteraksi dengan Home Assistant. Gunakan Skrip, Skenario, dan Automasi secara langsung di Widget, Apple Watch, dan CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Lokasi diperbarui melalui Pintasan App"; "location_change_notification.background_fetch.body" = "Pengiriman lokasi saat ini dipicu lewat pengambilan latar belakang"; "location_change_notification.beacon_region_enter.body" = "%@ masuk melalui iBeacon"; diff --git a/Sources/App/Resources/it.lproj/Localizable.strings b/Sources/App/Resources/it.lproj/Localizable.strings index bd0ba356bd..673209bc94 100644 --- a/Sources/App/Resources/it.lproj/Localizable.strings +++ b/Sources/App/Resources/it.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Trascina e rilascia per riordinare"; "cameras.no_server_found" = "Nessun server trovato per la fotocamera: %@"; "cancel_label" = "Annulla"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tocca per continuare sul tuo iPhone"; "carPlay.action.intro.item.title" = "Crea la tua prima azione"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Siete sicuri di voler effettuare il blocco su %@?"; "carplay.navigation.button.next" = "Avanti"; "carplay.navigation.button.previous" = "Precedente"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Siete sicuri di voler effettuare lo sblocco su %@?"; "cl_error.description.deferred_accuracy_too_low" = "La modalità differita non è supportata per la precisione richiesta."; "cl_error.description.deferred_canceled" = "La richiesta di aggiornamenti differiti è stata annullata dalla vostra applicazione o dal gestore della località."; @@ -490,7 +492,7 @@ Questo server richiede un certificato client (mTLS), ma l'operazione è stata an "kiosk.section.title" = "Modalità Chiosco"; "kiosk.security.device_auth" = "Autenticazione dispositivo"; "kiosk.security.gesture_corner" = "Angolo Gesto di uscita"; -"kiosk.security.gesture_footer" = "Tocca l'angolo %@ %li volte per accedere alle impostazioni della modalità chiosco quando bloccato."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Nascondi la barra di stato"; "kiosk.security.prevent_autolock" = "Disattiva il blocco automatico"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ Questo server richiede un certificato client (mTLS), ma l'operazione è stata an "kiosk.security.taps_required" = "Tocchi richiesti: %li"; "kiosk.title" = "Modalità Chiosco"; "legacy_actions.disclaimer" = "Le azioni legacy di iOS non sono più il metodo consigliato per interagire con Home Assistant; ti invitiamo a utilizzare script, scene e automazioni direttamente nei tuoi widget, su Apple Watch e su CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Posizione aggiornata tramite App Shortcut"; "location_change_notification.background_fetch.body" = "Invio della posizione attuale attivata da recupero in background"; "location_change_notification.beacon_region_enter.body" = "Entrato in %@ tramite iBeacon"; diff --git a/Sources/App/Resources/ja.lproj/Localizable.strings b/Sources/App/Resources/ja.lproj/Localizable.strings index 2999b2e89f..50ebf8e509 100644 --- a/Sources/App/Resources/ja.lproj/Localizable.strings +++ b/Sources/App/Resources/ja.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "ドラッグ&ドロップで並び替え"; "cameras.no_server_found" = "カメラ用のサーバーが見つかりません: %@"; "cancel_label" = "キャンセル"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "iPhoneで続けるをタップ"; "carPlay.action.intro.item.title" = "最初のアクションを作成する"; "carPlay.config.tabs.title" = "タブ"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "%@にロック アクションを実行しますか?"; "carplay.navigation.button.next" = "次"; "carplay.navigation.button.previous" = "前"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "%@にロック解除アクションを実行しますか?"; "cl_error.description.deferred_accuracy_too_low" = "要求された精度に対して延期(Deferred)モードはサポートされていません。"; "cl_error.description.deferred_canceled" = "延期(deferred)されていたアップデートのリクエストが、アプリまたはロケーションマネージャーによってキャンセルされました。"; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "アプリのショートカットを介して更新された場所"; "location_change_notification.background_fetch.body" = "バックグラウンドフェッチによる現在地の配信"; "location_change_notification.beacon_region_enter.body" = "%@ iBeacon経由で入力されました"; diff --git a/Sources/App/Resources/ko-KR.lproj/Localizable.strings b/Sources/App/Resources/ko-KR.lproj/Localizable.strings index 0626dc64ba..7ce4ed35f3 100644 --- a/Sources/App/Resources/ko-KR.lproj/Localizable.strings +++ b/Sources/App/Resources/ko-KR.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "취소"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "iPhone에서 계속하려면 탭하세요."; "carPlay.action.intro.item.title" = "첫 번째 동작 만들기"; "carPlay.config.tabs.title" = "탭"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "%@ 에 대해 잠금 동작을 수행하시겠습니까?"; "carplay.navigation.button.next" = "다음"; "carplay.navigation.button.previous" = "이전"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "%@ 에서 잠금 해제 동작을 수행하시겠습니까?"; "cl_error.description.deferred_accuracy_too_low" = "요청된 정확도에는 지연 모드가 지원되지 않습니다."; "cl_error.description.deferred_canceled" = "연기된 업데이트 요청이 앱 또는 위치 관리자에 의해 취소되었습니다."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "앱 바로가기를 통해 업데이트된 위치"; "location_change_notification.background_fetch.body" = "백그라운드 가져오기를 통해 트리거된 현재 위치 전달"; "location_change_notification.beacon_region_enter.body" = "iBeacon을 통해 %@ 입장함"; diff --git a/Sources/App/Resources/ml.lproj/Localizable.strings b/Sources/App/Resources/ml.lproj/Localizable.strings index 9395d7a669..0826d9d9ba 100644 --- a/Sources/App/Resources/ml.lproj/Localizable.strings +++ b/Sources/App/Resources/ml.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancel"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "പാളികൾ"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; diff --git a/Sources/App/Resources/nb.lproj/Localizable.strings b/Sources/App/Resources/nb.lproj/Localizable.strings index 3e34cf213b..0c712fdd92 100644 --- a/Sources/App/Resources/nb.lproj/Localizable.strings +++ b/Sources/App/Resources/nb.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Avbryt"; +"carPlay.action.execute.in_progress" = "Gjennomfører..."; "carPlay.action.intro.item.body" = "Trykk for å fortsette på din iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Utsatt modus støttes ikke for den forespurte nøyaktigheten."; "cl_error.description.deferred_canceled" = "Forespørselen om utsatte oppdateringer ble kansellert av appen eller av posisjonsbehandleren."; @@ -447,57 +449,72 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.auth.required" = "Authentication Required"; "kiosk.auth_error.reason" = "Authenticate to exit kiosk mode"; "kiosk.auth_error.title" = "Authentication Error"; -"kiosk.brightness.control" = "Brightness Control"; -"kiosk.brightness.manual" = "Manual Brightness: %li%%"; -"kiosk.brightness.section" = "Brightness"; -"kiosk.clock.24hour" = "24-Hour Format"; +"kiosk.brightness.control" = "Lysstyrkekontroll"; +"kiosk.brightness.manual" = "Manuell lysstyrke: %li%%"; +"kiosk.brightness.section" = "Lysstyrke"; +"kiosk.clock.24hour" = "24-timers format"; "kiosk.clock.accessibility.analog_clock" = "Analog clock showing %@"; -"kiosk.clock.accessibility.current_time" = "Current time: %@"; -"kiosk.clock.accessibility.date" = "Date: %@"; -"kiosk.clock.section" = "Clock Display"; -"kiosk.clock.show_date" = "Show Date"; -"kiosk.clock.show_seconds" = "Show Seconds"; -"kiosk.clock.style" = "Clock Style"; +"kiosk.clock.accessibility.current_time" = "Nåværende tidspunkt: %@"; +"kiosk.clock.accessibility.date" = "Dato: %@"; +"kiosk.clock.section" = "Klokkevisning"; +"kiosk.clock.show_date" = "Vis dato"; +"kiosk.clock.show_seconds" = "Vis sekunder"; +"kiosk.clock.style" = "Klokkestil"; "kiosk.clock.style.analog" = "Analog"; "kiosk.clock.style.digital" = "Digital"; -"kiosk.clock.style.large" = "Large"; -"kiosk.clock.style.minimal" = "Minimal"; -"kiosk.corner.bottom_left" = "Bottom Left"; -"kiosk.corner.bottom_right" = "Bottom Right"; -"kiosk.corner.top_left" = "Top Left"; -"kiosk.corner.top_right" = "Top Right"; +"kiosk.clock.style.large" = "Stor"; +"kiosk.clock.style.minimal" = "Mini"; +"kiosk.corner.bottom_left" = "Nederst til venstre"; +"kiosk.corner.bottom_right" = "Nederst til høyre"; +"kiosk.corner.top_left" = "Øverst til venstre"; +"kiosk.corner.top_right" = "Øverst til høyre"; "kiosk.enable_button" = "Enable Kiosk Mode"; "kiosk.footer.description" = "When enabled, the display will be locked to the dashboard. Use Face ID, Touch ID, or device passcode to exit."; "kiosk.screen_label" = "Screen: %@"; -"kiosk.screensaver.dim_level" = "Dim Level: %li%%"; -"kiosk.screensaver.mode" = "Mode"; +"kiosk.screensaver.dim_level" = "Dimmenivå: %li%%"; +"kiosk.screensaver.mode" = "Modus"; "kiosk.screensaver.mode.blank" = "Blank"; -"kiosk.screensaver.mode.clock" = "Clock"; -"kiosk.screensaver.mode.dim" = "Dim"; -"kiosk.screensaver.pixel_shift" = "Pixel Shift (OLED)"; -"kiosk.screensaver.pixel_shift_footer" = "Pixel shift helps prevent burn-in on OLED displays by slightly moving content periodically."; -"kiosk.screensaver.section" = "Screensaver"; -"kiosk.screensaver.timeout" = "Timeout"; -"kiosk.screensaver.timeout.10min" = "10 minutes"; -"kiosk.screensaver.timeout.15min" = "15 minutes"; -"kiosk.screensaver.timeout.1min" = "1 minute"; -"kiosk.screensaver.timeout.2min" = "2 minutes"; -"kiosk.screensaver.timeout.30min" = "30 minutes"; -"kiosk.screensaver.timeout.30sec" = "30 seconds"; -"kiosk.screensaver.timeout.5min" = "5 minutes"; -"kiosk.screensaver.toggle" = "Screensaver"; +"kiosk.screensaver.mode.clock" = "Klokke"; +"kiosk.screensaver.mode.dim" = "Dempet"; +"kiosk.screensaver.pixel_shift" = "Pikselforskyvning (OLED)"; +"kiosk.screensaver.pixel_shift_footer" = "Pikselforskyvning hjelper mot innbrenning på OLED-skjermer ved å bevege innhold med jevne mellomrom."; +"kiosk.screensaver.section" = "Skjermsparer"; +"kiosk.screensaver.timeout" = "Tidsavbrudd"; +"kiosk.screensaver.timeout.10min" = "10 minutter"; +"kiosk.screensaver.timeout.15min" = "15 minutter"; +"kiosk.screensaver.timeout.1min" = "1 minutt"; +"kiosk.screensaver.timeout.2min" = "2 minutter"; +"kiosk.screensaver.timeout.30min" = "30 minutter"; +"kiosk.screensaver.timeout.30sec" = "30 sekunder"; +"kiosk.screensaver.timeout.5min" = "5 minutter"; +"kiosk.screensaver.toggle" = "Skjermsparer"; "kiosk.screensaver_label" = "Screensaver: %@"; "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; -"kiosk.security.hide_status_bar" = "Hide Status Bar"; -"kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; +"kiosk.security.hide_status_bar" = "Gjem statuslinjen"; +"kiosk.security.prevent_autolock" = "Forhindre automatisk låsing"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; "kiosk.security.section" = "Security & Display"; -"kiosk.security.taps_required" = "Taps Required: %li"; +"kiosk.security.taps_required" = "Trykk påkrevd: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Plasseringen oppdatert via App snarvei"; "location_change_notification.background_fetch.body" = "Nåværende plassering utløst via bakgrunnsinnhenting"; "location_change_notification.beacon_region_enter.body" = "%@ ankommer via iBeacon"; @@ -558,9 +575,9 @@ This server requires a client certificate (mTLS) but the operation was cancelled "menu.status_item.toggle" = "Veksle %1$@"; "menu.view.find" = "Find"; "menu.view.reload_page" = "Last siden på nytt"; -"mtls.beta.info" = "This is a beta feature, if you experience any issues, please report them using the button below.\ +"mtls.beta.info" = "Dette er en betafunksjon, hvis du opplever problemer rapporter dem ved å bruke knappen nedenfor.\ \ -Currently mTLS is only supported on iOS 17+, it may present issues related to displaying notification attachments, Assist TTS audio and it will not fully work on Apple Watch."; +For øyeblikket støttes mTLS kun på iOS 17+, og det kan medføre problemer knyttet til visning av varslingsvedlegg og Assist TTS-lyd. Det vil også bare fungere delvis på Apple Watch."; "navBar.close" = "Lukk"; "network.error.no_active_url.body" = "Open companion app settings and check your server settings, internal URL will only be used if local network is defined (SSID), if you are using VPN try setting your external URL as the same as internal URL."; "network.error.no_active_url.title" = "No URL available to load"; diff --git a/Sources/App/Resources/nl.lproj/Localizable.strings b/Sources/App/Resources/nl.lproj/Localizable.strings index 9a16802359..4fa32bac33 100644 --- a/Sources/App/Resources/nl.lproj/Localizable.strings +++ b/Sources/App/Resources/nl.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Versleep om de volgorde te wijzigen"; "cameras.no_server_found" = "Geen server gevonden voor camera: %@"; "cancel_label" = "Annuleren"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tik op om verder te gaan op je iPhone"; "carPlay.action.intro.item.title" = "Maak je eerste actie"; "carPlay.config.tabs.title" = "Tabbladen"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Weet je zeker dat je de vergrendelingsactie wilt uitvoeren op %@?"; "carplay.navigation.button.next" = "Volgende"; "carplay.navigation.button.previous" = "Vorige"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Weet je zeker dat je de ontgrendelingsactie wilt uitvoeren op %@?"; "cl_error.description.deferred_accuracy_too_low" = "Uitgestelde modus wordt niet ondersteund voor de gevraagde nauwkeurigheid."; "cl_error.description.deferred_canceled" = "Het verzoek voor uitgestelde updates is geannuleerd door je app of door de locatiebeheerder."; @@ -490,7 +492,7 @@ Deze server vereist een clientcertificaat (mTLS), maar de bewerking is geannulee "kiosk.section.title" = "Kioskmodus"; "kiosk.security.device_auth" = "Apparaat authenticatie"; "kiosk.security.gesture_corner" = "Hoek voor afsluit-gebaar"; -"kiosk.security.gesture_footer" = "Tik %li keer op de hoek %@ om de kiosk-instellingen te openen als deze vergrendeld zijn."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Statusbalk verbergen"; "kiosk.security.prevent_autolock" = "Voorkom automatisch vergrendelen"; "kiosk.security.secret_gesture" = "Geheim afsluit-gebaar"; @@ -498,6 +500,21 @@ Deze server vereist een clientcertificaat (mTLS), maar de bewerking is geannulee "kiosk.security.taps_required" = "Aantal keer tikken: %li"; "kiosk.title" = "Kioskmodus"; "legacy_actions.disclaimer" = "Oude iOS-acties zijn niet langer de aanbevolen manier om wat met Home Assistant te doen. Gebruik Scripts, Scènes en Automatiseringen rechtstreeks in je Widgets, Apple Watch en CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Locatie bijgewerkt via App-snelkoppeling"; "location_change_notification.background_fetch.body" = "Aflevering van huidige locatie geactiveerd via fetch op de achtergrond"; "location_change_notification.beacon_region_enter.body" = "%@ betreden via iBeacon"; diff --git a/Sources/App/Resources/pl-PL.lproj/Localizable.strings b/Sources/App/Resources/pl-PL.lproj/Localizable.strings index 22eddd65a6..20191417f9 100644 --- a/Sources/App/Resources/pl-PL.lproj/Localizable.strings +++ b/Sources/App/Resources/pl-PL.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Anuluj"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Stuknij, aby kontynuować na iPhone"; "carPlay.action.intro.item.title" = "Utwórz swoją pierwszą akcję"; "carPlay.config.tabs.title" = "Zakładki"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Następny"; "carplay.navigation.button.previous" = "Poprzedni"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Lokalizacja aktualizowana za pomocą skrótu do aplikacji"; "location_change_notification.background_fetch.body" = "Pobranie aktualnej lokalizacji zostało wyzwolone poprzez pobieranie jej w tle"; "location_change_notification.beacon_region_enter.body" = "%@ wejście przez iBeacon"; diff --git a/Sources/App/Resources/pt-BR.lproj/Localizable.strings b/Sources/App/Resources/pt-BR.lproj/Localizable.strings index eac35e7443..0a90c315e1 100644 --- a/Sources/App/Resources/pt-BR.lproj/Localizable.strings +++ b/Sources/App/Resources/pt-BR.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Arraste e solte para reordenar."; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancelar"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Toque para continuar em seu iPhone"; "carPlay.action.intro.item.title" = "Crie sua primeira ação"; "carPlay.config.tabs.title" = "Abas"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Tem certeza de que deseja executar a ação de bloqueio em %@?"; "carplay.navigation.button.next" = "Próximo"; "carplay.navigation.button.previous" = "Anterior"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Tem certeza de que deseja executar a ação de desbloqueio em %@?"; "cl_error.description.deferred_accuracy_too_low" = "O modo adiado não é compatível com a precisão solicitada."; "cl_error.description.deferred_canceled" = "A solicitação de atualizações adiadas foi cancelada pelo seu aplicativo ou pelo gerenciador de local."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Localização atualizada via App Shortcut"; "location_change_notification.background_fetch.body" = "Entrega do localização atual acionada por busca em segundo plano"; "location_change_notification.beacon_region_enter.body" = "%@ entrou pelo iBeacon"; diff --git a/Sources/App/Resources/ru.lproj/Localizable.strings b/Sources/App/Resources/ru.lproj/Localizable.strings index 998b23bcb2..ab4674cd15 100644 --- a/Sources/App/Resources/ru.lproj/Localizable.strings +++ b/Sources/App/Resources/ru.lproj/Localizable.strings @@ -128,18 +128,18 @@ "assist.settings.modern_ui.toggle" = "Экспериментальный интерфейс"; "assist.settings.on_device_stt.footer" = "Используйте встроенное распознавание речи Apple для повышения конфиденциальности. Ваш голос будет обработан локально и преобразован в текст перед отправкой на ваш сервер. Поддерживаются не все языки."; "assist.settings.on_device_stt.language" = "Язык"; -"assist.settings.on_device_stt.title" = "On-device STT"; +"assist.settings.on_device_stt.title" = "Преобразование речи в текст на устройстве"; "assist.settings.on_device_stt.toggle" = "Включить распознавание речи на устройстве"; "assist.settings.on_device_tts.default_voice" = "По умолчанию"; -"assist.settings.on_device_tts.footer" = "Use Apple's on-device speech synthesis for improved privacy. Text responses will be spoken locally without sending audio data to your server."; +"assist.settings.on_device_tts.footer" = "Используйте функцию синтеза речи на устройстве Apple для повышения конфиденциальности. Текстовые ответы будут произноситься локально без отправки аудиоданных на ваш сервер."; "assist.settings.on_device_tts.quality.enhanced" = "Enhanced"; "assist.settings.on_device_tts.quality.premium" = "Premium"; -"assist.settings.on_device_tts.title" = "On-device TTS"; -"assist.settings.on_device_tts.voice" = "Voice"; -"assist.settings.section.experimental.title" = "Experimental"; +"assist.settings.on_device_tts.title" = "Преобразование текста в речь на устройстве"; +"assist.settings.on_device_tts.voice" = "Голос"; +"assist.settings.section.experimental.title" = "Экспериментальные"; "assist.settings.title" = "Настройки Assist"; "assist.settings.tts_mute.footer" = "Если эта функция включена, Assist не будет воспроизводить аудио ответы, даже если в конвейере настроена функция преобразования текста в речь. Вы по-прежнему будете видеть текстовые ответы."; -"assist.settings.tts_mute.toggle" = "Mute voice responses"; +"assist.settings.tts_mute.toggle" = "Отключение голосовых ответов"; "assist.watch.mic_button.title" = "Нажмите, чтобы"; "assist.watch.not_reachable.title" = "Assist требует подключения к iPhone. В данный момент ваш iPhone недоступен."; "assist.watch.volume.title" = "Громкость"; @@ -159,12 +159,13 @@ "camera_list.title" = "Камеры"; "camera_list.unavailable.message" = "Потоковая передача с камеры недоступна на Mac."; "camera_list.unavailable.title" = "Недоступно на Mac"; -"camera_player.errors.no_stream_available" = "No stream available"; +"camera_player.errors.no_stream_available" = "Поток недоступен"; "camera_player.errors.unable_to_connect_to_server" = "Не удалось подключиться к Home Assistant"; "camera_player.errors.unknown" = "Неизвестная ошибка"; "cameras.drag_to_reorder" = "Перетащите для изменения порядка"; "cameras.no_server_found" = "Сервер для камеры не найден: %@"; "cancel_label" = "Отмена"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Нажмите, чтобы продолжить на iPhone"; "carPlay.action.intro.item.title" = "Создать свое первое действие"; "carPlay.config.tabs.title" = "Вкладки"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Вы уверены, что хотите выполнить действие блокировки на %@?"; "carplay.navigation.button.next" = "Далее"; "carplay.navigation.button.previous" = "Назад"; +"carplay.tab.quick_access.layout" = "Расположение"; "carplay.unlock.confirmation.title" = "Вы уверены, что хотите выполнить действие разблокировки %@?"; "cl_error.description.deferred_accuracy_too_low" = "Отложенный режим не подходит для выбранной точности."; "cl_error.description.deferred_canceled" = "Запрос отложенного обновления был отменён вашим приложением или службой геолокации."; @@ -309,13 +311,13 @@ "download_manager.downloading.title" = "Загрузка"; "download_manager.failed.title" = "Не удалось загрузить файл, ошибка: %@"; "download_manager.finished.title" = "Загрузка завершена"; -"entity_picker.filter.area.all.title" = "All areas"; -"entity_picker.filter.area.title" = "Area"; -"entity_picker.filter.domain.all.title" = "All domains"; +"entity_picker.filter.area.all.title" = "Все области"; +"entity_picker.filter.area.title" = "Область"; +"entity_picker.filter.domain.all.title" = "Все домены"; "entity_picker.filter.domain.title" = "Домен"; "entity_picker.filter.group_by.title" = "Group by"; "entity_picker.filter.server.title" = "Серверы"; -"entity_picker.list.area.no_area.title" = "No area"; +"entity_picker.list.area.no_area.title" = "Нет зоны"; "entity_picker.placeholder" = "Выбрать объект"; "entity_picker.search.placeholder" = "Имя объекта, ID, имя области, имя устройства..."; "error.client_certificate.flow_cancelled" = "Требуется аутентификация по сертификату клиента.\ @@ -325,7 +327,7 @@ \ %@"; "error_label" = "Ошибка"; -"experimental.badge.body" = "This is an experimental feature, you may experience unexpected behavior, please report any issues you may encounter."; +"experimental.badge.body" = "Это экспериментальная функция, вы можете столкнуться с неожиданным поведением. Пожалуйста, сообщайте о любых неполадках."; "experimental.badge.report_issue_button.title" = "Сообщить о проблеме"; "experimental.badge.title" = "Экспериментальная функция"; "extensions.map.location.new" = "Новое местоположение"; @@ -355,7 +357,7 @@ "gestures.category.page" = "Навигация"; "gestures.category.servers" = "Серверы"; "gestures.footer.title" = "Настройте жесты для использования в пользовательском интерфейсе."; -"gestures.reset.confirmation.message" = "This will reset all gestures to their default values."; +"gestures.reset.confirmation.message" = "Это вернет все жесты к их значениям по умолчанию."; "gestures.reset.confirmation.title" = "Сбросить жесты?"; "gestures.reset.title" = "Сбросить"; "gestures.screen.body" = "Приведенные ниже жесты будут применяться всякий раз, когда вы используете основной пользовательский интерфейс Home Assistant."; @@ -439,16 +441,16 @@ "improv.wifi.alert.ssid_placeholder" = "Имя сети"; "improv.wifi.alert.title" = "Подключение к WiFi"; "intents.server_required_for_value" = "Выберите сервер, прежде чем задать значение."; -"kiosk.active.title" = "Kiosk Mode Active"; -"kiosk.auth.authenticate_button" = "Authenticate"; -"kiosk.auth.gate_description" = "Authentication is required to access kiosk settings. Verify your identity to continue."; -"kiosk.auth.gate_title" = "Kiosk Mode Active"; -"kiosk.auth.go_back_button" = "Go Back"; +"kiosk.active.title" = "Активен режим киоска"; +"kiosk.auth.authenticate_button" = "Пройти аутентификацию"; +"kiosk.auth.gate_description" = "Для доступа к настройкам киоска требуется аутентификация. Подтвердите свою личность, чтобы продолжить."; +"kiosk.auth.gate_title" = "Активен режим киоска"; +"kiosk.auth.go_back_button" = "Вернуться назад"; "kiosk.auth.required" = "Authentication Required"; -"kiosk.auth_error.reason" = "Authenticate to exit kiosk mode"; -"kiosk.auth_error.title" = "Authentication Error"; -"kiosk.brightness.control" = "Brightness Control"; -"kiosk.brightness.manual" = "Manual Brightness: %li%%"; +"kiosk.auth_error.reason" = "Пройдите аутентификацию для выхода из режима киоска"; +"kiosk.auth_error.title" = "Ошибка аутентификации"; +"kiosk.brightness.control" = "Регулировка яркости"; +"kiosk.brightness.manual" = "Ручная яркость: %li%%"; "kiosk.brightness.section" = "Яркость"; "kiosk.clock.24hour" = "24-часовой формат"; "kiosk.clock.accessibility.analog_clock" = "Отображение аналоговых часов %@"; @@ -462,20 +464,20 @@ "kiosk.clock.style.digital" = "Цифровые"; "kiosk.clock.style.large" = "Большой"; "kiosk.clock.style.minimal" = "Минималистичный"; -"kiosk.corner.bottom_left" = "Bottom Left"; -"kiosk.corner.bottom_right" = "Bottom Right"; -"kiosk.corner.top_left" = "Top Left"; -"kiosk.corner.top_right" = "Top Right"; -"kiosk.enable_button" = "Enable Kiosk Mode"; -"kiosk.footer.description" = "When enabled, the display will be locked to the dashboard. Use Face ID, Touch ID, or device passcode to exit."; +"kiosk.corner.bottom_left" = "Нижний левый"; +"kiosk.corner.bottom_right" = "Нижний правый"; +"kiosk.corner.top_left" = "Верхний левый"; +"kiosk.corner.top_right" = "Верхний правый"; +"kiosk.enable_button" = "Включение режима киоска"; +"kiosk.footer.description" = "Если эта функция включена, дисплей будет привязан к панели управления. Для выхода используйте Face ID, Touch ID или код доступа к устройству."; "kiosk.screen_label" = "Экран: %@"; -"kiosk.screensaver.dim_level" = "Dim Level: %li%%"; +"kiosk.screensaver.dim_level" = "Уровень затемнения: %li%%"; "kiosk.screensaver.mode" = "Режим"; -"kiosk.screensaver.mode.blank" = "Blank"; +"kiosk.screensaver.mode.blank" = "Пустой"; "kiosk.screensaver.mode.clock" = "Часы"; -"kiosk.screensaver.mode.dim" = "Dim"; -"kiosk.screensaver.pixel_shift" = "Pixel Shift (OLED)"; -"kiosk.screensaver.pixel_shift_footer" = "Pixel shift helps prevent burn-in on OLED displays by slightly moving content periodically."; +"kiosk.screensaver.mode.dim" = "Тусклый"; +"kiosk.screensaver.pixel_shift" = "Сдвиг пикселей (OLED)"; +"kiosk.screensaver.pixel_shift_footer" = "Сдвиг пикселей помогает предотвратить выгорание OLED дисплеев за счет периодического небольшого смещения контента."; "kiosk.screensaver.section" = "Заставка"; "kiosk.screensaver.timeout" = "Тайм-аут"; "kiosk.screensaver.timeout.10min" = "10 минут"; @@ -487,17 +489,32 @@ "kiosk.screensaver.timeout.5min" = "5 минут"; "kiosk.screensaver.toggle" = "Заставка"; "kiosk.screensaver_label" = "Заставка: %@"; -"kiosk.section.title" = "Kiosk Mode"; -"kiosk.security.device_auth" = "Device Authentication"; -"kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; -"kiosk.security.hide_status_bar" = "Hide Status Bar"; -"kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; -"kiosk.security.secret_gesture" = "Secret Exit Gesture"; -"kiosk.security.section" = "Security & Display"; -"kiosk.security.taps_required" = "Taps Required: %li"; -"kiosk.title" = "Kiosk Mode"; +"kiosk.section.title" = "Режим киоска"; +"kiosk.security.device_auth" = "Аутентификация устройства"; +"kiosk.security.gesture_corner" = "Угол жеста выхода"; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; +"kiosk.security.hide_status_bar" = "Скрытие строки состояния"; +"kiosk.security.prevent_autolock" = "Предотвращение автоматической блокировки"; +"kiosk.security.secret_gesture" = "Жест секретного выхода"; +"kiosk.security.section" = "Безопасность и дисплей"; +"kiosk.security.taps_required" = "Требуемые нажатия: %li"; +"kiosk.title" = "Режим киоска"; "legacy_actions.disclaimer" = "Устаревшие действия для iOS больше не рекомендуются для взаимодействия с Home Assistant. Используйте скрипты, сцены и автоматизации непосредственно в виджетах, на Apple Watch и в CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Геопозиция обновлена командой приложения"; "location_change_notification.background_fetch.body" = "Обновление геопозиции происходит в фоне"; "location_change_notification.beacon_region_enter.body" = "Вход в %@ через iBeacon"; @@ -558,9 +575,9 @@ "menu.status_item.toggle" = "Переключить %1$@"; "menu.view.find" = "Найти"; "menu.view.reload_page" = "Перезагрузить страницу"; -"mtls.beta.info" = "This is a beta feature, if you experience any issues, please report them using the button below.\ +"mtls.beta.info" = "Это бета-версия функции. Если у вас возникнут какие-либо проблемы, пожалуйста, сообщите о них, нажав на кнопку ниже.\ \ -Currently mTLS is only supported on iOS 17+, it may present issues related to displaying notification attachments, Assist TTS audio and it will not fully work on Apple Watch."; +В настоящее время mTLS поддерживается только на iOS 17 и более поздних версиях. Могут возникать проблемы с отображением вложений в уведомлениях, аудио в Assist TTS, а также с работой на Apple Watch."; "navBar.close" = "Закрыть"; "network.error.no_active_url.body" = "Откройте настройки приложения-компаньона и проверьте настройки сервера. Внутренний URL-адрес будет использоваться только в том случае, если определена локальная сеть (SSID). Если вы используете VPN, попробуйте задать внешний URL-адрес таким же, как и внутренний URL-адрес."; "network.error.no_active_url.title" = "Нет доступного URL-адреса для загрузки"; @@ -786,7 +803,7 @@ Home Assistant — это приложение с открытым исходн "settings.connection_section.always_fallback_internal.title" = "Всегда обращаться к внутреннему URL"; "settings.connection_section.client_certificate.expired" = "Срок действия сертификата истек"; "settings.connection_section.client_certificate.expires_at" = "Срок действия истекает %@"; -"settings.connection_section.client_certificate.footer" = "Import a PKCS#12 (.p12) certificate for mutual TLS authentication. Required when your Home Assistant server requires client certificates."; +"settings.connection_section.client_certificate.footer" = "Импортируйте сертификат PKCS#12 (.p12) для взаимной аутентификации по протоколу TLS. Это необходимо, если вашему серверу Home Assistant требуются клиентские сертификаты."; "settings.connection_section.client_certificate.header" = "Сертификат клиента"; "settings.connection_section.client_certificate.import" = "Импорт сертификата"; "settings.connection_section.client_certificate.import_error.title" = "Импорт не удался"; @@ -1452,7 +1469,7 @@ Home Assistant — это приложение с открытым исходн "widgets.button.reload_timeline" = "Перезагрузить все виджеты"; "widgets.commonly_used_entities.description" = "Отображайте часто используемые объекты на основе частоты использования."; "widgets.commonly_used_entities.empty.description" = "Часто используемые объекты не найдены. Используйте Home Assistant для формирования истории использования."; -"widgets.commonly_used_entities.title" = "Common Controls"; +"widgets.commonly_used_entities.title" = "Стандартные элементы управления"; "widgets.controls.assist.description" = "Открыть Assist в приложении Home Assistant"; "widgets.controls.assist.pipeline.placeholder" = "Выберите пайплайн"; "widgets.controls.assist.title" = "Assist"; @@ -1585,7 +1602,7 @@ Home Assistant — это приложение с открытым исходн "widgets.sensors.title" = "Сенсоры"; "widgets.todo_list.all_done" = "Всё готов! 🎉"; "widgets.todo_list.complete_item_title" = "Complete To-do Item"; -"widgets.todo_list.description" = "Check your lists and add items"; +"widgets.todo_list.description" = "Проверяйте свои списки и добавляйте элементы"; "widgets.todo_list.due_date.ago_format" = "%@ назад"; "widgets.todo_list.due_date.in_format" = "В %@"; "widgets.todo_list.due_date.now" = "Сейчас"; @@ -1596,6 +1613,6 @@ Home Assistant — это приложение с открытым исходн "widgets.todo_list.parameter.server" = "Сервер"; "widgets.todo_list.parameter.server_id" = "ID сервера"; "widgets.todo_list.refresh_title" = "Обновить список задач"; -"widgets.todo_list.select_list" = "Edit widget to select list."; +"widgets.todo_list.select_list" = "Отредактируйте виджет, чтобы выбрать список."; "widgets.todo_list.title" = "Список задач"; "yes_label" = "Да"; \ No newline at end of file diff --git a/Sources/App/Resources/sl.lproj/Localizable.strings b/Sources/App/Resources/sl.lproj/Localizable.strings index 008037c370..837fc7dd1a 100644 --- a/Sources/App/Resources/sl.lproj/Localizable.strings +++ b/Sources/App/Resources/sl.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Cancel"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Deferred mode is not supported for the requested accuracy."; "cl_error.description.deferred_canceled" = "The request for deferred updates was canceled by your app or by the location manager."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Lokacija posodobljena z bližnjico aplikacije"; "location_change_notification.background_fetch.body" = "Current location delivery triggered via background fetch"; "location_change_notification.beacon_region_enter.body" = "%@ entered via iBeacon"; diff --git a/Sources/App/Resources/sv.lproj/Localizable.strings b/Sources/App/Resources/sv.lproj/Localizable.strings index 7269cb19e5..a4f6f87c0b 100644 --- a/Sources/App/Resources/sv.lproj/Localizable.strings +++ b/Sources/App/Resources/sv.lproj/Localizable.strings @@ -127,15 +127,15 @@ "assist.settings.modern_ui.theme.label" = "Tema"; "assist.settings.modern_ui.toggle" = "Experimentellt användargränssnitt"; "assist.settings.on_device_stt.footer" = "Använd Apples taligenkänning på enheten för förbättrad integritet. Din röst bearbetas lokalt och transkriberas till text innan den skickas till din server. Alla språk stöds inte."; -"assist.settings.on_device_stt.language" = "Language"; +"assist.settings.on_device_stt.language" = "Språk"; "assist.settings.on_device_stt.title" = "On-device STT"; "assist.settings.on_device_stt.toggle" = "Aktivera tal-till-text på enheten"; -"assist.settings.on_device_tts.default_voice" = "Default"; +"assist.settings.on_device_tts.default_voice" = "Standard"; "assist.settings.on_device_tts.footer" = "Use Apple's on-device speech synthesis for improved privacy. Text responses will be spoken locally without sending audio data to your server."; "assist.settings.on_device_tts.quality.enhanced" = "Enhanced"; "assist.settings.on_device_tts.quality.premium" = "Premium"; "assist.settings.on_device_tts.title" = "On-device TTS"; -"assist.settings.on_device_tts.voice" = "Voice"; +"assist.settings.on_device_tts.voice" = "Röst"; "assist.settings.section.experimental.title" = "Experimental"; "assist.settings.title" = "Assist-inställningar"; "assist.settings.tts_mute.footer" = "When enabled, Assist will not play audio responses even if the pipeline has text-to-speech configured. You will still see text responses."; @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Dra och släpp för att ändra ordning"; "cameras.no_server_found" = "Ingen server hittades för kamera: %@"; "cancel_label" = "Avbryt"; +"carPlay.action.execute.in_progress" = "Kör..."; "carPlay.action.intro.item.body" = "Tryck för att fortsätta på din iPhone"; "carPlay.action.intro.item.title" = "Skapa din första åtgärd"; "carPlay.config.tabs.title" = "Flikar"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Är du säker på att du vill låsa %@?"; "carplay.navigation.button.next" = "Nästa"; "carplay.navigation.button.previous" = "Föregående"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Är du säker på att du vill låsa upp %@?"; "cl_error.description.deferred_accuracy_too_low" = "Fördröjningsläge stöds inte för begärd noggrannhet."; "cl_error.description.deferred_canceled" = "Begäran om uppskjutna uppdateringar avbröts av din app eller av platshanteraren."; @@ -278,18 +280,18 @@ "connection_security_level_block.requirement.title" = "Saknade krav"; "connection_security_level_block.tip" = "Tip: Double check your device settings and app permissions. Make sure the app is allowed local network access and location access is set to 'Always' (so it also works in background) and 'Full' (so the app can identify which network you are using and detect your home network)."; "connection_security_level_block.title" = "Du är frånkopplad"; -"connectivity.check.dns" = "DNS Resolution"; +"connectivity.check.dns" = "DNS-uppslagning"; "connectivity.check.dns.description" = "Resolving hostname to IP address"; "connectivity.check.port" = "Port Reachability"; "connectivity.check.port.description" = "Checking if port is reachable"; -"connectivity.check.running" = "Checking..."; +"connectivity.check.running" = "Kontrollerar..."; "connectivity.check.server" = "Serveranslutning"; "connectivity.check.server.description" = "Testing server connection"; "connectivity.check.skipped" = "Skipped due to previous failure"; "connectivity.check.tls" = "TLS-certifikat"; "connectivity.check.tls.description" = "Validating TLS certificate"; -"connectivity.diagnostics.run_checks" = "Run checks"; -"connectivity.diagnostics.start" = "Start diagnostics"; +"connectivity.diagnostics.run_checks" = "Kör kontroller"; +"connectivity.diagnostics.start" = "Starta diagnostik"; "connectivity.diagnostics.title" = "Connectivity diagnostics"; "continue_label" = "Fortsätt"; "copy_label" = "Kopiera"; @@ -313,8 +315,8 @@ "entity_picker.filter.area.title" = "Area"; "entity_picker.filter.domain.all.title" = "Alla domäner"; "entity_picker.filter.domain.title" = "Domän"; -"entity_picker.filter.group_by.title" = "Group by"; -"entity_picker.filter.server.title" = "Servers"; +"entity_picker.filter.group_by.title" = "Gruppera efter"; +"entity_picker.filter.server.title" = "Servrar"; "entity_picker.list.area.no_area.title" = "No area"; "entity_picker.placeholder" = "Välj entitet"; "entity_picker.search.placeholder" = "Entity name, ID, area name, device name..."; @@ -440,35 +442,35 @@ This server requires a client certificate (mTLS) but the operation was cancelled "improv.wifi.alert.title" = "Anslut till Wi-Fi"; "intents.server_required_for_value" = "Välj en server innan du väljer detta värde."; "kiosk.active.title" = "Kiosk Mode Active"; -"kiosk.auth.authenticate_button" = "Authenticate"; +"kiosk.auth.authenticate_button" = "Autentisera"; "kiosk.auth.gate_description" = "Authentication is required to access kiosk settings. Verify your identity to continue."; "kiosk.auth.gate_title" = "Kiosk Mode Active"; -"kiosk.auth.go_back_button" = "Go Back"; -"kiosk.auth.required" = "Authentication Required"; +"kiosk.auth.go_back_button" = "Gå tillbaka"; +"kiosk.auth.required" = "Autentisering krävs"; "kiosk.auth_error.reason" = "Authenticate to exit kiosk mode"; -"kiosk.auth_error.title" = "Authentication Error"; +"kiosk.auth_error.title" = "Autentiseringsfel"; "kiosk.brightness.control" = "Brightness Control"; "kiosk.brightness.manual" = "Manual Brightness: %li%%"; "kiosk.brightness.section" = "Brightness"; "kiosk.clock.24hour" = "24-Hour Format"; "kiosk.clock.accessibility.analog_clock" = "Analog clock showing %@"; -"kiosk.clock.accessibility.current_time" = "Current time: %@"; -"kiosk.clock.accessibility.date" = "Date: %@"; +"kiosk.clock.accessibility.current_time" = "Aktuell tid: %@"; +"kiosk.clock.accessibility.date" = "Datum: %@"; "kiosk.clock.section" = "Clock Display"; -"kiosk.clock.show_date" = "Show Date"; -"kiosk.clock.show_seconds" = "Show Seconds"; +"kiosk.clock.show_date" = "Visa datum"; +"kiosk.clock.show_seconds" = "Visa sekunder"; "kiosk.clock.style" = "Clock Style"; "kiosk.clock.style.analog" = "Analog"; "kiosk.clock.style.digital" = "Digital"; -"kiosk.clock.style.large" = "Large"; +"kiosk.clock.style.large" = "Stor"; "kiosk.clock.style.minimal" = "Minimal"; "kiosk.corner.bottom_left" = "Bottom Left"; "kiosk.corner.bottom_right" = "Bottom Right"; "kiosk.corner.top_left" = "Top Left"; "kiosk.corner.top_right" = "Top Right"; -"kiosk.enable_button" = "Enable Kiosk Mode"; +"kiosk.enable_button" = "Aktivera kioskläge"; "kiosk.footer.description" = "When enabled, the display will be locked to the dashboard. Use Face ID, Touch ID, or device passcode to exit."; -"kiosk.screen_label" = "Screen: %@"; +"kiosk.screen_label" = "Skärm: %@"; "kiosk.screensaver.dim_level" = "Dim Level: %li%%"; "kiosk.screensaver.mode" = "Mode"; "kiosk.screensaver.mode.blank" = "Blank"; @@ -478,26 +480,41 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.screensaver.pixel_shift_footer" = "Pixel shift helps prevent burn-in on OLED displays by slightly moving content periodically."; "kiosk.screensaver.section" = "Screensaver"; "kiosk.screensaver.timeout" = "Timeout"; -"kiosk.screensaver.timeout.10min" = "10 minutes"; -"kiosk.screensaver.timeout.15min" = "15 minutes"; -"kiosk.screensaver.timeout.1min" = "1 minute"; -"kiosk.screensaver.timeout.2min" = "2 minutes"; -"kiosk.screensaver.timeout.30min" = "30 minutes"; -"kiosk.screensaver.timeout.30sec" = "30 seconds"; -"kiosk.screensaver.timeout.5min" = "5 minutes"; +"kiosk.screensaver.timeout.10min" = "10 minuter"; +"kiosk.screensaver.timeout.15min" = "15 minuter"; +"kiosk.screensaver.timeout.1min" = "1 minut"; +"kiosk.screensaver.timeout.2min" = "2 minuter"; +"kiosk.screensaver.timeout.30min" = "30 minuter"; +"kiosk.screensaver.timeout.30sec" = "30 sekunder"; +"kiosk.screensaver.timeout.5min" = "5 minuter"; "kiosk.screensaver.toggle" = "Screensaver"; -"kiosk.screensaver_label" = "Screensaver: %@"; -"kiosk.section.title" = "Kiosk Mode"; -"kiosk.security.device_auth" = "Device Authentication"; +"kiosk.screensaver_label" = "Skärmsläckare: %@"; +"kiosk.section.title" = "Kioskläge"; +"kiosk.security.device_auth" = "Enhetsautentisering"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; -"kiosk.security.section" = "Security & Display"; +"kiosk.security.section" = "Säkerhet och visning"; "kiosk.security.taps_required" = "Taps Required: %li"; -"kiosk.title" = "Kiosk Mode"; +"kiosk.title" = "Kioskläge"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Plats uppdaterad via appgenväg"; "location_change_notification.background_fetch.body" = "Aktuell plats skickades via bakgrundshämtning"; "location_change_notification.beacon_region_enter.body" = "Ankomst till %@ via iBeacon"; diff --git a/Sources/App/Resources/tr.lproj/Localizable.strings b/Sources/App/Resources/tr.lproj/Localizable.strings index 183e0c7322..1b616bd234 100644 --- a/Sources/App/Resources/tr.lproj/Localizable.strings +++ b/Sources/App/Resources/tr.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Sürükleyip bırakarak yeniden sıralayın"; "cameras.no_server_found" = "Kamera için sunucu bulunamadı: %@"; "cancel_label" = "İptal"; +"carPlay.action.execute.in_progress" = "Yürütülüyor..."; "carPlay.action.intro.item.body" = "iPhone'unuzda devam etmek için dokunun"; "carPlay.action.intro.item.title" = "İlk eyleminizi oluşturun"; "carPlay.config.tabs.title" = "Sekmeler"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "%@ üzerinde kilitleme eylemi gerçekleştirmek istediğinizden emin misiniz?"; "carplay.navigation.button.next" = "Sonraki"; "carplay.navigation.button.previous" = "Önceki"; +"carplay.tab.quick_access.layout" = "Düzen"; "carplay.unlock.confirmation.title" = "%@ üzerinde kilit açma eylemi gerçekleştirmek istediğinizden emin misiniz?"; "cl_error.description.deferred_accuracy_too_low" = "İstenen doğruluk için ertelenmiş mod desteklenmiyor."; "cl_error.description.deferred_canceled" = "Ertelenmiş güncelleme talebi, uygulamanız veya konum yöneticisi tarafından iptal edildi."; @@ -490,7 +492,7 @@ "kiosk.section.title" = "Kiosk Modu"; "kiosk.security.device_auth" = "Cihaz Doğrulaması"; "kiosk.security.gesture_corner" = "Çıkış Hareketi Köşesi"; -"kiosk.security.gesture_footer" = "Kilitliyken kiosk ayarlarına erişmek için %@ numaralı köşeye %li kez dokunun."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Durum Çubuğunu Gizle"; "kiosk.security.prevent_autolock" = "Otomatik Kilitlemeyi Önle"; "kiosk.security.secret_gesture" = "Gizli Çıkış Hareketi"; @@ -498,6 +500,21 @@ "kiosk.security.taps_required" = "Gerekli Dokunma: %li"; "kiosk.title" = "Kiosk Modu"; "legacy_actions.disclaimer" = "Eski iOS Eylemleri artık Home Assistant ile etkileşim kurmanın önerilen yolu değildir; lütfen Widget'larınızda, Apple Watch'unuzda ve CarPlay'inizde doğrudan Komut Dosyaları, Sahneler ve Otomasyonlar kullanın."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Konum Uygulama Kısayolu ile güncellendi"; "location_change_notification.background_fetch.body" = "Arka plan getirme yoluyla tetiklenen geçerli konum teslimi"; "location_change_notification.beacon_region_enter.body" = "%@ iBeacon aracılığıyla girildi"; @@ -558,9 +575,9 @@ "menu.status_item.toggle" = "Geçiş %1$@"; "menu.view.find" = "Bul"; "menu.view.reload_page" = "Sayfayı Yeniden Yükle"; -"mtls.beta.info" = "This is a beta feature, if you experience any issues, please report them using the button below.\ -\ -Currently mTLS is only supported on iOS 17+, it may present issues related to displaying notification attachments, Assist TTS audio and it will not fully work on Apple Watch."; +"mtls.beta.info" = "Bu beta bir özelliktir, herhangi bir sorun yaşarsanız lütfen aşağıdaki düğmeyi kullanarak bildirin. \ + \ + Şu anda mTLS yalnızca iOS 17 ve üzeri sürümlerde desteklenmektedir, bildirim eklerinin görüntülenmesi, Yardımcı Metin Okuma (TTS) sesi ile ilgili sorunlar yaşanabilir ve Apple Watch'ta tam olarak çalışmayabilir."; "navBar.close" = "Kapat"; "network.error.no_active_url.body" = "Tamamlayıcı uygulama ayarlarını açın ve sunucu ayarlarınızı kontrol edin, dahili URL yalnızca yerel ağ tanımlanmışsa (SSID) kullanılacaktır, VPN kullanıyorsanız harici URL'nizi dahili URL ile aynı olarak ayarlamayı deneyin."; "network.error.no_active_url.title" = "Yüklenecek URL bulunamadı"; diff --git a/Sources/App/Resources/uk.lproj/Localizable.strings b/Sources/App/Resources/uk.lproj/Localizable.strings index 5d29260269..c1e147b1c1 100644 --- a/Sources/App/Resources/uk.lproj/Localizable.strings +++ b/Sources/App/Resources/uk.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Скасувати"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Для заданої точності відкладений режим не підтримується."; "cl_error.description.deferred_canceled" = "Запит на відкладені оновлення було скасовано вашим застосунком або менеджером розташування."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Розташування оновлюється через Команду"; "location_change_notification.background_fetch.body" = "Отримання поточного розташування ініційоване фоновим оновленням"; "location_change_notification.beacon_region_enter.body" = "%@ прийдено через iBeacon"; diff --git a/Sources/App/Resources/vi.lproj/Localizable.strings b/Sources/App/Resources/vi.lproj/Localizable.strings index c17f3256ca..5762830b73 100644 --- a/Sources/App/Resources/vi.lproj/Localizable.strings +++ b/Sources/App/Resources/vi.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "Drag and drop to reorder"; "cameras.no_server_found" = "No server found for camera: %@"; "cancel_label" = "Hủy bỏ"; +"carPlay.action.execute.in_progress" = "Executing..."; "carPlay.action.intro.item.body" = "Tap to continue on your iPhone"; "carPlay.action.intro.item.title" = "Create your first action"; "carPlay.config.tabs.title" = "Tabs"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "Are you sure you want to perform lock action on %@?"; "carplay.navigation.button.next" = "Next"; "carplay.navigation.button.previous" = "Previous"; +"carplay.tab.quick_access.layout" = "Layout"; "carplay.unlock.confirmation.title" = "Are you sure you want to perform unlock action on %@?"; "cl_error.description.deferred_accuracy_too_low" = "Chế độ trì hoãn không được hỗ trợ cho độ chính xác được yêu cầu."; "cl_error.description.deferred_canceled" = "Yêu cầu cập nhật trì hoãn đã bị ứng dụng của bạn hoặc trình quản lý vị trí hủy."; @@ -490,7 +492,7 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.section.title" = "Kiosk Mode"; "kiosk.security.device_auth" = "Device Authentication"; "kiosk.security.gesture_corner" = "Exit Gesture Corner"; -"kiosk.security.gesture_footer" = "Tap the %@ corner %li times to access kiosk settings when locked."; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "Hide Status Bar"; "kiosk.security.prevent_autolock" = "Prevent Auto-Lock"; "kiosk.security.secret_gesture" = "Secret Exit Gesture"; @@ -498,6 +500,21 @@ This server requires a client certificate (mTLS) but the operation was cancelled "kiosk.security.taps_required" = "Taps Required: %li"; "kiosk.title" = "Kiosk Mode"; "legacy_actions.disclaimer" = "Legacy iOS Actions are not the recommended way to interact with Home Assistant anymore, please use Scripts, Scenes and Automations directly in your Widgets, Apple Watch and CarPlay."; +"live_activity.empty_state" = "No active Live Activities"; +"live_activity.end_all.button" = "End All Activities"; +"live_activity.end_all.confirm.button" = "End All"; +"live_activity.end_all.confirm.title" = "End all Live Activities?"; +"live_activity.frequent_updates.footer" = "Allows Home Assistant to update Live Activities up to once per second. Enable in Settings \u203A %@ \u203A Live Activities."; +"live_activity.frequent_updates.title" = "Frequent Updates"; +"live_activity.privacy.message" = "Live Activity content is visible on your Lock Screen and Dynamic Island without Face ID or Touch ID. Choose what you display carefully."; +"live_activity.section.active" = "Active Activities"; +"live_activity.section.privacy" = "Privacy"; +"live_activity.section.status" = "Status"; +"live_activity.status.enabled" = "Enabled"; +"live_activity.status.not_supported" = "Not available on iPad"; +"live_activity.status.open_settings" = "Open Settings"; +"live_activity.subtitle" = "Real-time Home Assistant updates on your Lock Screen and Dynamic Island."; +"live_activity.title" = "Live Activities"; "location_change_notification.app_shortcut.body" = "Location updated via App Shortcut"; "location_change_notification.background_fetch.body" = "Nhận vị trí hiện tại được kích hoạt thông qua tìm nạp nền"; "location_change_notification.beacon_region_enter.body" = "%@ đã vào qua iBeacon"; diff --git a/Sources/App/Resources/zh-Hans.lproj/InfoPlist.strings b/Sources/App/Resources/zh-Hans.lproj/InfoPlist.strings index 53804a73de..60f19450e0 100644 --- a/Sources/App/Resources/zh-Hans.lproj/InfoPlist.strings +++ b/Sources/App/Resources/zh-Hans.lproj/InfoPlist.strings @@ -3,7 +3,7 @@ "NSCrossWebsiteTrackingUsageDescription" = "如果您的配置需要,可以选择启用跨网站跟踪。"; "NSFocusStatusUsageDescription" = "以传感器形式报告您的专注模式状态。"; "NSLocalNetworkUsageDescription" = "定位并与您的 Home Assistant 实例通信。"; -"NSLocationAlwaysAndWhenInUseUsageDescription" = "\n 🔵 我们还需要”始终“访问位置信息的权限,以便应用可以执行后台操作。\n\n ⚠️ 没有此权限,应用将无法决定在后台时食用哪种连接(本地或远程),并将一直使用远程连接。"; +"NSLocationAlwaysAndWhenInUseUsageDescription" = "\n 🔵 我们还需要”始终“访问位置信息的权限,以便应用可以执行后台操作。\n\n ⚠️ 没有此权限,应用将无法决定在后台时使用哪种连接(本地或远程),并将一直使用远程连接。"; "NSLocationAlwaysUsageDescription" = "我们需要持续获取您的位置用于 iBeacons、地理围栏、后台位置更新和准确性报告等功能。"; "NSLocationUsageDescription" = "启用后,您的设备位置信息将作为设备跟踪器发送到 Home Assistant 服务器。"; "NSLocationWhenInUseUsageDescription" = "此应用需要访问您的位置信息才能直接连接到您的 Home Assistant 系统。\n\n 1️⃣ 您的位置信息仅用于检查您是否已连接到本地网络。\n\n 2️⃣ 您的位置信息不会与任何人共享。\n\n 3️⃣ 如果您不允许访问位置信息,应用将始终通过互联网连接。如果未进行配置,应用将保护您的数据并拒绝连接。"; diff --git a/Sources/App/Resources/zh-Hans.lproj/Localizable.strings b/Sources/App/Resources/zh-Hans.lproj/Localizable.strings index afb53b1096..aef90c149d 100644 --- a/Sources/App/Resources/zh-Hans.lproj/Localizable.strings +++ b/Sources/App/Resources/zh-Hans.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "拖放即可重新排序"; "cameras.no_server_found" = "未找到摄像头的服务器:%@"; "cancel_label" = "取消"; +"carPlay.action.execute.in_progress" = "正在执行……"; "carPlay.action.intro.item.body" = "在您的 iPhone 上点击并继续"; "carPlay.action.intro.item.title" = "创建您的第一个动作"; "carPlay.config.tabs.title" = "标签"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "您确定要对%@执行锁定动作吗 ?"; "carplay.navigation.button.next" = "下一步"; "carplay.navigation.button.previous" = "上一步"; +"carplay.tab.quick_access.layout" = "布局"; "carplay.unlock.confirmation.title" = "您确定要对%@执行解锁动作吗 ?"; "cl_error.description.deferred_accuracy_too_low" = "要求的准确性不支持延迟模式。"; "cl_error.description.deferred_canceled" = "延迟更新的请求已被应用程序或位置管理器取消。"; @@ -490,7 +492,7 @@ "kiosk.section.title" = "信息亭模式"; "kiosk.security.device_auth" = "设备认证"; "kiosk.security.gesture_corner" = "退出手势角"; -"kiosk.security.gesture_footer" = "点击 %@ 角 %li 次可在锁定状态下访问信息亭设置。"; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "隐藏状态栏"; "kiosk.security.prevent_autolock" = "防止自动锁定"; "kiosk.security.secret_gesture" = "安全退出手势"; @@ -498,6 +500,21 @@ "kiosk.security.taps_required" = "需要点击次数:%li"; "kiosk.title" = "信息亭模式"; "legacy_actions.disclaimer" = "不再推荐使用旧版 iOS 动作与 Home Assistant 交互,请直接在小部件、Apple Watch 和 CarPlay 中使用脚本、场景和自动化。"; +"live_activity.empty_state" = "暂无活跃的实时活动"; +"live_activity.end_all.button" = "结束所有活动"; +"live_activity.end_all.confirm.button" = "全部结束"; +"live_activity.end_all.confirm.title" = "结束所有实时活动吗 ?"; +"live_activity.frequent_updates.footer" = "允许 Home Assistant 每秒更新一次实时活动。在“设置” \u203A %@ \u203A “实时活动”中启用。"; +"live_activity.frequent_updates.title" = "频繁更新"; +"live_activity.privacy.message" = "即使没有面容 ID 或触控 ID,您也可以在锁定屏幕和动态岛屿上查看实时活动内容。请谨慎选择要显示的内容。"; +"live_activity.section.active" = "活跃活动"; +"live_activity.section.privacy" = "隐私"; +"live_activity.section.status" = "状况"; +"live_activity.status.enabled" = "已启用"; +"live_activity.status.not_supported" = "iPad 版暂不可用"; +"live_activity.status.open_settings" = "打开设置"; +"live_activity.subtitle" = "在锁屏和动态岛屿上实时更新 Home Assistant 。"; +"live_activity.title" = "实时活动"; "location_change_notification.app_shortcut.body" = "通过应用捷径更新位置"; "location_change_notification.background_fetch.body" = "通过后台获取当前位置信息"; "location_change_notification.beacon_region_enter.body" = "%@ 由 iBeacon 识别进入"; diff --git a/Sources/App/Resources/zh-Hant.lproj/Localizable.strings b/Sources/App/Resources/zh-Hant.lproj/Localizable.strings index b28741b8cf..37f2eda13c 100644 --- a/Sources/App/Resources/zh-Hant.lproj/Localizable.strings +++ b/Sources/App/Resources/zh-Hant.lproj/Localizable.strings @@ -165,6 +165,7 @@ "cameras.drag_to_reorder" = "拖拉以進行重新排序"; "cameras.no_server_found" = "找不到攝影機伺服器:%@"; "cancel_label" = "取消"; +"carPlay.action.execute.in_progress" = "執行中..."; "carPlay.action.intro.item.body" = "於 iPhone 點擊繼續"; "carPlay.action.intro.item.title" = "建立第一個操作"; "carPlay.config.tabs.title" = "頁面"; @@ -208,6 +209,7 @@ "carplay.lock.confirmation.title" = "確定要對 %@ 進行鎖定操作嗎?"; "carplay.navigation.button.next" = "下一頁"; "carplay.navigation.button.previous" = "上一頁"; +"carplay.tab.quick_access.layout" = "版面配置"; "carplay.unlock.confirmation.title" = "確定要對 %@ 進行解鎖操作嗎?"; "cl_error.description.deferred_accuracy_too_low" = "所請求的準確度不支援推遲(Deferred)模式。"; "cl_error.description.deferred_canceled" = "推遲(Deferred)更新請求已被 App 或 Location Manager 所取消。"; @@ -490,7 +492,7 @@ "kiosk.section.title" = "Kiosk 模式"; "kiosk.security.device_auth" = "裝置認證"; "kiosk.security.gesture_corner" = "退出手勢角落"; -"kiosk.security.gesture_footer" = "點擊%@角落 %li 次以於鎖定時存取 Kiosk 設定。"; +"kiosk.security.gesture_footer" = "Tap the %1$@ corner %2$@ times to access kiosk settings when locked."; "kiosk.security.hide_status_bar" = "隱藏狀態列"; "kiosk.security.prevent_autolock" = "防止自動鎖定"; "kiosk.security.secret_gesture" = "秘密手勢角落"; @@ -498,6 +500,21 @@ "kiosk.security.taps_required" = "需要點擊:%li"; "kiosk.title" = "Kiosk 模式"; "legacy_actions.disclaimer" = "舊版 iOS 操作已不再是與 Home Assistant 互動的建議方式,請直接於小工具、Apple Watch 與 CarPlay 中使用腳本、場景與自動化。"; +"live_activity.empty_state" = "沒有即時動態"; +"live_activity.end_all.button" = "結束所有即時動態"; +"live_activity.end_all.confirm.button" = "全部結束"; +"live_activity.end_all.confirm.title" = "結束所有即時動態?"; +"live_activity.frequent_updates.footer" = "允許 Home Assistant 每秒更新一次即時動態。於設定中開啟 \u203A %@ \u203A 即時動態。"; +"live_activity.frequent_updates.title" = "頻繁更新"; +"live_activity.privacy.message" = "即使沒有 Face ID 或 Touch ID,也可以在鎖定畫面和動態島上查看即時動態內容。請謹慎選擇要顯示的內容。"; +"live_activity.section.active" = "啟用動態"; +"live_activity.section.privacy" = "隱私權"; +"live_activity.section.status" = "狀態"; +"live_activity.status.enabled" = "已開啟"; +"live_activity.status.not_supported" = "iPad 版暫不可用"; +"live_activity.status.open_settings" = "開啟設定"; +"live_activity.subtitle" = "在鎖定畫面和動態島上即時更新 Home Assistant。"; +"live_activity.title" = "即時動態"; "location_change_notification.app_shortcut.body" = "已透過 App 捷徑更新座標"; "location_change_notification.background_fetch.body" = "背景取得目前座標"; "location_change_notification.beacon_region_enter.body" = "已透過 iBeacon 偵測到 %@ 進入"; diff --git a/Sources/Shared/Resources/Swiftgen/Strings.swift b/Sources/Shared/Resources/Swiftgen/Strings.swift index fee2e91aaa..462f2ede0d 100644 --- a/Sources/Shared/Resources/Swiftgen/Strings.swift +++ b/Sources/Shared/Resources/Swiftgen/Strings.swift @@ -1832,9 +1832,9 @@ public enum L10n { public static var deviceAuth: String { return L10n.tr("Localizable", "kiosk.security.device_auth") } /// Exit Gesture Corner public static var gestureCorner: String { return L10n.tr("Localizable", "kiosk.security.gesture_corner") } - /// Tap the %@ corner %li times to access kiosk settings when locked. - public static func gestureFooter(_ p1: Any, _ p2: Int) -> String { - return L10n.tr("Localizable", "kiosk.security.gesture_footer", String(describing: p1), p2) + /// Tap the %1$@ corner %2$@ times to access kiosk settings when locked. + public static func gestureFooter(_ p1: Any, _ p2: Any) -> String { + return L10n.tr("Localizable", "kiosk.security.gesture_footer", String(describing: p1), String(describing: p2)) } /// Hide Status Bar public static var hideStatusBar: String { return L10n.tr("Localizable", "kiosk.security.hide_status_bar") } From 3948efaa54830de419c16dfe5ca2e751fbfc2f82 Mon Sep 17 00:00:00 2001 From: nstefanelli Date: Thu, 9 Apr 2026 08:13:32 -0400 Subject: [PATCH 2/3] Fix crash opening Kiosk settings in non-English locales (#4487) The gestureFooter call site passes the taps count as an Int, but with the format string now using %2$@ (updated in Lokalise), the SwiftGen signature is gestureFooter(_ p1: Any, _ p2: Any). Wrap the Int with String() so the CVarArg is a pointer type matching the %@ specifier. Add regression tests (KioskLocalization.test.swift) that exercise all kiosk format-string keys against every bundled locale, confirming: - Specifier count matches English - String(format:) completes without crash - Each arg appears verbatim in output Also adds a targeted test that injects each locale's gesture_footer format into LocalizedManager and calls the real L10n function path. --- HomeAssistant.xcodeproj/project.pbxproj | 4 + .../Kiosk/Settings/KioskSettingsView.swift | 2 +- Tests/App/Kiosk/KioskLocalization.test.swift | 139 ++++++++++++++++++ 3 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 Tests/App/Kiosk/KioskLocalization.test.swift diff --git a/HomeAssistant.xcodeproj/project.pbxproj b/HomeAssistant.xcodeproj/project.pbxproj index c809b4458d..7f22ded5be 100644 --- a/HomeAssistant.xcodeproj/project.pbxproj +++ b/HomeAssistant.xcodeproj/project.pbxproj @@ -1524,6 +1524,7 @@ C10D762EFE08D347D0538339 /* Pods-iOS-Shared-iOS-Tests-Shared-metadata.plist in Resources */ = {isa = PBXBuildFile; fileRef = B2F5238669D8A7416FBD2B55 /* Pods-iOS-Shared-iOS-Tests-Shared-metadata.plist */; }; C35621B95F7E4548BC8F6D75 /* FolderEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BECEB2525564358A124F818 /* FolderEditView.swift */; }; C574CE3276BCE901743FF8C9 /* KioskSettings.test.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFD4B475DDA9447E45A9BAD3 /* KioskSettings.test.swift */; }; + DEFBE1A5E9A005B0A5392D27 /* KioskLocalization.test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4593A60DBF019E6C91AAA7 /* KioskLocalization.test.swift */; }; C8860D27D848451A887BC441 /* WatchFolderRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DA2D62699FC44A99AB37480 /* WatchFolderRow.swift */; }; CA6886D02384DA18A91F37DD /* Pods-iOS-Extensions-Intents-metadata.plist in Resources */ = {isa = PBXBuildFile; fileRef = E41A4AAEF642A72ACDB6C006 /* Pods-iOS-Extensions-Intents-metadata.plist */; }; CB4D44CC6DBA5176155E157E /* KioskSecretExitGestureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCE1C6F8FA2181C936758465 /* KioskSecretExitGestureView.swift */; }; @@ -3471,6 +3472,7 @@ E41A4AAEF642A72ACDB6C006 /* Pods-iOS-Extensions-Intents-metadata.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "Pods-iOS-Extensions-Intents-metadata.plist"; path = "Pods/Pods-iOS-Extensions-Intents-metadata.plist"; sourceTree = ""; }; ED4B2D38DF1316D881D79769 /* Pods-iOS-Shared-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iOS-Shared-iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-iOS-Shared-iOS/Pods-iOS-Shared-iOS.debug.xcconfig"; sourceTree = ""; }; EF91E383A44843F087423FB5 /* WidgetCommonlyUsedEntitiesTimelineProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetCommonlyUsedEntitiesTimelineProvider.swift; sourceTree = ""; }; + 4F4593A60DBF019E6C91AAA7 /* KioskLocalization.test.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KioskLocalization.test.swift; sourceTree = ""; }; EFD4B475DDA9447E45A9BAD3 /* KioskSettings.test.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KioskSettings.test.swift; sourceTree = ""; }; F49767602CA2066683EC638F /* KioskSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KioskSettingsView.swift; sourceTree = ""; }; F6DA82FEEE2DDC3B2CC20DA3 /* Pods_iOS_Extensions_NotificationService.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_iOS_Extensions_NotificationService.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -3676,6 +3678,7 @@ 06D62F8A8D381DAFB70C6B31 /* Kiosk */ = { isa = PBXGroup; children = ( + 4F4593A60DBF019E6C91AAA7 /* KioskLocalization.test.swift */, EFD4B475DDA9447E45A9BAD3 /* KioskSettings.test.swift */, ); path = Kiosk; @@ -9699,6 +9702,7 @@ 429481EB2DA93FA000A8B468 /* WebViewJavascriptCommandsTests.swift in Sources */, 119C786725CF845800D41734 /* LocalizedStrings.test.swift in Sources */, C574CE3276BCE901743FF8C9 /* KioskSettings.test.swift in Sources */, + DEFBE1A5E9A005B0A5392D27 /* KioskLocalization.test.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Sources/App/Kiosk/Settings/KioskSettingsView.swift b/Sources/App/Kiosk/Settings/KioskSettingsView.swift index f04056b6c0..c72942a277 100644 --- a/Sources/App/Kiosk/Settings/KioskSettingsView.swift +++ b/Sources/App/Kiosk/Settings/KioskSettingsView.swift @@ -168,7 +168,7 @@ public struct KioskSettingsView: View { Text( L10n.Kiosk.Security.gestureFooter( viewModel.settings.secretExitGestureCorner.displayName, - viewModel.settings.secretExitGestureTaps + String(viewModel.settings.secretExitGestureTaps) ) ) } diff --git a/Tests/App/Kiosk/KioskLocalization.test.swift b/Tests/App/Kiosk/KioskLocalization.test.swift new file mode 100644 index 0000000000..ddf629c334 --- /dev/null +++ b/Tests/App/Kiosk/KioskLocalization.test.swift @@ -0,0 +1,139 @@ +import Foundation +@testable import HomeAssistant +@testable import Shared +import XCTest + +/// Regression tests for kiosk L10n format strings across all bundled locales. +/// +/// Guards against issue #4487, in which German and Dutch translations of +/// `kiosk.security.gesture_footer` reordered format specifiers without using +/// positional markers (`%N$...`), causing `String(format:)` to misinterpret a +/// CVarArg as the wrong type and crash (EXC_BAD_ACCESS) when the Kiosk +/// settings view body was evaluated. +/// +/// These tests exercise every kiosk format-string key against every bundled +/// `*.lproj/Localizable.strings` file, confirming the format call completes +/// without crashing and returns non-empty output containing the supplied +/// argument values. +final class KioskLocalizationTests: XCTestCase { + /// Kiosk format-string keys that take at least one argument, paired with + /// representative invocation args. Args are strings because the current + /// SwiftGen output coerces all args with `String(describing:)` before + /// passing to `String(format:)` — this test mirrors the runtime path. + private static let kioskFormatKeys: [(key: String, args: [CVarArg], specifiers: Int)] = [ + ("kiosk.brightness.manual", ["80"], 1), + ("kiosk.screensaver.dim_level", ["25"], 1), + ("kiosk.clock.accessibility.analog_clock", ["3:45 PM"], 1), + ("kiosk.clock.accessibility.current_time", ["3:45 PM"], 1), + ("kiosk.clock.accessibility.date", ["Wednesday, April 8"], 1), + ("kiosk.security.taps_required", ["5"], 1), + ("kiosk.security.gesture_footer", ["top-left", "5"], 2), + ] + + func testKioskFormatStringsAcrossAllLocales() throws { + // Matches a single printf-style format specifier, e.g. `%@`, `%li`, `%1$@`. + let specifierRegex = try NSRegularExpression( + pattern: "%{1,2}[+0123456789$.luq]*?[sduiefgcCp@]" + ) + let bundle = Bundle(for: AppDelegate.self) + + let lprojURLs: [URL] = try { + let resourceURL = try XCTUnwrap(bundle.resourceURL) + let enumerator = try XCTUnwrap(FileManager.default.enumerator( + at: resourceURL, + includingPropertiesForKeys: [.isDirectoryKey], + options: [.skipsSubdirectoryDescendants] + )) + return enumerator.compactMap { $0 as? URL } + .filter { $0.pathExtension == "lproj" } + .filter { $0.deletingPathExtension().lastPathComponent != "Base" } + }() + + XCTAssertGreaterThan(lprojURLs.count, 1, "Expected multiple bundled locales") + + for lprojURL in lprojURLs { + let language = lprojURL.deletingPathExtension().lastPathComponent + let stringsURL = lprojURL.appendingPathComponent("Localizable.strings") + guard let strings = NSDictionary(contentsOf: stringsURL) as? [String: String] else { + XCTFail("Could not load Localizable.strings for locale \(language)") + continue + } + + for (key, args, expectedSpecifiers) in Self.kioskFormatKeys { + guard let format = strings[key] else { + // Missing key is acceptable (fallback to English via LocalizedManager) + continue + } + + let specifierCount = specifierRegex.numberOfMatches( + in: format, + range: NSRange(location: 0, length: format.utf16.count) + ) + XCTAssertEqual( + specifierCount, + expectedSpecifiers, + "Locale '\(language)' key '\(key)' has \(specifierCount) format specifiers, expected \(expectedSpecifiers): \(format)" + ) + + // Execute the format call — this is the path that crashed in #4487. + let result = String(format: format, locale: Locale(identifier: language), arguments: args) + XCTAssertFalse( + result.isEmpty, + "Locale '\(language)' key '\(key)' produced empty result" + ) + // Every supplied arg must appear in the output, confirming each specifier consumed a value. + for arg in args { + guard let argString = arg as? String else { continue } + XCTAssertTrue( + result.contains(argString), + "Locale '\(language)' key '\(key)' output '\(result)' missing arg '\(argString)'" + ) + } + } + } + } + + /// Targeted regression test for issue #4487: exercises the real + /// `L10n.Kiosk.Security.gestureFooter` function via the app's + /// `LocalizedManager`, once per bundled locale, by injecting a string + /// provider that returns that locale's format string. + func testGestureFooterDoesNotCrashAcrossLocales() throws { + let bundle = Bundle(for: AppDelegate.self) + let resourceURL = try XCTUnwrap(bundle.resourceURL) + let enumerator = try XCTUnwrap(FileManager.default.enumerator( + at: resourceURL, + includingPropertiesForKeys: [.isDirectoryKey], + options: [.skipsSubdirectoryDescendants] + )) + let lprojURLs = enumerator.compactMap { $0 as? URL } + .filter { $0.pathExtension == "lproj" } + .filter { $0.deletingPathExtension().lastPathComponent != "Base" } + + for lprojURL in lprojURLs { + let language = lprojURL.deletingPathExtension().lastPathComponent + let stringsURL = lprojURL.appendingPathComponent("Localizable.strings") + guard let strings = NSDictionary(contentsOf: stringsURL) as? [String: String], + let format = strings["kiosk.security.gesture_footer"] else { + continue + } + + // Inject this locale's format into the LocalizedManager. + let localized = LocalizedManager() + localized.add(stringProvider: { request in + request.key == "kiosk.security.gesture_footer" ? format : nil + }) + Current.localized = localized + + // Call the generated L10n function — this is the exact path + // KioskSettingsView exercises when rendering the footer. + let result = L10n.Kiosk.Security.gestureFooter("top-left", 5) + XCTAssertFalse( + result.isEmpty, + "Locale '\(language)' gestureFooter produced empty result" + ) + } + + // Restore default manager so subsequent tests see clean state. + Current.localized = LocalizedManager() + } +} From 4b68710905f3ca4b9abb8f978aad5ccaf1585b1a Mon Sep 17 00:00:00 2001 From: nstefanelli Date: Thu, 9 Apr 2026 08:13:32 -0400 Subject: [PATCH 3/3] Fix crash opening Kiosk settings in non-English locales (#4487) The gestureFooter call site passes the taps count as an Int, but with the format string now using %2$@ (updated in Lokalise), the SwiftGen signature is gestureFooter(_ p1: Any, _ p2: Any). Wrap the Int with String() so the CVarArg is a pointer type matching the %@ specifier. Add regression tests (KioskLocalization.test.swift) that exercise all kiosk format-string keys against every bundled locale, confirming: - Specifier count matches English - String(format:) completes without crash - Each arg appears verbatim in output Also adds a targeted test that injects each locale's gesture_footer format into LocalizedManager and calls the real L10n function path. --- Tests/App/Kiosk/KioskLocalization.test.swift | 23 +++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Tests/App/Kiosk/KioskLocalization.test.swift b/Tests/App/Kiosk/KioskLocalization.test.swift index ddf629c334..f80c8651c2 100644 --- a/Tests/App/Kiosk/KioskLocalization.test.swift +++ b/Tests/App/Kiosk/KioskLocalization.test.swift @@ -21,12 +21,12 @@ final class KioskLocalizationTests: XCTestCase { /// SwiftGen output coerces all args with `String(describing:)` before /// passing to `String(format:)` — this test mirrors the runtime path. private static let kioskFormatKeys: [(key: String, args: [CVarArg], specifiers: Int)] = [ - ("kiosk.brightness.manual", ["80"], 1), - ("kiosk.screensaver.dim_level", ["25"], 1), + ("kiosk.brightness.manual", [80 as Int], 1), + ("kiosk.screensaver.dim_level", [25 as Int], 1), ("kiosk.clock.accessibility.analog_clock", ["3:45 PM"], 1), ("kiosk.clock.accessibility.current_time", ["3:45 PM"], 1), ("kiosk.clock.accessibility.date", ["Wednesday, April 8"], 1), - ("kiosk.security.taps_required", ["5"], 1), + ("kiosk.security.taps_required", [5 as Int], 1), ("kiosk.security.gesture_footer", ["top-left", "5"], 2), ] @@ -83,7 +83,14 @@ final class KioskLocalizationTests: XCTestCase { ) // Every supplied arg must appear in the output, confirming each specifier consumed a value. for arg in args { - guard let argString = arg as? String else { continue } + let argString: String + if let s = arg as? String { + argString = s + } else if let i = arg as? Int { + argString = "\(i)" + } else { + continue + } XCTAssertTrue( result.contains(argString), "Locale '\(language)' key '\(key)' output '\(result)' missing arg '\(argString)'" @@ -109,6 +116,9 @@ final class KioskLocalizationTests: XCTestCase { .filter { $0.pathExtension == "lproj" } .filter { $0.deletingPathExtension().lastPathComponent != "Base" } + let savedLocalized = Current.localized + defer { Current.localized = savedLocalized } + for lprojURL in lprojURLs { let language = lprojURL.deletingPathExtension().lastPathComponent let stringsURL = lprojURL.appendingPathComponent("Localizable.strings") @@ -126,14 +136,11 @@ final class KioskLocalizationTests: XCTestCase { // Call the generated L10n function — this is the exact path // KioskSettingsView exercises when rendering the footer. - let result = L10n.Kiosk.Security.gestureFooter("top-left", 5) + let result = L10n.Kiosk.Security.gestureFooter("top-left", String(5)) XCTAssertFalse( result.isEmpty, "Locale '\(language)' gestureFooter produced empty result" ) } - - // Restore default manager so subsequent tests see clean state. - Current.localized = LocalizedManager() } }