From ffb3296ddfce03a59cdc4bcacf69c0483d18c333 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Thu, 8 May 2025 20:34:25 -0700 Subject: [PATCH 1/3] 60 stupid keys remaining --- Localizable.xcstrings | 2123 ++++++++--------- Meshtastic/Enums/DisplayEnums.swift | 8 +- Meshtastic/Helpers/BLEManager.swift | 2 +- Meshtastic/Helpers/MeshPackets.swift | 6 +- Meshtastic/Persistence/UpdateCoreData.swift | 10 +- Meshtastic/Views/Messages/Messages.swift | 2 +- .../Views/Nodes/DetectionSensorLog.swift | 4 +- Meshtastic/Views/Nodes/DeviceMetricsLog.swift | 4 +- Meshtastic/Views/Nodes/PaxCounterLog.swift | 2 +- Meshtastic/Views/Settings/About.swift | 2 +- .../Views/Settings/Config/DeviceConfig.swift | 2 +- .../Config/Module/DetectionSensorConfig.swift | 2 +- .../Settings/Config/Module/SerialConfig.swift | 2 +- Meshtastic/Views/Settings/RouteRecorder.swift | 2 +- Meshtastic/Views/Settings/Settings.swift | 6 +- 15 files changed, 962 insertions(+), 1215 deletions(-) diff --git a/Localizable.xcstrings b/Localizable.xcstrings index ece3b65f..e91ed98c 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -4540,6 +4540,64 @@ } } }, + "Bluetooth config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth Konfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration Bluetooth reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות בלוטוס התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione Bluetooth ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację Bluetooth: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth-konfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Примљена конфигурација блутута: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth config received: %@" + } + } + } + }, "Bluetooth is off" : { "localizations" : { "de" : { @@ -5066,6 +5124,58 @@ } } }, + "Canned Message module config received: %@" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module messages préformatés reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת תגובות שמורות התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo Canned Message ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację modułu wiadomości gotowych: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration för modulen med fördefinierade meddelanden mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација модула за унапред припремљене поруке примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Canned Message module config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Canned Message module config received: %@" + } + } + } + }, "Canned Messages" : { "localizations" : { "de" : { @@ -5182,6 +5292,64 @@ } } }, + "Canned Messages Messages Received For: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messages préformatés reçus pour : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הודעות עבור הודעות שמורות התקבלו מ-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messaggi in scatola Messaggi ricevuti per: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano Wiadomości Gotowe Dla: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mottagna meddelanden för fördefinierade meddelanden För: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Примљене поруке за унапред припремљене поруке за: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Canned Messages Messages Received For: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Canned Messages Messages Received For: %@" + } + } + } + }, "Carousel Interval" : { "localizations" : { "it" : { @@ -8165,14 +8333,8 @@ } } }, - "default.128x64.screen.layout" : { + "Default 128x64 screen layout" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Default 128x64 screen layout" - } - }, "it" : { "stringUnit" : { "state" : "translated", @@ -8395,6 +8557,34 @@ } } }, + "Delete all pax data?" : { + "localizations" : { + "it" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Cancellare tutti i dati dei passeggeri?" + } + }, + "se" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Radera all paxdata?" + } + }, + "sr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Избриши све PAX податке?" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "要刪除所有 PAX 資料嗎?" + } + } + } + }, "Delete all positions?" : { "localizations" : { "it" : { @@ -8633,57 +8823,8 @@ } } }, - "Detection Sensor Log" : { - "localizations" : { - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Registro del sensore di rilevamento" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Логови сензора откривања" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "檢測感測器紀錄" - } - } - } - }, - "Detection sensor messages are received as text messages. If you enable notifications you will recieve a notification for each detection message received and a corresponding unread message badge." : { - "localizations" : { - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "I messaggi del sensore di rilevamento vengono ricevuti come messaggi di testo. Se si attivano le notifiche, si riceverà una notifica per ogni messaggio di rilevamento ricevuto e un badge per il messaggio non letto corrispondente." - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Поруке сензора за откривање се примају као текстуалне поруке. Ако омогућите обавештења, добићете обавештење за сваку примљену поруку за откривање и одговарајућу значку непрочитане поруке." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "检测传感器信息以文本信息的形式接收。如果启用通知功能,则每收到一条检测信息都会收到一条通知,并显示相应的未读信息。" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "偵測感測器的訊息會以文字訊息的形式接收。若啟用通知功能,每當接收到偵測訊息時,您將會收到一則通知,並顯示對應的未讀訊息標記。" - } - } - } - }, - "detection.sensor" : { + "Detection Sensor" : { + "extractionState" : "manual", "localizations" : { "de" : { "stringUnit" : { @@ -8691,12 +8832,6 @@ "value" : "Detection Sensor" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detection Sensor" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -8747,14 +8882,8 @@ } } }, - "detection.sensor.config" : { + "Detection Sensor Config" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detection Sensor Config" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -8799,54 +8928,104 @@ } } }, - "detection.sensor.log" : { + "Detection Sensor Log" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detection Sensor Log" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Journal du capteur de détection" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "יומן חיישן זיהוי" - } - }, "it" : { "stringUnit" : { "state" : "translated", "value" : "Registro del sensore di rilevamento" } }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Logg för Detektionssensor" - } - }, "sr" : { "stringUnit" : { "state" : "translated", "value" : "Логови сензора откривања" } }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "檢測感測器紀錄" + } + } + } + }, + "Detection sensor messages are received as text messages. If you enable notifications you will recieve a notification for each detection message received and a corresponding unread message badge." : { + "localizations" : { + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "I messaggi del sensore di rilevamento vengono ricevuti come messaggi di testo. Se si attivano le notifiche, si riceverà una notifica per ogni messaggio di rilevamento ricevuto e un badge per il messaggio non letto corrispondente." + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Поруке сензора за откривање се примају као текстуалне поруке. Ако омогућите обавештења, добићете обавештење за сваку примљену поруку за откривање и одговарајућу значку непрочитане поруке." + } + }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "检测传感器日志" + "value" : "检测传感器信息以文本信息的形式接收。如果启用通知功能,则每收到一条检测信息都会收到一条通知,并显示相应的未读信息。" } }, "zh-Hant-TW" : { "stringUnit" : { "state" : "translated", - "value" : "檢測感測器紀錄" + "value" : "偵測感測器的訊息會以文字訊息的形式接收。若啟用通知功能,每當接收到偵測訊息時,您將會收到一則通知,並顯示對應的未讀訊息標記。" + } + } + } + }, + "Detection Sensor module config received: %@" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module capteur de détection reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת חיישן זיהוי התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo sensore di rilevamento ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detection Sensor module config received: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration för detektionssensormodulen mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација модула за сензор детекције примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detection Sensor module config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detection Sensor module config received: %@" } } } @@ -8937,6 +9116,122 @@ } } }, + "Device Config" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gerätekonfiguration" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration de l'appareil" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מכשיר" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del dispositivo" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguracja urządzenia" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enhetskonfiguration" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подешавања уређаја" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设备配置" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "節點設定" + } + } + } + }, + "Device config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gerätekonfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration de l'appareil reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מכשיר התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione dispositivo ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację urządzenia: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enhetskonfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Примљена конфигурација уређаја: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Device config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Device config received: %@" + } + } + } + }, "Device Configuration" : { "localizations" : { "de" : { @@ -9039,6 +9334,64 @@ } } }, + "Device Metadata received from: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Device Metadata empfangen von: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Metadatas de l'appareil reçues de : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מטא-דאטה של מכשיר התקבל מ-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Metadati del dispositivo ricevuti da: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano metadane urządzenia od: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Metadata för enhet mottagen från: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Метаподаци уређаја примљени од: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Device Metadata admin message received from: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Device Metadata received from: %@" + } + } + } + }, "Device Metrics" : { "localizations" : { "it" : { @@ -9301,134 +9654,6 @@ } } }, - "device.config" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gerätekonfiguration" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device Config" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration de l'appareil" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מכשיר" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del dispositivo" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguracja urządzenia" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Enhetskonfiguration" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Подешавања уређаја" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "设备配置" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "節點設定" - } - } - } - }, - "device.metrics.log" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device Metrics Log" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device Metrics Log" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Journal des mesures de l'appareil" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "יומן מכשיר" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Registro delle metriche del dispositivo" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dziennik metryk urządzenia" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Logg för Enhetsmätvärden" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Логови метрике уређаја" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "设备指标日志" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "裝置指標紀錄檔" - } - } - } - }, "Dilution of precision (DOP) PDOP used by default" : { "localizations" : { "it" : { @@ -9513,6 +9738,64 @@ } } }, + "Direct Messages" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Direktnachrichten" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messages directs" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הודעה פרטית" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messaggi diretti" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bezpośrednie Wiadomości" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Direktmeddelanden" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Директне поруке" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "私聊" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "私人訊息" + } + } + } + }, "Direct messages are using the new public key infrastructure for encryption. Requires firmware version 2.5 or greater." : { "localizations" : { "it" : { @@ -9569,70 +9852,6 @@ } } }, - "direct.messages" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Direktnachrichten" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Direct Messages" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messages directs" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הודעה פרטית" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messaggi diretti" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bezpośrednie Wiadomości" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Direktmeddelanden" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Директне поруке" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "私聊" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "私人訊息" - } - } - } - }, "Disabled" : { "localizations" : { "de" : { @@ -11555,7 +11774,7 @@ } } }, - "external.notification" : { + "External Notification" : { "localizations" : { "de" : { "stringUnit" : { @@ -11563,12 +11782,6 @@ "value" : "Externe Benachrichtigung" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "External Notification" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -11619,6 +11832,58 @@ } } }, + "External Notification module config received: %@" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module notification extérieure reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת נוטיפיקציה חיצונית התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo di notifica esterno ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację modułu zewnętrznych powiadomień: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration för modulen för externa notifikationer mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација модула за екстерне нотификације примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "External Notification module config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "External Notification module config received: %@" + } + } + } + }, "external.notification.config" : { "localizations" : { "de" : { @@ -12315,70 +12580,6 @@ } } }, - "firmware.version.unsupported" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nicht unterstützte Firmware Version erkannt. Kann nicht verbinden." - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unsupported Firmware Version Detected, unable to connect to device." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Version non supportée du firmware détectée, impossible de se connecter à l'appareil." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "גרסת קושחה אינה נתמכת, לא ניתן להתחבר למכשיר." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rilevata versione firmware non supportata, impossibile connettersi al dispositivo." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wykryto nieobsługiwany wersję oprogramowania, brak możliwości połączenia z urządzeniem." - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Okänd Firmwareversion upptäckt, kan inte ansluta till enheten." - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Откривена је неподржана верзија фирмвера, није могуће повезати са уређајем." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "检测到不支持的固件版本,无法连接到设备。" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "檢測到不支援的韌體版本,無法連接到節點。" - } - } - } - }, "First heard" : { "localizations" : { "it" : { @@ -13841,27 +14042,21 @@ }, "Hazardous" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hazardous" - } - }, "it" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Pericoloso" } }, "sr" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Опасно" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "危險" } } @@ -15499,14 +15694,8 @@ } } }, - "inverted.top.bar.for.2.color.display" : { + "Inverted top bar for 2 Color display" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inverted top bar for 2 Color display" - } - }, "it" : { "stringUnit" : { "state" : "translated", @@ -17319,122 +17508,6 @@ } } }, - "Bluetooth config received: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bluetooth Konfiguration empfangen: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration Bluetooth reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות בלוטוס התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione Bluetooth ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano konfigurację Bluetooth: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bluetooth-konfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Примљена конфигурација блутута: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bluetooth config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bluetooth config received: %@" - } - } - } - }, - "mesh.log.cannedmessage.config %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Canned Message module config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module messages préformatés reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת תגובות שמורות התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo Canned Message ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano konfigurację modułu wiadomości gotowych: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguration för modulen med fördefinierade meddelanden mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација модула за унапред припремљене поруке примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Canned Message module config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Canned Message module config received: %@" - } - } - } - }, "mesh.log.cannedmessages.messages.get %@" : { "localizations" : { "en" : { @@ -17493,64 +17566,6 @@ } } }, - "mesh.log.cannedmessages.messages.received %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Canned Messages Messages Received For: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messages préformatés reçus pour : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הודעות עבור הודעות שמורות התקבלו מ-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messaggi in scatola Messaggi ricevuti per: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano Wiadomości Gotowe Dla: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mottagna meddelanden för fördefinierade meddelanden För: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Примљене поруке за унапред припремљене поруке за: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Canned Messages Messages Received For: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Canned Messages Messages Received For: %@" - } - } - } - }, "mesh.log.channel.sent %@ %d" : { "localizations" : { "en" : { @@ -17609,187 +17624,7 @@ } } }, - "mesh.log.detectionsensor.config %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detection Sensor module config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module capteur de détection reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת חיישן זיהוי התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo sensore di rilevamento ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detection Sensor module config received: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguration för detektionssensormodulen mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација модула за сензор детекције примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detection Sensor module config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detection Sensor module config received: %@" - } - } - } - }, - "Device config received: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gerätekonfiguration empfangen: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration de l'appareil reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מכשיר התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione dispositivo ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano konfigurację urządzenia: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Enhetskonfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Примљена конфигурација уређаја: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device config received: %@" - } - } - } - }, - "mesh.log.device.metadata.received %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device Metadata empfangen von: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device Metadata received from: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Metadatas de l'appareil reçues de : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מטא-דאטה של מכשיר התקבל מ-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Metadati del dispositivo ricevuti da: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano metadane urządzenia od: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Metadata för enhet mottagen från: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Метаподаци уређаја примљени од: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device Metadata admin message received from: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Device Metadata received from: %@" - } - } - } - }, - "mesh.log.display.config %@" : { + "Display config received: %@" : { "localizations" : { "de" : { "stringUnit" : { @@ -17797,12 +17632,6 @@ "value" : "Display Konfiguration empfangen: %@" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Display config received: %@" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -17853,64 +17682,6 @@ } } }, - "mesh.log.externalnotification.config %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "External Notification module config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module notification extérieure reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת נוטיפיקציה חיצונית התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo di notifica esterno ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano konfigurację modułu zewnętrznych powiadomień: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguration för modulen för externa notifikationer mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација модула за екстерне нотификације примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "External Notification module config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "External Notification module config received: %@" - } - } - } - }, "mesh.log.lora.config %@" : { "localizations" : { "de" : { @@ -18835,122 +18606,6 @@ } } }, - "mesh.log.storeforward.config %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Store & Forward module config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module Stocker et Transmettre reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת שמירה ושליחה התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo Store & Forward ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Store & Forward module config received: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguration för Store & Forward-modulen mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација модула за чување и прослеђивање примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Store & Forward module config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Store & Forward module config received: %@" - } - } - } - }, - "Telemetry module config received: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetrie Modul Konfiguration empfangen: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module télémetrie reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת טלמטריה התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo di telemetria ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano konfigurację modułu telemetrii: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetrimodulkonfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација модула телеметрије примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetry module config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetry module config received: %@" - } - } - } - }, "mesh.log.telemetry.received %@" : { "localizations" : { "de" : { @@ -19393,70 +19048,6 @@ } } }, - "mesh.log.waypoint.received %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wegpunkt von Knoten empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Waypoint Packet received from node: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Paquet Waypoint reçu du noeud : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "נקודת ציון התקבלה מ-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pacchetto Waypoint ricevuto dal nodo: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano pakiet punktu orientacyjnego od węzła: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vägpunktspaket mottaget från nod: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Пакет са тачкама пута примљен од чвора: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Waypoint Packet received from node: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Waypoint Packet received from node: %@" - } - } - } - }, "mesh.log.waypoint.sent %@" : { "localizations" : { "de" : { @@ -21626,64 +21217,6 @@ } } }, - "up to %@ away" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "bis zu %@ entfernt" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "up to %@ away" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "up to %@ away" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "fino a %@ di distanza" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "up to %@ away" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "upp till %@ bort" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "удаљено до максималних %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "最远距离 %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "距離%@以內" - } - } - } - }, "nodes" : { "localizations" : { "de" : { @@ -22742,6 +22275,28 @@ } } }, + "Optimized for 2 color displays" : { + "localizations" : { + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ottimizzato per i display a 2 colori" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Оптимизовано за двобојне дисплеје" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "為雙色螢幕最佳化" + } + } + } + }, "Optimized for ATAK system communication, reduces routine broadcasts." : { "localizations" : { "de" : { @@ -22800,34 +22355,6 @@ } } }, - "optimized.for.2.color.displays" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Optimized for 2 color displays" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ottimizzato per i display a 2 colori" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Оптимизовано за двобојне дисплеје" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "為雙色螢幕最佳化" - } - } - } - }, "Optional fields to include when assembling position messages. the more fields are included, the larger the message will be - leading to longer airtime and a higher risk of packet loss" : { "localizations" : { "it" : { @@ -23582,40 +23109,6 @@ } } }, - "paxcounter.delete" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Delete all pax data?" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cancellare tutti i dati dei passeggeri?" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Radera all paxdata?" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Избриши све PAX податке?" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "要刪除所有 PAX 資料嗎?" - } - } - } - }, "paxcounter.log" : { "localizations" : { "en" : { @@ -25354,7 +24847,7 @@ } } }, - "range.test" : { + "Range Test" : { "localizations" : { "de" : { "stringUnit" : { @@ -25362,12 +24855,6 @@ "value" : "Entfernungstest" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Range Test" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -28629,6 +28116,64 @@ } } }, + "Serial Config" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Serial Konfiguration" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration série" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "'הגדרות מודולה 'סיריאלי" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione seriale" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguracja seryjna" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seriekonfiguration" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подешавања серијске везе" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "串口配置" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "序列設定" + } + } + } + }, "Serial Console" : { "localizations" : { "de" : { @@ -28685,70 +28230,6 @@ } } }, - "serial.config" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Serial Konfiguration" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Serial Config" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration série" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "'הגדרות מודולה 'סיריאלי" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione seriale" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguracja seryjna" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Seriekonfiguration" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Подешавања серијске везе" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "串口配置" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "序列設定" - } - } - } - }, "Series" : { "localizations" : { "it" : { @@ -30283,7 +29764,7 @@ } } }, - "start" : { + "Start" : { "localizations" : { "de" : { "stringUnit" : { @@ -30291,12 +29772,6 @@ "value" : "Start" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Start" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -30425,6 +29900,58 @@ } } }, + "Store & Forward module config received: %@" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module Stocker et Transmettre reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת שמירה ושליחה התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo Store & Forward ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Store & Forward module config received: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration för Store & Forward-modulen mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација модула за чување и прослеђивање примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Store & Forward module config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Store & Forward module config received: %@" + } + } + } + }, "Store and forward servers require an ESP32 device with PSRAM or Linux Native." : { "localizations" : { "en" : { @@ -30913,6 +30440,64 @@ } } }, + "Telemetry module config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetrie Modul Konfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module télémetrie reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת טלמטריה התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo di telemetria ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano konfigurację modułu telemetrii: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetrimodulkonfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација модула телеметрије примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetry module config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetry module config received: %@" + } + } + } + }, "Temp" : { "localizations" : { "de" : { @@ -31177,14 +30762,8 @@ } } }, - "tft.full.color.displays" : { + "TFT Full Color Displays" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "TFT Full Color Displays" - } - }, "it" : { "stringUnit" : { "state" : "translated", @@ -33847,6 +33426,64 @@ } } }, + "Unsupported Firmware Version Detected, unable to connect to device." : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nicht unterstützte Firmware Version erkannt. Kann nicht verbinden." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version non supportée du firmware détectée, impossible de se connecter à l'appareil." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "גרסת קושחה אינה נתמכת, לא ניתן להתחבר למכשיר." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rilevata versione firmware non supportata, impossibile connettersi al dispositivo." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wykryto nieobsługiwany wersję oprogramowania, brak możliwości połączenia z urządzeniem." + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Okänd Firmwareversion upptäckt, kan inte ansluta till enheten." + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Откривена је неподржана верзија фирмвера, није могуће повезати са уређајем." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "检测到不支持的固件版本,无法连接到设备。" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "檢測到不支援的韌體版本,無法連接到節點。" + } + } + } + }, "Up" : { "localizations" : { "de" : { @@ -33933,6 +33570,64 @@ } } }, + "up to %@ away" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "bis zu %@ entfernt" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "up to %@ away" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "up to %@ away" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "fino a %@ di distanza" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "up to %@ away" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "upp till %@ bort" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "удаљено до максималних %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最远距离 %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "距離%@以內" + } + } + } + }, "Update Interval" : { "localizations" : { "it" : { @@ -34615,7 +34310,7 @@ } } }, - "Version: %@ (%@) " : { + "Version: %1$@ (%2$@)" : { "localizations" : { "de" : { "stringUnit" : { @@ -34623,12 +34318,6 @@ "value" : "Version: %1$@ (%2$@) " } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Version: %1$@ (%2$@) " - } - }, "it" : { "stringUnit" : { "state" : "translated", @@ -35045,6 +34734,64 @@ } } }, + "Waypoint Packet received from node: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wegpunkt von Knoten empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paquet Waypoint reçu du noeud : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נקודת ציון התקבלה מ-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pacchetto Waypoint ricevuto dal nodo: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano pakiet punktu orientacyjnego od węzła: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vägpunktspaket mottaget från nod: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пакет са тачкама пута примљен од чвора: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Waypoint Packet received from node: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Waypoint Packet received from node: %@" + } + } + } + }, "Weather Conditions" : { "localizations" : { "de" : { diff --git a/Meshtastic/Enums/DisplayEnums.swift b/Meshtastic/Enums/DisplayEnums.swift index 089140f0..664d72a5 100644 --- a/Meshtastic/Enums/DisplayEnums.swift +++ b/Meshtastic/Enums/DisplayEnums.swift @@ -149,13 +149,13 @@ enum DisplayModes: Int, CaseIterable, Identifiable { var description: String { switch self { case .defaultMode: - return "default.128x64.screen.layout".localized + return "Default 128x64 screen layout".localized case .twoColor: - return "optimized.for.2.color.displays".localized + return "Optimized for 2 color displays".localized case .inverted: - return "inverted.top.bar.for.2.color.display".localized + return "Inverted top bar for 2 Color display".localized case .color: - return "tft.full.color.displays".localized + return "TFT Full Color Displays".localized } } func protoEnumValue() -> Config.DisplayConfig.DisplayMode { diff --git a/Meshtastic/Helpers/BLEManager.swift b/Meshtastic/Helpers/BLEManager.swift index 5f54afd1..6c34d65c 100644 --- a/Meshtastic/Helpers/BLEManager.swift +++ b/Meshtastic/Helpers/BLEManager.swift @@ -498,7 +498,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate guard connectedPeripheral?.peripheral.state ?? CBPeripheralState.disconnected == CBPeripheralState.connected else { return } if FROMRADIO_characteristic == nil { - Logger.mesh.error("🚨 \("firmware.version.unsupported".localized, privacy: .public)") + Logger.mesh.error("🚨 \("Unsupported Firmware Version Detected, unable to connect to device.".localized, privacy: .public)") invalidVersion = true return } else { diff --git a/Meshtastic/Helpers/MeshPackets.swift b/Meshtastic/Helpers/MeshPackets.swift index bcc4659b..c208c525 100644 --- a/Meshtastic/Helpers/MeshPackets.swift +++ b/Meshtastic/Helpers/MeshPackets.swift @@ -209,7 +209,7 @@ func channelPacket (channel: Channel, fromNum: Int64, context: NSManagedObjectCo func deviceMetadataPacket (metadata: DeviceMetadata, fromNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { if metadata.isInitialized { - let logString = String.localizedStringWithFormat("mesh.log.device.metadata.received %@".localized, fromNum.toHex()) + let logString = String.localizedStringWithFormat("Device Metadata received from: %@".localized, fromNum.toHex()) Logger.mesh.info("🏷️ \(logString, privacy: .public)") let fetchedNodeRequest = NodeInfoEntity.fetchRequest() @@ -472,7 +472,7 @@ func adminAppPacket (packet: MeshPacket, context: NSManagedObjectContext) { if !cmmc.messages.isEmpty { - let logString = String.localizedStringWithFormat("mesh.log.cannedmessages.messages.received %@".localized, packet.from.toHex()) + let logString = String.localizedStringWithFormat("Canned Messages Messages Received For: %@".localized, packet.from.toHex()) Logger.mesh.info("🥫 \(logString, privacy: .public)") let fetchNodeRequest = NodeInfoEntity.fetchRequest() @@ -1037,7 +1037,7 @@ func textMessageAppPacket( func waypointPacket (packet: MeshPacket, context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.waypoint.received %@".localized, String(packet.from)) + let logString = String.localizedStringWithFormat("Waypoint Packet received from node: %@".localized, String(packet.from)) Logger.mesh.info("📍 \(logString, privacy: .public)") let fetchWaypointRequest = WaypointEntity.fetchRequest() diff --git a/Meshtastic/Persistence/UpdateCoreData.swift b/Meshtastic/Persistence/UpdateCoreData.swift index 431bf95d..7823272b 100644 --- a/Meshtastic/Persistence/UpdateCoreData.swift +++ b/Meshtastic/Persistence/UpdateCoreData.swift @@ -505,7 +505,7 @@ func upsertDeviceConfigPacket(config: Config.DeviceConfig, nodeNum: Int64, sessi func upsertDisplayConfigPacket(config: Config.DisplayConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.display.config %@".localized, nodeNum.toHex()) + let logString = String.localizedStringWithFormat("Display config received: %@".localized, nodeNum.toHex()) Logger.data.info("🖥️ \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -916,7 +916,7 @@ func upsertAmbientLightingModuleConfigPacket(config: ModuleConfig.AmbientLightin func upsertCannedMessagesModuleConfigPacket(config: ModuleConfig.CannedMessageConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.cannedmessage.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Canned Message module config received: %@".localized, String(nodeNum)) Logger.data.info("🥫 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -975,7 +975,7 @@ func upsertCannedMessagesModuleConfigPacket(config: ModuleConfig.CannedMessageCo func upsertDetectionSensorModuleConfigPacket(config: ModuleConfig.DetectionSensorConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.detectionsensor.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Detection Sensor module config received: %@".localized, String(nodeNum)) Logger.data.info("🕵️ \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -1032,7 +1032,7 @@ func upsertDetectionSensorModuleConfigPacket(config: ModuleConfig.DetectionSenso func upsertExternalNotificationModuleConfigPacket(config: ModuleConfig.ExternalNotificationConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.externalnotification.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("External Notification module config received: %@".localized, String(nodeNum)) Logger.data.info("📣 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -1344,7 +1344,7 @@ func upsertSerialModuleConfigPacket(config: ModuleConfig.SerialConfig, nodeNum: func upsertStoreForwardModuleConfigPacket(config: ModuleConfig.StoreForwardConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.storeforward.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Store & Forward module config received: %@".localized, String(nodeNum)) Logger.data.info("📬 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() diff --git a/Meshtastic/Views/Messages/Messages.swift b/Meshtastic/Views/Messages/Messages.swift index 7580079b..cb6947c0 100644 --- a/Meshtastic/Views/Messages/Messages.swift +++ b/Meshtastic/Views/Messages/Messages.swift @@ -50,7 +50,7 @@ struct Messages: View { } NavigationLink(value: MessagesNavigationState.directMessages()) { Label { - Text("direct.messages") + Text("Direct Messages") .badge(unreadDirectMessages) .font(.title2) .padding() diff --git a/Meshtastic/Views/Nodes/DetectionSensorLog.swift b/Meshtastic/Views/Nodes/DetectionSensorLog.swift index af07b9e7..e4c22e0d 100644 --- a/Meshtastic/Views/Nodes/DetectionSensorLog.swift +++ b/Meshtastic/Views/Nodes/DetectionSensorLog.swift @@ -118,7 +118,7 @@ struct DetectionSensorLog: View { .padding(.bottom) .padding(.trailing) } - .navigationTitle("detection.sensor.log") + .navigationTitle("Detection Sensor Log") .navigationBarTitleDisplayMode(.inline) .navigationBarItems(trailing: ZStack { @@ -128,7 +128,7 @@ struct DetectionSensorLog: View { isPresented: $isExporting, document: CsvDocument(emptyCsv: exportString), contentType: .commaSeparatedText, - defaultFilename: String("\(node.user?.longName ?? "Node") \("detection.sensor.log".localized)"), + defaultFilename: String("\(node.user?.longName ?? "Node") \("Detection Sensor Log".localized)"), onCompletion: { result in switch result { case .success: diff --git a/Meshtastic/Views/Nodes/DeviceMetricsLog.swift b/Meshtastic/Views/Nodes/DeviceMetricsLog.swift index 6335bcb3..e7b4c952 100644 --- a/Meshtastic/Views/Nodes/DeviceMetricsLog.swift +++ b/Meshtastic/Views/Nodes/DeviceMetricsLog.swift @@ -240,7 +240,7 @@ struct DeviceMetricsLog: View { ContentUnavailableView("No Device Metrics", systemImage: "slash.circle") } } - .navigationTitle("device.metrics.log") + .navigationTitle("Device Metrics Log") .navigationBarTitleDisplayMode(.inline) .navigationBarItems(trailing: ZStack { @@ -250,7 +250,7 @@ struct DeviceMetricsLog: View { isPresented: $isExporting, document: CsvDocument(emptyCsv: exportString), contentType: .commaSeparatedText, - defaultFilename: String("\(node.user?.longName ?? "Node") \("device.metrics.log".localized)"), + defaultFilename: String("\(node.user?.longName ?? "Node") \("Device Metrics Log".localized)"), onCompletion: { result in switch result { case .success: diff --git a/Meshtastic/Views/Nodes/PaxCounterLog.swift b/Meshtastic/Views/Nodes/PaxCounterLog.swift index ed5a87c8..a5ca0194 100644 --- a/Meshtastic/Views/Nodes/PaxCounterLog.swift +++ b/Meshtastic/Views/Nodes/PaxCounterLog.swift @@ -174,7 +174,7 @@ struct PaxCounterLog: View { isPresented: $isPresentingClearLogConfirm, titleVisibility: .visible ) { - Button("paxcounter.delete", role: .destructive) { + Button("Delete all pax data?", role: .destructive) { if clearPax(destNum: node.num, context: context) { Logger.services.info("Cleared Pax Counter for \(node.num, privacy: .public)") } else { diff --git a/Meshtastic/Views/Settings/About.swift b/Meshtastic/Views/Settings/About.swift index f6854bcb..e65a4c64 100644 --- a/Meshtastic/Views/Settings/About.swift +++ b/Meshtastic/Views/Settings/About.swift @@ -48,7 +48,7 @@ struct AboutMeshtastic: View { } .font(.title2) - Text("Version: \(Bundle.main.appVersionLong) (\(Bundle.main.appBuild)) ") + Text("Version: \(Bundle.main.appVersionLong) (\(Bundle.main.appBuild))") } Section(header: Text("Project information")) { diff --git a/Meshtastic/Views/Settings/Config/DeviceConfig.swift b/Meshtastic/Views/Settings/Config/DeviceConfig.swift index 89f50cc9..6539848a 100644 --- a/Meshtastic/Views/Settings/Config/DeviceConfig.swift +++ b/Meshtastic/Views/Settings/Config/DeviceConfig.swift @@ -247,7 +247,7 @@ struct DeviceConfig: View { } Spacer() } - .navigationTitle("device.config") + .navigationTitle("Device Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/Module/DetectionSensorConfig.swift b/Meshtastic/Views/Settings/Config/Module/DetectionSensorConfig.swift index ebe21b81..e042ca77 100644 --- a/Meshtastic/Views/Settings/Config/Module/DetectionSensorConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/DetectionSensorConfig.swift @@ -181,7 +181,7 @@ struct DetectionSensorConfig: View { } } } - .navigationTitle("detection.sensor.config") + .navigationTitle("Detection Sensor Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift b/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift index 47dca015..0bbe9fbc 100644 --- a/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift @@ -126,7 +126,7 @@ struct SerialConfig: View { } } } - .navigationTitle("serial.config") + .navigationTitle("Serial Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/RouteRecorder.swift b/Meshtastic/Views/Settings/RouteRecorder.swift index 56c35163..3c7bd81a 100644 --- a/Meshtastic/Views/Settings/RouteRecorder.swift +++ b/Meshtastic/Views/Settings/RouteRecorder.swift @@ -191,7 +191,7 @@ struct RouteRecorder: View { Logger.data.error("Error Saving RouteEntity from the Route Recorder \(nsError, privacy: .public)") } } label: { - Label("start", systemImage: "play") + Label("Start", systemImage: "play") } .buttonStyle(.bordered) .buttonBorderShape(.capsule) diff --git a/Meshtastic/Views/Settings/Settings.swift b/Meshtastic/Views/Settings/Settings.swift index fc40aa52..d84d24cd 100644 --- a/Meshtastic/Views/Settings/Settings.swift +++ b/Meshtastic/Views/Settings/Settings.swift @@ -189,7 +189,7 @@ struct Settings: View { if isModuleSupported(.detectionsensorConfig) { NavigationLink(value: SettingsNavigationState.detectionSensor) { Label { - Text("detection.sensor") + Text("Detection Sensor") } icon: { Image(systemName: "sensor") } @@ -199,7 +199,7 @@ struct Settings: View { if isModuleSupported(.extnotifConfig) { NavigationLink(value: SettingsNavigationState.externalNotification) { Label { - Text("external.notification") + Text("External Notification") } icon: { Image(systemName: "megaphone") } @@ -219,7 +219,7 @@ struct Settings: View { if isModuleSupported(.rangetestConfig) { NavigationLink(value: SettingsNavigationState.rangeTest) { Label { - Text("range.test") + Text("Range Test") } icon: { Image(systemName: "point.3.connected.trianglepath.dotted") } From 70fa86ae327730e6c26f7b073604edd6ec004748 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Thu, 8 May 2025 22:50:44 -0700 Subject: [PATCH 2/3] Finish updating translation strings --- Localizable.xcstrings | 4658 ++++++++--------- Meshtastic/Helpers/BLEManager.swift | 20 +- Meshtastic/Helpers/MeshPackets.swift | 12 +- Meshtastic/Persistence/UpdateCoreData.swift | 20 +- Meshtastic/Views/Bluetooth/Connect.swift | 4 +- Meshtastic/Views/ContentView.swift | 4 +- .../Messages/MessageContextMenuItems.swift | 6 +- Meshtastic/Views/Nodes/NodeList.swift | 4 +- Meshtastic/Views/Nodes/PaxCounterLog.swift | 4 +- Meshtastic/Views/Nodes/PowerMetricsLog.swift | 2 +- Meshtastic/Views/Settings/AppData.swift | 2 +- .../Views/Settings/Config/LoRaConfig.swift | 2 +- .../Module/ExternalNotificationConfig.swift | 2 +- .../Settings/Config/Module/MQTTConfig.swift | 4 +- .../Config/Module/PaxCounterConfig.swift | 4 +- .../Config/Module/RangeTestConfig.swift | 2 +- .../Settings/Config/Module/RtttlConfig.swift | 10 +- .../Config/Module/StoreForwardConfig.swift | 2 +- .../Views/Settings/Config/NetworkConfig.swift | 2 +- .../Settings/Config/PositionConfig.swift | 2 +- .../Views/Settings/Config/PowerConfig.swift | 6 +- .../Settings/Config/SaveConfigButton.swift | 2 +- Meshtastic/Views/Settings/Settings.swift | 6 +- Meshtastic/Views/Settings/ShareChannels.swift | 2 +- 24 files changed, 2198 insertions(+), 2584 deletions(-) diff --git a/Localizable.xcstrings b/Localizable.xcstrings index e91ed98c..7c0d5e8d 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -5294,12 +5294,6 @@ }, "Canned Messages Messages Received For: %@" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -6776,345 +6770,6 @@ } } }, - "config.module.paxcounter.title" : { - - }, - "config.module.paxcounter.updateinterval.description" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "How often we can send a message to the mesh when people are detected." - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "How often we can send a message to the mesh when people are detected." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "How often we can send a message to the mesh when people are detected." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Quanto spesso possiamo inviare un messaggio alla rete quando le persone vengono rilevate." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "How often we can send a message to the mesh when people are detected." - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hur ofta vi kan skicka ett meddelande till mesh-nätverket när personer upptäcks." - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Колико често можемо послати поруку мрежи када се открију људи." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "检测到人员时,我们可以隔多久发送一条消息到 Mesh" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "當檢測到人員時,我們可以多久發送一次訊息到網狀網路。" - } - } - } - }, - "config.power.shutdown.on.power.loss" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Herunterfahren bei Stromunterbruch" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Shutdown on Power Loss" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Shutdown on Power Loss" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Spegnimento in caso di perdita di alimentazione" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Shutdown on Power Loss" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Stäng av vid Strömförlust" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Искључи уређај при губитку напајања" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "断电时关机" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "斷電自動關機" - } - } - } - }, - "config.power.title" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Stromkonfiguration" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Power Config" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Power Config" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione dell'alimentazione" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Power Config" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Strömkonfiguration" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Подешавања напајња" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "电源配置" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "電源設定" - } - } - } - }, - "config.ringtone.description" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Transfer Language(RTTTL) Ringtone String used by supported buzzers in external notifications." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Transfer Language(RTTTL) Ringtone String used by supported buzzers in external notifications." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Transfer Language(RTTTL) Stringa di suoneria utilizzata dai cicalini supportati nelle notifiche esterne." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Transfer Language(RTTTL) Ringtone String used by supported buzzers in external notifications." - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringsignalöverföringsspråk (RTTTL) Ringsignalsträng som används av stödda buzzers i externa notifikationer." - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Језик преноса мелдоије звона (RTTTL) Стринг мелодије звона који користе подржани звучни сигнали у спољним обавештењима." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "支持外部通知中使用的铃声传输语言 (RTTTL) 铃声字符串。" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "RTTTL 鈴聲字串(Ringtone Transfer Language)被用於外部通知中支援的蜂鳴器。" - } - } - } - }, - "config.ringtone.label" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Transfer Language" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Transfer Language" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lingua di trasferimento della suoneria" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Transfer Language" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Språk för Överföring av Ringsignal" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Језик преноса мелодије звона" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "铃声传输语言" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "鈴聲傳輸語言(RTTTL)" - } - } - } - }, - "config.ringtone.title" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Klingelton Konfiguration" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Config" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Config" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione della suoneria" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringtone Config" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ringsignalskonfiguration" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација звона" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "铃声配置" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "鈴聲" - } - } - } - }, "Configuration for: %@" : { "localizations" : { "de" : { @@ -10136,6 +9791,64 @@ } } }, + "Display config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Display Konfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration de l'écran reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות תצוגה התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Visualizzazione della configurazione ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację wyświetlacza: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skärmkonfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Примљена конфигурација приказа: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Display config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Display config received: %@" + } + } + } + }, "Display Fahrenheit" : { "localizations" : { "it" : { @@ -11832,59 +11545,7 @@ } } }, - "External Notification module config received: %@" : { - "localizations" : { - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module notification extérieure reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת נוטיפיקציה חיצונית התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo di notifica esterno ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano konfigurację modułu zewnętrznych powiadomień: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguration för modulen för externa notifikationer mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација модула за екстерне нотификације примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "External Notification module config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "External Notification module config received: %@" - } - } - } - }, - "external.notification.config" : { + "External Notification Config" : { "localizations" : { "de" : { "stringUnit" : { @@ -11892,12 +11553,6 @@ "value" : "Einstellungen der externen Benachrichtigung" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "External Notification Config" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -11948,6 +11603,58 @@ } } }, + "External Notification module config received: %@" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module notification extérieure reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת נוטיפיקציה חיצונית התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo di notifica esterno ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację modułu zewnętrznych powiadomień: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration för modulen för externa notifikationer mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација модула за екстерне нотификације примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "External Notification module config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "External Notification module config received: %@" + } + } + } + }, "Factory Reset" : { "localizations" : { "de" : { @@ -13446,7 +13153,7 @@ } } }, - "generate.qr.code" : { + "Generate QR Code" : { "localizations" : { "de" : { "stringUnit" : { @@ -13454,12 +13161,6 @@ "value" : "QR Code Erzeugen" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Generate QR Code" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -14776,6 +14477,58 @@ } } }, + "How often we can send a message to the mesh when people are detected." : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "How often we can send a message to the mesh when people are detected." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "How often we can send a message to the mesh when people are detected." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quanto spesso possiamo inviare un messaggio alla rete quando le persone vengono rilevate." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "How often we can send a message to the mesh when people are detected." + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hur ofta vi kan skicka ett meddelande till mesh-nätverket när personer upptäcks." + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Колико често можемо послати поруку мрежи када се открију људи." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "检测到人员时,我们可以隔多久发送一条消息到 Mesh" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "當檢測到人員時,我們可以多久發送一次訊息到網狀網路。" + } + } + } + }, "How to update Firmware" : { "localizations" : { "de" : { @@ -15722,6 +15475,58 @@ } } }, + "Issuing Want Config to %@" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Envoi d'un Want Config à %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "שולח בקשת הגדרות ל-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Emissione di Want Config a %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wydawanie Want Config to %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utfärdar Want Config till %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Издавање захтева за конфигурацију на: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Issuing Want Config to %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Issuing Want Config to %@" + } + } + } + }, "Japan" : { "localizations" : { "it" : { @@ -16730,7 +16535,7 @@ } } }, - "lora" : { + "LoRa" : { "localizations" : { "de" : { "stringUnit" : { @@ -16738,12 +16543,6 @@ "value" : "LoRa" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -16794,7 +16593,7 @@ } } }, - "lora.config" : { + "LoRa Config" : { "localizations" : { "de" : { "stringUnit" : { @@ -16802,12 +16601,6 @@ "value" : "LoRa Einstellungen" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa Config" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -16858,6 +16651,64 @@ } } }, + "LoRa config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "LoRa config empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration LoRa reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות לורה התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione LoRa ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację LoRa: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "LoRa-konfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација LoRA примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "LoRa config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "LoRa config received: %@" + } + } + } + }, "Lost and Found" : { "localizations" : { "de" : { @@ -16918,61 +16769,55 @@ "localizations" : { "de" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5 Stack Card KB / RAK Tastenfeld" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "M5 Stack Card KB / RAK Keypad" - } - }, "fr" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Clavier M5 Stack Card KB / RAK" } }, "he" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5 Stack Card KB / RAK Keypad" } }, "it" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5 Stack Card KB / Tastiera RAK" } }, "pl" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5 Stack Card KB / RAK Keypad" } }, "se" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5 Stack Card KB / RAK Keypad" } }, "sr" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5 стек картица KB / RAK тастатура" } }, "zh-Hans" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5 Stack 卡片键盘 / RAK 键盘" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "M5Stack 卡片鍵盤 / RAK 鍵盤" } } @@ -17166,70 +17011,6 @@ } } }, - "map" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mesh Karte" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mesh Map" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carte de maillage" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מפת מש" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mappa della mesh" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mapa Sieci" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mesh Karta" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Мапа меша" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mesh 地图" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mesh 地圖" - } - } - } - }, "Map Options" : { "localizations" : { "de" : { @@ -17444,7 +17225,7 @@ } } }, - "mesh.live.activity" : { + "Mesh Live Activity" : { "localizations" : { "de" : { "stringUnit" : { @@ -17452,12 +17233,6 @@ "value" : "Mesh Live Aktivität" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mesh Live Activity" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -17508,565 +17283,65 @@ } } }, - "mesh.log.cannedmessages.messages.get %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Requested Canned Messages Module Messages for node: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messages du module messages préformatés demandés pour le noeud : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "התבקשו הודעות מודולת הודעות שמורות עבור מכשיר: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messaggi in scatola richiesti Messaggi del modulo per il nodo: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zażądano Wiadomości z Modułu Wiadomości Gotowych dla węzła: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Begärda meddelanden för modulen med fördefinierade meddelanden för nod: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Захтеване поруке модула за унапред припремљене поруке за чвор: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Requested Canned Messages Module Messages for node: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Requested Canned Messages Module Messages for node: %@" - } - } - } - }, - "mesh.log.channel.sent %@ %d" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Channel for: %@ Channel Index %d" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Canal envoyé pour : %@ Canal index %d" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "נשלח ערוץ עבור: %@ אינדקס ערוצים %d" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inviato un canale per: %@ Canale Indice %d" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wysłano kanał dla: %@ Indeks kanału %d" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skickade en kanal för: %@ Kanalindex %d" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Послат је канал за: %@ Индекс канала %d" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Channel for: %@ Channel Index %d" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Channel for: %@ Channel Index %d" - } - } - } - }, - "Display config received: %@" : { + "Mesh Map" : { "localizations" : { "de" : { "stringUnit" : { "state" : "translated", - "value" : "Display Konfiguration empfangen: %@" + "value" : "Mesh Karte" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Configuration de l'écran reçue : %@" + "value" : "Carte de maillage" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הגדרות תצוגה התקבלו: %@" + "value" : "מפת מש" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Visualizzazione della configurazione ricevuta: %@" + "value" : "Mappa della mesh" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Otrzymano konfigurację wyświetlacza: %@" + "value" : "Mapa Sieci" } }, "se" : { "stringUnit" : { "state" : "translated", - "value" : "Skärmkonfiguration mottagen: %@" + "value" : "Mesh Karta" } }, "sr" : { "stringUnit" : { "state" : "translated", - "value" : "Примљена конфигурација приказа: %@" + "value" : "Мапа меша" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Display config received: %@" + "value" : "Mesh 地图" } }, "zh-Hant-TW" : { "stringUnit" : { "state" : "translated", - "value" : "Display config received: %@" + "value" : "Mesh 地圖" } } } }, - "mesh.log.lora.config %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa config empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration LoRa reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות לורה התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione LoRa ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano konfigurację LoRa: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa-konfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација LoRA примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa config received: %@" - } - } - } - }, - "mesh.log.lora.config.sent %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "LoRa.Config gesendet für: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a LoRa.Config for: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration LoRa envoyée à : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "נשלחו הגדרות לורה עבור: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inviato un LoRa.Config per: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wysłano konfigurację LoRa dla: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skickade en LoRa.Konfiguration för: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Послата LoRA конфигурација за: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a LoRa.Config for: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a LoRa.Config for: %@" - } - } - } - }, - "mesh.log.mqtt.config %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "MQTT Modulkonfiguration empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "MQTT module config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module MQTT reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת MQTT התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo MQTT ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano konfigurację modułu MQTT: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "MQTT-modulkonfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација MQTT модула примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "收到 MQTT 模块配置:%@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "MQTT module config received: %@" - } - } - } - }, - "mesh.log.myinfo %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "MyInfo empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "MyInfo received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "MesInfos reçues : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "MyInfo התקבל: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "MyInfo ricevuto: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otrzymano Moje Informacje: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Min info mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Моје информације примљене: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "MyInfo received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "MyInfo received: %@" - } - } - } - }, - "mesh.log.network.config %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Netzwerkkonfiguration empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Network config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du réseau reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות רשת התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione di rete ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano konfigurację sieci: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nätverkskonfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација мреже примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Network config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Network config received: %@" - } - } - } - }, - "mesh.log.nodeinfo.received %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Knoteninformation empfangen für: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Node info received for: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Information du noeud reçue pour : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מידע אודות מכשיר התקבל: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ricevute informazioni sul nodo per: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano informacje o węźle dla: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nodinformation mottagen för: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Информације о чвору примљене за: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Node info received for: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Node info received for: %@" - } - } - } - }, - "mesh.log.paxcounter %@" : { + "PAX Counter message received from: %@" : { "localizations" : { "de" : { "stringUnit" : { @@ -18074,12 +17349,6 @@ "value" : "PAX Counter message received for: %@" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX Counter message received from: %@" - } - }, "he" : { "stringUnit" : { "state" : "translated", @@ -18124,71 +17393,7 @@ } } }, - "mesh.log.position.config %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positionskonfiguration empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positon config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration de la position reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מיקום התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione della posizione ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano konfigurację pozycji: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positionskonfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација позиције примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positon config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positon config received: %@" - } - } - } - }, - "mesh.log.position.received %@" : { + "Position Packet received from node: %@" : { "localizations" : { "de" : { "stringUnit" : { @@ -18196,12 +17401,6 @@ "value" : "Position empfangen von Knoten: %@" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Position Packet received from node: %@" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -18252,866 +17451,6 @@ } } }, - "mesh.log.power.config %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Power config received: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione dell'alimentazione ricevuta: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Strömkonfiguration mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација напајања примљена: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Power config received: %@" - } - } - } - }, - "mesh.log.rangetest.config %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Range Test Modul konfiguration empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Range Test module config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module test deportée reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת בדיקת טווח התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione del modulo Range Test ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano konfigurację modułu testu zasięgu: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguration för räckviddstestmodulen mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација модула теста домета примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "收到范围测试模块配置: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Range Test module config received: %@" - } - } - } - }, - "mesh.log.ringtone.config %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "RTTTL Klingeltonkonfiguration empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "RTTTL Ringtone config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration de la sonnerie RTTTL reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות RTTTL רינגטון התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "RTTTL Configurazione suoneria ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano konfigurację dzwonka RTTTL: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguration för RTTTL-ringsignal mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација RTTTL мелодије примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "RTTTL Ringtone config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "RTTTL Ringtone config received: %@" - } - } - } - }, - "mesh.log.routing.message %@ %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routing empfangen für RequestID: %@ Ack Status: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routing received for RequestID: %@ Ack Status: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routage reçu pour la demande numéro : %@ Status de l'accusé de réception : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "התקבל מסלול עבור בקשה: %@ מצב שליחה: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routing ricevuto per RequestID: %@ Ack Status: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano trasowanie dla RequestID: %@ Ack Status: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routing mottagen för RequestID: %@ Ack Status: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Рутирање примљено за ИД захтева: %@ Статус потврде: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routing received for RequestID: %@ Ack Status: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routing received for RequestID: %@ Ack Status: %@" - } - } - } - }, - "mesh.log.serial.config %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Serial Modul Konfiguration empfangen: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Serial module config received: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du module série reçue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מודולת תקשורת סיריאלית התקבלו: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione modulo seriale ricevuta: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano konfigurację modułu szeregowego: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Seriekonfigurationsmodul mottagen: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација серијског модула примљена: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Serial module config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Serial module config received: %@" - } - } - } - }, - "mesh.log.sharelocation %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Position von Apple Gerät an Knoten gesendet: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Position Packet from the Apple device GPS to node: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Paquet envoyé avec la position GPS de l'appareil Apple vers le noeud : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "נשלח מיקום ממכשיר האפל למכשיר המשטסטיק: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inviato un pacchetto di posizione dal GPS del dispositivo Apple al nodo: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wysłano pakiet pozycji z GPS urządzenia Apple do węzła: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skickade ett positionspaket från Apple-enhetens GPS till nod: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Позициони пакет послат са Епл уређаја на чвор: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Position Packet from the Apple device GPS to node: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Position Packet from the Apple device GPS to node: %@" - } - } - } - }, - "mesh.log.telemetry.received %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetrie empfangen für: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetry received for: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Télémetrie reçue pour : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "התקבל טלמטריה עבור: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetria ricevuta per: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetria odebrana dla: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetri mottagen för: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Телеметрија примљена за: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetry received for: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Telemetry received for: %@" - } - } - } - }, - "mesh.log.textmessage.received" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nachricht von der Textnachricht-App empfangen." - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message received from the text message app." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message reçu depuis l'application de messagerie texte." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הודעת טקסט התקבלה." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messaggio ricevuto dall'app messaggi di testo." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wiadomość odebrana z aplikacji do wysyłania wiadomości tekstowych." - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Meddelande mottaget från textmeddelandeappen." - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Порука примљена из апликације за текстуалне поруке." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message received from the text message app." - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message received from the text message app." - } - } - } - }, - "mesh.log.textmessage.send.failed %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nachricht senden fehlgeschlagen. Nicht korrekt verbunden zu %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message Send Failed, not properly connected to %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erreur d'envoi du message, mauvaise connexion à %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "שליחת הודעה נכשלה, אין חיבוריות ל-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Invio messaggio fallito, connessione non corretta a %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nieudane wysłanie wiadomości, brak prawidłowego połączenia z %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Misslyckades med att skicka meddelande, inte korrekt ansluten till %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Слање поруке није успело, није правилно повезано са: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message Send Failed, not properly connected to %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message Send Failed, not properly connected to %@" - } - } - } - }, - "mesh.log.textmessage.sent %@ %@ %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sende Nachricht %@ von %@ an %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent message %@ from %@ to %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Envoi du message %@ de %@ à %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "נשלחה הודעה %@ מ-%@ ל-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inviato messaggio %@ da %@ a %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wysłano wiadomość %@ od %@ do %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skickade meddelande %@ från %@ till %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Порука послата %@ са %@ на %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent message %@ from %@ to %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent message %@ from %@ to %@" - } - } - } - }, - "mesh.log.traceroute.received.route %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Traceroute Ergebnis: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Trace Route request returned: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "La demande de Trace Route est revenue : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "בקשת בדיקת מסלול הצליחה: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Traccia Richiesta di rotta restituita: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Żądanie śledzenia trasy zwrócone: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Spårruttförfrågan returnerade: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Захтев за тражење путања враћен: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Trace Route request returned: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Trace Route request returned: %@" - } - } - } - }, - "mesh.log.traceroute.sent %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sende Traceroute Anforderung zu Knoten: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Trace Route Request to node: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Envoi d'une demande de Trace Route au noeud : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "נשלחה בקשת בדיקת מסלול למכשיר: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ha inviato una richiesta di tracciamento della rotta al nodo: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wysłano żądanie śledzenia trasy do węzła: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skickade en spårruttförfrågan till nod: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Захтев за тражење путања послат на чвор: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Trace Route Request to node: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Trace Route Request to node: %@" - } - } - } - }, - "mesh.log.wantconfig %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Issuing Want Config to %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Envoi d'un Want Config à %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "שולח בקשת הגדרות ל-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Emissione di Want Config a %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wydawanie Want Config to %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Utfärdar Want Config till %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Издавање захтева за конфигурацију на: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Issuing Want Config to %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Issuing Want Config to %@" - } - } - } - }, - "mesh.log.waypoint.sent %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wegpunkt gesendet von: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Waypoint Packet from: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Paquet Waypoint envoyé depuis : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "נשלחה נקודת ציון מ-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inviato un pacchetto Waypoint da: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wysłano pakiet punktu orientacyjnego z: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skickade en vägpunktspaket från: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Пакет са тачкама пута послат од: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Waypoint Packet from: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent a Waypoint Packet from: %@" - } - } - } - }, "Meshtastic Node %@ has shared channels with you" : { "localizations" : { "de" : { @@ -19221,29 +17560,7 @@ } } }, - "Message Status Options" : { - "localizations" : { - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Opzioni di stato del messaggio" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Опције статуса поруке" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "訊息狀態選項" - } - } - } - }, - "message.details" : { + "Message Details" : { "localizations" : { "de" : { "stringUnit" : { @@ -19251,12 +17568,6 @@ "value" : "Nachrichtendetails" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Message Details" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -19307,6 +17618,144 @@ } } }, + "Message received from the text message app." : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nachricht von der Textnachricht-App empfangen." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Message reçu depuis l'application de messagerie texte." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הודעת טקסט התקבלה." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messaggio ricevuto dall'app messaggi di testo." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wiadomość odebrana z aplikacji do wysyłania wiadomości tekstowych." + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meddelande mottaget från textmeddelandeappen." + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Порука примљена из апликације за текстуалне поруке." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Message received from the text message app." + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Message received from the text message app." + } + } + } + }, + "Message Send Failed, not properly connected to %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nachricht senden fehlgeschlagen. Nicht korrekt verbunden zu %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur d'envoi du message, mauvaise connexion à %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "שליחת הודעה נכשלה, אין חיבוריות ל-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Invio messaggio fallito, connessione non corretta a %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nieudane wysłanie wiadomości, brak prawidłowego połączenia z %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Misslyckades med att skicka meddelande, inte korrekt ansluten till %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Слање поруке није успело, није правилно повезано са: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Message Send Failed, not properly connected to %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Message Send Failed, not properly connected to %@" + } + } + } + }, + "Message Status Options" : { + "localizations" : { + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opzioni di stato del messaggio" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Опције статуса поруке" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "訊息狀態選項" + } + } + } + }, "Messages" : { "localizations" : { "de" : { @@ -19881,7 +18330,7 @@ } } }, - "mqtt.clientproxy" : { + "MQTT Client Proxy" : { "localizations" : { "de" : { "stringUnit" : { @@ -19889,12 +18338,6 @@ "value" : "MQTT Client Proxy" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "MQTT Client Proxy" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -19945,7 +18388,7 @@ } } }, - "mqtt.config" : { + "MQTT Config" : { "localizations" : { "de" : { "stringUnit" : { @@ -19953,12 +18396,6 @@ "value" : "MQTT Konfiguration" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "MQTT Config" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -20009,6 +18446,64 @@ } } }, + "MQTT module config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "MQTT Modulkonfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module MQTT reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת MQTT התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo MQTT ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano konfigurację modułu MQTT: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "MQTT-modulkonfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација MQTT модула примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "收到 MQTT 模块配置:%@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "MQTT module config received: %@" + } + } + } + }, "Multiplier" : { "localizations" : { "de" : { @@ -20077,6 +18572,64 @@ } } }, + "MyInfo received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "MyInfo empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "MesInfos reçues : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "MyInfo התקבל: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "MyInfo ricevuto: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otrzymano Moje Informacje: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Min info mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Моје информације примљене: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "MyInfo received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "MyInfo received: %@" + } + } + } + }, "Nag timeout" : { "localizations" : { "it" : { @@ -20269,6 +18822,122 @@ } } }, + "Network Config" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Netzwerkeinstellungen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du réseau" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות רשת" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione della rete" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguracja sieci" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nätverkskonfiguration" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација мреже" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "网络配置" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "網路設定" + } + } + } + }, + "Network config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Netzwerkkonfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du réseau reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות רשת התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione di rete ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano konfigurację sieci: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nätverkskonfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација мреже примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Network config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Network config received: %@" + } + } + } + }, "Network Status Orange" : { "localizations" : { "it" : { @@ -20325,70 +18994,6 @@ } } }, - "network.config" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Netzwerkeinstellungen" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Network Config" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration du réseau" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות רשת" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione della rete" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguracja sieci" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nätverkskonfiguration" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Конфигурација мреже" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "网络配置" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "網路設定" - } - } - } - }, "Never" : { "localizations" : { "de" : { @@ -20689,6 +19294,64 @@ } } }, + "No device connected" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kein Gerät verbunden" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucun appareil connecté" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אין מכשיר מחובר" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nessun dispositivo collegato" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brak podłączonych urządzeń" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingen enhet ansluten" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Нема повезаних уређаја" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设备未连接" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "未連接到節點" + } + } + } + }, "No Device Metrics" : { "localizations" : { "it" : { @@ -20797,6 +19460,34 @@ } } }, + "No PAX Counter Logs" : { + "localizations" : { + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nessun registro del contatore PAX" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inga loggar för PAX-räknare" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Нема логова PAX бројача" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "沒有 PAX 計數器日誌" + } + } + } + }, "No PIN (Just Works)" : { "localizations" : { "de" : { @@ -21161,6 +19852,64 @@ } } }, + "Node info received for: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Knoteninformation empfangen für: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Information du noeud reçue pour : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מידע אודות מכשיר התקבל: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ricevute informazioni sul nodo per: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano informacje o węźle dla: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nodinformation mottagen för: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Информације о чвору примљене за: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Node info received for: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Node info received for: %@" + } + } + } + }, "Node Map" : { "localizations" : { "de" : { @@ -21217,7 +19966,7 @@ } } }, - "nodes" : { + "Nodes" : { "localizations" : { "de" : { "stringUnit" : { @@ -21225,12 +19974,6 @@ "value" : "Knoten" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nodes" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -21275,7 +20018,7 @@ } } }, - "nodes %@" : { + "Nodes (%@)" : { "localizations" : { "de" : { "stringUnit" : { @@ -21283,12 +20026,6 @@ "value" : "Knoten (%@)" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nodes (%@)" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -21523,70 +20260,6 @@ } } }, - "not.connected" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kein Gerät verbunden" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "No device connected" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aucun appareil connecté" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "אין מכשיר מחובר" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nessun dispositivo collegato" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Brak podłączonych urządzeń" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingen enhet ansluten" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Нема повезаних уређаја" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "设备未连接" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "未連接到節點" - } - } - } - }, "Notes" : { "localizations" : { "de" : { @@ -23075,48 +21748,8 @@ } } }, - "paxcounter.content.unavailable" : { + "PAX Counter Log" : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "No PAX Counter Logs" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nessun registro del contatore PAX" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inga loggar för PAX-räknare" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Нема логова PAX бројача" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "沒有 PAX 計數器日誌" - } - } - } - }, - "paxcounter.log" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX Counter Log" - } - }, "it" : { "stringUnit" : { "state" : "translated", @@ -23142,6 +21775,9 @@ } } } + }, + "paxcounter.log" : { + }, "Perform a factory reset on the node you are connected to" : { "localizations" : { @@ -23237,7 +21873,7 @@ } } }, - "phone.gps" : { + "Phone GPS" : { "localizations" : { "de" : { "stringUnit" : { @@ -23245,12 +21881,6 @@ "value" : "Telefon GPS" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Phone GPS" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -23581,6 +22211,64 @@ } } }, + "Position Config" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Positionseinstellungen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration de la position" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מיקום" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione della posizione" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguracja pozycji" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Positionskonfiguration" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подешавања позиције" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "定位配置" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "定位設定" + } + } + } + }, "Position Exchange Failed" : { "localizations" : { "it" : { @@ -23741,70 +22429,6 @@ } } }, - "position.config" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positionseinstellungen" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Position Config" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuration de la position" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הגדרות מיקום" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurazione della posizione" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Konfiguracja pozycji" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positionskonfiguration" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Подешавања позиције" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "定位配置" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "定位設定" - } - } - } - }, "Positions Enabled" : { "localizations" : { "it" : { @@ -23861,6 +22485,64 @@ } } }, + "Positon config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Positionskonfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Configuration de la position reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "הגדרות מיקום התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Configurazione della posizione ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Odebrano konfigurację pozycji: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Positionskonfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Конфигурација позиције примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Positon config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Positon config received: %@" + } + } + } + }, "Power" : { "localizations" : { "de" : { @@ -23913,6 +22595,86 @@ } } }, + "Power Config" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stromkonfiguration" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Power Config" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione dell'alimentazione" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Power Config" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Strömkonfiguration" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подешавања напајња" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "电源配置" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "電源設定" + } + } + } + }, + "Power config received: %@" : { + "localizations" : { + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione dell'alimentazione ricevuta: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Strömkonfiguration mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација напајања примљена: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Power config received: %@" + } + } + } + }, "Power Metrics" : { "localizations" : { "it" : { @@ -24075,34 +22837,6 @@ } } }, - "power.metrics.log" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Power Metrics Log" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Registro delle metriche di potenza" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Логови метрике снаге" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "電源指標紀錄" - } - } - } - }, "Powered" : { "localizations" : { "de" : { @@ -24703,29 +23437,7 @@ } } }, - "Radio Disconnected" : { - "localizations" : { - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Radio scollegata" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Радио веза је прекинута" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "已斷線" - } - } - } - }, - "radio.configuration" : { + "Radio Configuration" : { "localizations" : { "de" : { "stringUnit" : { @@ -24733,12 +23445,6 @@ "value" : "Geräteeinstellungen" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Radio Configuration" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -24789,6 +23495,28 @@ } } }, + "Radio Disconnected" : { + "localizations" : { + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Radio scollegata" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Радио веза је прекинута" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "已斷線" + } + } + } + }, "RAK Rotary Encoder" : { "localizations" : { "de" : { @@ -24905,7 +23633,7 @@ } } }, - "range.test.config" : { + "Range Test Config" : { "localizations" : { "de" : { "stringUnit" : { @@ -24913,12 +23641,6 @@ "value" : "Entfernungstest Konfiguration" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Range Test Config" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -24969,6 +23691,64 @@ } } }, + "Range Test module config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Range Test Modul konfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module test deportée reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת בדיקת טווח התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione del modulo Range Test ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano konfigurację modułu testu zasięgu: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration för räckviddstestmodulen mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација модула теста домета примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "收到范围测试模块配置: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Range Test module config received: %@" + } + } + } + }, "Reboot" : { "localizations" : { "de" : { @@ -25149,67 +23929,61 @@ "localizations" : { "de" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Negative Empfangsbestätigung empfangen" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Received a negative acknowledgment" - } - }, "fr" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Accusé de réception négatif reçu" } }, "he" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "התקבל אישור מסירה שלילי" } }, "it" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Ricevuto un riscontro negativo" } }, "pl" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Otrzymano negatywne potwierdzenie" } }, "se" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Mottog ett negativt kvitto" } }, "sr" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Примљено негативно признање" } }, "zh-Hans" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "收到否认" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "收到 NACK(否定確認)" } } } }, - "received.ack" : { + "Received Ack" : { "localizations" : { "de" : { "stringUnit" : { @@ -25217,12 +23991,6 @@ "value" : "Empfangsbestätigung" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Received Ack" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -25273,7 +24041,7 @@ } } }, - "received.ack.real" : { + "Recipient Ack" : { "localizations" : { "de" : { "stringUnit" : { @@ -25281,12 +24049,6 @@ "value" : "Recipient Ack" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recipient Ack" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -25425,61 +24187,55 @@ "localizations" : { "de" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Regionale Einschaltdauergrenze erreicht" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Regional Duty Cycle Limit Reached" - } - }, "fr" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Limite du cycle de service régional atteinte" } }, "he" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "הגיע למקסימום שימוש אזורי לשעה זו" } }, "it" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Raggiunto il limite del ciclo di lavoro regionale" } }, "pl" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Osiągnięto regionalny limit cyklu pracy" } }, "se" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Regionala sändningsgränsen nådd" } }, "sr" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "Достигнут регионални лимит радног циклуса" } }, "zh-Hans" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "已达到当前区域循环周期发射上限" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "已達到頻道占用循環週期發射上限" } } @@ -25818,6 +24574,58 @@ } } }, + "Requested Canned Messages Module Messages for node: %@" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messages du module messages préformatés demandés pour le noeud : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "התבקשו הודעות מודולת הודעות שמורות עבור מכשיר: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messaggi in scatola richiesti Messaggi del modulo per il nodo: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zażądano Wiadomości z Modułu Wiadomości Gotowych dla węzła: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Begärda meddelanden för modulen med fördefinierade meddelanden för nod: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Захтеване поруке модула за унапред припремљене поруке за чвор: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Requested Canned Messages Module Messages for node: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Requested Canned Messages Module Messages for node: %@" + } + } + } + }, "Requires that there be an accelerometer on your device." : { "localizations" : { "it" : { @@ -26107,9 +24915,6 @@ } } } - }, - "ringtone" : { - }, "Ringtone" : { "localizations" : { @@ -26169,6 +24974,150 @@ } } }, + "Ringtone Config" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klingelton Konfiguration" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ringtone Config" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione della suoneria" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ringtone Config" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ringsignalskonfiguration" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација звона" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "铃声配置" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "鈴聲" + } + } + } + }, + "Ringtone Transfer Language" : { + "localizations" : { + "he" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Ringtone Transfer Language" + } + }, + "it" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Lingua di trasferimento della suoneria" + } + }, + "pl" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Ringtone Transfer Language" + } + }, + "se" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Språk för Överföring av Ringsignal" + } + }, + "sr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Језик преноса мелодије звона" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "铃声传输语言" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "鈴聲傳輸語言(RTTTL)" + } + } + } + }, + "Ringtone Transfer Language(RTTTL) Ringtone String used by supported buzzers in external notifications." : { + "localizations" : { + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ringtone Transfer Language(RTTTL) Ringtone String used by supported buzzers in external notifications." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ringtone Transfer Language(RTTTL) Stringa di suoneria utilizzata dai cicalini supportati nelle notifiche esterne." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ringtone Transfer Language(RTTTL) Ringtone String used by supported buzzers in external notifications." + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ringsignalöverföringsspråk (RTTTL) Ringsignalsträng som används av stödda buzzers i externa notifikationer." + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Језик преноса мелдоије звона (RTTTL) Стринг мелодије звона који користе подржани звучни сигнали у спољним обавештењима." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "支持外部通知中使用的铃声传输语言 (RTTTL) 铃声字符串。" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "RTTTL 鈴聲字串(Ringtone Transfer Language)被用於外部通知中支援的蜂鳴器。" + } + } + } + }, "Role" : { "localizations" : { "de" : { @@ -26503,6 +25452,64 @@ } } }, + "Routing received for RequestID: %@ Ack Status: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Routing empfangen für RequestID: %@ Ack Status: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Routage reçu pour la demande numéro : %@ Status de l'accusé de réception : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "התקבל מסלול עבור בקשה: %@ מצב שליחה: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Routing ricevuto per RequestID: %@ Ack Status: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano trasowanie dla RequestID: %@ Ack Status: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Routing mottagen för RequestID: %@ Ack Status: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Рутирање примљено за ИД захтева: %@ Статус потврде: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Routing received for RequestID: %@ Ack Status: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Routing received for RequestID: %@ Ack Status: %@" + } + } + } + }, "RSSI %@ dBm" : { "localizations" : { "it" : { @@ -26569,6 +25576,64 @@ } } }, + "RTTTL Ringtone config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "RTTTL Klingeltonkonfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration de la sonnerie RTTTL reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות RTTTL רינגטון התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "RTTTL Configurazione suoneria ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano konfigurację dzwonka RTTTL: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration för RTTTL-ringsignal mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација RTTTL мелодије примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "RTTTL Ringtone config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "RTTTL Ringtone config received: %@" + } + } + } + }, "Russia" : { "localizations" : { "sr" : { @@ -26879,41 +25944,7 @@ } } }, - "Save User Config to %@?" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Benutzerkonfiguration nach %@ speichern?" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Salvare la configurazione utente in %@?" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Сачувати корисничу конфигурацију за %@?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "保存用户配置到 %@?" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "將使用者設定儲存到 %@?" - } - } - } - }, - "save.config %@" : { + "Save Config for %@" : { "localizations" : { "de" : { "stringUnit" : { @@ -26921,12 +25952,6 @@ "value" : "Speichere Konfiguration für %@" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Save Config for %@" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -26977,6 +26002,40 @@ } } }, + "Save User Config to %@?" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Benutzerkonfiguration nach %@ speichern?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Salvare la configurazione utente in %@?" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сачувати корисничу конфигурацију за %@?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存用户配置到 %@?" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "將使用者設定儲存到 %@?" + } + } + } + }, "Saves a CSV with the range test message details, currently only available on ESP32 devices with a web server." : { "localizations" : { "it" : { @@ -27448,7 +26507,7 @@ } } }, - "select.node" : { + "Select Node" : { "localizations" : { "de" : { "stringUnit" : { @@ -27456,12 +26515,6 @@ "value" : "Knoten auswählen" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Select a Node" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -27846,6 +26899,64 @@ } } }, + "Send Heartbeat" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Herzschlag senden" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Envoyer une impulsion" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "שלח דופק" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inviare il battito cardiaco" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Send Heartbeat" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skicka hjärtslag" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пошаљи откуцај срца" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "发送心跳包" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "發送心跳訊號(Heartbeat)" + } + } + } + }, "Send Reboot OTA" : { "localizations" : { "it" : { @@ -27980,6 +27091,349 @@ } } }, + "Sent a Channel for: %@ Channel Index %d" : { + "localizations" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Canal envoyé pour : %@ Canal index %d" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נשלח ערוץ עבור: %@ אינדקס ערוצים %d" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inviato un canale per: %@ Canale Indice %d" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysłano kanał dla: %@ Indeks kanału %d" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skickade en kanal för: %@ Kanalindex %d" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Послат је канал за: %@ Индекс канала %d" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Channel for: %@ Channel Index %d" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Channel for: %@ Channel Index %d" + } + } + } + }, + "Sent a LoRa.Config for: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "LoRa.Config gesendet für: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration LoRa envoyée à : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נשלחו הגדרות לורה עבור: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inviato un LoRa.Config per: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysłano konfigurację LoRa dla: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skickade en LoRa.Konfiguration för: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Послата LoRA конфигурација за: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a LoRa.Config for: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a LoRa.Config for: %@" + } + } + } + }, + "Sent a Position Packet from the Apple device GPS to node: %@@" : { + "extractionState" : "manual", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Position von Apple Gerät an Knoten gesendet: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paquet envoyé avec la position GPS de l'appareil Apple vers le noeud : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נשלח מיקום ממכשיר האפל למכשיר המשטסטיק: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inviato un pacchetto di posizione dal GPS del dispositivo Apple al nodo: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysłano pakiet pozycji z GPS urządzenia Apple do węzła: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skickade ett positionspaket från Apple-enhetens GPS till nod: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Позициони пакет послат са Епл уређаја на чвор: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Position Packet from the Apple device GPS to node: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Position Packet from the Apple device GPS to node: %@" + } + } + } + }, + "Sent a Trace Route Request to node: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sende Traceroute Anforderung zu Knoten: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Envoi d'une demande de Trace Route au noeud : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נשלחה בקשת בדיקת מסלול למכשיר: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ha inviato una richiesta di tracciamento della rotta al nodo: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysłano żądanie śledzenia trasy do węzła: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skickade en spårruttförfrågan till nod: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Захтев за тражење путања послат на чвор: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Trace Route Request to node: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Trace Route Request to node: %@" + } + } + } + }, + "Sent a Waypoint Packet from: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wegpunkt gesendet von: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paquet Waypoint envoyé depuis : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נשלחה נקודת ציון מ-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inviato un pacchetto Waypoint da: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysłano pakiet punktu orientacyjnego z: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skickade en vägpunktspaket från: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пакет са тачкама пута послат од: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Waypoint Packet from: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent a Waypoint Packet from: %@" + } + } + } + }, + "Sent message %@ from %@ to %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sende Nachricht %@ von %@ an %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Envoi du message %@ de %@ à %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נשלחה הודעה %@ מ-%@ ל-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inviato messaggio %@ da %@ a %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysłano wiadomość %@ od %@ do %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skickade meddelande %@ från %@ till %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Порука послата %@ са %@ на %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent message %@ from %@ to %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sent message %@ from %@ to %@" + } + } + } + }, "Sent out to other nodes on the mesh to allow them to compute a shared secret key." : { "localizations" : { "de" : { @@ -28230,6 +27684,64 @@ } } }, + "Serial module config received: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Serial Modul Konfiguration empfangen: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration du module série reçue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרות מודולת תקשורת סיריאלית התקבלו: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione modulo seriale ricevuta: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano konfigurację modułu szeregowego: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seriekonfigurationsmodul mottagen: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурација серијског модула примљена: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Serial module config received: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Serial module config received: %@" + } + } + } + }, "Series" : { "localizations" : { "it" : { @@ -28564,35 +28076,7 @@ } } }, - "Share QR Code & Link" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "QR Code & Link teilen" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Condividi il codice QR e il link" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Дели QR код и линк" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "分享 QR Code 及連結" - } - } - } - }, - "share.channels" : { + "Share QR Code" : { "localizations" : { "de" : { "stringUnit" : { @@ -28600,12 +28084,6 @@ "value" : "Kanal QR Code teilen" } }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Share QR Code" - } - }, "fr" : { "stringUnit" : { "state" : "translated", @@ -28656,6 +28134,34 @@ } } }, + "Share QR Code & Link" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "QR Code & Link teilen" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Condividi il codice QR e il link" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дели QR код и линк" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "分享 QR Code 及連結" + } + } + } + }, "Shared Key" : { "localizations" : { "de" : { @@ -29144,6 +28650,58 @@ } } }, + "Shutdown on Power Loss" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Herunterfahren bei Stromunterbruch" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shutdown on Power Loss" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spegnimento in caso di perdita di alimentazione" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shutdown on Power Loss" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stäng av vid Strömförlust" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Искључи уређај при губитку напајања" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "断电时关机" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "斷電自動關機" + } + } + } + }, "Signal %@" : { "localizations" : { "it" : { @@ -29954,90 +29512,20 @@ }, "Store and forward servers require an ESP32 device with PSRAM or Linux Native." : { "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Store and forward servers require an ESP32 device with PSRAM or Linux Native." - } - }, "it" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "I server Store and Forward richiedono un dispositivo ESP32 con PSRAM o Linux Native." } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "儲存與轉送伺服器需要使用具有 PSRAM 的 ESP32 裝置或是原生 Linux 系統。" } } } }, - "storeforward.heartbeat" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Herzschlag senden" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Send Heartbeat" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Envoyer une impulsion" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "שלח דופק" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inviare il battito cardiaco" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Send Heartbeat" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skicka hjärtslag" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Пошаљи откуцај срца" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "发送心跳包" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "發送心跳訊號(Heartbeat)" - } - } - } - }, "Subscribed" : { "localizations" : { "he" : { @@ -30498,6 +29986,64 @@ } } }, + "Telemetry received for: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetrie empfangen für: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télémetrie reçue pour : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "התקבל טלמטריה עבור: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetria ricevuta per: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetria odebrana dla: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetri mottagen för: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Телеметрија примљена за: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetry received for: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telemetry received for: %@" + } + } + } + }, "Temp" : { "localizations" : { "de" : { @@ -32436,6 +31982,64 @@ } } }, + "Trace Route request returned: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traceroute Ergebnis: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La demande de Trace Route est revenue : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בקשת בדיקת מסלול הצליחה: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traccia Richiesta di rotta restituita: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Żądanie śledzenia trasy zwrócone: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spårruttförfrågan returnerade: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Захтев за тражење путања враћен: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trace Route request returned: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trace Route request returned: %@" + } + } + } + }, "Trace Route Sent" : { "localizations" : { "it" : { @@ -34310,6 +33914,16 @@ } } }, + "Version: %@ (%@)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Version: %1$@ (%2$@)" + } + } + } + }, "Version: %1$@ (%2$@)" : { "localizations" : { "de" : { diff --git a/Meshtastic/Helpers/BLEManager.swift b/Meshtastic/Helpers/BLEManager.swift index 6c34d65c..ba65f66a 100644 --- a/Meshtastic/Helpers/BLEManager.swift +++ b/Meshtastic/Helpers/BLEManager.swift @@ -484,7 +484,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate Logger.data.error("Error Updating Core Data BluetoothConfigEntity: \(nsError, privacy: .public)") } - let logString = String.localizedStringWithFormat("mesh.log.traceroute.sent %@".localized, destNum.toHex()) + let logString = String.localizedStringWithFormat("Sent a Trace Route Request to node: %@".localized, destNum.toHex()) Logger.mesh.info("🪧 \(logString, privacy: .public)") } catch { @@ -504,7 +504,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate } else { let nodeName = connectedPeripheral?.peripheral.name ?? "Unknown".localized - let logString = String.localizedStringWithFormat("mesh.log.wantconfig %@".localized, nodeName) + let logString = String.localizedStringWithFormat("Issuing Want Config to %@".localized, nodeName) Logger.mesh.info("🛎️ \(logString, privacy: .public)") // BLE Characteristics discovered, issue wantConfig var toRadio: ToRadio = ToRadio() @@ -954,7 +954,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate let nsError = error as NSError Logger.data.error("Error Updating Core Data TraceRouteHop: \(nsError, privacy: .public)") } - let logString = String.localizedStringWithFormat("mesh.log.traceroute.received.route %@".localized, routeString) + let logString = String.localizedStringWithFormat("Trace Route request returned: %@".localized, routeString) Logger.mesh.info("🪧 \(logString, privacy: .public)") } case .neighborinfoApp: @@ -1058,7 +1058,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate connectTo(peripheral: preferredPeripheral!.peripheral) } let nodeName = connectedPeripheral?.peripheral.name ?? "Unknown".localized - let logString = String.localizedStringWithFormat("mesh.log.textmessage.send.failed %@".localized, nodeName) + let logString = String.localizedStringWithFormat("Message Send Failed, not properly connected to %@".localized, nodeName) Logger.mesh.info("🚫 \(logString, privacy: .public)") success = false @@ -1144,7 +1144,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate } if connectedPeripheral?.peripheral.state ?? CBPeripheralState.disconnected == CBPeripheralState.connected { connectedPeripheral.peripheral.writeValue(binaryData, for: TORADIO_characteristic, type: .withResponse) - let logString = String.localizedStringWithFormat("mesh.log.textmessage.sent %@ %@ %@".localized, String(newMessage.messageId), fromUserNum.toHex(), toUserNum.toHex()) + let logString = String.localizedStringWithFormat("Sent message %@ from %@ to %@".localized, String(newMessage.messageId), fromUserNum.toHex(), toUserNum.toHex()) Logger.mesh.info("💬 \(logString, privacy: .public)") do { @@ -1192,7 +1192,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate guard let binaryData: Data = try? toRadio.serializedData() else { return false } - let logString = String.localizedStringWithFormat("mesh.log.waypoint.sent %@".localized, String(fromNodeNum)) + let logString = String.localizedStringWithFormat("Sent a Waypoint Packet from: %@".localized, String(fromNodeNum)) Logger.mesh.info("📍 \(logString, privacy: .public)") if connectedPeripheral?.peripheral.state ?? CBPeripheralState.disconnected == CBPeripheralState.connected { connectedPeripheral.peripheral.writeValue(binaryData, for: TORADIO_characteristic, type: .withResponse) @@ -1356,7 +1356,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate } if connectedPeripheral?.peripheral.state ?? CBPeripheralState.disconnected == CBPeripheralState.connected { connectedPeripheral.peripheral.writeValue(binaryData, for: TORADIO_characteristic, type: .withResponse) - let logString = String.localizedStringWithFormat("mesh.log.sharelocation %@".localized, String(fromNodeNum)) + let logString = String.localizedStringWithFormat("Sent a Position Packet from the Apple device GPS to node: %@".localized, String(fromNodeNum)) Logger.services.debug("📍 \(logString, privacy: .public)") return true } else { @@ -1711,7 +1711,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate } if connectedPeripheral?.peripheral.state ?? CBPeripheralState.disconnected == CBPeripheralState.connected { self.connectedPeripheral.peripheral.writeValue(binaryData, for: self.TORADIO_characteristic, type: .withResponse) - let logString = String.localizedStringWithFormat("mesh.log.channel.sent %@ %d".localized, String(connectedPeripheral.num), chan.index) + let logString = String.localizedStringWithFormat("Sent a Channel for: %@ Channel Index %d".localized, String(connectedPeripheral.num), chan.index) Logger.mesh.info("🎛️ \(logString, privacy: .public)") } } @@ -1740,7 +1740,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate } if connectedPeripheral?.peripheral.state ?? CBPeripheralState.disconnected == CBPeripheralState.connected { self.connectedPeripheral.peripheral.writeValue(binaryData, for: self.TORADIO_characteristic, type: .withResponse) - let logString = String.localizedStringWithFormat("mesh.log.lora.config.sent %@".localized, String(connectedPeripheral.num)) + let logString = String.localizedStringWithFormat("Sent a LoRa.Config for: %@".localized, String(connectedPeripheral.num)) Logger.mesh.info("📻 \(logString, privacy: .public)") } @@ -2660,7 +2660,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate if connectedPeripheral?.peripheral.state ?? CBPeripheralState.disconnected == CBPeripheralState.connected { connectedPeripheral.peripheral.writeValue(binaryData, for: TORADIO_characteristic, type: .withResponse) - let logString = String.localizedStringWithFormat("mesh.log.cannedmessages.messages.get %@".localized, String(connectedPeripheral.num)) + let logString = String.localizedStringWithFormat("Requested Canned Messages Module Messages for node: %@".localized, String(connectedPeripheral.num)) Logger.mesh.info("🥫 \(logString, privacy: .public)") return true } diff --git a/Meshtastic/Helpers/MeshPackets.swift b/Meshtastic/Helpers/MeshPackets.swift index c208c525..f5a7bda9 100644 --- a/Meshtastic/Helpers/MeshPackets.swift +++ b/Meshtastic/Helpers/MeshPackets.swift @@ -103,7 +103,7 @@ func moduleConfig (config: ModuleConfig, context: NSManagedObjectContext, nodeNu func myInfoPacket (myInfo: MyNodeInfo, peripheralId: String, context: NSManagedObjectContext) -> MyInfoEntity? { - let logString = String.localizedStringWithFormat("mesh.log.myinfo %@".localized, String(myInfo.myNodeNum)) + let logString = String.localizedStringWithFormat("MyInfo received: %@".localized, String(myInfo.myNodeNum)) Logger.mesh.info("ℹ️ \(logString, privacy: .public)") let fetchMyInfoRequest = MyInfoEntity.fetchRequest() @@ -261,7 +261,7 @@ func deviceMetadataPacket (metadata: DeviceMetadata, fromNum: Int64, sessionPass func nodeInfoPacket (nodeInfo: NodeInfo, channel: UInt32, context: NSManagedObjectContext) -> NodeInfoEntity? { - let logString = String.localizedStringWithFormat("mesh.log.nodeinfo.received %@".localized, String(nodeInfo.num)) + let logString = String.localizedStringWithFormat("Node info received for: %@".localized, String(nodeInfo.num)) Logger.mesh.info("📟 \(logString, privacy: .public)") guard nodeInfo.num > 0 else { return nil } @@ -582,7 +582,7 @@ func adminResponseAck (packet: MeshPacket, context: NSManagedObjectContext) { } func paxCounterPacket (packet: MeshPacket, context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.paxcounter %@".localized, String(packet.from)) + let logString = String.localizedStringWithFormat("PAX Counter message received from: %@".localized, String(packet.from)) Logger.mesh.info("🧑‍🤝‍🧑 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -626,7 +626,7 @@ func routingPacket (packet: MeshPacket, connectedNodeNum: Int64, context: NSMana let routingError = RoutingError(rawValue: routingMessage.errorReason.rawValue) let routingErrorString = routingError?.display ?? "Unknown".localized - let logString = String.localizedStringWithFormat("mesh.log.routing.message %@ %@".localized, String(packet.decoded.requestID), routingErrorString) + let logString = String.localizedStringWithFormat("Routing received for RequestID: %@ Ack Status: %@".localized, String(packet.decoded.requestID), routingErrorString) Logger.mesh.info("🕸️ \(logString, privacy: .public)") let fetchMessageRequest = MessageEntity.fetchRequest() @@ -686,7 +686,7 @@ func routingPacket (packet: MeshPacket, connectedNodeNum: Int64, context: NSMana func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManagedObjectContext) { if let telemetryMessage = try? Telemetry(serializedBytes: packet.decoded.payload) { - let logString = String.localizedStringWithFormat("mesh.log.telemetry.received %@".localized, String(packet.from)) + let logString = String.localizedStringWithFormat("Telemetry received for: %@".localized, String(packet.from)) Logger.mesh.info("📈 \(logString, privacy: .public)") if telemetryMessage.variant != Telemetry.OneOf_Variant.deviceMetrics(telemetryMessage.deviceMetrics) && telemetryMessage.variant != Telemetry.OneOf_Variant.environmentMetrics(telemetryMessage.environmentMetrics) && telemetryMessage.variant != Telemetry.OneOf_Variant.localStats(telemetryMessage.localStats) && telemetryMessage.variant != Telemetry.OneOf_Variant.powerMetrics(telemetryMessage.powerMetrics) { /// Other unhandled telemetry packets @@ -875,7 +875,7 @@ func textMessageAppPacket( } if messageText?.count ?? 0 > 0 { - Logger.mesh.info("💬 \("mesh.log.textmessage.received".localized, privacy: .public)") + Logger.mesh.info("💬 \("Message received from the text message app.".localized, privacy: .public)") let messageUsers = UserEntity.fetchRequest() messageUsers.predicate = NSPredicate(format: "num IN %@", [packet.to, packet.from]) do { diff --git a/Meshtastic/Persistence/UpdateCoreData.swift b/Meshtastic/Persistence/UpdateCoreData.swift index 7823272b..b1892fa9 100644 --- a/Meshtastic/Persistence/UpdateCoreData.swift +++ b/Meshtastic/Persistence/UpdateCoreData.swift @@ -129,7 +129,7 @@ public func clearCoreDataDatabase(context: NSManagedObjectContext, includeRoutes func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.nodeinfo.received %@".localized, packet.from.toHex()) + let logString = String.localizedStringWithFormat("Node info received for: %@".localized, packet.from.toHex()) Logger.mesh.info("📟 \(logString, privacy: .public)") guard packet.from > 0 else { return } @@ -312,7 +312,7 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext) func upsertPositionPacket (packet: MeshPacket, context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.position.received %@".localized, String(packet.from)) + let logString = String.localizedStringWithFormat("Position Packet received from node: %@".localized, String(packet.from)) Logger.mesh.info("📍 \(logString, privacy: .public)") let fetchNodePositionRequest = NodeInfoEntity.fetchRequest() @@ -567,7 +567,7 @@ func upsertDisplayConfigPacket(config: Config.DisplayConfig, nodeNum: Int64, ses func upsertLoRaConfigPacket(config: Config.LoRaConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.lora.config %@".localized, nodeNum.toHex()) + let logString = String.localizedStringWithFormat("LoRa config received: %@".localized, nodeNum.toHex()) Logger.data.info("📻 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -638,7 +638,7 @@ func upsertLoRaConfigPacket(config: Config.LoRaConfig, nodeNum: Int64, sessionPa func upsertNetworkConfigPacket(config: Config.NetworkConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.network.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Network config received: %@".localized, String(nodeNum)) Logger.data.info("🌐 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -687,7 +687,7 @@ func upsertNetworkConfigPacket(config: Config.NetworkConfig, nodeNum: Int64, ses func upsertPositionConfigPacket(config: Config.PositionConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.position.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Positon config received: %@".localized, String(nodeNum)) Logger.data.info("🗺️ \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -750,7 +750,7 @@ func upsertPositionConfigPacket(config: Config.PositionConfig, nodeNum: Int64, s } func upsertPowerConfigPacket(config: Config.PowerConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.power.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Power config received: %@".localized, String(nodeNum)) Logger.data.info("🗺️ \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -1143,7 +1143,7 @@ func upsertPaxCounterModuleConfigPacket(config: ModuleConfig.PaxcounterConfig, n func upsertRtttlConfigPacket(ringtone: String, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.ringtone.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("RTTTL Ringtone config received: %@".localized, String(nodeNum)) Logger.data.info("⛰️ \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -1183,7 +1183,7 @@ func upsertRtttlConfigPacket(ringtone: String, nodeNum: Int64, sessionPasskey: D func upsertMqttModuleConfigPacket(config: ModuleConfig.MQTTConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.mqtt.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("MQTT module config received: %@".localized, String(nodeNum)) Logger.data.info("🌉 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -1245,7 +1245,7 @@ func upsertMqttModuleConfigPacket(config: ModuleConfig.MQTTConfig, nodeNum: Int6 func upsertRangeTestModuleConfigPacket(config: ModuleConfig.RangeTestConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.rangetest.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Range Test module config received: %@".localized, String(nodeNum)) Logger.data.info("⛰️ \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() @@ -1289,7 +1289,7 @@ func upsertRangeTestModuleConfigPacket(config: ModuleConfig.RangeTestConfig, nod func upsertSerialModuleConfigPacket(config: ModuleConfig.SerialConfig, nodeNum: Int64, sessionPasskey: Data? = Data(), context: NSManagedObjectContext) { - let logString = String.localizedStringWithFormat("mesh.log.serial.config %@".localized, String(nodeNum)) + let logString = String.localizedStringWithFormat("Serial module config received: %@".localized, String(nodeNum)) Logger.data.info("🤖 \(logString, privacy: .public)") let fetchNodeInfoRequest = NodeInfoEntity.fetchRequest() diff --git a/Meshtastic/Views/Bluetooth/Connect.swift b/Meshtastic/Views/Bluetooth/Connect.swift index 4b3dd213..5e9dd834 100644 --- a/Meshtastic/Views/Bluetooth/Connect.swift +++ b/Meshtastic/Views/Bluetooth/Connect.swift @@ -116,7 +116,7 @@ struct Connect: View { #endif } } label: { - Label("mesh.live.activity", systemImage: liveActivityStarted ? "stop" : "play") + Label("Mesh Live Activity", systemImage: liveActivityStarted ? "stop" : "play") } #endif Text("Num: \(String(node!.num))") @@ -189,7 +189,7 @@ struct Connect: View { .foregroundColor(.red) .frame(width: 60, height: 60) .padding(.trailing) - Text("not.connected").font(.title3) + Text("No device connected").font(.title3) } .padding() } diff --git a/Meshtastic/Views/ContentView.swift b/Meshtastic/Views/ContentView.swift index 1c8a395d..9eb1ce56 100644 --- a/Meshtastic/Views/ContentView.swift +++ b/Meshtastic/Views/ContentView.swift @@ -40,13 +40,13 @@ struct ContentView: View { router: appState.router ) .tabItem { - Label("nodes", systemImage: "flipphone") + Label("Nodes", systemImage: "flipphone") } .tag(NavigationState.Tab.nodes) MeshMap(router: appState.router) .tabItem { - Label("map", systemImage: "map") + Label("Mesh Map", systemImage: "map") } .tag(NavigationState.Tab.map) diff --git a/Meshtastic/Views/Messages/MessageContextMenuItems.swift b/Meshtastic/Views/Messages/MessageContextMenuItems.swift index dc55a8ce..ca80f80e 100644 --- a/Meshtastic/Views/Messages/MessageContextMenuItems.swift +++ b/Meshtastic/Views/Messages/MessageContextMenuItems.swift @@ -51,7 +51,7 @@ struct MessageContextMenuItems: View { Image(systemName: "doc.on.doc") } - Menu("message.details") { + Menu("Message Details") { VStack { let messageDate = Date(timeIntervalSince1970: TimeInterval(message.messageTimestamp)) Text("\(messageDate.formattedDate(format: MessageText.dateFormatString))").foregroundColor(.gray) @@ -69,8 +69,8 @@ struct MessageContextMenuItems: View { } if isCurrentUser && message.receivedACK { VStack { - Text("received.ack") + Text(": \(message.receivedACK ? "✔️" : "")") - Text("received.ack.real") + Text(": \(message.realACK ? "✔️" : "")") + Text("Received Ack") + Text(": \(message.receivedACK ? "✔️" : "")") + Text("Recipient Ack") + Text(": \(message.realACK ? "✔️" : "")") } } else if isCurrentUser && message.ackError == 0 { // Empty Error diff --git a/Meshtastic/Views/Nodes/NodeList.swift b/Meshtastic/Views/Nodes/NodeList.swift index b4713dbd..1e823020 100644 --- a/Meshtastic/Views/Nodes/NodeList.swift +++ b/Meshtastic/Views/Nodes/NodeList.swift @@ -192,7 +192,7 @@ struct NodeList: View { .searchable(text: $searchText, placement: .automatic, prompt: "Find a node") .disableAutocorrection(true) .scrollDismissesKeyboard(.immediately) - .navigationTitle(String.localizedStringWithFormat("nodes %@".localized, String(nodes.count))) + .navigationTitle(String.localizedStringWithFormat("Nodes (%@)".localized, String(nodes.count))) .listStyle(.plain) .alert( "Position Exchange Requested", @@ -272,7 +272,7 @@ struct NodeList: View { ) } } else { - ContentUnavailableView("select.node", systemImage: "flipphone") + ContentUnavailableView("Select Node", systemImage: "flipphone") } } detail: { ContentUnavailableView("", systemImage: "line.3.horizontal") diff --git a/Meshtastic/Views/Nodes/PaxCounterLog.swift b/Meshtastic/Views/Nodes/PaxCounterLog.swift index a5ca0194..5be9db56 100644 --- a/Meshtastic/Views/Nodes/PaxCounterLog.swift +++ b/Meshtastic/Views/Nodes/PaxCounterLog.swift @@ -196,10 +196,10 @@ struct PaxCounterLog: View { .padding(.trailing) } } else { - ContentUnavailableView("paxcounter.content.unavailable", systemImage: "slash.circle") + ContentUnavailableView("No PAX Counter Logs", systemImage: "slash.circle") } } - .navigationTitle("paxcounter.log") + .navigationTitle("PAX Counter Log") .navigationBarTitleDisplayMode(.inline) .navigationBarItems(trailing: ZStack { diff --git a/Meshtastic/Views/Nodes/PowerMetricsLog.swift b/Meshtastic/Views/Nodes/PowerMetricsLog.swift index c24a8bca..b0afd67c 100644 --- a/Meshtastic/Views/Nodes/PowerMetricsLog.swift +++ b/Meshtastic/Views/Nodes/PowerMetricsLog.swift @@ -282,7 +282,7 @@ struct PowerMetricsLog: View { isPresented: $isExporting, document: CsvDocument(emptyCsv: exportString), contentType: .commaSeparatedText, - defaultFilename: String("\(node.user?.longName ?? "Node") \("power.metrics.log".localized)"), + defaultFilename: String("\(node.user?.longName ?? "Node") \("Power Metrics Log".localized)"), onCompletion: { result in switch result { case .success: diff --git a/Meshtastic/Views/Settings/AppData.swift b/Meshtastic/Views/Settings/AppData.swift index e5535c2c..e5ff252c 100644 --- a/Meshtastic/Views/Settings/AppData.swift +++ b/Meshtastic/Views/Settings/AppData.swift @@ -21,7 +21,7 @@ struct AppData: View { VStack { - Section(header: Text("phone.gps")) { + Section(header: Text("Phone GPS")) { GPSStatus() } Divider() diff --git a/Meshtastic/Views/Settings/Config/LoRaConfig.swift b/Meshtastic/Views/Settings/Config/LoRaConfig.swift index 4ff56e01..196f6ffb 100644 --- a/Meshtastic/Views/Settings/Config/LoRaConfig.swift +++ b/Meshtastic/Views/Settings/Config/LoRaConfig.swift @@ -228,7 +228,7 @@ struct LoRaConfig: View { } } } - .navigationTitle("lora.config") + .navigationTitle("LoRa Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift b/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift index fc1835fb..e9959b41 100644 --- a/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/ExternalNotificationConfig.swift @@ -189,7 +189,7 @@ struct ExternalNotificationConfig: View { } } } - .navigationTitle("external.notification.config") + .navigationTitle("External Notification Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift b/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift index 217205cd..6967a2ab 100644 --- a/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift @@ -60,7 +60,7 @@ struct MQTTConfig: View { Toggle(isOn: $proxyToClientEnabled) { - Label("mqtt.clientproxy", systemImage: "iphone.radiowaves.left.and.right") + Label("MQTT Client Proxy", systemImage: "iphone.radiowaves.left.and.right") Text("Utilizes the network connection on your phone to connect to MQTT.") } .toggleStyle(SwitchToggleStyle(tint: .accentColor)) @@ -340,7 +340,7 @@ struct MQTTConfig: View { if newMapPublishIntervalSecs != node?.mqttConfig?.mapPublishIntervalSecs ?? -1 { hasChanges = true } } } - .navigationTitle("mqtt.config") + .navigationTitle("MQTT Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/Module/PaxCounterConfig.swift b/Meshtastic/Views/Settings/Config/Module/PaxCounterConfig.swift index 480f4b94..6d71f7a7 100644 --- a/Meshtastic/Views/Settings/Config/Module/PaxCounterConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/PaxCounterConfig.swift @@ -41,7 +41,7 @@ struct PaxCounterConfig: View { } .pickerStyle(DefaultPickerStyle()) .listRowSeparator(.hidden) - Text("config.module.paxcounter.updateinterval.description") + Text("How often we can send a message to the mesh when people are detected.") .foregroundColor(.gray) .font(.callout) } @@ -50,7 +50,7 @@ struct PaxCounterConfig: View { } } .disabled(self.bleManager.connectedPeripheral == nil || node?.powerConfig == nil) - .navigationTitle("config.module.paxcounter.title") + .navigationTitle("PAX Counter Config") .navigationBarItems(trailing: ZStack { ConnectedDevice( bluetoothOn: bleManager.isSwitchedOn, diff --git a/Meshtastic/Views/Settings/Config/Module/RangeTestConfig.swift b/Meshtastic/Views/Settings/Config/Module/RangeTestConfig.swift index f1f56e1a..cc323170 100644 --- a/Meshtastic/Views/Settings/Config/Module/RangeTestConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/RangeTestConfig.swift @@ -71,7 +71,7 @@ struct RangeTestConfig: View { } } } - .navigationTitle("range.test.config") + .navigationTitle("Range Test Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/Module/RtttlConfig.swift b/Meshtastic/Views/Settings/Config/Module/RtttlConfig.swift index 669add34..71452615 100644 --- a/Meshtastic/Views/Settings/Config/Module/RtttlConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/RtttlConfig.swift @@ -22,12 +22,12 @@ struct RtttlConfig: View { var body: some View { VStack { Form { - ConfigHeader(title: "ringtone", config: \.rtttlConfig, node: node, onAppear: setRtttLConfigValue) + ConfigHeader(title: "Ringtone", config: \.rtttlConfig, node: node, onAppear: setRtttLConfigValue) Section(header: Text("Options")) { HStack { - Label("ringtone", systemImage: "music.quarternote.3") - TextField("config.ringtone.label", text: $ringtone, axis: .vertical) + Label("Ringtone", systemImage: "music.quarternote.3") + TextField("Ringtone Transfer Language", text: $ringtone, axis: .vertical) .foregroundColor(.gray) .autocapitalization(.none) .disableAutocorrection(true) @@ -43,7 +43,7 @@ struct RtttlConfig: View { } .keyboardType(.default) .listRowSeparator(.hidden) - Text("config.ringtone.description") + Text("Ringtone Transfer Language(RTTTL) Ringtone String used by supported buzzers in external notifications.") .foregroundColor(.gray) .font(.callout) } @@ -62,7 +62,7 @@ struct RtttlConfig: View { } } } - .navigationTitle("config.ringtone.title") + .navigationTitle("Ringtone Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/Module/StoreForwardConfig.swift b/Meshtastic/Views/Settings/Config/Module/StoreForwardConfig.swift index d3bbf314..e9fc429f 100644 --- a/Meshtastic/Views/Settings/Config/Module/StoreForwardConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/StoreForwardConfig.swift @@ -46,7 +46,7 @@ struct StoreForwardConfig: View { if enabled { Section(header: Text("Settings")) { Toggle(isOn: $heartbeat) { - Label("storeforward.heartbeat", systemImage: "waveform.path.ecg") + Label("Send Heartbeat", systemImage: "waveform.path.ecg") Text("Send a heartbeat to advertise the server's presence.") } Picker("Number of records", selection: $records) { diff --git a/Meshtastic/Views/Settings/Config/NetworkConfig.swift b/Meshtastic/Views/Settings/Config/NetworkConfig.swift index ff199cff..35e25660 100644 --- a/Meshtastic/Views/Settings/Config/NetworkConfig.swift +++ b/Meshtastic/Views/Settings/Config/NetworkConfig.swift @@ -123,7 +123,7 @@ struct NetworkConfig: View { } } } - .navigationTitle("network.config") + .navigationTitle("Network Config") .navigationBarItems( trailing: ZStack { ConnectedDevice( diff --git a/Meshtastic/Views/Settings/Config/PositionConfig.swift b/Meshtastic/Views/Settings/Config/PositionConfig.swift index 136d52bd..8fbd9d14 100644 --- a/Meshtastic/Views/Settings/Config/PositionConfig.swift +++ b/Meshtastic/Views/Settings/Config/PositionConfig.swift @@ -394,7 +394,7 @@ struct PositionConfig: View { } saveButton } - .navigationTitle("position.config") + .navigationTitle("Position Config") .navigationBarItems( trailing: ZStack { ConnectedDevice(bluetoothOn: bleManager.isSwitchedOn, deviceConnected: bleManager.connectedPeripheral != nil, name: bleManager.connectedPeripheral?.shortName ?? "?") diff --git a/Meshtastic/Views/Settings/Config/PowerConfig.swift b/Meshtastic/Views/Settings/Config/PowerConfig.swift index d875cb2b..e3c26ffb 100644 --- a/Meshtastic/Views/Settings/Config/PowerConfig.swift +++ b/Meshtastic/Views/Settings/Config/PowerConfig.swift @@ -27,7 +27,7 @@ struct PowerConfig: View { var body: some View { Form { - ConfigHeader(title: "config.power.title", config: \.powerConfig, node: node, onAppear: setPowerValues) + ConfigHeader(title: "Power Config", config: \.powerConfig, node: node, onAppear: setPowerValues) Section { if (currentDevice?.architecture == .esp32 || currentDevice?.architecture == .esp32S3) || (currentDevice?.architecture == .nrf52840 && (node?.deviceConfig?.role ?? 0 == 5 || node?.deviceConfig?.role ?? 0 == 6)) { @@ -38,7 +38,7 @@ struct PowerConfig: View { .toggleStyle(SwitchToggleStyle(tint: .accentColor)) } Toggle(isOn: $shutdownOnPowerLoss) { - Label("config.power.shutdown.on.power.loss", systemImage: "power") + Label("Shutdown on Power Loss", systemImage: "power") } .toggleStyle(SwitchToggleStyle(tint: .accentColor)) if shutdownOnPowerLoss { @@ -101,7 +101,7 @@ struct PowerConfig: View { } } .disabled(self.bleManager.connectedPeripheral == nil || node?.powerConfig == nil) - .navigationTitle("config.power.title") + .navigationTitle("Power Config") .navigationBarItems(trailing: ZStack { ConnectedDevice( bluetoothOn: bleManager.isSwitchedOn, diff --git a/Meshtastic/Views/Settings/Config/SaveConfigButton.swift b/Meshtastic/Views/Settings/Config/SaveConfigButton.swift index 6cba6785..8e0c8701 100644 --- a/Meshtastic/Views/Settings/Config/SaveConfigButton.swift +++ b/Meshtastic/Views/Settings/Config/SaveConfigButton.swift @@ -25,7 +25,7 @@ struct SaveConfigButton: View { titleVisibility: .visible ) { let nodeName = node?.user?.longName ?? "Unknown".localized - let buttonText = String.localizedStringWithFormat("save.config %@".localized, nodeName) + let buttonText = String.localizedStringWithFormat("Save Config for %@".localized, nodeName) Button(buttonText) { onConfirmation() } diff --git a/Meshtastic/Views/Settings/Settings.swift b/Meshtastic/Views/Settings/Settings.swift index d84d24cd..2dec1530 100644 --- a/Meshtastic/Views/Settings/Settings.swift +++ b/Meshtastic/Views/Settings/Settings.swift @@ -44,7 +44,7 @@ struct Settings: View { // MARK: Views var radioConfigurationSection: some View { - Section("radio.configuration") { + Section("Radio Configuration") { let node = nodes.first(where: { $0.num == preferredNodeNum }) if let node, let loRaConfig = node.loRaConfig, @@ -69,7 +69,7 @@ struct Settings: View { NavigationLink(value: SettingsNavigationState.lora) { Label { - Text("lora") + Text("LoRa") } icon: { Image(systemName: "dot.radiowaves.left.and.right") .rotationEffect(.degrees(-90)) @@ -95,7 +95,7 @@ struct Settings: View { NavigationLink(value: SettingsNavigationState.shareQRCode) { Label { - Text("share.channels") + Text("Share QR Code") } icon: { Image(systemName: "qrcode") } diff --git a/Meshtastic/Views/Settings/ShareChannels.swift b/Meshtastic/Views/Settings/ShareChannels.swift index 71707792..fa0e6370 100644 --- a/Meshtastic/Views/Settings/ShareChannels.swift +++ b/Meshtastic/Views/Settings/ShareChannels.swift @@ -226,7 +226,7 @@ struct ShareChannels: View { } } } - .navigationTitle("generate.qr.code") + .navigationTitle("Generate QR Code") .navigationBarTitleDisplayMode(.inline) .navigationBarItems(trailing: ZStack { From aea3a96bc7239f5660f783f611b8a17526ccae35 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Thu, 8 May 2025 22:54:51 -0700 Subject: [PATCH 3/3] Review updated translation keys --- Localizable.xcstrings | 352 +++++++++++++++++++----------------------- 1 file changed, 155 insertions(+), 197 deletions(-) diff --git a/Localizable.xcstrings b/Localizable.xcstrings index 7c0d5e8d..aa5cbd4c 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -8216,25 +8216,25 @@ "localizations" : { "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Cancellare tutti i dati dei passeggeri?" } }, "se" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Radera all paxdata?" } }, "sr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Избриши све PAX податке?" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "要刪除所有 PAX 資料嗎?" } } @@ -13745,19 +13745,19 @@ "localizations" : { "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Pericoloso" } }, "sr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Опасно" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "危險" } } @@ -16769,55 +16769,37 @@ "localizations" : { "de" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "M5 Stack Card KB / RAK Tastenfeld" } }, "fr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Clavier M5 Stack Card KB / RAK" } }, - "he" : { - "stringUnit" : { - "state" : "needs_review", - "value" : "M5 Stack Card KB / RAK Keypad" - } - }, "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "M5 Stack Card KB / Tastiera RAK" } }, - "pl" : { - "stringUnit" : { - "state" : "needs_review", - "value" : "M5 Stack Card KB / RAK Keypad" - } - }, - "se" : { - "stringUnit" : { - "state" : "needs_review", - "value" : "M5 Stack Card KB / RAK Keypad" - } - }, "sr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "M5 стек картица KB / RAK тастатура" } }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "M5 Stack 卡片键盘 / RAK 键盘" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "M5Stack 卡片鍵盤 / RAK 鍵盤" } } @@ -17341,116 +17323,6 @@ } } }, - "PAX Counter message received from: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX Counter message received for: %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX Counter packet received for: %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Messaggio del contatore PAX ricevuto da: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX Counter packet received for: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX-räknarmeddelande mottaget från: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Порука PAX бројача примљена од: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX Counter message received for: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "PAX Counter message received from: %@" - } - } - } - }, - "Position Packet received from node: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Position empfangen von Knoten: %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Paquet de la position reçu du noeud : %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הודעת מיקום התקבלו מ-%@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Posizione Pacchetto ricevuto dal nodo: %@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odebrano pakiet pozycji od węzła: %@" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Positionspaket mottaget från nod: %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Пакет позиције примљен од чвора: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Position Packet received from node: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "Position Packet received from node: %@" - } - } - } - }, "Meshtastic Node %@ has shared channels with you" : { "localizations" : { "de" : { @@ -21776,6 +21648,58 @@ } } }, + "PAX Counter message received from: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "PAX Counter message received for: %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "PAX Counter packet received for: %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Messaggio del contatore PAX ricevuto da: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "PAX Counter packet received for: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "PAX-räknarmeddelande mottaget från: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Порука PAX бројача примљена од: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "PAX Counter message received for: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "PAX Counter message received from: %@" + } + } + } + }, "paxcounter.log" : { }, @@ -22401,6 +22325,64 @@ } } }, + "Position Packet received from node: %@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Position empfangen von Knoten: %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paquet de la position reçu du noeud : %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הודעת מיקום התקבלו מ-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posizione Pacchetto ricevuto dal nodo: %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odebrano pakiet pozycji od węzła: %@" + } + }, + "se" : { + "stringUnit" : { + "state" : "translated", + "value" : "Positionspaket mottaget från nod: %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пакет позиције примљен од чвора: %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Position Packet received from node: %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : "Position Packet received from node: %@" + } + } + } + }, "Position Sent" : { "localizations" : { "de" : { @@ -22489,57 +22471,45 @@ "localizations" : { "de" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Positionskonfiguration empfangen: %@" } }, "fr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Configuration de la position reçue : %@" } }, "he" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "הגדרות מיקום התקבלו: %@" } }, "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Configurazione della posizione ricevuta: %@" } }, "pl" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Odebrano konfigurację pozycji: %@" } }, "se" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Positionskonfiguration mottagen: %@" } }, "sr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Конфигурација позиције примљена: %@" } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "needs_review", - "value" : "Positon config received: %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "needs_review", - "value" : "Positon config received: %@" - } } } }, @@ -23929,55 +23899,55 @@ "localizations" : { "de" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Negative Empfangsbestätigung empfangen" } }, "fr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Accusé de réception négatif reçu" } }, "he" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "התקבל אישור מסירה שלילי" } }, "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Ricevuto un riscontro negativo" } }, "pl" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Otrzymano negatywne potwierdzenie" } }, "se" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Mottog ett negativt kvitto" } }, "sr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Примљено негативно признање" } }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "收到否认" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "收到 NACK(否定確認)" } } @@ -24187,55 +24157,55 @@ "localizations" : { "de" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Regionale Einschaltdauergrenze erreicht" } }, "fr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Limite du cycle de service régional atteinte" } }, "he" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "הגיע למקסימום שימוש אזורי לשעה זו" } }, "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Raggiunto il limite del ciclo di lavoro regionale" } }, "pl" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Osiągnięto regionalny limit cyklu pracy" } }, "se" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Regionala sändningsgränsen nådd" } }, "sr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Достигнут регионални лимит радног циклуса" } }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "已达到当前区域循环周期发射上限" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "已達到頻道占用循環週期發射上限" } } @@ -25028,45 +24998,33 @@ }, "Ringtone Transfer Language" : { "localizations" : { - "he" : { - "stringUnit" : { - "state" : "needs_review", - "value" : "Ringtone Transfer Language" - } - }, "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Lingua di trasferimento della suoneria" } }, - "pl" : { - "stringUnit" : { - "state" : "needs_review", - "value" : "Ringtone Transfer Language" - } - }, "se" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Språk för Överföring av Ringsignal" } }, "sr" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "Језик преноса мелодије звона" } }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "铃声传输语言" } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "鈴聲傳輸語言(RTTTL)" } } @@ -29514,13 +29472,13 @@ "localizations" : { "it" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "I server Store and Forward richiedono un dispositivo ESP32 con PSRAM o Linux Native." } }, "zh-Hant-TW" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "儲存與轉送伺服器需要使用具有 PSRAM 的 ESP32 裝置或是原生 Linux 系統。" } }