Delete more keys

This commit is contained in:
Garth Vander Houwen 2025-02-15 10:06:54 -08:00
parent c665026c37
commit e068e660a5
9 changed files with 37 additions and 200 deletions

View file

@ -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" : {

View file

@ -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 {

View file

@ -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)

View file

@ -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 {

View file

@ -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)
}

View file

@ -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)

View file

@ -104,7 +104,7 @@ struct PaxCounterLog: View {
let components = (now..<later).formatted(.components(style: .condensedAbbreviated))
Text(components)
}
TableColumn("timestamp") { pc in
TableColumn("Timestamp") { pc in
Text(pc.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
}
.width(min: 180)
@ -129,10 +129,10 @@ struct PaxCounterLog: View {
Text("Total")
.font(.caption)
.fontWeight(.bold)
Text("uptime")
Text("Uptime")
.font(.caption)
.fontWeight(.bold)
Text("timestamp")
Text("Timestamp")
.font(.caption)
.fontWeight(.bold)
}

View file

@ -91,7 +91,7 @@ struct PositionLog: View {
Text("Alt")
.font(.caption2)
.fontWeight(.bold)
Text("timestamp")
Text("Timestamp")
.font(.caption2)
.fontWeight(.bold)
}
@ -120,7 +120,7 @@ struct PositionLog: View {
Button(role: .destructive) {
isPresentingClearLogConfirm = true
} label: {
Label("clear.log", systemImage: "trash.fill")
Label("Clear Log", systemImage: "trash.fill")
}
.buttonStyle(.bordered)
.buttonBorderShape(.capsule)
@ -128,7 +128,7 @@ struct PositionLog: View {
.padding(.bottom)
.padding(.leading)
.confirmationDialog(
"are.you.sure",
"Are you sure?",
isPresented: $isPresentingClearLogConfirm,
titleVisibility: .visible
) {
@ -144,7 +144,7 @@ struct PositionLog: View {
exportString = positionToCsvFile(positions: node.positions!.array as? [PositionEntity] ?? [])
isExporting = true
} label: {
Label("save", systemImage: "square.and.arrow.down")
Label("Save", systemImage: "square.and.arrow.down")
}
.buttonStyle(.bordered)
.buttonBorderShape(.capsule)

View file

@ -208,7 +208,7 @@ struct PowerMetricsLog: View {
Text("\(String(format: "%.2f", dm.powerCh3Current))mA")
}
.width(min: 75)
TableColumn("timestamp") { dm in
TableColumn("Timestamp") { dm in
Text(dm.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
}
.width(min: 180)
@ -225,7 +225,7 @@ struct PowerMetricsLog: View {
Button(role: .destructive) {
isPresentingClearLogConfirm = true
} label: {
Label("clear.log", systemImage: "trash.fill")
Label("Clear Log", systemImage: "trash.fill")
}
.buttonStyle(.bordered)
.buttonBorderShape(.capsule)
@ -233,11 +233,11 @@ struct PowerMetricsLog: View {
.padding(.bottom)
.padding(.leading)
.confirmationDialog(
"are.you.sure",
"Are you sure?",
isPresented: $isPresentingClearLogConfirm,
titleVisibility: .visible
) {
Button("power.metrics.delete", role: .destructive) {
Button("Delete Power metrics?", role: .destructive) {
if clearTelemetry(destNum: node.num, metricsType: 2, context: context) {
Logger.data.notice("Cleared Power Metrics for \(node.num)")
} else {
@ -250,7 +250,7 @@ struct PowerMetricsLog: View {
exportString = telemetryToCsvFile(telemetry: powerMetrics, metricsType: 2)
isExporting = true
} label: {
Label("save", systemImage: "square.and.arrow.down")
Label("Save", systemImage: "square.and.arrow.down")
}
.buttonStyle(.bordered)
.buttonBorderShape(.capsule)
@ -268,7 +268,7 @@ struct PowerMetricsLog: View {
ContentUnavailableView("No Power Metrics", systemImage: "slash.circle")
}
}
.navigationTitle("power.metrics.log")
.navigationTitle("Power Metrics Log}")
.navigationBarTitleDisplayMode(.inline)
.navigationBarItems(trailing:
ZStack {