Files
meshcore-sar_android/lib/l10n/app_en.arb
Janez T 1056380f3a Add localization support for various UI elements and messages
- Integrated localization for alert dialogs, snack bars, and button labels in PacketLogScreen and SettingsScreen.
- Updated location tracking service messages to use localized strings.
- Enhanced ContactTile and DirectMessageSheet with localized text for user interactions.
- Implemented localization in DrawingLayer and DrawingToolbar for map-related actions.
- Updated SAR Update Sheet to utilize localized strings for user prompts and actions.
- Ensured consistent use of localization across all relevant widgets and screens.
2025-10-16 15:19:05 +02:00

682 lines
17 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"
},
"scanningForDevices": "Scanning for devices...",
"@scanningForDevices": {
"description": "Text shown when scanning for BLE devices"
},
"noDevicesFound": "No devices found",
"@noDevicesFound": {
"description": "Text shown when no BLE devices are found"
},
"scanAgain": "Scan Again",
"@scanAgain": {
"description": "Button to restart BLE scanning"
},
"tapToConnect": "Tap to connect",
"@tapToConnect": {
"description": "Subtitle text for device in scan list"
},
"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"
},
"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"
},
"advertisedAtLocation": "Advertised at {latitude}, {longitude}",
"@advertisedAtLocation": {
"description": "Success message showing advertised location",
"placeholders": {
"latitude": {
"type": "String"
},
"longitude": {
"type": "String"
}
}
},
"failedToAdvertise": "Failed to advertise: {error}",
"@failedToAdvertise": {
"description": "Error message for failed advertisement",
"placeholders": {
"error": {
"type": "String"
}
}
},
"reconnecting": "Reconnecting... ({attempt}/{max})",
"@reconnecting": {
"description": "Text shown during reconnection attempts",
"placeholders": {
"attempt": {
"type": "int"
},
"max": {
"type": "int"
}
}
},
"cancelReconnection": "Cancel reconnection",
"@cancelReconnection": {
"description": "Tooltip for cancel reconnection button"
},
"mapManagement": "Map Management",
"@mapManagement": {
"description": "Menu item for map management"
},
"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"
},
"displayPacketActivity": "Display packet activity indicators in top bar",
"@displayPacketActivity": {
"description": "Description for RX/TX indicators setting"
},
"language": "Language",
"@language": {
"description": "Language setting label"
},
"chooseLanguage": "Choose Language",
"@chooseLanguage": {
"description": "Language selection dialog title"
},
"english": "English",
"@english": {
"description": "English language option"
},
"slovenian": "Slovenian",
"@slovenian": {
"description": "Slovenian language option"
},
"croatian": "Croatian",
"@croatian": {
"description": "Croatian language option"
},
"locationBroadcasting": "Location Broadcasting",
"@locationBroadcasting": {
"description": "Location settings section header"
},
"autoLocationTracking": "Auto Location Tracking",
"@autoLocationTracking": {
"description": "Auto location tracking setting"
},
"automaticallyBroadcastPosition": "Automatically broadcast position updates",
"@automaticallyBroadcastPosition": {
"description": "Description for auto location tracking"
},
"configureTracking": "Configure Tracking",
"@configureTracking": {
"description": "Configure tracking button label"
},
"distanceAndTimeThresholds": "Distance and time thresholds",
"@distanceAndTimeThresholds": {
"description": "Description for tracking configuration"
},
"locationTrackingConfiguration": "Location Tracking Configuration",
"@locationTrackingConfiguration": {
"description": "Tracking configuration dialog title"
},
"configureWhenLocationBroadcasts": "Configure when location broadcasts are sent to the mesh network",
"@configureWhenLocationBroadcasts": {
"description": "Description for tracking configuration dialog"
},
"minimumDistance": "Minimum Distance",
"@minimumDistance": {
"description": "Minimum distance setting label"
},
"broadcastAfterMoving": "Broadcast only after moving {distance} meters",
"@broadcastAfterMoving": {
"description": "Description for minimum distance",
"placeholders": {
"distance": {
"type": "String"
}
}
},
"maximumDistance": "Maximum Distance",
"@maximumDistance": {
"description": "Maximum distance setting label"
},
"alwaysBroadcastAfterMoving": "Always broadcast after moving {distance} meters",
"@alwaysBroadcastAfterMoving": {
"description": "Description for maximum distance",
"placeholders": {
"distance": {
"type": "String"
}
}
},
"minimumTimeInterval": "Minimum Time Interval",
"@minimumTimeInterval": {
"description": "Minimum time interval setting label"
},
"alwaysBroadcastEvery": "Always broadcast every {duration}",
"@alwaysBroadcastEvery": {
"description": "Description for time interval",
"placeholders": {
"duration": {
"type": "String"
}
}
},
"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"
},
"appName": "App Name",
"@appName": {
"description": "App name 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"
},
"developer": "Developer",
"@developer": {
"description": "Developer section header"
},
"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"
},
"sendDirectMessage": "Send Direct Message",
"@sendDirectMessage": {
"description": "Action to send direct message to contact"
},
"resetPath": "Reset Path (Re-route)",
"@resetPath": {
"description": "Action to reset contact path for re-routing"
},
"publicKeyCopied": "Public key copied to clipboard",
"@publicKeyCopied": {
"description": "Success message when public key is copied"
},
"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"
},
"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"
},
"shareDrawings": "Share Drawings",
"@shareDrawings": {
"description": "Action to share drawings to network"
},
"clearAllDrawings": "Clear All Drawings",
"@clearAllDrawings": {
"description": "Action to clear all local drawings"
},
"clearAll": "Clear All",
"@clearAll": {
"description": "Clear all button label"
},
"noLocalDrawings": "No local drawings to share",
"@noLocalDrawings": {
"description": "Message when there are no drawings to share"
},
"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"
},
"directMessage": "Direct Message",
"@directMessage": {
"description": "Title for direct message sheet"
},
"directMessageSentTo": "Direct message sent to {contactName}",
"@directMessageSentTo": {
"description": "Success message after sending direct message",
"placeholders": {
"contactName": {
"type": "String"
}
}
},
"failedToSend": "Failed to send: {error}",
"@failedToSend": {
"description": "Error message when sending direct message fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"directMessageInfo": "This message will be sent directly to {contactName}. It will also appear in the main messages feed.",
"@directMessageInfo": {
"description": "Information about direct messaging behavior",
"placeholders": {
"contactName": {
"type": "String"
}
}
},
"typeYourMessage": "Type your message...",
"@typeYourMessage": {
"description": "Placeholder text for message input field"
}
}