Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions MC1/Resources/Generated/L10n.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2596,7 +2596,7 @@ public enum L10n {
/// Location: RepeaterSettingsView.swift - Firmware label
public static let firmware = L10n.tr("RemoteNodes", "remoteNodes.settings.firmware", fallback: "Firmware")
/// Location: RepeaterSettingsViewModel.swift - Flood interval validation error
public static let floodIntervalValidation = L10n.tr("RemoteNodes", "remoteNodes.settings.floodIntervalValidation", fallback: "Accepts 3-48 hours")
public static let floodIntervalValidation = L10n.tr("RemoteNodes", "remoteNodes.settings.floodIntervalValidation", fallback: "Accepts 0 (off) or 3-168 hours")
/// Location: RepeaterSettingsViewModel.swift - Flood max hops validation error
public static let floodMaxValidation = L10n.tr("RemoteNodes", "remoteNodes.settings.floodMaxValidation", fallback: "Accepts 0-64 hops")
/// Location: RepeaterSettingsView.swift - Frequency label
Expand Down Expand Up @@ -2627,8 +2627,8 @@ public enum L10n {
public static let min = L10n.tr("RemoteNodes", "remoteNodes.settings.min", fallback: "min")
/// Location: RepeaterSettingsView.swift - New password placeholder
public static let newPassword = L10n.tr("RemoteNodes", "remoteNodes.settings.newPassword", fallback: "New Password")
/// Location: RepeaterSettingsViewModel.swift - No service error
public static let noService = L10n.tr("RemoteNodes", "remoteNodes.settings.noService", fallback: "Repeater service not available")
/// Location: NodeSettingsHelper.swift - No service error
public static let noService = L10n.tr("RemoteNodes", "remoteNodes.settings.noService", fallback: "Service not available")
/// Location: RepeaterSettingsViewModel.swift - Not connected error
public static let notConnected = L10n.tr("RemoteNodes", "remoteNodes.settings.notConnected", fallback: "Not connected to repeater")
/// Location: RepeaterSettingsView.swift - OK button
Expand Down Expand Up @@ -2809,6 +2809,8 @@ public enum L10n {
public static let packetsSent = L10n.tr("RemoteNodes", "remoteNodes.status.packetsSent", fallback: "Packets Sent")
/// Location: RepeaterStatusView.swift - Receive errors label
public static let receiveErrors = L10n.tr("RemoteNodes", "remoteNodes.status.receiveErrors", fallback: "Packet Errors Received")
/// Location: RepeaterStatusView.swift, RoomStatusView.swift - Refresh button accessibility label
public static let refresh = L10n.tr("RemoteNodes", "remoteNodes.status.refresh", fallback: "Refresh")
/// Location: RepeaterStatusViewModel.swift - Request timed out
public static let requestTimedOut = L10n.tr("RemoteNodes", "remoteNodes.status.requestTimedOut", fallback: "Request timed out")
/// Location: RepeaterStatusView.swift - Seconds ago format
Expand Down
74 changes: 70 additions & 4 deletions MC1/Resources/Localization/de.lproj/RemoteNodes.strings
Original file line number Diff line number Diff line change
Expand Up @@ -301,14 +301,14 @@
/* Location: RepeaterSettingsViewModel.swift - Timeout error */
"remoteNodes.settings.timeout" = "Befehl-Zeitüberschreitung";

/* Location: RepeaterSettingsViewModel.swift - No service error */
"remoteNodes.settings.noService" = "Repeater-Dienst nicht verfügbar";
/* Location: NodeSettingsHelper.swift - No service error */
"remoteNodes.settings.noService" = "Dienst nicht verfügbar";

/* Location: RepeaterSettingsViewModel.swift - Advert interval validation error */
"remoteNodes.settings.advertIntervalValidation" = "Akzeptiert 0 (deaktiviert) oder 60-240 Min";

/* Location: RepeaterSettingsViewModel.swift - Flood interval validation error */
"remoteNodes.settings.floodIntervalValidation" = "Akzeptiert 3-48 Stunden";
"remoteNodes.settings.floodIntervalValidation" = "Akzeptiert 0 (aus) oder 3–168 Stunden";

/* Location: RepeaterSettingsViewModel.swift - Flood max hops validation error */
"remoteNodes.settings.floodMaxValidation" = "Akzeptiert 0-64 Sprünge";
Expand Down Expand Up @@ -484,6 +484,9 @@
/* Location: RepeaterStatusView.swift - Battery curve section footer */
"remoteNodes.status.batteryCurveFooter" = "Spannungs-Prozent-Zuordnung zur Schätzung des Batteriestands.";

/* Location: RepeaterStatusView.swift, RoomStatusView.swift - Refresh button accessibility label */
"remoteNodes.status.refresh" = "Aktualisieren";

// MARK: - History

/* Location: RepeaterStatusViewModel.swift - Delta timestamp (minutes ago) */
Expand Down Expand Up @@ -583,7 +586,7 @@
"remoteNodes.history.neighborsSection" = "Neighbors";

/* Location: TelemetryHistoryOverviewView.swift - Purpose: Empty state when no snapshots exist */
"remoteNodes.history.noSnapshotsMessage" = "Connect to this repeater at least once to see history.";
"remoteNodes.history.noSnapshotsMessage" = "Connect to this node at least once to see history.";

/* Location: TelemetryHistoryOverviewView.swift - Purpose: Empty state when section data not captured */
"remoteNodes.history.sectionNotCaptured" = "This data is captured when you view the %@ section during a live telemetry session.";
Expand Down Expand Up @@ -661,6 +664,69 @@
/* Location: RoomMessageBubble.swift - Accessibility label for delivered message status */
"remoteNodes.room.message.status.deliveredLabel" = "Nachricht zugestellt";

// MARK: - Room Status

/* Location: RoomStatusView.swift - Navigation title */
"remoteNodes.roomStatus.title" = "Room Status";

/* Location: RoomStatusView.swift - Posts received label */
"remoteNodes.roomStatus.postsReceived" = "Posts Received";

/* Location: RoomStatusView.swift - Posts pushed label */
"remoteNodes.roomStatus.postsPushed" = "Posts Pushed";

// MARK: - Room Settings

/* Location: RoomSettingsView.swift - Navigation title */
"remoteNodes.roomSettings.title" = "Room Settings";

/* Location: RoomSettingsView.swift - Room settings section header */
"remoteNodes.roomSettings.roomSettingsSection" = "Room Settings";

/* Location: RoomSettingsView.swift - Room settings section footer */
"remoteNodes.roomSettings.roomSettingsFooter" = "Guest access, advertisement intervals, and flood hops.";

/* Location: RoomSettingsView.swift - Guest password label */
"remoteNodes.roomSettings.guestPassword" = "Guest Password";

/* Location: RoomSettingsView.swift - Allow read-only toggle label */
"remoteNodes.roomSettings.allowReadOnly" = "Allow Read-Only";

/* Location: RoomSettingsView.swift - Allow read-only footer */
"remoteNodes.roomSettings.allowReadOnlyFooter" = "Allow users without a password to connect in read-only mode.";

/* Location: RoomSettingsView.swift - Apply room settings button */
"remoteNodes.roomSettings.applyRoomSettings" = "Apply Room Settings";

/* Location: RoomSettingsView.swift - Identity section footer */
"remoteNodes.roomSettings.identityFooter" = "Room name and GPS coordinates for map display.";

/* Location: RoomSettingsView.swift - Reboot confirmation title */
"remoteNodes.roomSettings.rebootConfirmTitle" = "Reboot Room?";

/* Location: RoomSettingsView.swift - Reboot confirmation message */
"remoteNodes.roomSettings.rebootMessage" = "The room will restart and be temporarily unavailable.";

/* Location: RoomSettingsView.swift - Radio restart warning */
"remoteNodes.roomSettings.radioRestartWarning" = "Applying these changes will restart the room";

/* Location: RoomSettingsView.swift - No service error */
"remoteNodes.roomSettings.noService" = "Room service not available";

/* Location: RoomSettingsView.swift - Not connected error */
"remoteNodes.roomSettings.notConnected" = "Not connected to room";

/* Location: RoomSettingsView.swift - Clock ahead error */
"remoteNodes.roomSettings.clockAheadError" = "Room clock is ahead of phone time. If it's too far forward, reboot the room then sync time again.";

// MARK: - Room Info Sheet (additions)

/* Location: RoomInfoSheet.swift - Telemetry button */
"remoteNodes.room.telemetry" = "Telemetry";

/* Location: RoomInfoSheet.swift - Management button */
"remoteNodes.room.management" = "Management";

// MARK: - Shared

/* Location: Multiple files - Cancel button */
Expand Down
74 changes: 70 additions & 4 deletions MC1/Resources/Localization/en.lproj/RemoteNodes.strings
Original file line number Diff line number Diff line change
Expand Up @@ -301,14 +301,14 @@
/* Location: RepeaterSettingsViewModel.swift - Timeout error */
"remoteNodes.settings.timeout" = "Command timed out";

/* Location: RepeaterSettingsViewModel.swift - No service error */
"remoteNodes.settings.noService" = "Repeater service not available";
/* Location: NodeSettingsHelper.swift - No service error */
"remoteNodes.settings.noService" = "Service not available";

/* Location: RepeaterSettingsViewModel.swift - Advert interval validation error */
"remoteNodes.settings.advertIntervalValidation" = "Accepts 0 (disabled) or 60-240 min";

/* Location: RepeaterSettingsViewModel.swift - Flood interval validation error */
"remoteNodes.settings.floodIntervalValidation" = "Accepts 3-48 hours";
"remoteNodes.settings.floodIntervalValidation" = "Accepts 0 (off) or 3-168 hours";

/* Location: RepeaterSettingsViewModel.swift - Flood max hops validation error */
"remoteNodes.settings.floodMaxValidation" = "Accepts 0-64 hops";
Expand Down Expand Up @@ -484,6 +484,9 @@
/* Location: RepeaterStatusView.swift - Battery curve section footer */
"remoteNodes.status.batteryCurveFooter" = "Voltage-to-percentage mapping used for battery level estimation.";

/* Location: RepeaterStatusView.swift, RoomStatusView.swift - Refresh button accessibility label */
"remoteNodes.status.refresh" = "Refresh";

// MARK: - History

/* Location: RepeaterStatusViewModel.swift - Delta timestamp (minutes ago) */
Expand Down Expand Up @@ -583,7 +586,7 @@
"remoteNodes.history.neighborsSection" = "Neighbors";

/* Location: TelemetryHistoryOverviewView.swift - Purpose: Empty state when no snapshots exist */
"remoteNodes.history.noSnapshotsMessage" = "Connect to this repeater at least once to see history.";
"remoteNodes.history.noSnapshotsMessage" = "Connect to this node at least once to see history.";

/* Location: TelemetryHistoryOverviewView.swift - Purpose: Empty state when section data not captured */
"remoteNodes.history.sectionNotCaptured" = "This data is captured when you view the %@ section during a live telemetry session.";
Expand Down Expand Up @@ -661,6 +664,69 @@
/* Location: RoomMessageBubble.swift - Accessibility label for delivered message status */
"remoteNodes.room.message.status.deliveredLabel" = "Message delivered";

// MARK: - Room Status

/* Location: RoomStatusView.swift - Navigation title */
"remoteNodes.roomStatus.title" = "Room Status";

/* Location: RoomStatusView.swift - Posts received label */
"remoteNodes.roomStatus.postsReceived" = "Posts Received";

/* Location: RoomStatusView.swift - Posts pushed label */
"remoteNodes.roomStatus.postsPushed" = "Posts Pushed";

// MARK: - Room Settings

/* Location: RoomSettingsView.swift - Navigation title */
"remoteNodes.roomSettings.title" = "Room Settings";

/* Location: RoomSettingsView.swift - Room settings section header */
"remoteNodes.roomSettings.roomSettingsSection" = "Room Settings";

/* Location: RoomSettingsView.swift - Room settings section footer */
"remoteNodes.roomSettings.roomSettingsFooter" = "Guest access, advertisement intervals, and flood hops.";

/* Location: RoomSettingsView.swift - Guest password label */
"remoteNodes.roomSettings.guestPassword" = "Guest Password";

/* Location: RoomSettingsView.swift - Allow read-only toggle label */
"remoteNodes.roomSettings.allowReadOnly" = "Allow Read-Only";

/* Location: RoomSettingsView.swift - Allow read-only footer */
"remoteNodes.roomSettings.allowReadOnlyFooter" = "Allow users without a password to connect in read-only mode.";

/* Location: RoomSettingsView.swift - Apply room settings button */
"remoteNodes.roomSettings.applyRoomSettings" = "Apply Room Settings";

/* Location: RoomSettingsView.swift - Identity section footer */
"remoteNodes.roomSettings.identityFooter" = "Room name and GPS coordinates for map display.";

/* Location: RoomSettingsView.swift - Reboot confirmation title */
"remoteNodes.roomSettings.rebootConfirmTitle" = "Reboot Room?";

/* Location: RoomSettingsView.swift - Reboot confirmation message */
"remoteNodes.roomSettings.rebootMessage" = "The room will restart and be temporarily unavailable.";

/* Location: RoomSettingsView.swift - Radio restart warning */
"remoteNodes.roomSettings.radioRestartWarning" = "Applying these changes will restart the room";

/* Location: RoomSettingsView.swift - No service error */
"remoteNodes.roomSettings.noService" = "Room service not available";

/* Location: RoomSettingsView.swift - Not connected error */
"remoteNodes.roomSettings.notConnected" = "Not connected to room";

/* Location: RoomSettingsView.swift - Clock ahead error */
"remoteNodes.roomSettings.clockAheadError" = "Room clock is ahead of phone time. If it's too far forward, reboot the room then sync time again.";

// MARK: - Room Info Sheet (additions)

/* Location: RoomInfoSheet.swift - Telemetry button */
"remoteNodes.room.telemetry" = "Telemetry";

/* Location: RoomInfoSheet.swift - Management button */
"remoteNodes.room.management" = "Management";

// MARK: - Shared

/* Location: Multiple files - Cancel button */
Expand Down
74 changes: 70 additions & 4 deletions MC1/Resources/Localization/es.lproj/RemoteNodes.strings
Original file line number Diff line number Diff line change
Expand Up @@ -301,14 +301,14 @@
/* Location: RepeaterSettingsViewModel.swift - Timeout error */
"remoteNodes.settings.timeout" = "Tiempo de espera del comando agotado";

/* Location: RepeaterSettingsViewModel.swift - No service error */
"remoteNodes.settings.noService" = "Servicio de repetidor no disponible";
/* Location: NodeSettingsHelper.swift - No service error */
"remoteNodes.settings.noService" = "Servicio no disponible";

/* Location: RepeaterSettingsViewModel.swift - Advert interval validation error */
"remoteNodes.settings.advertIntervalValidation" = "Acepta 0 (desactivado) o 60-240 min";

/* Location: RepeaterSettingsViewModel.swift - Flood interval validation error */
"remoteNodes.settings.floodIntervalValidation" = "Acepta 3-48 horas";
"remoteNodes.settings.floodIntervalValidation" = "Acepta 0 (desactivado) o 3–168 horas";

/* Location: RepeaterSettingsViewModel.swift - Flood max hops validation error */
"remoteNodes.settings.floodMaxValidation" = "Acepta 0-64 saltos";
Expand Down Expand Up @@ -484,6 +484,9 @@
/* Location: RepeaterStatusView.swift - Battery curve section footer */
"remoteNodes.status.batteryCurveFooter" = "Mapeo de voltaje a porcentaje para estimar el nivel de batería.";

/* Location: RepeaterStatusView.swift, RoomStatusView.swift - Refresh button accessibility label */
"remoteNodes.status.refresh" = "Actualizar";

// MARK: - History

/* Location: RepeaterStatusViewModel.swift - Delta timestamp (minutes ago) */
Expand Down Expand Up @@ -583,7 +586,7 @@
"remoteNodes.history.neighborsSection" = "Neighbors";

/* Location: TelemetryHistoryOverviewView.swift - Purpose: Empty state when no snapshots exist */
"remoteNodes.history.noSnapshotsMessage" = "Connect to this repeater at least once to see history.";
"remoteNodes.history.noSnapshotsMessage" = "Connect to this node at least once to see history.";

/* Location: TelemetryHistoryOverviewView.swift - Purpose: Empty state when section data not captured */
"remoteNodes.history.sectionNotCaptured" = "This data is captured when you view the %@ section during a live telemetry session.";
Expand Down Expand Up @@ -661,6 +664,69 @@
/* Location: RoomMessageBubble.swift - Accessibility label for delivered message status */
"remoteNodes.room.message.status.deliveredLabel" = "Mensaje entregado";

// MARK: - Room Status

/* Location: RoomStatusView.swift - Navigation title */
"remoteNodes.roomStatus.title" = "Room Status";

/* Location: RoomStatusView.swift - Posts received label */
"remoteNodes.roomStatus.postsReceived" = "Posts Received";

/* Location: RoomStatusView.swift - Posts pushed label */
"remoteNodes.roomStatus.postsPushed" = "Posts Pushed";

// MARK: - Room Settings

/* Location: RoomSettingsView.swift - Navigation title */
"remoteNodes.roomSettings.title" = "Room Settings";

/* Location: RoomSettingsView.swift - Room settings section header */
"remoteNodes.roomSettings.roomSettingsSection" = "Room Settings";

/* Location: RoomSettingsView.swift - Room settings section footer */
"remoteNodes.roomSettings.roomSettingsFooter" = "Guest access, advertisement intervals, and flood hops.";

/* Location: RoomSettingsView.swift - Guest password label */
"remoteNodes.roomSettings.guestPassword" = "Guest Password";

/* Location: RoomSettingsView.swift - Allow read-only toggle label */
"remoteNodes.roomSettings.allowReadOnly" = "Allow Read-Only";

/* Location: RoomSettingsView.swift - Allow read-only footer */
"remoteNodes.roomSettings.allowReadOnlyFooter" = "Allow users without a password to connect in read-only mode.";

/* Location: RoomSettingsView.swift - Apply room settings button */
"remoteNodes.roomSettings.applyRoomSettings" = "Apply Room Settings";

/* Location: RoomSettingsView.swift - Identity section footer */
"remoteNodes.roomSettings.identityFooter" = "Room name and GPS coordinates for map display.";

/* Location: RoomSettingsView.swift - Reboot confirmation title */
"remoteNodes.roomSettings.rebootConfirmTitle" = "Reboot Room?";

/* Location: RoomSettingsView.swift - Reboot confirmation message */
"remoteNodes.roomSettings.rebootMessage" = "The room will restart and be temporarily unavailable.";

/* Location: RoomSettingsView.swift - Radio restart warning */
"remoteNodes.roomSettings.radioRestartWarning" = "Applying these changes will restart the room";

/* Location: RoomSettingsView.swift - No service error */
"remoteNodes.roomSettings.noService" = "Room service not available";

/* Location: RoomSettingsView.swift - Not connected error */
"remoteNodes.roomSettings.notConnected" = "Not connected to room";

/* Location: RoomSettingsView.swift - Clock ahead error */
"remoteNodes.roomSettings.clockAheadError" = "Room clock is ahead of phone time. If it's too far forward, reboot the room then sync time again.";

// MARK: - Room Info Sheet (additions)

/* Location: RoomInfoSheet.swift - Telemetry button */
"remoteNodes.room.telemetry" = "Telemetry";

/* Location: RoomInfoSheet.swift - Management button */
"remoteNodes.room.management" = "Management";

// MARK: - Shared

/* Location: Multiple files - Cancel button */
Expand Down
Loading
Loading