diff --git a/Localizable.xcstrings b/Localizable.xcstrings index 5009ad65..e1f9c1e2 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -25542,71 +25542,6 @@ } } }, - "route.recorder" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Route Recorder" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Route Recorder" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Enregistreur de route" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מקליט מסלול" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Route Recorder" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gravador de Rotas" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ruttinspelare" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Снимач руте" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "路径记录器" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "路線錄製" - } - } - } - }, "Router" : { "localizations" : { "sr" : { @@ -25627,71 +25562,6 @@ } } }, - "routes" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routen" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routes" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routes" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מסלולים" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Routes" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rotas" - } - }, - "se" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rutter" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Руте" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "路径" - } - }, - "zh-Hant-TW" : { - "stringUnit" : { - "state" : "translated", - "value" : "路線" - } - } - } - }, "Routes" : { }, @@ -30919,23 +30789,6 @@ } } }, - "This determines the actual frequency you are transmitting on in the band. If set to 0 this value will be calculated automatically based on the primary channel name." : { - "extractionState" : "stale", - "localizations" : { - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ово одређује стварну фреквенцију на којој преносите у опсегу. Ако је постављено на 0, ова вредност ће се аутоматски израчунати на основу назива примарног канала." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "这决定了您在频段内的实际发射频率。如果设置为 0,该值将根据主频道名称自动计算。" - } - } - } - }, "This device will send out range test messages on the selected interval." : { "localizations" : { "sr" : { @@ -31187,7 +31040,14 @@ } }, "Timestamp" : { - + "localizations" : { + "sr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Временска ознака" + } + } + } }, "Timing & Format" : { "localizations" : { @@ -31902,29 +31762,6 @@ } } }, - "Trace route received directly by %@ with a SNR of %@ dB" : { - "extractionState" : "stale", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "Trace route received directly by %1$@ with a SNR of %2$@ dB" - } - }, - "sr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Захтев за праћење руте комуникације директно примљен од %1$@ са SNR од %2$@ dB." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "由 %1$@ 直接接收的跟踪路由,信噪比为 %2$@ dB" - } - } - } - }, "Trace Route Sent" : { "localizations" : { "sr" : { diff --git a/Meshtastic/Enums/RoutingError.swift b/Meshtastic/Enums/RoutingError.swift index b3962a09..628e1b3f 100644 --- a/Meshtastic/Enums/RoutingError.swift +++ b/Meshtastic/Enums/RoutingError.swift @@ -58,11 +58,11 @@ enum RoutingError: Int, CaseIterable, Identifiable { case .pkiFailed: return "routing.pkifailed".localized case .pkiUnknownPubkey: - return "routing.pkiunknownpubkey".localized + return "Unknown public key".localized case .adminBadSessionKey: - return "routing.adminbadsessionkey".localized + return "Bad admin session key".localized case .adminPublicKeyUnauthorized: - return "routing.adminpublickeyunauthorized".localized + return "Unauthorized admin public key".localized } } var color: Color { diff --git a/Meshtastic/Export/WriteCsvFile.swift b/Meshtastic/Export/WriteCsvFile.swift index 40913ea7..eb424586 100644 --- a/Meshtastic/Export/WriteCsvFile.swift +++ b/Meshtastic/Export/WriteCsvFile.swift @@ -14,7 +14,7 @@ func telemetryToCsvFile(telemetry: [TelemetryEntity], metricsType: Int) -> Strin let dateFormatString = (localeDateFormat ?? "MM/dd/YY j:mma").replacingOccurrences(of: ",", with: "") if metricsType == 0 { // Create Device Metrics Header - csvString = "\("battery.level".localized), \("voltage".localized), \("channel.utilization".localized), \("airtime".localized), \("uptime".localized), \("timestamp".localized)" + csvString = "\("battery.level".localized), \("voltage".localized), \("channel.utilization".localized), \("airtime".localized), \("uptime".localized), \("Timestamp".localized)" for dm in telemetry where dm.metricsType == 0 { csvString += "\n" csvString += String(dm.batteryLevel) @@ -31,7 +31,7 @@ func telemetryToCsvFile(telemetry: [TelemetryEntity], metricsType: Int) -> Strin } } else if metricsType == 1 { // Create Environment Telemetry Header - csvString = "Temperature, Relative Humidity, Barometric Pressure, Indoor Air Quality, Gas Resistance, \("timestamp".localized)" + csvString = "Temperature, Relative Humidity, Barometric Pressure, Indoor Air Quality, Gas Resistance, \("Timestamp".localized)" for dm in telemetry where dm.metricsType == 1 { csvString += "\n" csvString += String(dm.temperature.localeTemperature()) @@ -48,7 +48,7 @@ func telemetryToCsvFile(telemetry: [TelemetryEntity], metricsType: Int) -> Strin } } else if metricsType == 2 { // Create Power Metrics Header - csvString = "Channel 1 Voltage, Channel 1 Current, Channel 2 Voltage, Channel 2 Current, Channel 3 Voltage, Channel 3 Current, \("timestamp".localized)" + csvString = "Channel 1 Voltage, Channel 1 Current, Channel 2 Voltage, Channel 2 Current, Channel 3 Voltage, Channel 3 Current, \("Timestamp".localized)" for dm in telemetry where dm.metricsType == 2 { csvString += "\n" csvString += String(dm.powerCh1Voltage) @@ -74,7 +74,7 @@ func detectionsToCsv(detections: [MessageEntity]) -> String { let localeDateFormat = DateFormatter.dateFormat(fromTemplate: "yyMMddjmma", options: 0, locale: Locale.current) let dateFormatString = (localeDateFormat ?? "MM/dd/YY j:mma").replacingOccurrences(of: ",", with: "") // Create Header - csvString = "Detection event, \("timestamp".localized)" + csvString = "Detection event, \("Timestamp".localized)" for d in detections { csvString += "\n" csvString += d.messagePayload ?? "Detection" @@ -89,7 +89,7 @@ func logToCsvFile(log: [OSLogEntryLog]) -> String { let localeDateFormat = DateFormatter.dateFormat(fromTemplate: "yyMMddjmma", options: 0, locale: Locale.current) let dateFormatString = (localeDateFormat ?? "MM/dd/YY j:mma").replacingOccurrences(of: ",", with: "") // Create PAX Header - csvString = "Process, Category, Level, Message, \("timestamp".localized)" + csvString = "Process, Category, Level, Message, \("Timestamp".localized)" for l in log { csvString += "\n" csvString += String(l.process) @@ -110,7 +110,7 @@ func paxToCsvFile(pax: [PaxCounterEntity]) -> String { let localeDateFormat = DateFormatter.dateFormat(fromTemplate: "yyMMddjmma", options: 0, locale: Locale.current) let dateFormatString = (localeDateFormat ?? "MM/dd/YY j:mma").replacingOccurrences(of: ",", with: "") // Create PAX Header - csvString = "BLE, WiFi, Total Pax, Uptime, \("timestamp".localized)" + csvString = "BLE, WiFi, Total Pax, Uptime, \("Timestamp".localized)" for p in pax { csvString += "\n" csvString += String(p.ble) @@ -131,7 +131,7 @@ func positionToCsvFile(positions: [PositionEntity]) -> String { let localeDateFormat = DateFormatter.dateFormat(fromTemplate: "yyMMddjmma", options: 0, locale: Locale.current) let dateFormatString = (localeDateFormat ?? "MM/dd/YY j:mma").replacingOccurrences(of: ",", with: "") // Create Position Header - csvString = "SeqNo, Latitude, Longitude, Altitude, Sats, Speed, Heading, SNR, \("timestamp".localized)" + csvString = "SeqNo, Latitude, Longitude, Altitude, Sats, Speed, Heading, SNR, \("Timestamp".localized)" for pos in positions { csvString += "\n" csvString += String(pos.seqNo) diff --git a/Meshtastic/Views/Bluetooth/Connect.swift b/Meshtastic/Views/Bluetooth/Connect.swift index ed9728c6..eebb81dd 100644 --- a/Meshtastic/Views/Bluetooth/Connect.swift +++ b/Meshtastic/Views/Bluetooth/Connect.swift @@ -70,7 +70,7 @@ struct Connect: View { .font(.callout).foregroundColor(Color.gray) } if bleManager.isSubscribed { - Text("subscribed").font(.callout) + Text("Subscribed").font(.callout) .foregroundColor(.green) } else { HStack { @@ -78,7 +78,7 @@ struct Connect: View { .symbolRenderingMode(.multicolor) .symbolEffect(.variableColor.reversing.cumulative, options: .repeat(20).speed(3)) .foregroundColor(.orange) - Text("communicating").font(.callout) + Text("Communicating").font(.callout) .foregroundColor(.orange) } } @@ -95,7 +95,7 @@ struct Connect: View { bleManager.disconnectPeripheral(reconnect: false) } } label: { - Label("disconnect", systemImage: "antenna.radiowaves.left.and.right.slash") + Label("Disconnect", systemImage: "antenna.radiowaves.left.and.right.slash") } } .contextMenu { diff --git a/Meshtastic/Views/Nodes/DetectionSensorLog.swift b/Meshtastic/Views/Nodes/DetectionSensorLog.swift index 06c468ca..1eeb499e 100644 --- a/Meshtastic/Views/Nodes/DetectionSensorLog.swift +++ b/Meshtastic/Views/Nodes/DetectionSensorLog.swift @@ -71,7 +71,7 @@ struct DetectionSensorLog: View { Text(d.messagePayload ?? "Detected") } - TableColumn("timestamp") { d in + TableColumn("Timestamp") { d in Text(d.timestamp.formattedDate(format: dateFormatString)) } .width(min: 180) @@ -87,7 +87,7 @@ struct DetectionSensorLog: View { Text("Detection") .font(.caption) .fontWeight(.bold) - Text("timestamp") + Text("Timestamp") .font(.caption) .fontWeight(.bold) } diff --git a/Meshtastic/Views/Nodes/EnvironmentMetricsLog.swift b/Meshtastic/Views/Nodes/EnvironmentMetricsLog.swift index b7d5449c..80cdbb68 100644 --- a/Meshtastic/Views/Nodes/EnvironmentMetricsLog.swift +++ b/Meshtastic/Views/Nodes/EnvironmentMetricsLog.swift @@ -73,7 +73,7 @@ struct EnvironmentMetricsLog: View { TableColumn("Wind Direction") { em in columnList.column(forAttribute: "windDirection")?.body(em) } - TableColumn("timestamp") { em in + TableColumn("Timestamp") { em in columnList.column(forAttribute: "time")?.body(em) } .width(min: 180) diff --git a/Meshtastic/Views/Nodes/PaxCounterLog.swift b/Meshtastic/Views/Nodes/PaxCounterLog.swift index bb03aa9b..5116120d 100644 --- a/Meshtastic/Views/Nodes/PaxCounterLog.swift +++ b/Meshtastic/Views/Nodes/PaxCounterLog.swift @@ -104,7 +104,7 @@ struct PaxCounterLog: View { let components = (now..