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 {