mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Translation key updates
This commit is contained in:
parent
01a0f45b99
commit
0f7ac9bc59
20 changed files with 321 additions and 530 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -291,9 +291,9 @@ enum ModemPresets: Int, CaseIterable, Identifiable {
|
|||
var description: String {
|
||||
switch self {
|
||||
case .longFast:
|
||||
return "long.range.fast".localized
|
||||
return "Lomg Range - Fast".localized
|
||||
case .longSlow:
|
||||
return "long.range.slow".localized
|
||||
return "Long Range - Slow".localized
|
||||
case .longModerate:
|
||||
return "long.range.moderate".localized
|
||||
case .vLongSlow:
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ func telemetryToCsvFile(telemetry: [TelemetryEntity], metricsType: Int) -> Strin
|
|||
csvString += ", "
|
||||
csvString += dm.uptimeSeconds?.formatted(.number.grouping(.never)) ?? ""
|
||||
csvString += ", "
|
||||
csvString += dm.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized
|
||||
csvString += dm.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized
|
||||
}
|
||||
} else if metricsType == 1 {
|
||||
// Create Environment Telemetry Header
|
||||
|
|
@ -44,7 +44,7 @@ func telemetryToCsvFile(telemetry: [TelemetryEntity], metricsType: Int) -> Strin
|
|||
csvString += ", "
|
||||
csvString += dm.gasResistance?.formatted(.number.grouping(.never)) ?? ""
|
||||
csvString += ", "
|
||||
csvString += dm.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized
|
||||
csvString += dm.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized
|
||||
}
|
||||
} else if metricsType == 2 {
|
||||
// Create Power Metrics Header
|
||||
|
|
@ -63,7 +63,7 @@ func telemetryToCsvFile(telemetry: [TelemetryEntity], metricsType: Int) -> Strin
|
|||
csvString += ", "
|
||||
csvString += dm.powerCh3Current?.formatted(.number.grouping(.never)) ?? ""
|
||||
csvString += ", "
|
||||
csvString += dm.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized
|
||||
csvString += dm.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized
|
||||
}
|
||||
}
|
||||
return csvString
|
||||
|
|
@ -121,7 +121,7 @@ func paxToCsvFile(pax: [PaxCounterEntity]) -> String {
|
|||
csvString += ", "
|
||||
csvString += String(p.uptime)
|
||||
csvString += ", "
|
||||
csvString += p.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized
|
||||
csvString += p.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized
|
||||
}
|
||||
return csvString
|
||||
}
|
||||
|
|
@ -150,7 +150,7 @@ func positionToCsvFile(positions: [PositionEntity]) -> String {
|
|||
csvString += ", "
|
||||
csvString += String(pos.snr)
|
||||
csvString += ", "
|
||||
csvString += pos.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized
|
||||
csvString += pos.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized
|
||||
}
|
||||
return csvString
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extension Date {
|
|||
if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .year, value: 1, to: Date())! {
|
||||
formatted()
|
||||
} else {
|
||||
"unknown.age".localized
|
||||
"Unknown Age".localized
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -23,7 +23,7 @@ extension Date {
|
|||
if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .year, value: 1, to: Date())! {
|
||||
return dateformat.string(from: self)
|
||||
} else {
|
||||
return "unknown.age".localized
|
||||
return "Unknown Age".localized
|
||||
}
|
||||
}
|
||||
func relativeTimeOfDay() -> String {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ struct ContentView: View {
|
|||
unreadDirectMessages: $appState.unreadDirectMessages
|
||||
)
|
||||
.tabItem {
|
||||
Label("messages", systemImage: "message")
|
||||
Label("Messages", systemImage: "message")
|
||||
}
|
||||
.tag(NavigationState.Tab.messages)
|
||||
.badge(appState.totalUnreadMessages)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ struct DateTimeText: View {
|
|||
if dateTime != nil && dateTime! >= sixMonthsAgo! {
|
||||
Text(" \(dateTime!.formattedDate(format: dateFormatString))")
|
||||
} else {
|
||||
Text("unknown.age")
|
||||
Text("Unknown Age")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ struct TextMessageField: View {
|
|||
|
||||
HStack(alignment: .top) {
|
||||
ZStack {
|
||||
TextField("message", text: $typingMessage, axis: .vertical)
|
||||
TextField("Message", text: $typingMessage, axis: .vertical)
|
||||
.onChange(of: typingMessage) { _, value in
|
||||
totalBytes = value.utf8.count
|
||||
// Only mess with the value if it is too big
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ struct DeviceMetricsLog: View {
|
|||
Table(deviceMetrics, selection: $selection, sortOrder: $sortOrder) {
|
||||
TableColumn("Battery Level") { dm in
|
||||
HStack {
|
||||
Text(dm.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(dm.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
.font(.caption)
|
||||
.fontWeight(.semibold)
|
||||
Spacer()
|
||||
|
|
@ -188,7 +188,7 @@ struct DeviceMetricsLog: View {
|
|||
}
|
||||
.width(min: 100)
|
||||
TableColumn("Timestamp") { dm in
|
||||
Text(dm.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(dm.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
}
|
||||
.width(min: 180)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -333,7 +333,7 @@ extension MetricsColumnList {
|
|||
.replacingOccurrences(of: ",", with: "")
|
||||
Text(
|
||||
time?.formattedDate(format: dateFormatString)
|
||||
?? "unknown.age".localized
|
||||
?? "Unknown Age".localized
|
||||
)
|
||||
})
|
||||
])
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ struct NodeDetail: View {
|
|||
Spacer()
|
||||
|
||||
if dateFormatRelative, let text = Self.relativeFormatter.string(for: lastHeard) {
|
||||
if lastHeard.formatted() != "unknown.age".localized {
|
||||
if lastHeard.formatted() != "Unknown Age".localized {
|
||||
Text(text)
|
||||
.textSelection(.enabled)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ struct NodeListItem: View {
|
|||
if node.lastHeard?.timeIntervalSince1970 ?? 0 > 0 && node.lastHeard! < Calendar.current.date(byAdding: .year, value: 1, to: Date())! {
|
||||
IconAndText(systemName: node.isOnline ? "checkmark.circle.fill" : "moon.circle.fill",
|
||||
imageColor: node.isOnline ? .green : .orange,
|
||||
text: node.lastHeard?.formatted() ?? "unknown.age".localized)
|
||||
text: node.lastHeard?.formatted() ?? "Unknown Age".localized)
|
||||
}
|
||||
let role = DeviceRoles(rawValue: Int(node.user?.role ?? 0))
|
||||
IconAndText(systemName: role?.systemName ?? "figure",
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ struct PaxCounterLog: View {
|
|||
Text(components)
|
||||
}
|
||||
TableColumn("Timestamp") { pc in
|
||||
Text(pc.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(pc.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
}
|
||||
.width(min: 180)
|
||||
}
|
||||
|
|
@ -149,7 +149,7 @@ struct PaxCounterLog: View {
|
|||
let components = (now..<later).formatted(.components(style: .condensedAbbreviated))
|
||||
Text(components)
|
||||
.font(.caption)
|
||||
Text(pc.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(pc.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
.font(.caption)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ struct PositionLog: View {
|
|||
Text("\(String(format: "%.2f", position.snr)) dB")
|
||||
}
|
||||
TableColumn("Time Stamp") { position in
|
||||
Text(position.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(position.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
}
|
||||
.width(min: 180)
|
||||
}
|
||||
|
|
@ -105,7 +105,7 @@ struct PositionLog: View {
|
|||
.font(.caption2)
|
||||
Text(altitude.formatted())
|
||||
.font(.caption2)
|
||||
Text(mappin.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(mappin.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
.font(.caption2)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ struct PowerMetricsLog: View {
|
|||
Table(powerMetrics, selection: $selection, sortOrder: $sortOrder) {
|
||||
TableColumn("Timestamp") { m in
|
||||
HStack {
|
||||
Text(m.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(m.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
Spacer()
|
||||
HStack {
|
||||
VStack {
|
||||
|
|
@ -213,7 +213,7 @@ struct PowerMetricsLog: View {
|
|||
}
|
||||
.width(min: 75)
|
||||
TableColumn("Timestamp") { dm in
|
||||
Text(dm.time?.formattedDate(format: dateFormatString) ?? "unknown.age".localized)
|
||||
Text(dm.time?.formattedDate(format: dateFormatString) ?? "Unknown Age".localized)
|
||||
}
|
||||
.width(min: 180)
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ struct AppLog: View {
|
|||
|
||||
if idiom == .phone {
|
||||
Table(logs, selection: $selection, sortOrder: $sortOrder) {
|
||||
TableColumn("log.message", value: \.composedMessage) { value in
|
||||
TableColumn("Message", value: \.composedMessage) { value in
|
||||
Text(value.composedMessage)
|
||||
.foregroundStyle(value.level.color)
|
||||
.font(.caption)
|
||||
|
|
@ -86,7 +86,7 @@ struct AppLog: View {
|
|||
.width(min: 85, max: 110)
|
||||
TableColumn("log.category", value: \.category)
|
||||
.width(min: 80, max: 130)
|
||||
TableColumn("log.message", value: \.composedMessage) { value in
|
||||
TableColumn("Message", value: \.composedMessage) { value in
|
||||
Text(value.composedMessage)
|
||||
.foregroundStyle(value.level.color)
|
||||
.font(.body)
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ struct DisplayConfig: View {
|
|||
}
|
||||
}
|
||||
|
||||
.navigationTitle("display.config")
|
||||
.navigationTitle("Display Config")
|
||||
.navigationBarItems(
|
||||
trailing: ZStack {
|
||||
ConnectedDevice(
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ struct PaxCounterConfig: View {
|
|||
Section {
|
||||
Toggle(isOn: $enabled) {
|
||||
Label("Enabled", systemImage: "figure.walk.motion")
|
||||
Text("config.module.paxcounter.enabled.description")
|
||||
Text("When enabled the PAX Counter module counts the number of people passing by using WiFi and Bluetooth. Both WiFI and Bluetooth must be disabled for PAX counter to work.")
|
||||
}
|
||||
.toggleStyle(SwitchToggleStyle(tint: .accentColor))
|
||||
.listRowSeparator(.visible)
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ struct PowerConfig: View {
|
|||
}
|
||||
.toggleStyle(SwitchToggleStyle(tint: .accentColor))
|
||||
if shutdownOnPowerLoss {
|
||||
Picker("config.power.shutdown.after.secs", selection: $shutdownAfterSecs) {
|
||||
Picker("After", selection: $shutdownAfterSecs) {
|
||||
ForEach(PowerIntervals.allCases) { at in
|
||||
Text(at.description)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ struct LogDetail: View {
|
|||
|
||||
/// message
|
||||
Label {
|
||||
Text("log.message".localized + ":")
|
||||
Text("Message".localized + ":")
|
||||
.font(idiom == .phone ? .caption : .title)
|
||||
.frame(width: idiom == .phone ? 115 : 190, alignment: .trailing)
|
||||
Text(log.composedMessage)
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ struct Settings: View {
|
|||
Section("device.configuration") {
|
||||
NavigationLink(value: SettingsNavigationState.user) {
|
||||
Label {
|
||||
Text("user")
|
||||
Text("User")
|
||||
} icon: {
|
||||
Image(systemName: "person.crop.rectangle.fill")
|
||||
}
|
||||
|
|
@ -229,7 +229,7 @@ struct Settings: View {
|
|||
if isModuleSupported(.paxcounterConfig) {
|
||||
NavigationLink(value: SettingsNavigationState.paxCounter) {
|
||||
Label {
|
||||
Text("config.module.paxcounter.settings")
|
||||
Text("PAX Counter")
|
||||
} icon: {
|
||||
Image(systemName: "figure.walk.motion")
|
||||
}
|
||||
|
|
@ -239,7 +239,7 @@ struct Settings: View {
|
|||
if isModuleSupported(.audioConfig) {
|
||||
NavigationLink(value: SettingsNavigationState.ringtone) {
|
||||
Label {
|
||||
Text("ringtone")
|
||||
Text("Ringtone")
|
||||
} icon: {
|
||||
Image(systemName: "music.note.list")
|
||||
}
|
||||
|
|
@ -249,7 +249,7 @@ struct Settings: View {
|
|||
if isModuleSupported(.serialConfig) {
|
||||
NavigationLink(value: SettingsNavigationState.serial) {
|
||||
Label {
|
||||
Text("serial")
|
||||
Text("Serial")
|
||||
} icon: {
|
||||
Image(systemName: "terminal")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue