From a930d1d938032108c47e601bf65eb5550498f5f4 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Thu, 2 Apr 2026 08:48:43 -0700 Subject: [PATCH] Fix merge conflicts --- Localizable.xcstrings | 312 +++++++++++------- .../Helpers/TAK/TAKMeshtasticBridge.swift | 20 +- .../Views/Settings/TAKServerConfig.swift | 2 - 3 files changed, 187 insertions(+), 147 deletions(-) diff --git a/Localizable.xcstrings b/Localizable.xcstrings index 9b9b45f9..5ff8eb52 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -2,7 +2,6 @@ "sourceLanguage" : "en", "strings" : { "" : { - "shouldTranslate" : false, "localizations" : { "da" : { "stringUnit" : { @@ -10,7 +9,8 @@ "value" : "" } } - } + }, + "shouldTranslate" : false }, "\t%@" : { "localizations" : { @@ -59,6 +59,90 @@ }, "shouldTranslate" : false }, + " : %@" : { + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %@" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %@" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %@" + } + } + }, + "shouldTranslate" : false + }, + " : %d" : { + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %d" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %d" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %d" + } + }, + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %d" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %d" + } + }, + "zh-Hant-TW" : { + "stringUnit" : { + "state" : "translated", + "value" : " : %d" + } + } + }, + "shouldTranslate" : false + }, " %@" : { "localizations" : { "da" : { @@ -141,83 +225,83 @@ }, "shouldTranslate" : false }, - " : %@" : { + ": %@" : { "localizations" : { - "da" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : " : %@" + "value" : ": %@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : " : %@" + "value" : ": %@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : " : %@" + "value" : ": %@" } }, "sr" : { "stringUnit" : { "state" : "translated", - "value" : " : %@" + "value" : ": %@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : " : %@" + "value" : ": %@" } }, "zh-Hant-TW" : { "stringUnit" : { "state" : "translated", - "value" : " : %@" + "value" : ": %@" } } }, "shouldTranslate" : false }, - " : %d" : { + ": %d" : { "localizations" : { - "da" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : " : %d" + "value" : ": %d" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : " : %d" + "value" : ": %d" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : " : %d" + "value" : ": %d" } }, "sr" : { "stringUnit" : { "state" : "translated", - "value" : " : %d" + "value" : ": %d" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : " : %d" + "value" : ": %d" } }, "zh-Hant-TW" : { "stringUnit" : { "state" : "translated", - "value" : " : %d" + "value" : ": %d" } } }, @@ -2922,7 +3006,9 @@ } } }, - "A default self-signed certificate is included for localhost connections. Import a custom .p12 if needed. Client CA (.pem) validates connecting TAK clients." : {}, + "A default self-signed certificate is included for localhost connections. Import a custom .p12 if needed. Client CA (.pem) validates connecting TAK clients." : { + + }, "A green lock means the channel is securely encrypted with either a 128 or 256 bit AES key." : { "localizations" : { "es" : { @@ -3767,7 +3853,9 @@ } } }, - "Add CA" : {}, + "Add CA" : { + + }, "Add Channel" : { "localizations" : { "da" : { @@ -11388,8 +11476,12 @@ } } }, - "Client CA Certificate" : {}, - "Client Configuration" : {}, + "Client CA Certificate" : { + + }, + "Client Configuration" : { + + }, "Client Hidden" : { "extractionState" : "stale", "localizations" : { @@ -12090,7 +12182,9 @@ } } }, - "Configuration" : {}, + "Configuration" : { + + }, "Configuration for: %@" : { "localizations" : { "da" : { @@ -14474,7 +14568,9 @@ } } }, - "Delete All" : {}, + "Delete All" : { + + }, "Delete all config, keys and BLE bonds? " : { "localizations" : { "es" : { @@ -18078,7 +18174,9 @@ } } }, - "Download TAK Server Data Package" : {}, + "Download TAK Server Data Package" : { + + }, "Drag & Drop Firmware Update" : { "localizations" : { "da" : { @@ -18865,7 +18963,9 @@ } } }, - "Enable TAK Server" : {}, + "Enable TAK Server" : { + + }, "Enable this device as a Store and Forward server. Requires an ESP32 device with PSRAM." : { "localizations" : { "da" : { @@ -19632,9 +19732,14 @@ } } }, - "Enter P12 Password" : {}, - "Enter the password for the PKCS#12 file" : {}, + "Enter P12 Password" : { + + }, + "Enter the password for the PKCS#12 file" : { + + }, "environment" : { + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { @@ -23674,7 +23779,9 @@ } } }, - "Generate a data package (.zip) to configure TAK clients to connect to this server." : {}, + "Generate a data package (.zip) to configure TAK clients to connect to this server." : { + + }, "Generate a new private key to replace the one currently in use. The public key will automatically be regenerated from your private key." : { "localizations" : { "es" : { @@ -27169,10 +27276,18 @@ } } }, - "Import" : {}, - "Import .pem" : {}, - "Import Custom .p12" : {}, - "Import Error" : {}, + "Import" : { + + }, + "Import .pem" : { + + }, + "Import Custom .p12" : { + + }, + "Import Error" : { + + }, "Import Route" : { "localizations" : { "da" : { @@ -32900,7 +33015,9 @@ } } }, - "mTLS" : {}, + "mTLS" : { + + }, "Multiplier" : { "localizations" : { "da" : { @@ -39062,7 +39179,9 @@ } } }, - "Port" : {}, + "Port" : { + + }, "Position" : { "localizations" : { "da" : { @@ -42719,7 +42838,9 @@ } } }, - "Reload Bundled Certificates" : {}, + "Reload Bundled Certificates" : { + + }, "Remote administration for: %@" : { "localizations" : { "da" : { @@ -43526,7 +43647,9 @@ } } }, - "Reset to Default" : {}, + "Reset to Default" : { + + }, "Restart" : { "localizations" : { "da" : { @@ -43579,7 +43702,9 @@ } } }, - "Restart Server" : {}, + "Restart Server" : { + + }, "Restart to the node you are connected to" : { "localizations" : { "da" : { @@ -46351,7 +46476,10 @@ } } }, - "Secure mTLS connection on port 8089. Both server and client certificates are required." : {}, + "Secure mTLS connection on port 8089. Both server and client certificates are required. TAK Channel Index selects the channel index where TAK messages will be sent." : { + "comment" : "A footer for the TAK Server configuration section.", + "isCommentAutoGenerated" : true + }, "Security" : { "localizations" : { "da" : { @@ -49041,7 +49169,9 @@ } } }, - "Server Certificate" : {}, + "Server Certificate" : { + + }, "Server Option" : { "localizations" : { "da" : { @@ -49088,7 +49218,9 @@ } } }, - "Server Status" : {}, + "Server Status" : { + + }, "Set" : { "localizations" : { "da" : { @@ -51924,7 +52056,9 @@ } } }, - "Status" : {}, + "Status" : { + + }, "Stay Connected Anywhere" : { "localizations" : { "de" : { @@ -52567,7 +52701,13 @@ "comment" : "A warning label explaining that TAK cannot be used on the public channel.", "isCommentAutoGenerated" : true }, - "TAK Server" : {}, + "TAK Channel Index" : { + "comment" : "A label for the TAK channel index.", + "isCommentAutoGenerated" : true + }, + "TAK Server" : { + + }, "TAK Tracker" : { "extractionState" : "stale", "localizations" : { @@ -55898,7 +56038,9 @@ } } }, - "TLS Certificates" : {}, + "TLS Certificates" : { + + }, "TLS Enabled" : { "localizations" : { "da" : { @@ -62798,88 +62940,6 @@ } } } - }, - ": %@" : { - "localizations" : { - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %@" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %@" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %@" - } - } - }, - "shouldTranslate" : false - }, - ": %d" : { - "localizations" : { - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %d" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %d" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %d" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %d" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %d" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : ": %d" - } - } - }, - "shouldTranslate" : false } }, "version" : "1.1" diff --git a/Meshtastic/Helpers/TAK/TAKMeshtasticBridge.swift b/Meshtastic/Helpers/TAK/TAKMeshtasticBridge.swift index a6af2045..8985accf 100644 --- a/Meshtastic/Helpers/TAK/TAKMeshtasticBridge.swift +++ b/Meshtastic/Helpers/TAK/TAKMeshtasticBridge.swift @@ -1001,9 +1001,6 @@ final class TAKMeshtasticBridge { // 🔔 Bell - Google info case 0x1F514: // 🔔 return ("a-u-G", "\(googleUUID)/Google/info.png", "-256") - // 🗺 Map - Generic placemark_circle - case 0x1F5FA: // 🗺 - return ("a-u-G", "\(genericUUID)/Shapes/placemark_circle.png", "-1") // 🎁 Gift - Google shopping case 0x1F381: // 🎁 return ("a-u-G", "\(googleUUID)/Google/shopping.png", "-16776961") @@ -1233,9 +1230,6 @@ final class TAKMeshtasticBridge { // 🦑 Squid - Google fishing case 0x1F991: // 🦑 return ("a-u-G", "\(googleUUID)/Google/fishing.png", "-16776961") - // 🐌 Snail - Google info - case 0x1F98C: // 🐌 - return ("a-u-G", "\(googleUUID)/Google/info.png", "-16776961") // 🦎 Lizard - Google info case 0x1F98E: // 🦎 return ("a-u-G", "\(googleUUID)/Google/info.png", "-16776961") @@ -1364,21 +1358,12 @@ final class TAKMeshtasticBridge { // 🛑 Stop - Google caution case 0x1F6D1: // 🛑 return ("a-u-G", "\(googleUUID)/Google/caution.png", "-16776961") - // 🏕️ Base Camp - Google campground - case 0x1F3D5: // 🏕️ - return ("a-u-G", "\(googleUUID)/Google/campground.png", "-16776961") // 🏢 Office Building - Google homegardenbusiness case 0x1F3E2: // 🏢 return ("a-u-G", "\(googleUUID)/Google/homegardenbusiness.png", "-16776961") // 🏬 Bank - Google info case 0x1F3E6: // 🏬 return ("a-u-G", "\(googleUUID)/Google/info.png", "-16776961") - // 🏥 Hospital - Google hospitals - case 0x1F3E5: // 🏥 - return ("a-u-G", "\(googleUUID)/Google/hospitals.png", "-16776961") - // 🏨 Hotel - Google lodging - case 0x1F3E8: // 🏨 - return ("a-u-G", "\(googleUUID)/Google/lodging.png", "-16776961") // 🏩 Love Hotel - Google lodging case 0x1F3E9: // 🏩 return ("a-u-G", "\(googleUUID)/Google/lodging.png", "-16776961") @@ -1388,9 +1373,6 @@ final class TAKMeshtasticBridge { // 🛣️ Motorway - Google info case 0x1F6E3: // 🛣️ return ("a-u-G", "\(googleUUID)/Google/info.png", "-16776961") - // ⛽ Fuel Pump - Google gas_stations - case 0x1F6FD: // ⛽ - return ("a-u-G", "\(googleUUID)/Google/gas_stations.png", "-16776961") // 🚎 Trolleybus - Google bus case 0x1F68E: // 🚎 return ("a-u-G", "\(googleUUID)/Google/bus.png", "-16776961") @@ -1445,4 +1427,4 @@ final class TAKMeshtasticBridge { return ("a-u-G", "\(genericUUID)/Tacks/red-pushpin.png", "-16776961") } } -} \ No newline at end of file +} diff --git a/Meshtastic/Views/Settings/TAKServerConfig.swift b/Meshtastic/Views/Settings/TAKServerConfig.swift index a9eef052..3b2b17ac 100644 --- a/Meshtastic/Views/Settings/TAKServerConfig.swift +++ b/Meshtastic/Views/Settings/TAKServerConfig.swift @@ -26,8 +26,6 @@ struct TAKServerConfig: View { ) private var channels: FetchedResults @StateObject private var takServer = TAKServerManager.shared - @EnvironmentObject var accessoryManager: AccessoryManager - @Environment(\.managedObjectContext) var context @Environment(\.dismiss) private var dismiss @State private var showingFileImporter = false @State private var importType: CertificateImportType = .p12