Files
meshcore-sar_android/lib/l10n/app_en.arb
2026-04-07 14:04:45 +02:00

2888 lines
90 KiB
Plaintext

{
"@@locale": "en",
"appTitle": "MeshCore SAR",
"@appTitle": {
"description": "The application title"
},
"messages": "Messages",
"@messages": {
"description": "Messages tab label"
},
"contacts": "Contacts",
"@contacts": {
"description": "Contacts tab label"
},
"map": "Map",
"@map": {
"description": "Map tab label"
},
"settings": "Settings",
"@settings": {
"description": "Settings screen title"
},
"connect": "Connect",
"@connect": {
"description": "Connect button label"
},
"disconnect": "Disconnect",
"@disconnect": {
"description": "Disconnect button label"
},
"noDevicesFound": "No devices found",
"@noDevicesFound": {
"description": "Text shown when no BLE devices are found"
},
"scanAgain": "Scan Again",
"@scanAgain": {
"description": "Button to restart BLE scanning"
},
"deviceNotConnected": "Device not connected",
"@deviceNotConnected": {
"description": "Error message when device is not connected"
},
"locationPermissionDenied": "Location permission denied",
"@locationPermissionDenied": {
"description": "Error when location permission is denied"
},
"locationPermissionPermanentlyDenied": "Location permission permanently denied. Please enable in Settings.",
"@locationPermissionPermanentlyDenied": {
"description": "Error when location permission is permanently denied"
},
"locationPermissionRequired": "Location permission is required for GPS tracking and team coordination. You can enable it later in Settings.",
"@locationPermissionRequired": {
"description": "Message when location permission is needed"
},
"locationServicesDisabled": "Location services are disabled. Please enable them in Settings.",
"@locationServicesDisabled": {
"description": "Error when location services are disabled"
},
"failedToGetGpsLocation": "Failed to get GPS location",
"@failedToGetGpsLocation": {
"description": "Error when GPS location cannot be obtained"
},
"failedToAdvertise": "Failed to advertise: {error}",
"@failedToAdvertise": {
"description": "Error message for failed advertisement",
"placeholders": {
"error": {
"type": "String"
}
}
},
"cancelReconnection": "Cancel reconnection",
"@cancelReconnection": {
"description": "Tooltip for cancel reconnection button"
},
"general": "General",
"@general": {
"description": "General settings section header"
},
"theme": "Theme",
"@theme": {
"description": "Theme setting label"
},
"chooseTheme": "Choose Theme",
"@chooseTheme": {
"description": "Theme selection dialog title"
},
"light": "Light",
"@light": {
"description": "Light theme option"
},
"dark": "Dark",
"@dark": {
"description": "Dark theme option"
},
"blueLightTheme": "Blue light theme",
"@blueLightTheme": {
"description": "Description for blue light theme"
},
"blueDarkTheme": "Blue dark theme",
"@blueDarkTheme": {
"description": "Description for blue dark theme"
},
"sarRed": "SAR Red",
"@sarRed": {
"description": "SAR Red theme option"
},
"alertEmergencyMode": "Alert/Emergency mode",
"@alertEmergencyMode": {
"description": "Description for SAR Red theme"
},
"sarGreen": "SAR Green",
"@sarGreen": {
"description": "SAR Green theme option"
},
"safeAllClearMode": "Safe/All Clear mode",
"@safeAllClearMode": {
"description": "Description for SAR Green theme"
},
"autoSystem": "Auto (System)",
"@autoSystem": {
"description": "Auto/System theme option"
},
"followSystemTheme": "Follow system theme",
"@followSystemTheme": {
"description": "Description for system theme"
},
"showRxTxIndicators": "Show RX/TX Indicators",
"@showRxTxIndicators": {
"description": "Setting to show RX/TX indicators"
},
"disableMap": "Disable Map",
"@disableMap": {
"description": "Setting to disable the map tab"
},
"language": "Language",
"@language": {
"description": "Language setting label"
},
"chooseLanguage": "Choose Language",
"@chooseLanguage": {
"description": "Language selection dialog title"
},
"save": "Save",
"@save": {
"description": "Save button label"
},
"cancel": "Cancel",
"@cancel": {
"description": "Cancel button label"
},
"close": "Close",
"@close": {
"description": "Close button label"
},
"about": "About",
"@about": {
"description": "About section header"
},
"appVersion": "App Version",
"@appVersion": {
"description": "App version label"
},
"aboutMeshCoreSar": "About MeshCore SAR",
"@aboutMeshCoreSar": {
"description": "About dialog title"
},
"aboutDescription": "A Search & Rescue application designed for emergency response teams. Features include:\n\n• BLE mesh networking for device-to-device communication\n• Offline maps with multiple layer options\n• Real-time team member tracking\n• SAR tactical markers (found person, fire, staging)\n• Contact management and messaging\n• GPS tracking with compass heading\n• Map tile caching for offline use",
"@aboutDescription": {
"description": "About dialog description"
},
"technologiesUsed": "Technologies Used:",
"@technologiesUsed": {
"description": "Technologies used section title"
},
"technologiesList": "• Flutter for cross-platform development\n• BLE (Bluetooth Low Energy) for mesh networking\n• OpenStreetMap for mapping\n• Provider for state management\n• SharedPreferences for local storage",
"@technologiesList": {
"description": "List of technologies used"
},
"moreInfo": "More Info",
"@moreInfo": {
"description": "More info button label"
},
"packageName": "Package Name",
"@packageName": {
"description": "Package name label"
},
"sampleData": "Sample Data",
"@sampleData": {
"description": "Sample data section header"
},
"sampleDataDescription": "Load or clear sample contacts, channel messages, and SAR markers for testing",
"@sampleDataDescription": {
"description": "Sample data section description"
},
"loadSampleData": "Load Sample Data",
"@loadSampleData": {
"description": "Load sample data button"
},
"clearAllData": "Clear All Data",
"@clearAllData": {
"description": "Clear all data button"
},
"clearAllDataConfirmTitle": "Clear All Data",
"@clearAllDataConfirmTitle": {
"description": "Clear data confirmation dialog title"
},
"clearAllDataConfirmMessage": "This will clear all contacts and SAR markers. Are you sure?",
"@clearAllDataConfirmMessage": {
"description": "Clear data confirmation message"
},
"clear": "Clear",
"@clear": {
"description": "Clear button label"
},
"loadedSampleData": "Loaded {teamCount} team members, {channelCount} channels, {sarCount} SAR markers, {messageCount} messages",
"@loadedSampleData": {
"description": "Success message after loading sample data",
"placeholders": {
"teamCount": {
"type": "int"
},
"channelCount": {
"type": "int"
},
"sarCount": {
"type": "int"
},
"messageCount": {
"type": "int"
}
}
},
"failedToLoadSampleData": "Failed to load sample data: {error}",
"@failedToLoadSampleData": {
"description": "Error message when sample data fails to load",
"placeholders": {
"error": {
"type": "String"
}
}
},
"allDataCleared": "All data cleared",
"@allDataCleared": {
"description": "Success message after clearing all data"
},
"failedToStartBackgroundTracking": "Failed to start background tracking. Check permissions and BLE connection.",
"@failedToStartBackgroundTracking": {
"description": "Error message when background tracking fails to start"
},
"locationBroadcast": "Location broadcast: {latitude}, {longitude}",
"@locationBroadcast": {
"description": "Success message for location broadcast",
"placeholders": {
"latitude": {
"type": "String"
},
"longitude": {
"type": "String"
}
}
},
"defaultPinInfo": "The default pin for devices without a screen is 123456. Trouble pairing? Forget the bluetooth device in system settings.",
"@defaultPinInfo": {
"description": "Information about default PIN for pairing"
},
"noMessagesYet": "No messages yet",
"@noMessagesYet": {
"description": "Empty state message when there are no messages"
},
"pullDownToSync": "Pull down to sync messages",
"@pullDownToSync": {
"description": "Instruction to pull down to refresh messages"
},
"deleteContact": "Delete Contact",
"@deleteContact": {
"description": "Delete contact action label"
},
"delete": "Delete",
"@delete": {
"description": "Delete button label"
},
"viewOnMap": "View on Map",
"@viewOnMap": {
"description": "Action to view contact location on map"
},
"refresh": "Refresh",
"@refresh": {
"description": "Refresh button label"
},
"resetPath": "Reset Path (Re-route)",
"@resetPath": {
"description": "Action to reset contact path for re-routing"
},
"copiedToClipboard": "{label} copied to clipboard",
"@copiedToClipboard": {
"description": "Success message when a value is copied to clipboard",
"placeholders": {
"label": {
"type": "String"
}
}
},
"pleaseEnterPassword": "Please enter a password",
"@pleaseEnterPassword": {
"description": "Validation message for empty password field"
},
"failedToSyncContacts": "Failed to sync contacts: {error}",
"@failedToSyncContacts": {
"description": "Error message when contact sync fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"loggedInSuccessfully": "Logged in successfully! Waiting for room messages...",
"@loggedInSuccessfully": {
"description": "Success message after successful room login"
},
"loginFailed": "Login failed - incorrect password",
"@loginFailed": {
"description": "Error message when room login fails"
},
"loggingIn": "Logging in to {roomName}...",
"@loggingIn": {
"description": "Status message during room login process",
"placeholders": {
"roomName": {
"type": "String"
}
}
},
"failedToSendLogin": "Failed to send login: {error}",
"@failedToSendLogin": {
"description": "Error message when login command fails to send",
"placeholders": {
"error": {
"type": "String"
}
}
},
"lowLocationAccuracy": "Low Location Accuracy",
"@lowLocationAccuracy": {
"description": "Warning title for low GPS accuracy"
},
"continue_": "Continue",
"@continue_": {
"description": "Continue button label"
},
"sendSarMarker": "Send SAR marker",
"@sendSarMarker": {
"description": "Action to send SAR marker"
},
"deleteDrawing": "Delete Drawing",
"@deleteDrawing": {
"description": "Action to delete a map drawing"
},
"drawingTools": "Drawing Tools",
"@drawingTools": {
"description": "Drawing tools section or menu title"
},
"drawLine": "Draw Line",
"@drawLine": {
"description": "Map drawing mode: line"
},
"drawLineDesc": "Draw a freehand line on the map",
"@drawLineDesc": {
"description": "Description for line drawing mode"
},
"drawRectangle": "Draw Rectangle",
"@drawRectangle": {
"description": "Map drawing mode: rectangle"
},
"drawRectangleDesc": "Draw a rectangular area on the map",
"@drawRectangleDesc": {
"description": "Description for rectangle drawing mode"
},
"measureDistance": "Measure Distance",
"@measureDistance": {
"description": "Map drawing mode: measure distance"
},
"measureDistanceDesc": "Long press two points to measure",
"@measureDistanceDesc": {
"description": "Description for distance measurement mode"
},
"clearMeasurement": "Clear Measurement",
"@clearMeasurement": {
"description": "Tooltip to clear measurement"
},
"distanceLabel": "Distance: {distance}",
"@distanceLabel": {
"description": "Label showing measured distance",
"placeholders": {
"distance": {
"type": "String"
}
}
},
"longPressForSecondPoint": "Long press for second point",
"@longPressForSecondPoint": {
"description": "Instruction when first measurement point is set"
},
"longPressToStartMeasurement": "Long press to set first point",
"@longPressToStartMeasurement": {
"description": "Instruction to start measurement"
},
"longPressToStartNewMeasurement": "Long press to start new measurement",
"@longPressToStartNewMeasurement": {
"description": "Instruction to restart measurement after completion"
},
"shareDrawings": "Share Drawings",
"@shareDrawings": {
"description": "Action to share drawings to network"
},
"clearAllDrawings": "Clear All Drawings",
"@clearAllDrawings": {
"description": "Action to clear all local drawings"
},
"completeLine": "Complete Line",
"@completeLine": {
"description": "Tooltip to complete drawing a line"
},
"broadcastDrawingsToTeam": "Broadcast {count} drawing{plural} to team",
"@broadcastDrawingsToTeam": {
"description": "Subtitle showing how many drawings will be broadcast",
"placeholders": {
"count": {
"type": "int"
},
"plural": {
"type": "String"
}
}
},
"removeAllDrawings": "Remove all {count} drawing{plural}",
"@removeAllDrawings": {
"description": "Subtitle for remove all drawings action",
"placeholders": {
"count": {
"type": "int"
},
"plural": {
"type": "String"
}
}
},
"deleteAllDrawingsConfirm": "Delete all {count} drawing{plural} from the map?",
"@deleteAllDrawingsConfirm": {
"description": "Confirmation dialog message for deleting all drawings",
"placeholders": {
"count": {
"type": "int"
},
"plural": {
"type": "String"
}
}
},
"drawing": "Drawing",
"@drawing": {
"description": "Generic drawing label"
},
"shareDrawingsCount": "Share {count} Drawing{plural}",
"@shareDrawingsCount": {
"description": "Title for share drawings dialog",
"placeholders": {
"count": {
"type": "int"
},
"plural": {
"type": "String"
}
}
},
"showReceivedDrawings": "Show Received Drawings",
"@showReceivedDrawings": {
"description": "Toggle to show/hide received drawings from other team members"
},
"showingAllDrawings": "Showing all drawings",
"@showingAllDrawings": {
"description": "Subtitle when received drawings are visible"
},
"showingOnlyYourDrawings": "Showing only your drawings",
"@showingOnlyYourDrawings": {
"description": "Subtitle when received drawings are hidden"
},
"showSarMarkers": "Show SAR Markers",
"@showSarMarkers": {
"description": "Toggle to show/hide SAR markers on map"
},
"showingSarMarkers": "Showing SAR markers",
"@showingSarMarkers": {
"description": "Subtitle when SAR markers are visible"
},
"hidingSarMarkers": "Hiding SAR markers",
"@hidingSarMarkers": {
"description": "Subtitle when SAR markers are hidden"
},
"clearAll": "Clear All",
"@clearAll": {
"description": "Clear all button label"
},
"publicChannel": "Public Channel",
"@publicChannel": {
"description": "Public channel option for sharing"
},
"broadcastToAll": "Broadcast to all nearby nodes (ephemeral)",
"@broadcastToAll": {
"description": "Description for public channel broadcast"
},
"storedPermanently": "Stored permanently in room",
"@storedPermanently": {
"description": "Description for room storage permanence"
},
"notConnectedToDevice": "Not connected to device",
"@notConnectedToDevice": {
"description": "Error message when device is not connected for direct messaging"
},
"typeYourMessage": "Type your message...",
"@typeYourMessage": {
"description": "Placeholder text for message input field"
},
"quickLocationMarker": "Quick location marker",
"@quickLocationMarker": {
"description": "Subtitle for SAR marker sheet header"
},
"markerType": "Marker Type",
"@markerType": {
"description": "Label for marker type selection section"
},
"sendTo": "Send To",
"@sendTo": {
"description": "Label for destination selection section"
},
"noDestinationsAvailable": "No destinations available.",
"@noDestinationsAvailable": {
"description": "Warning when no rooms or channels exist"
},
"selectDestination": "Select destination...",
"@selectDestination": {
"description": "Placeholder for destination dropdown"
},
"ephemeralBroadcastInfo": "Ephemeral: Broadcast over-the-air only. Not stored - nodes must be online.",
"@ephemeralBroadcastInfo": {
"description": "Information about ephemeral channel broadcasts"
},
"persistentRoomInfo": "Persistent: Stored immutably in room. Synced automatically and preserved offline.",
"@persistentRoomInfo": {
"description": "Information about persistent room storage"
},
"location": "Location",
"@location": {
"description": "Label for location section"
},
"fromMap": "From Map",
"@fromMap": {
"description": "Badge showing location is from map tap"
},
"gettingLocation": "Getting location...",
"@gettingLocation": {
"description": "Loading message while fetching GPS location"
},
"locationError": "Location Error",
"@locationError": {
"description": "Title for location error messages"
},
"retry": "Retry",
"@retry": {
"description": "Retry button label"
},
"refreshLocation": "Refresh location",
"@refreshLocation": {
"description": "Tooltip for refresh location button"
},
"accuracyMeters": "Accuracy: ±{accuracy}m",
"@accuracyMeters": {
"description": "Display of GPS accuracy in meters",
"placeholders": {
"accuracy": {
"type": "int"
}
}
},
"notesOptional": "Notes (optional)",
"@notesOptional": {
"description": "Label for optional notes field"
},
"addAdditionalInformation": "Add additional information...",
"@addAdditionalInformation": {
"description": "Placeholder for notes field"
},
"lowAccuracyWarning": "Location accuracy is ±{accuracy}m. This may not be accurate enough for SAR operations.\n\nContinue anyway?",
"@lowAccuracyWarning": {
"description": "Warning dialog content for low GPS accuracy",
"placeholders": {
"accuracy": {
"type": "int"
}
}
},
"loginToRoom": "Login to Room",
"@loginToRoom": {
"description": "Title for room login dialog"
},
"enterPasswordInfo": "Enter the password to access this room. The password will be saved for future use.",
"@enterPasswordInfo": {
"description": "Information about room password"
},
"password": "Password",
"@password": {
"description": "Password field label"
},
"enterRoomPassword": "Enter room password",
"@enterRoomPassword": {
"description": "Password field hint"
},
"loggingInDots": "Logging in...",
"@loggingInDots": {
"description": "Button text while logging in"
},
"login": "Login",
"@login": {
"description": "Login button label"
},
"failedToAddRoom": "Failed to add room to device: {error}\n\nThe room may not have advertised yet.\nTry waiting for the room to broadcast.",
"@failedToAddRoom": {
"description": "Error message when adding room fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"direct": "Direct",
"@direct": {
"description": "Direct routing indicator"
},
"flood": "Flood",
"@flood": {
"description": "Flood routing indicator"
},
"autoSend": "Auto Send",
"@autoSend": {
"description": "Auto send mode - uses current path"
},
"autoSendDescription": "Send via current path.",
"@autoSendDescription": {
"description": "Description for auto send mode"
},
"sendDirect": "Send Direct",
"@sendDirect": {
"description": "Send direct mode - zero-hop to contact"
},
"sendDirectDescription": "Send directly to this contact.",
"@sendDirectDescription": {
"description": "Description for send direct mode"
},
"sendFlood": "Send Flood",
"@sendFlood": {
"description": "Send flood mode - via all repeaters"
},
"sendFloodDescription": "Send via all repeaters.",
"@sendFloodDescription": {
"description": "Description for send flood mode"
},
"loggedIn": "Logged In",
"@loggedIn": {
"description": "Logged in status badge"
},
"noGpsData": "No GPS data",
"@noGpsData": {
"description": "Message when GPS data is not available"
},
"distance": "Distance",
"@distance": {
"description": "Distance label"
},
"directPingTimeout": "Direct ping timeout - retrying {name} with flooding...",
"@directPingTimeout": {
"description": "Warning when direct ping times out",
"placeholders": {
"name": {
"type": "String"
}
}
},
"pingFailed": "Ping failed to {name} - no response received",
"@pingFailed": {
"description": "Error message when ping fails",
"placeholders": {
"name": {
"type": "String"
}
}
},
"deleteContactConfirmation": "Are you sure you want to delete \"{name}\"?\n\nThis will remove the contact from both the app and the companion radio device.",
"@deleteContactConfirmation": {
"description": "Confirmation message for deleting contact",
"placeholders": {
"name": {
"type": "String"
}
}
},
"failedToRemoveContact": "Failed to remove contact: {error}",
"@failedToRemoveContact": {
"description": "Error message when contact removal fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"type": "Type",
"@type": {
"description": "Contact type label"
},
"publicKey": "Public Key",
"@publicKey": {
"description": "Public key label"
},
"lastSeen": "Last Seen",
"@lastSeen": {
"description": "Last seen label"
},
"yes": "Yes",
"@yes": {
"description": "Yes answer"
},
"no": "No",
"@no": {
"description": "No answer"
},
"permissions": "Permissions",
"@permissions": {
"description": "Permissions label"
},
"telemetry": "Telemetry",
"@telemetry": {
"description": "Telemetry section header"
},
"voltage": "Voltage",
"@voltage": {
"description": "Voltage label"
},
"battery": "Battery",
"@battery": {
"description": "Battery label"
},
"temperature": "Temperature",
"@temperature": {
"description": "Temperature label"
},
"humidity": "Humidity",
"@humidity": {
"description": "Humidity label"
},
"pressure": "Pressure",
"@pressure": {
"description": "Pressure label"
},
"gpsTelemetry": "GPS (Telemetry)",
"@gpsTelemetry": {
"description": "GPS from telemetry label"
},
"reLoginToRoom": "Re-Login to Room",
"@reLoginToRoom": {
"description": "Button to re-login to room"
},
"heading": "Heading",
"@heading": {
"description": "Compass heading label"
},
"elevation": "Elevation",
"@elevation": {
"description": "Elevation/altitude label"
},
"accuracy": "Accuracy",
"@accuracy": {
"description": "GPS accuracy label"
},
"bearing": "Bearing",
"@bearing": {
"description": "Bearing label in compass"
},
"direction": "Direction",
"@direction": {
"description": "Direction label in compass"
},
"filterMarkers": "Filter Markers",
"@filterMarkers": {
"description": "Title for filter markers dialog"
},
"filterMarkersTooltip": "Filter markers",
"@filterMarkersTooltip": {
"description": "Tooltip for filter button"
},
"contactsFilter": "Contacts",
"@contactsFilter": {
"description": "Filter option for contacts"
},
"repeatersFilter": "Repeaters",
"@repeatersFilter": {
"description": "Filter option for repeaters"
},
"sarMarkers": "SAR Markers",
"@sarMarkers": {
"description": "SAR markers section header"
},
"foundPerson": "Found Person",
"@foundPerson": {
"description": "Found person SAR marker type"
},
"fire": "Fire",
"@fire": {
"description": "Fire SAR marker type"
},
"stagingArea": "Staging Area",
"@stagingArea": {
"description": "Staging area SAR marker type"
},
"showAll": "Show All",
"@showAll": {
"description": "Button to show all filters"
},
"locationUnavailable": "Location unavailable",
"@locationUnavailable": {
"description": "Message when GPS location is unavailable"
},
"ahead": "ahead",
"@ahead": {
"description": "Relative bearing direction - ahead"
},
"degreesRight": "{degrees}° right",
"@degreesRight": {
"description": "Relative bearing direction - right",
"placeholders": {
"degrees": {
"type": "int"
}
}
},
"degreesLeft": "{degrees}° left",
"@degreesLeft": {
"description": "Relative bearing direction - left",
"placeholders": {
"degrees": {
"type": "int"
}
}
},
"latLonFormat": "Lat: {latitude} Lon: {longitude}",
"@latLonFormat": {
"description": "Latitude and longitude display format",
"placeholders": {
"latitude": {
"type": "String"
},
"longitude": {
"type": "String"
}
}
},
"noContactsYet": "No contacts yet",
"@noContactsYet": {
"description": "Empty state message when there are no contacts"
},
"connectToDeviceToLoadContacts": "Connect to a device to load contacts",
"@connectToDeviceToLoadContacts": {
"description": "Instruction to connect device to load contacts"
},
"teamMembers": "Team Members",
"@teamMembers": {
"description": "Section header for team members (chat contacts)"
},
"repeaters": "Repeaters",
"@repeaters": {
"description": "Section header for repeater nodes"
},
"rooms": "Rooms",
"@rooms": {
"description": "Section header for rooms"
},
"channels": "Channels",
"@channels": {
"description": "Section header for broadcast channels"
},
"selectMapLayer": "Select Map Layer",
"@selectMapLayer": {
"description": "Title for map layer selection dialog"
},
"openStreetMap": "OpenStreetMap",
"@openStreetMap": {
"description": "OpenStreetMap layer name"
},
"openTopoMap": "OpenTopoMap",
"@openTopoMap": {
"description": "OpenTopoMap layer name"
},
"esriSatellite": "ESRI Satellite",
"@esriSatellite": {
"description": "ESRI Satellite imagery layer name"
},
"googleHybrid": "Google Hybrid",
"@googleHybrid": {
"description": "Google Hybrid layer name (satellite + labels)"
},
"googleRoadmap": "Google Roadmap",
"@googleRoadmap": {
"description": "Google Roadmap layer name (street map)"
},
"googleTerrain": "Google Terrain",
"@googleTerrain": {
"description": "Google Terrain layer name (topographic)"
},
"dragToPosition": "Drag to Position",
"@dragToPosition": {
"description": "Label when dragging a pin on map"
},
"createSarMarker": "Create SAR Marker",
"@createSarMarker": {
"description": "Label for creating SAR marker from pin"
},
"compass": "Compass",
"@compass": {
"description": "Compass title in detailed compass dialog"
},
"navigationAndContacts": "Navigation & Contacts",
"@navigationAndContacts": {
"description": "Subtitle for compass dialog"
},
"sarAlert": "SAR ALERT",
"@sarAlert": {
"description": "Label for SAR alert badge on messages"
},
"textCopiedToClipboard": "Text copied to clipboard",
"@textCopiedToClipboard": {
"description": "Success message when text is copied"
},
"cannotReplySenderMissing": "Cannot reply: sender information missing",
"@cannotReplySenderMissing": {
"description": "Error when sender info is missing for reply"
},
"cannotReplyContactNotFound": "Cannot reply: contact not found",
"@cannotReplyContactNotFound": {
"description": "Error when contact not found for reply"
},
"copyText": "Copy text",
"@copyText": {
"description": "Option to copy message text to clipboard"
},
"saveAsTemplate": "Save as Template",
"@saveAsTemplate": {
"description": "Option to save SAR message as a reusable template"
},
"templateSaved": "Template saved successfully",
"@templateSaved": {
"description": "Success message when SAR template is saved"
},
"templateAlreadyExists": "Template with this emoji already exists",
"@templateAlreadyExists": {
"description": "Error message when trying to save duplicate template"
},
"deleteMessage": "Delete message",
"@deleteMessage": {
"description": "Dialog title for deleting a message"
},
"deleteMessageConfirmation": "Are you sure you want to delete this message?",
"@deleteMessageConfirmation": {
"description": "Confirmation text for message deletion"
},
"shareLocation": "Share location",
"@shareLocation": {
"description": "Option to share SAR marker location"
},
"shareLocationText": "{markerInfo}\n\nCoordinates: {lat}, {lon}\n\nGoogle Maps: {url}",
"@shareLocationText": {
"description": "Formatted text for sharing SAR marker location",
"placeholders": {
"markerInfo": {
"type": "String"
},
"lat": {
"type": "String"
},
"lon": {
"type": "String"
},
"url": {
"type": "String"
}
}
},
"sarLocationShare": "SAR Location",
"@sarLocationShare": {
"description": "Subject line when sharing SAR marker location"
},
"justNow": "Just now",
"@justNow": {
"description": "Time indicator for very recent activity"
},
"minutesAgo": "{minutes}m ago",
"@minutesAgo": {
"description": "Time indicator for minutes ago",
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"hoursAgo": "{hours}h ago",
"@hoursAgo": {
"description": "Time indicator for hours ago",
"placeholders": {
"hours": {
"type": "int"
}
}
},
"daysAgo": "{days}d ago",
"@daysAgo": {
"description": "Time indicator for days ago",
"placeholders": {
"days": {
"type": "int"
}
}
},
"secondsAgo": "{seconds}s ago",
"@secondsAgo": {
"description": "Time indicator for seconds ago",
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"sending": "Sending...",
"@sending": {
"description": "Delivery status: sending"
},
"sent": "Sent",
"@sent": {
"description": "Delivery status: sent"
},
"delivered": "Delivered",
"@delivered": {
"description": "Delivery status: delivered"
},
"deliveredWithTime": "Delivered ({time}ms)",
"@deliveredWithTime": {
"description": "Delivery status with round-trip time",
"placeholders": {
"time": {
"type": "int"
}
}
},
"failed": "Failed",
"@failed": {
"description": "Delivery status: failed"
},
"broadcast": "Broadcast",
"@broadcast": {
"description": "Delivery status for channel messages (no echoes yet)"
},
"deliveredToContacts": "Delivered to {delivered}/{total} contacts",
"@deliveredToContacts": {
"description": "Grouped message delivery count",
"placeholders": {
"delivered": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"allDelivered": "All delivered",
"@allDelivered": {
"description": "Status when all recipients received the message"
},
"recipientDetails": "Recipient Details",
"@recipientDetails": {
"description": "Header for expandable recipient list"
},
"pending": "Pending",
"@pending": {
"description": "Delivery status: pending/waiting"
},
"sarMarkerFoundPerson": "Found Person",
"@sarMarkerFoundPerson": {
"description": "SAR marker type: found person"
},
"sarMarkerFire": "Fire Location",
"@sarMarkerFire": {
"description": "SAR marker type: fire"
},
"sarMarkerStagingArea": "Staging Area",
"@sarMarkerStagingArea": {
"description": "SAR marker type: staging area"
},
"sarMarkerObject": "Object Found",
"@sarMarkerObject": {
"description": "SAR marker type: object"
},
"from": "From",
"@from": {
"description": "Sender label in notifications"
},
"coordinates": "Coordinates",
"@coordinates": {
"description": "Coordinates label"
},
"tapToViewOnMap": "Tap to view on map",
"@tapToViewOnMap": {
"description": "Notification action text"
},
"radioSettings": "Radio Settings",
"@radioSettings": {
"description": "Section title for radio settings"
},
"frequencyMHz": "Frequency (MHz)",
"@frequencyMHz": {
"description": "Label for radio frequency field"
},
"bandwidth": "Bandwidth",
"@bandwidth": {
"description": "Label for bandwidth dropdown"
},
"spreadingFactor": "Spreading Factor",
"@spreadingFactor": {
"description": "Label for spreading factor dropdown"
},
"codingRate": "Coding Rate",
"@codingRate": {
"description": "Label for coding rate dropdown"
},
"txPowerDbm": "TX Power (dBm)",
"@txPowerDbm": {
"description": "Label for TX power field"
},
"maxPowerDbm": "Max: {power} dBm",
"@maxPowerDbm": {
"description": "Helper text showing maximum TX power",
"placeholders": {
"power": {
"type": "int"
}
}
},
"you": "You",
"@you": {
"description": "Label for the current user in message bubbles"
},
"exportFailed": "Export failed: {error}",
"@exportFailed": {
"description": "Error message when export fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"importFailed": "Import failed: {error}",
"@importFailed": {
"description": "Error message when import fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"unknown": "Unknown",
"@unknown": {
"description": "Unknown value label"
},
"onlineLayers": "Online Layers",
"@onlineLayers": {
"description": "Section header for online map layers"
},
"locationTrail": "Location Trail",
"@locationTrail": {
"description": "Location trail title"
},
"showTrailOnMap": "Show Trail on Map",
"@showTrailOnMap": {
"description": "Toggle to show/hide trail on map"
},
"trailVisible": "Trail is visible on the map",
"@trailVisible": {
"description": "Trail visibility status - visible"
},
"trailHiddenRecording": "Trail is hidden (still recording)",
"@trailHiddenRecording": {
"description": "Trail visibility status - hidden but recording"
},
"duration": "Duration",
"@duration": {
"description": "Duration label"
},
"points": "Points",
"@points": {
"description": "Trail points count label"
},
"clearTrail": "Clear Trail",
"@clearTrail": {
"description": "Button to clear location trail"
},
"clearTrailQuestion": "Clear Trail?",
"@clearTrailQuestion": {
"description": "Confirmation dialog title"
},
"clearTrailConfirmation": "Are you sure you want to clear the current location trail? This action cannot be undone.",
"@clearTrailConfirmation": {
"description": "Confirmation dialog message"
},
"noTrailRecorded": "No trail recorded yet",
"@noTrailRecorded": {
"description": "Message when no trail exists"
},
"startTrackingToRecord": "Start location tracking to record your trail",
"@startTrackingToRecord": {
"description": "Instructions to start trail recording"
},
"trailControls": "Trail Controls",
"@trailControls": {
"description": "Trail controls tooltip"
},
"model": "Model",
"@model": {
"description": "Device model label"
},
"version": "Version",
"@version": {
"description": "Version label"
},
"maxContacts": "Max Contacts",
"@maxContacts": {
"description": "Maximum contacts capacity label"
},
"maxChannels": "Max Channels",
"@maxChannels": {
"description": "Maximum channels capacity label"
},
"publicInfo": "Public Info",
"@publicInfo": {
"description": "Public information section header"
},
"useCurrentLocation": "Use current location",
"@useCurrentLocation": {
"description": "Tooltip for use current location button"
},
"noneUnknown": "None/Unknown",
"@noneUnknown": {
"description": "Device type: none or unknown"
},
"chatNode": "Chat Node",
"@chatNode": {
"description": "Device type: chat node"
},
"repeater": "Repeater",
"@repeater": {
"description": "Device type: repeater"
},
"roomChannel": "Room/Channel",
"@roomChannel": {
"description": "Device type: room or channel"
},
"typeNumber": "Type {number}",
"@typeNumber": {
"description": "Generic device type with number",
"placeholders": {
"number": {
"type": "int"
}
}
},
"failedToSave": "Failed to save: {error}",
"@failedToSave": {
"description": "Generic error message for save failures",
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToGetLocation": "Failed to get location: {error}",
"@failedToGetLocation": {
"description": "Error message when getting location fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"sarTemplates": "SAR Templates",
"@sarTemplates": {
"description": "SAR templates menu title"
},
"addTemplate": "Add Template",
"@addTemplate": {
"description": "Button to add new SAR template"
},
"editTemplate": "Edit Template",
"@editTemplate": {
"description": "Dialog title for editing template"
},
"deleteTemplate": "Delete Template",
"@deleteTemplate": {
"description": "Action to delete template"
},
"templateName": "Template Name",
"@templateName": {
"description": "Label for template name field"
},
"templateNameHint": "e.g. Found Person",
"@templateNameHint": {
"description": "Hint text for template name"
},
"templateEmoji": "Emoji",
"@templateEmoji": {
"description": "Label for template emoji field"
},
"emojiRequired": "Emoji is required",
"@emojiRequired": {
"description": "Validation error when emoji field is empty"
},
"nameRequired": "Name is required",
"@nameRequired": {
"description": "Validation error when name field is empty"
},
"templateDescription": "Description (Optional)",
"@templateDescription": {
"description": "Label for template description field"
},
"templateDescriptionHint": "Add additional context...",
"@templateDescriptionHint": {
"description": "Hint text for template description"
},
"templateColor": "Color",
"@templateColor": {
"description": "Label for template color picker"
},
"previewFormat": "Preview (SAR Message Format)",
"@previewFormat": {
"description": "Label for format preview"
},
"importFromClipboard": "Import",
"@importFromClipboard": {
"description": "Button to import templates from clipboard"
},
"exportToClipboard": "Export",
"@exportToClipboard": {
"description": "Button to export templates to clipboard"
},
"deleteTemplateConfirmation": "Delete template '{name}'?",
"@deleteTemplateConfirmation": {
"description": "Confirmation message for template deletion",
"placeholders": {
"name": {
"type": "String"
}
}
},
"templateAdded": "Template added",
"@templateAdded": {
"description": "Success message when template is added"
},
"templateUpdated": "Template updated",
"@templateUpdated": {
"description": "Success message when template is updated"
},
"templateDeleted": "Template deleted",
"@templateDeleted": {
"description": "Success message when template is deleted"
},
"templatesImported": "{count, plural, =0{No templates imported} =1{Imported 1 template} other{Imported {count} templates}}",
"@templatesImported": {
"description": "Success message after importing templates",
"placeholders": {
"count": {
"type": "int"
}
}
},
"templatesExported": "{count, plural, =1{Exported 1 template to clipboard} other{Exported {count} templates to clipboard}}",
"@templatesExported": {
"description": "Success message after exporting templates",
"placeholders": {
"count": {
"type": "int"
}
}
},
"resetToDefaults": "Reset to Defaults",
"@resetToDefaults": {
"description": "Action to reset templates to defaults"
},
"resetToDefaultsConfirmation": "This will delete all custom templates and restore the 4 default templates. Continue?",
"@resetToDefaultsConfirmation": {
"description": "Confirmation message for reset to defaults"
},
"reset": "Reset",
"@reset": {
"description": "Reset button label"
},
"resetComplete": "Templates reset to defaults",
"@resetComplete": {
"description": "Success message after reset"
},
"noTemplates": "No templates available",
"@noTemplates": {
"description": "Message when no templates exist"
},
"tapAddToCreate": "Tap + to create your first template",
"@tapAddToCreate": {
"description": "Helper text when no templates exist"
},
"ok": "OK",
"@ok": {
"description": "OK button label"
},
"locationPermission": "Location Permission",
"@locationPermission": {
"description": "Location permission label"
},
"checking": "Checking...",
"@checking": {
"description": "Loading state indicator"
},
"locationPermissionGrantedAlways": "Granted (Always)",
"@locationPermissionGrantedAlways": {
"description": "Location permission status: granted always"
},
"locationPermissionGrantedWhileInUse": "Granted (While In Use)",
"@locationPermissionGrantedWhileInUse": {
"description": "Location permission status: granted while in use"
},
"locationPermissionDeniedTapToRequest": "Denied - Tap to request",
"@locationPermissionDeniedTapToRequest": {
"description": "Location permission status: denied, user can request"
},
"locationPermissionPermanentlyDeniedOpenSettings": "Permanently Denied - Open Settings",
"@locationPermissionPermanentlyDeniedOpenSettings": {
"description": "Location permission status: permanently denied"
},
"locationPermissionDialogContent": "Location permission is permanently denied. Please enable it in your device settings to use GPS tracking and location sharing features.",
"@locationPermissionDialogContent": {
"description": "Content for location permission dialog when permanently denied"
},
"openSettings": "Open Settings",
"@openSettings": {
"description": "Button to open device settings"
},
"locationPermissionGranted": "Location permission granted!",
"@locationPermissionGranted": {
"description": "Success message when location permission is granted"
},
"locationPermissionRequiredForGps": "Location permission is required for GPS tracking and location sharing.",
"@locationPermissionRequiredForGps": {
"description": "Info message about location permission requirement"
},
"locationPermissionAlreadyGranted": "Location permission is already granted.",
"@locationPermissionAlreadyGranted": {
"description": "Info message when permission is already granted"
},
"sarNavyBlue": "SAR Navy Blue",
"@sarNavyBlue": {
"description": "SAR Navy Blue theme name"
},
"sarNavyBlueDescription": "Professional/Operations Mode",
"@sarNavyBlueDescription": {
"description": "Description for SAR Navy Blue theme"
},
"selectRecipient": "Select Recipient",
"@selectRecipient": {
"description": "Title for recipient selector sheet"
},
"broadcastToAllNearby": "Broadcast to all nearby",
"@broadcastToAllNearby": {
"description": "Subtitle for public channel option"
},
"searchRecipients": "Search recipients...",
"@searchRecipients": {
"description": "Placeholder text for recipient search field"
},
"noContactsFound": "No contacts found",
"@noContactsFound": {
"description": "Message when no contacts match search"
},
"noRoomsFound": "No rooms found",
"@noRoomsFound": {
"description": "Message when no rooms match search"
},
"noRecipientsAvailable": "No recipients available",
"@noRecipientsAvailable": {
"description": "Message when no recipients exist (contacts, rooms, or channels)"
},
"noChannelsFound": "No channels found",
"@noChannelsFound": {
"description": "Message when no channels match the search"
},
"newMessage": "New message",
"@newMessage": {
"description": "Notification title for new message"
},
"channel": "Channel",
"@channel": {
"description": "Channel label in notifications"
},
"samplePoliceLead": "Police Lead",
"@samplePoliceLead": {
"description": "Sample team member name"
},
"sampleDroneOperator": "Drone Operator",
"@sampleDroneOperator": {
"description": "Sample team member name"
},
"sampleFirefighterAlpha": "Firefighter",
"@sampleFirefighterAlpha": {
"description": "Sample team member name"
},
"sampleMedicCharlie": "Medic",
"@sampleMedicCharlie": {
"description": "Sample team member name"
},
"sampleCommandDelta": "Command",
"@sampleCommandDelta": {
"description": "Sample team member name"
},
"sampleFireEngine": "Fire Engine",
"@sampleFireEngine": {
"description": "Sample team member name"
},
"sampleAirSupport": "Air Support",
"@sampleAirSupport": {
"description": "Sample team member name"
},
"sampleBaseCoordinator": "Base Coordinator",
"@sampleBaseCoordinator": {
"description": "Sample team member name"
},
"channelEmergency": "Emergency",
"@channelEmergency": {
"description": "Emergency channel name"
},
"channelCoordination": "Coordination",
"@channelCoordination": {
"description": "Coordination channel name"
},
"channelUpdates": "Updates",
"@channelUpdates": {
"description": "Updates channel name"
},
"sampleTeamMember": "Sample Team Member",
"@sampleTeamMember": {
"description": "Sample sender name"
},
"sampleScout": "Sample Scout",
"@sampleScout": {
"description": "Sample sender name"
},
"sampleBase": "Sample Base",
"@sampleBase": {
"description": "Sample sender name"
},
"sampleSearcher": "Sample Searcher",
"@sampleSearcher": {
"description": "Sample sender name"
},
"sampleObjectBackpack": " Backpack found - blue color",
"@sampleObjectBackpack": {
"description": "Sample object note"
},
"sampleObjectVehicle": " Vehicle abandoned - check for owner",
"@sampleObjectVehicle": {
"description": "Sample object note"
},
"sampleObjectCamping": " Camping equipment discovered",
"@sampleObjectCamping": {
"description": "Sample object note"
},
"sampleObjectTrailMarker": " Trail marker found off-path",
"@sampleObjectTrailMarker": {
"description": "Sample object note"
},
"sampleMsgAllTeamsCheckIn": "All teams check in",
"@sampleMsgAllTeamsCheckIn": {
"description": "Sample channel message"
},
"sampleMsgWeatherUpdate": "Weather update: Clear skies, temp 18°C",
"@sampleMsgWeatherUpdate": {
"description": "Sample channel message"
},
"sampleMsgBaseCamp": "Base camp established at staging area",
"@sampleMsgBaseCamp": {
"description": "Sample channel message"
},
"sampleMsgTeamAlpha": "Team moving to sector 2",
"@sampleMsgTeamAlpha": {
"description": "Sample channel message"
},
"sampleMsgRadioCheck": "Radio check - all stations respond",
"@sampleMsgRadioCheck": {
"description": "Sample channel message"
},
"sampleMsgWaterSupply": "Water supply available at checkpoint 3",
"@sampleMsgWaterSupply": {
"description": "Sample channel message"
},
"sampleMsgTeamBravo": "Team reporting: sector 1 clear",
"@sampleMsgTeamBravo": {
"description": "Sample channel message"
},
"sampleMsgEtaRallyPoint": "ETA to rally point: 15 minutes",
"@sampleMsgEtaRallyPoint": {
"description": "Sample channel message"
},
"sampleMsgSupplyDrop": "Supply drop confirmed for 14:00",
"@sampleMsgSupplyDrop": {
"description": "Sample channel message"
},
"sampleMsgDroneSurvey": "Drone survey completed - no findings",
"@sampleMsgDroneSurvey": {
"description": "Sample channel message"
},
"sampleMsgTeamCharlie": "Team requesting backup",
"@sampleMsgTeamCharlie": {
"description": "Sample channel message"
},
"sampleMsgRadioDiscipline": "All units: maintain radio discipline",
"@sampleMsgRadioDiscipline": {
"description": "Sample channel message"
},
"sampleMsgUrgentMedical": "URGENT: Medical assistance needed at sector 4",
"@sampleMsgUrgentMedical": {
"description": "Sample emergency message"
},
"sampleMsgAdultMale": " Adult male, conscious",
"@sampleMsgAdultMale": {
"description": "Sample emergency message note"
},
"sampleMsgFireSpotted": "Fire spotted - coordinates incoming",
"@sampleMsgFireSpotted": {
"description": "Sample emergency message"
},
"sampleMsgSpreadingRapidly": " Spreading rapidly!",
"@sampleMsgSpreadingRapidly": {
"description": "Sample emergency message note"
},
"sampleMsgPriorityHelicopter": "PRIORITY: Need helicopter support",
"@sampleMsgPriorityHelicopter": {
"description": "Sample emergency message"
},
"sampleMsgMedicalTeamEnRoute": "Medical team en route to your location",
"@sampleMsgMedicalTeamEnRoute": {
"description": "Sample emergency message"
},
"sampleMsgEvacHelicopter": "Evac helicopter ETA 10 minutes",
"@sampleMsgEvacHelicopter": {
"description": "Sample emergency message"
},
"sampleMsgEmergencyResolved": "Emergency resolved - all clear",
"@sampleMsgEmergencyResolved": {
"description": "Sample emergency message"
},
"sampleMsgEmergencyStagingArea": " Emergency staging area",
"@sampleMsgEmergencyStagingArea": {
"description": "Sample emergency message note"
},
"sampleMsgEmergencyServices": "Emergency services notified and responding",
"@sampleMsgEmergencyServices": {
"description": "Sample emergency message"
},
"sampleAlphaTeamLead": "Team Lead",
"@sampleAlphaTeamLead": {
"description": "Sample team name"
},
"sampleBravoScout": "Scout",
"@sampleBravoScout": {
"description": "Sample team name"
},
"sampleCharlieMedic": "Medic",
"@sampleCharlieMedic": {
"description": "Sample team name"
},
"sampleDeltaNavigator": "Navigator",
"@sampleDeltaNavigator": {
"description": "Sample team name"
},
"sampleEchoSupport": "Support",
"@sampleEchoSupport": {
"description": "Sample team name"
},
"sampleBaseCommand": "Base Command",
"@sampleBaseCommand": {
"description": "Sample team name"
},
"sampleFieldCoordinator": "Field Coordinator",
"@sampleFieldCoordinator": {
"description": "Sample team name"
},
"sampleMedicalTeam": "Medical Team",
"@sampleMedicalTeam": {
"description": "Sample team name"
},
"mapDrawing": "Map Drawing",
"@mapDrawing": {
"description": "Label for map drawing messages"
},
"navigateToDrawing": "Navigate to Drawing",
"@navigateToDrawing": {
"description": "Option to navigate to drawing on map"
},
"copyCoordinates": "Copy Coordinates",
"@copyCoordinates": {
"description": "Option to copy coordinates to clipboard"
},
"hideFromMap": "Hide from Map",
"@hideFromMap": {
"description": "Option to hide drawing from map"
},
"lineDrawing": "Line Drawing",
"@lineDrawing": {
"description": "Label for line type drawings"
},
"rectangleDrawing": "Rectangle Drawing",
"@rectangleDrawing": {
"description": "Label for rectangle type drawings"
},
"manualCoordinates": "Manual Coordinates",
"@manualCoordinates": {
"description": "Label for manual coordinate input toggle"
},
"enterCoordinatesManually": "Enter coordinates manually",
"@enterCoordinatesManually": {
"description": "Description for manual coordinate input option"
},
"latitudeLabel": "Latitude",
"@latitudeLabel": {
"description": "Label for latitude input field"
},
"longitudeLabel": "Longitude",
"@longitudeLabel": {
"description": "Label for longitude input field"
},
"exampleCoordinates": "Example: 46.0569, 14.5058",
"@exampleCoordinates": {
"description": "Example coordinate format hint"
},
"shareDrawing": "Share Drawing",
"@shareDrawing": {
"description": "Title for share single drawing dialog"
},
"shareWithAllNearbyDevices": "Share with all nearby devices",
"@shareWithAllNearbyDevices": {
"description": "Subtitle for public channel sharing option"
},
"shareToRoom": "Share to Room",
"@shareToRoom": {
"description": "Header for room sharing section"
},
"sendToPersistentStorage": "Send to persistent room storage",
"@sendToPersistentStorage": {
"description": "Subtitle for room sharing option"
},
"deleteDrawingConfirm": "Are you sure you want to delete this drawing?",
"@deleteDrawingConfirm": {
"description": "Confirmation message for deleting a single drawing"
},
"drawingDeleted": "Drawing deleted",
"@drawingDeleted": {
"description": "Success message after deleting a drawing"
},
"yourDrawingsCount": "Your Drawings ({count})",
"@yourDrawingsCount": {
"description": "Header showing count of user's drawings",
"placeholders": {
"count": {
"type": "int"
}
}
},
"shared": "Shared",
"@shared": {
"description": "Status label for shared drawings"
},
"line": "Line",
"@line": {
"description": "Line drawing type label"
},
"rectangle": "Rectangle",
"@rectangle": {
"description": "Rectangle drawing type label"
},
"updateAvailable": "Update Available",
"@updateAvailable": {
"description": "Title for update dialog when new version is available"
},
"currentVersion": "Current",
"@currentVersion": {
"description": "Label for current app version"
},
"latestVersion": "Latest",
"@latestVersion": {
"description": "Label for latest available app version"
},
"downloadUpdate": "Download",
"@downloadUpdate": {
"description": "Button to download app update"
},
"updateLater": "Later",
"@updateLater": {
"description": "Button to dismiss update dialog"
},
"cadastralParcels": "Cadastral Parcels",
"@cadastralParcels": {
"description": "Label for cadastral parcels WMS overlay layer"
},
"forestRoads": "Forest Roads",
"@forestRoads": {
"description": "Label for forest roads WMS overlay layer"
},
"wmsOverlays": "WMS Overlays",
"@wmsOverlays": {
"description": "Section header for WMS overlay layers in layer selector"
},
"hikingTrails": "Hiking Trails",
"@hikingTrails": {
"description": "Label for hiking/mountain trails WMS overlay layer"
},
"mainRoads": "Main Roads",
"@mainRoads": {
"description": "Label for main roads WMS overlay layer"
},
"houseNumbers": "House Numbers",
"@houseNumbers": {
"description": "Label for house numbers WMS overlay layer"
},
"fireHazardZones": "Fire Hazard Zones",
"@fireHazardZones": {
"description": "Label for fire hazard risk zones WMS overlay layer"
},
"historicalFires": "Historical Fires",
"@historicalFires": {
"description": "Label for historical forest fires WMS overlay layer"
},
"firebreaks": "Firebreaks",
"@firebreaks": {
"description": "Label for firebreaks WMS overlay layer"
},
"krasFireZones": "Kras Fire Zones",
"@krasFireZones": {
"description": "Label for Kras fire zones WMS overlay layer"
},
"placeNames": "Place Names",
"@placeNames": {
"description": "Label for geographic place names WMS overlay layer"
},
"municipalityBorders": "Municipality Borders",
"@municipalityBorders": {
"description": "Label for municipality borders WMS overlay layer"
},
"topographicMap": "Topographic Map 1:25000",
"@topographicMap": {
"description": "Label for DTK25 topographic base map layer"
},
"recentMessages": "Recent Messages",
"@recentMessages": {
"description": "Header for recent messages overlay on map in fullscreen mode"
},
"addChannel": "Add Channel",
"@addChannel": {
"description": "Button to add a new channel"
},
"channelName": "Channel Name",
"@channelName": {
"description": "Label for channel name field"
},
"channelNameHint": "e.g., Rescue Team Alpha",
"@channelNameHint": {
"description": "Hint for channel name field"
},
"channelSecret": "Channel Secret",
"@channelSecret": {
"description": "Label for channel secret field"
},
"channelSecretHint": "Shared password for this channel",
"@channelSecretHint": {
"description": "Hint for channel secret field"
},
"channelSecretHelp": "This secret must be shared with all team members who need access to this channel",
"@channelSecretHelp": {
"description": "Help text explaining channel secret"
},
"channelTypesInfo": "Hash channels (#team): Secret auto-generated from name. Same name = same channel across devices.\n\nPrivate channels: Use explicit secret. Only those with the secret can join.",
"@channelTypesInfo": {
"description": "Information banner explaining hash and private channel types"
},
"hashChannelInfo": "Hash channel: Secret will be auto-generated from the channel name. Anyone using the same name will join the same channel.",
"@hashChannelInfo": {
"description": "Help text for hash channels (# prefix)"
},
"channelNameRequired": "Channel name is required",
"@channelNameRequired": {
"description": "Validation error for empty channel name"
},
"channelNameTooLong": "Channel name must be 31 characters or less",
"@channelNameTooLong": {
"description": "Validation error for channel name too long"
},
"channelSecretRequired": "Channel secret is required",
"@channelSecretRequired": {
"description": "Validation error for empty channel secret"
},
"channelSecretTooLong": "Channel secret must be 32 characters or less",
"@channelSecretTooLong": {
"description": "Validation error for channel secret too long"
},
"invalidAsciiCharacters": "Only ASCII characters are allowed",
"@invalidAsciiCharacters": {
"description": "Validation error for non-ASCII characters"
},
"channelCreatedSuccessfully": "Channel created successfully",
"@channelCreatedSuccessfully": {
"description": "Success message after creating channel"
},
"channelCreationFailed": "Failed to create channel: {error}",
"@channelCreationFailed": {
"description": "Error message when channel creation fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"deleteChannel": "Delete Channel",
"@deleteChannel": {
"description": "Delete channel button/menu item"
},
"deleteChannelConfirmation": "Are you sure you want to delete channel \"{channelName}\"? This action cannot be undone.",
"@deleteChannelConfirmation": {
"description": "Confirmation dialog when deleting a channel",
"placeholders": {
"channelName": {
"type": "String"
}
}
},
"channelDeletedSuccessfully": "Channel deleted successfully",
"@channelDeletedSuccessfully": {
"description": "Success message after deleting channel"
},
"channelDeletionFailed": "Failed to delete channel: {error}",
"@channelDeletionFailed": {
"description": "Error message when channel deletion fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"createChannel": "Create Channel",
"@createChannel": {
"description": "Button text for creating a channel"
},
"wizardBack": "Back",
"@wizardBack": {
"description": "Wizard back button text"
},
"wizardSkip": "Skip",
"@wizardSkip": {
"description": "Wizard skip button text"
},
"wizardNext": "Next",
"@wizardNext": {
"description": "Wizard next button text"
},
"wizardGetStarted": "Get Started",
"@wizardGetStarted": {
"description": "Wizard final button text to complete onboarding"
},
"wizardWelcomeTitle": "Welcome to MeshCore SAR",
"@wizardWelcomeTitle": {
"description": "Welcome wizard first page title"
},
"viewWelcomeTutorial": "View Welcome Tutorial",
"@viewWelcomeTutorial": {
"description": "Settings option to re-show welcome wizard"
},
"allTeamContacts": "All Team Contacts",
"@allTeamContacts": {
"description": "Destination option to send SAR marker to all team contacts"
},
"directMessagesInfo": "Direct messages with ACKs. Sent to {count} team members.",
"@directMessagesInfo": {
"description": "Information about sending to all contacts",
"placeholders": {
"count": {
"type": "int"
}
}
},
"sarMarkerSentToContacts": "SAR marker sent to {count} contacts",
"@sarMarkerSentToContacts": {
"description": "Success message after sending SAR marker to all contacts",
"placeholders": {
"count": {
"type": "int"
}
}
},
"noContactsAvailable": "No team contacts available",
"@noContactsAvailable": {
"description": "Message when there are no chat contacts to send to"
},
"reply": "Reply",
"@reply": {},
"technicalDetails": "Technical details",
"@technicalDetails": {},
"messageTechnicalDetails": "Message technical details",
"@messageTechnicalDetails": {},
"linkQuality": "Link quality",
"@linkQuality": {},
"delivery": "Delivery",
"@delivery": {},
"status": "Status",
"@status": {},
"expectedAckTag": "Expected ACK tag",
"@expectedAckTag": {},
"roundTrip": "Round-trip",
"@roundTrip": {},
"retryAttempt": "Retry attempt",
"@retryAttempt": {},
"floodFallback": "Flood fallback",
"@floodFallback": {},
"identity": "Identity",
"@identity": {},
"messageId": "Message ID",
"@messageId": {},
"sender": "Sender",
"@sender": {},
"senderKey": "Sender key",
"@senderKey": {},
"recipient": "Recipient",
"@recipient": {},
"recipientKey": "Recipient key",
"@recipientKey": {},
"voice": "Voice",
"@voice": {},
"voiceId": "Voice ID",
"@voiceId": {},
"envelope": "Envelope",
"@envelope": {},
"sessionProgress": "Session progress",
"@sessionProgress": {},
"complete": "Complete",
"@complete": {},
"rawDump": "Raw dump",
"@rawDump": {},
"cannotRetryMissingRecipient": "Cannot retry: recipient information missing",
"@cannotRetryMissingRecipient": {},
"voiceUnavailable": "Voice unavailable right now",
"@voiceUnavailable": {},
"requestingVoice": "Requesting voice",
"@requestingVoice": {},
"device": "device",
"@device": {
"description": "Generic device label"
},
"change": "Change",
"@change": {
"description": "Generic change action"
},
"wizardOverviewDescription": "This app combines MeshCore messaging, SAR field updates, discovery, mapping, and device tools in one place.",
"@wizardOverviewDescription": {
"description": "Updated onboarding overview description"
},
"wizardOverviewFeature1": "Send direct, room, and channel messages from the main Messages tab.",
"@wizardOverviewFeature1": {
"description": "Updated onboarding overview feature 1"
},
"wizardOverviewFeature2": "Share live location to a private channel, plus SAR markers, map drawings, voice clips, and images over the mesh.",
"@wizardOverviewFeature2": {
"description": "Updated onboarding overview feature 2"
},
"wizardOverviewFeature3": "Connect over BLE, WiFi, or Serial, then manage the companion radio from inside the app.",
"@wizardOverviewFeature3": {
"description": "Updated onboarding overview feature 3"
},
"wizardMessagingTitle": "Messaging and Field Reports",
"@wizardMessagingTitle": {
"description": "Updated onboarding messaging page title"
},
"wizardMessagingDescription": "Messages are more than plain text here. The app already supports several operational payloads and transfer workflows.",
"@wizardMessagingDescription": {
"description": "Updated onboarding messaging page description"
},
"wizardMessagingFeature1": "Send direct messages, room posts, and channel traffic from one composer.",
"@wizardMessagingFeature1": {
"description": "Updated onboarding messaging feature 1"
},
"wizardMessagingFeature2": "Create SAR updates and reusable SAR templates for common field reports.",
"@wizardMessagingFeature2": {
"description": "Updated onboarding messaging feature 2"
},
"wizardMessagingFeature3": "Transfer voice sessions and images, with progress and airtime estimates in the UI.",
"@wizardMessagingFeature3": {
"description": "Updated onboarding messaging feature 3"
},
"wizardConnectDeviceTitle": "Connect device",
"@wizardConnectDeviceTitle": {
"description": "Onboarding connect device page title"
},
"wizardConnectDeviceDescription": "Connect your MeshCore radio, choose a name, and apply a radio preset before continuing.",
"@wizardConnectDeviceDescription": {
"description": "Onboarding connect device page description"
},
"wizardSetupBadge": "Setup",
"@wizardSetupBadge": {
"description": "Onboarding setup badge label"
},
"wizardOverviewBadge": "Overview",
"@wizardOverviewBadge": {
"description": "Onboarding overview badge label"
},
"wizardConnectedToDevice": "Connected to {deviceName}",
"@wizardConnectedToDevice": {
"description": "Onboarding connection status when connected",
"placeholders": {
"deviceName": {
"type": "String"
}
}
},
"wizardNoDeviceConnected": "No device connected yet",
"@wizardNoDeviceConnected": {
"description": "Onboarding connection status when disconnected"
},
"wizardSkipForNow": "Skip for now",
"@wizardSkipForNow": {
"description": "Onboarding skip current setup step action"
},
"wizardDeviceNameLabel": "Device name",
"@wizardDeviceNameLabel": {
"description": "Onboarding device name field label"
},
"wizardDeviceNameHelp": "This name is advertised to other MeshCore users.",
"@wizardDeviceNameHelp": {
"description": "Onboarding device name field helper text"
},
"wizardConfigRegionLabel": "Config region",
"@wizardConfigRegionLabel": {
"description": "Onboarding config region field label"
},
"wizardConfigRegionHelp": "Uses the full official MeshCore preset list. Default is EU/UK (Narrow).",
"@wizardConfigRegionHelp": {
"description": "Onboarding config region helper text"
},
"wizardPresetNote1": "Make sure the selected preset matches your local radio regulations.",
"@wizardPresetNote1": {
"description": "Onboarding preset note 1"
},
"wizardPresetNote2": "The list matches the official MeshCore config tool preset feed.",
"@wizardPresetNote2": {
"description": "Onboarding preset note 2"
},
"wizardPresetNote3": "EU/UK (Narrow) stays selected by default for onboarding.",
"@wizardPresetNote3": {
"description": "Onboarding preset note 3"
},
"wizardSaving": "Saving...",
"@wizardSaving": {
"description": "Onboarding saving button label"
},
"wizardSaveAndContinue": "Save and continue",
"@wizardSaveAndContinue": {
"description": "Onboarding save and continue button label"
},
"wizardEnterDeviceName": "Enter a device name before continuing.",
"@wizardEnterDeviceName": {
"description": "Onboarding validation when device name is missing"
},
"wizardDeviceSetupSaved": "Saved {deviceName} with {presetName}.",
"@wizardDeviceSetupSaved": {
"description": "Onboarding success message after saving device setup",
"placeholders": {
"deviceName": {
"type": "String"
},
"presetName": {
"type": "String"
}
}
},
"wizardNetworkTitle": "Contacts, Rooms, and Repeaters",
"@wizardNetworkTitle": {
"description": "Updated onboarding network page title"
},
"wizardNetworkDescription": "The Contacts and Discovery flows help you find nearby nodes, store repeaters, and manage the routes you learn over time.",
"@wizardNetworkDescription": {
"description": "Updated onboarding network page description"
},
"wizardNetworkFeature1": "Discover repeaters and sensors, then review team members, rooms, channels, and pending adverts in one list.",
"@wizardNetworkFeature1": {
"description": "Updated onboarding network feature 1"
},
"wizardNetworkFeature2": "Use smart ping, room login, learned paths, and route reset tools when connectivity gets messy.",
"@wizardNetworkFeature2": {
"description": "Updated onboarding network feature 2"
},
"wizardNetworkFeature3": "Add new repeaters right after you connect, then create channels and manage network destinations without leaving the app.",
"@wizardNetworkFeature3": {
"description": "Updated onboarding network feature 3"
},
"wizardMapOpsTitle": "Map, Trails, and Shared Geometry",
"@wizardMapOpsTitle": {
"description": "Updated onboarding map page title"
},
"wizardMapOpsDescription": "The app map is tied directly into messaging, tracking, and SAR overlays instead of being a separate viewer.",
"@wizardMapOpsDescription": {
"description": "Updated onboarding map page description"
},
"wizardMapOpsFeature1": "Track your own position, teammate locations, and share live location to a private channel from the channel menu.",
"@wizardMapOpsFeature1": {
"description": "Updated onboarding map feature 1"
},
"wizardMapOpsFeature2": "Open drawings from messages, preview them inline, and remove them from the map when needed.",
"@wizardMapOpsFeature2": {
"description": "Updated onboarding map feature 2"
},
"wizardMapOpsFeature3": "Use repeater map views and shared overlays to understand network reach in the field.",
"@wizardMapOpsFeature3": {
"description": "Updated onboarding map feature 3"
},
"wizardToolsTitle": "Tools Beyond Messaging",
"@wizardToolsTitle": {
"description": "Updated onboarding tools page title"
},
"wizardToolsDescription": "There is more here than the four main tabs. The app also includes configuration, diagnostics, and optional sensor workflows.",
"@wizardToolsDescription": {
"description": "Updated onboarding tools page description"
},
"wizardToolsFeature1": "Open device config to change radio settings, telemetry, TX power, and companion details.",
"@wizardToolsFeature1": {
"description": "Updated onboarding tools feature 1"
},
"wizardToolsFeature2": "Enable the Sensors tab when you want watched sensor dashboards and quick refresh actions.",
"@wizardToolsFeature2": {
"description": "Updated onboarding tools feature 2"
},
"wizardToolsFeature3": "Use live traffic, packet logs, spectrum scan, and developer diagnostics when troubleshooting the mesh.",
"@wizardToolsFeature3": {
"description": "Updated onboarding tools feature 3"
},
"postConnectDiscoveryTitle": "Discover repeaters now?",
"@postConnectDiscoveryTitle": {
"description": "Title for the prompt shown after a successful device connection"
},
"postConnectDiscoveryDescription": "Run repeater discovery right after connecting so you can see nearby MeshCore nodes and add them to your network faster.",
"@postConnectDiscoveryDescription": {
"description": "Body text for the prompt shown after a successful device connection"
},
"contactInSensors": "In Sensors",
"@contactInSensors": {
"description": "Contact actions label when already in sensors"
},
"contactAddToSensors": "Add to Sensors",
"@contactAddToSensors": {
"description": "Contact actions label to add to sensors"
},
"contactSetPath": "Set path",
"@contactSetPath": {
"description": "Contact actions label to set route path"
},
"contactAddedToSensors": "{contactName} added to Sensors",
"@contactAddedToSensors": {
"description": "Snackbar after adding contact to sensors",
"placeholders": {
"contactName": {
"type": "String"
}
}
},
"contactFailedToClearRoute": "Failed to clear route: {error}",
"@contactFailedToClearRoute": {
"description": "Error when clearing a contact route fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"contactRouteCleared": "Route cleared",
"@contactRouteCleared": {
"description": "Snackbar after route is cleared"
},
"contactRouteSet": "Route set: {route}",
"@contactRouteSet": {
"description": "Snackbar after route is set",
"placeholders": {
"route": {
"type": "String"
}
}
},
"contactFailedToSetRoute": "Failed to set route: {error}",
"@contactFailedToSetRoute": {
"description": "Error when setting a contact route fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"rssi": "RSSI",
"@rssi": {
"description": "Received signal strength indicator"
},
"snr": "SNR",
"@snr": {
"description": "Signal-to-noise ratio"
},
"ackTimeout": "ACK timeout",
"opcode": "Opcode",
"payload": "Payload",
"hops": "Hops",
"hashSize": "Hash size",
"pathBytes": "Path bytes",
"selectedPath": "Selected path",
"estimatedTx": "Estimated tx",
"senderToReceipt": "Sender to receipt",
"receivedCopies": "Received copies",
"retryCause": "Retry cause",
"retryMode": "Retry mode",
"retryResult": "Retry result",
"lastRetry": "Last retry",
"rxPackets": "RX packets",
"mesh": "Mesh",
"rate": "Rate",
"window": "Window",
"posttxDelay": "Post-tx delay",
"bandpass": "Band-pass",
"bandpassFilterVoice": "Band-pass filter voice",
"active": "Active",
"addContact": "Add Contact",
"all": "All",
"clearAllLabel": "Clear all",
"clearFilters": "Clear filters",
"clearRoute": "Clear Route",
"clearMessages": "Clear Messages",
"clearScale": "Clear scale",
"clearDiscoveries": "Clear discoveries",
"clearOnlineTraceDatabase": "Clear online trace database",
"clearAllChannels": "Clear all channels",
"clearAllContacts": "Clear all contacts",
"clearChannels": "Clear channels",
"clearContacts": "Clear contacts",
"clearPathOnMaxRetry": "Clear path on max retry",
"create": "Create",
"custom": "Custom",
"defaultValue": "Default",
"duplicate": "Duplicate",
"editName": "Edit name",
"open": "Open",
"paste": "Paste",
"preview": "Preview",
"remove": "Remove",
"rename": "Rename",
"resolveAll": "Resolve all",
"send": "Send",
"sendAnyway": "Send anyway",
"share": "Share",
"trace": "Trace",
"discovery": "Discovery",
"discoverRepeaters": "Discover repeaters",
"discoverSensors": "Discover sensors",
"repeaterDiscoverySent": "Repeater discovery sent",
"sensorDiscoverySent": "Sensor discovery sent",
"clearedPendingDiscoveries": "Cleared pending discoveries.",
"autoDiscovery": "Auto discovery",
"enableAutomaticAdding": "Enable automatic adding",
"autoaddRepeaters": "Auto-add repeaters",
"autoaddRoomServers": "Auto-add room servers",
"autoaddSensors": "Auto-add sensors",
"autoaddUsers": "Auto-add users",
"overwriteOldestWhenFull": "Overwrite oldest when full",
"storage": "Storage",
"dangerZone": "Danger zone",
"profiles": "Profiles",
"favourites": "Favourites",
"sensors": "Sensors",
"others": "Others",
"gpsModule": "GPS Module",
"liveTraffic": "Live Traffic",
"repeatersMap": "Repeaters Map",
"blePacketLogs": "BLE Packet Logs",
"onlineTraceDatabase": "Online trace database",
"routePathByteSize": "Route path byte size",
"messageNotifications": "Message notifications",
"sarAlerts": "SAR alerts",
"discoveryNotifications": "Discovery notifications",
"updateNotifications": "Update notifications",
"muteWhileAppIsOpen": "Mute while app is open",
"disableContacts": "Disable Contacts",
"enableSensorsTab": "Enable Sensors tab",
"enableProfiles": "Enable Profiles",
"nearestRepeaterFallback": "Nearest repeater fallback",
"deleteAllStoredMessageHistory": "Delete all stored message history",
"messageFontSize": "Message font size",
"rotateMapWithHeading": "Rotate map with heading",
"showMapDebugInfo": "Show map debug info",
"openMapInFullscreen": "Open map in fullscreen",
"showSarMarkersLabel": "Show SAR markers",
"hideRepeatersOnMap": "Hide repeaters on map",
"setMapScale": "Set map scale",
"customMapScaleSaved": "Custom map scale saved",
"voiceBitrate": "Voice bitrate",
"voiceCompressor": "Voice compressor",
"voiceLimiter": "Voice limiter",
"micAutoGain": "Mic auto gain",
"echoCancellation": "Echo cancellation",
"noiseSuppression": "Noise suppression",
"trimSilenceInVoiceMessages": "Trim silence in voice messages",
"compressor": "Compressor",
"limiter": "Limiter",
"autoGain": "Auto gain",
"echoCancel": "Echo cancel",
"noiseSuppress": "Noise suppress",
"silenceTrim": "Silence trim",
"maxImageSize": "Max image size",
"imageCompression": "Image compression",
"grayscale": "Grayscale",
"ultraMode": "Ultra mode",
"fastPrivateGpsUpdates": "Fast private GPS updates",
"movementThreshold": "Movement threshold",
"fastGpsMovementThreshold": "Fast GPS movement threshold",
"fastGpsActiveuseInterval": "Fast GPS active-use interval",
"activeuseUpdateInterval": "Active-use update interval",
"repeatNearbyTraffic": "Repeat nearby traffic",
"relayThroughRepeatersAcrossTheMesh": "Relay through repeaters across the mesh",
"nearbyOnlyWithoutRepeaterFlooding": "Nearby only, without repeater flooding",
"multihop": "Multi-hop",
"createProfile": "Create Profile",
"renameProfile": "Rename Profile",
"newProfile": "New Profile",
"manageProfiles": "Manage profiles",
"enableProfilesToStartManagingThem": "Enable profiles to start managing them.",
"openMessage": "Open message",
"jumpToTheRelatedSarMessage": "Jump to the related SAR message",
"removeSarMarker": "Remove SAR marker",
"pleaseSelectADestinationToSendSarMarker": "Please select a destination to send SAR marker",
"sarMarkerBroadcastToPublicChannel": "SAR marker broadcast to public channel",
"sarMarkerSentToRoom": "SAR marker sent to room",
"loadFromGallery": "Load from gallery",
"replaceImage": "Replace image",
"selectFromGallery": "Select from gallery",
"team": "Team",
"found": "Found",
"staging": "Staging",
"object": "Object",
"quiet": "Quiet",
"busy": "Busy",
"searchMessages": "Search messages",
"sendImageFromGallery": "Send image from gallery",
"takePhoto": "Take photo",
"allMessages": "All messages",
"sendToPublicChannel": "Send to Public Channel?",
"selectMarkerTypeAndDestination": "Select marker type and destination",
"noDestinationsAvailableLabel": "No destinations available",
"image": "Image",
"format": "Format",
"dimensions": "Dimensions",
"segments": "Segments",
"transfers": "Transfers",
"downloadedBy": "Downloaded by",
"saveDiscoverySettings": "Save discovery settings",
"savePublicInfo": "Save public info",
"saveRadioSettings": "Save radio settings",
"savePath": "Save Path",
"wipeDeviceData": "Wipe device data",
"wipeDevice": "Wipe device",
"destructiveDeviceActions": "Destructive device actions.",
"chooseAPresetOrFinetuneCustomRadioSettings": "Choose a preset or fine-tune custom radio settings.",
"used": "Used",
"total": "Total",
"renameValue": "Rename value",
"customizeFields": "Customize fields",
"livePreview": "Live preview",
"refreshSchedule": "Refresh schedule",
"noResponse": "No response",
"refreshing": "Refreshing",
"unavailable": "Unavailable",
"pickARelayOrNodeToWatchInSensors": "Pick a relay or node to watch in Sensors.",
"publicKeyLabel": "Public key",
"alreadyInContacts": "Already in contacts",
"connectToADeviceBeforeAddingContacts": "Connect to a device before adding contacts",
"fromContacts": "From contacts",
"onlineOnly": "Online only",
"inBoth": "In both",
"source": "Source",
"allMessagesCleared": "All messages cleared",
"onlineTraceDatabaseCleared": "Online trace database cleared",
"packetLogsCleared": "Packet logs cleared",
"hexDataCopiedToClipboard": "Hex data copied to clipboard",
"developerModeEnabled": "Developer mode enabled",
"developerModeDisabled": "Developer mode disabled",
"clipboardIsEmpty": "Clipboard is empty",
"contactImported": "Contact imported",
"contactLinkCopiedToClipboard": "Contact link copied to clipboard",
"failedToExportContact": "Failed to export contact",
"noLogsToExport": "No logs to export",
"exportAsCsv": "Export as CSV",
"exportAsText": "Export as Text",
"receivedRfc3339": "Received (RFC3339)",
"buildTime": "Build Time",
"downloadUrlNotAvailable": "Download URL not available",
"cannotOpenDownloadUrl": "Cannot open download URL",
"updateCheckIsOnlyAvailableOnAndroid": "Update check is only available on Android",
"youAreRunningTheLatestVersion": "You are running the latest version",
"updateAvailableButDownloadUrlNotFound": "Update available but download URL not found",
"startTictactoe": "Start Tic-Tac-Toe",
"tictactoeUnavailable": "Tic-Tac-Toe unavailable",
"tictactoeOpponentUnknown": "Tic-Tac-Toe: opponent unknown",
"tictactoeWaitingForStart": "Tic-Tac-Toe: waiting for start",
"acceptsShareLinks": "Accepts share links",
"supportsRawHex": "Supports raw hex",
"clipboardfriendly": "Clipboard-friendly",
"captured": "Captured",
"size": "Size",
"noCustomChannelsToClear": "No custom channels to clear.",
"noDeviceContactsToClear": "No device contacts to clear.",
"aToZ": "A-Z",
"add": "Add",
"addAdditionalDetails": "Add additional details",
"addPeer": "Add Peer",
"addPeerManually": "Add peer manually",
"addedToContacts": "{name} added to contacts",
"@addedToContacts": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"addedToSensors": "{name} added to Sensors",
"@addedToSensors": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"allowAll": "Allow all",
"anonymousRxStats": "Anonymous RX stats",
"appearance": "Appearance",
"ascii": "ASCII",
"baseTelemetry": "Base telemetry",
"blePin": "BLE PIN",
"buzzerAlerts": "Buzzer alerts",
"cancelImageReceive": "Cancel image receive",
"choose": "Choose",
"chooseWhichTabsAndContactSectionsToShow": "Choose which tabs and contact sections to show",
"clearCache": "Clear cache",
"clearHistory": "Clear history",
"clearLiveView": "Clear live view",
"clearLogs": "Clear logs",
"clearOfflineCache": "Clear offline cache?",
"clearOverlay": "Clear overlay",
"clearRouteOnlyAfterAllRetriesFail": "Clear route only after all retries fail",
"codecBitrateAndAudioProcessing": "Codec, bitrate, and audio processing",
"connectByIpAddress": "Connect by IP address",
"controlWhichAlertsYouReceive": "Control which alerts you receive",
"copyFullHex": "Copy full hex",
"copyRawResponse": "Copy raw response",
"couldNotLoadMetHistory": "Could not load MET history",
"customizeSensor": "Customize {name}",
"@customizeSensor": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"data": "Data",
"deleteGroup": "Delete group",
"deleteStyleConfirm": "Delete {name}?",
"@deleteStyleConfirm": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"deleteThisDrawing": "Delete this {type}?",
"@deleteThisDrawing": {
"placeholders": {
"type": {
"type": "String"
}
}
},
"deny": "Deny",
"deviceInfo": "Device info",
"deviceSettings": "Device Settings",
"deviceTimeSynced": "Device time synced to this phone.",
"disableFastGpsPublishing": "Disable fast GPS publishing",
"displayMarkersAndTraceDatabase": "Display, markers, and trace database",
"download": "Download",
"environmentalTelemetry": "Environmental telemetry",
"errorCheckingForUpdates": "Error checking for updates: {error}",
"@errorCheckingForUpdates": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"errorGeneric": "Error: {error}",
"@errorGeneric": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"errorOpeningDownload": "Error opening download: {error}",
"@errorOpeningDownload": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"exportLogs": "Export logs",
"extraAggressiveAvifCompression": "Extra-aggressive AVIF compression",
"failedToAddContact": "Failed to add contact: {error}",
"@failedToAddContact": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToAddName": "Failed to add {name}: {error}",
"@failedToAddName": {
"placeholders": {
"name": {
"type": "String"
},
"error": {
"type": "String"
}
}
},
"failedToClearChannels": "Failed to clear channels: {error}",
"@failedToClearChannels": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToClearContacts": "Failed to clear contacts: {error}",
"@failedToClearContacts": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToConnectViaSerial": "Failed to connect via serial",
"failedToLoadPreviewImage": "Failed to load preview image: {error}",
"@failedToLoadPreviewImage": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToLoadTrace": "Failed to load trace: {error}",
"@failedToLoadTrace": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToSendSarMarker": "Failed to send SAR marker: {error}",
"@failedToSendSarMarker": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToSetBuzzerMode": "Failed to set buzzer mode: {error}",
"@failedToSetBuzzerMode": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToSetGpsMode": "Failed to set GPS mode: {error}",
"@failedToSetGpsMode": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToSyncDeviceTime": "Failed to sync device time: {error}",
"@failedToSyncDeviceTime": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"failedToWipeDeviceData": "Failed to wipe device data: {error}",
"@failedToWipeDeviceData": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"fastGpsTargetChannel": "Fast GPS target channel",
"fastUpdatesThresholdsAndPermissions": "Fast updates, thresholds, and permissions",
"fetchingCatalog": "Fetching catalog...",
"fifteenMinutes": "15 minutes",
"fifteenSeconds": "15 seconds",
"filterByDirection": "Filter by direction",
"finish": "Finish",
"fiveMinutes": "5 minutes",
"fiveSeconds": "5 seconds",
"fix": "Fix",
"gps": "GPS",
"gpsAdvertPolicy": "GPS advert policy",
"gpsAndLocation": "GPS & Location",
"gpsDiagnostics": "GPS diagnostics",
"gpsSection": "GPS",
"help": "Help",
"hex": "Hex",
"hidden": "Hidden",
"howTheRadioAutoAddsDiscoveredNodes": "How the radio auto-adds discovered nodes.",
"images": "Images",
"importProfile": "Import profile",
"lastFix": "Last fix",
"latest": "Latest",
"latitude": "Latitude",
"loadASavedRegion": "Load a saved region",
"loading": "Loading",
"locationSharingHardwareAndUpdateInterval": "Location sharing, hardware, and update interval.",
"locationTelemetry": "Location telemetry",
"lockDestination": "Lock destination",
"longitude": "Longitude",
"mapStyle": "Map Style",
"max": "Max",
"maxZoom": "Max Zoom",
"messaging": "Messaging",
"metHistory": "MET history",
"min": "Min",
"minZoom": "Min Zoom",
"moveDown": "Move down",
"moveUp": "Move up",
"multiAckMode": "Multi-ACK mode",
"multiDeviceWorkspaceManagement": "Multi-device workspace management",
"myLocation": "My location",
"nameAndTelemetryShared": "Name and telemetry shared with other devices.",
"newVersionAvailable": "New version: {version}",
"@newVersionAvailable": {
"placeholders": {
"version": {
"type": "String"
}
}
},
"newer": "Newer",
"noNeighboursFound": "No neighbours found",
"noServersFound": "No servers found",
"notSet": "Not set",
"notifications": "Notifications",
"offZeroSeconds": "Off (0 s)",
"offlineMaps": "Offline Maps",
"older": "Older",
"oneByteMode0": "1 byte (mode 0)",
"oneHour": "1 hour",
"oneMinute": "1 minute",
"openPacketLogs": "Open packet logs",
"packetTypeHelp": "Packet type help",
"pasteShareLinkOrHexAdvert": "Paste a share link or hex advert",
"pathHash": "Path hash",
"pathSize": "Path size",
"ping": "Ping",
"polygon": "Polygon",
"rawResponseCopied": "Raw response copied",
"resendThroughNearestRepeaterOnFailure": "Resend through nearest repeater on failure",
"resolveContact": "Resolve contact",
"routingRetriesAndDestinationLock": "Routing, retries, and destination lock",
"samples": "Samples",
"satellites": "Satellites",
"saving": "Saving...",
"search": "Search",
"searchByNameOrToken": "Search by name or token",
"searchDiscoveredNodes": "Search discovered nodes",
"searchInCurrentFilter": "Search in current filter",
"searchLogs": "Search logs...",
"searchSensors": "Search sensors",
"searchThisSection": "Search this section",
"selectedRelays": "Selected relays",
"sensor": "Sensor",
"serialError": "Serial error: {error}",
"@serialError": {
"placeholders": {
"error": {
"type": "String"
}
}
},
"setPathForContact": "Set Path for {name}",
"@setPathForContact": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"shareLiveGps": "Share live GPS",
"shareMyTiles": "Share my tiles",
"sharingLocationFromPhone": "Sharing location on this channel from the phone.",
"sharingLocationFromRadio": "Sharing location on this channel from the radio.",
"signalDbm": "Signal {rssi} dBm",
"@signalDbm": {
"placeholders": {
"rssi": {
"type": "String"
}
}
},
"sizeCompressionAndPreview": "Size, compression, and preview",
"skip": "Skip",
"smallerFileSize": "Smaller file size",
"sort": "Sort",
"stoppedSharingLocation": "Stopped sharing location on this channel.",
"suppressNotificationsWhileInForeground": "Suppress notifications while in foreground",
"tabsAndNavigation": "Tabs & Navigation",
"templatesAndTutorials": "Templates and tutorials",
"tenMinutes": "10 minutes",
"tenSeconds": "10 seconds",
"testSendUpdate": "Test send update",
"themeLanguageAndDisplayPreferences": "Theme, language, and display preferences",
"thirtyMinutes": "30 minutes",
"thirtySeconds": "30 seconds",
"threeBytesMode2": "3 bytes (mode 2)",
"trafficStatsMessageHistoryAndDeveloperTools": "Traffic stats, message history, and developer tools",
"twoBytesMode1": "2 bytes (mode 1)",
"twoMinutes": "2 minutes",
"undo": "Undo",
"updated": "Updated",
"useContactFlags": "Use contact flags",
"useSavedCoordinates": "Use saved coordinates",
"view": "View",
"viewNeighbours": "View Neighbours",
"viewPublicStats": "View public stats",
"setRegionScope": "Set region scope",
"regionScope": "Region scope",
"regionScopeNone": "None (global)",
"clearRegionScope": "Clear scope",
"regionScopeWarning": "Only repeaters allowing this region will forward.",
"discoverRegions": "Discover from repeaters",
"discoveringRegions": "Discovering regions...",
"enterRegionName": "Region name (e.g. auckland)",
"noRegionsFound": "No regions found on this repeater.",
"regionScopeSet": "Region scope set to {name}",
"regionScopeCleared": "Region scope cleared",
"@regionScopeSet": {
"placeholders": {
"name": {
"type": "String"
}
}
}
}