more localization

This commit is contained in:
stopflock
2025-08-31 14:01:03 -05:00
parent 3150297bb0
commit f05a31f40b
21 changed files with 1961 additions and 1182 deletions
+150 -3
View File
@@ -12,7 +12,10 @@
"edit": "Edit",
"cancel": "Cancel",
"ok": "OK",
"close": "Close"
"close": "Close",
"submit": "Submit",
"saveEdit": "Save Edit",
"clear": "Clear"
},
"followMe": {
"off": "Enable follow-me (north up)",
@@ -24,10 +27,154 @@
"language": "Language",
"systemDefault": "System Default",
"aboutInfo": "About / Info",
"aboutThisApp": "About This App"
"aboutThisApp": "About This App",
"maxNodes": "Max nodes fetched/drawn",
"maxNodesSubtitle": "Set an upper limit for the number of nodes on the map (default: 250).",
"maxNodesWarning": "You probably don't want to do that unless you are absolutely sure you have a good reason for it.",
"offlineMode": "Offline Mode",
"offlineModeSubtitle": "Disable all network requests except for local/offline areas.",
"offlineModeWarningTitle": "Active Downloads",
"offlineModeWarningMessage": "Enabling offline mode will cancel any active area downloads. Do you want to continue?",
"enableOfflineMode": "Enable Offline Mode"
},
"node": {
"title": "Node #{}",
"tagSheetTitle": "Surveillance Device Tags"
"tagSheetTitle": "Surveillance Device Tags",
"queuedForUpload": "Node queued for upload",
"editQueuedForUpload": "Node edit queued for upload"
},
"addNode": {
"profile": "Profile",
"direction": "Direction {}°",
"profileNoDirectionInfo": "This profile does not require a direction.",
"mustBeLoggedIn": "You must be logged in to submit new nodes. Please log in via Settings.",
"enableSubmittableProfile": "Enable a submittable profile in Settings to submit new nodes.",
"profileViewOnlyWarning": "This profile is for map viewing only. Please select a submittable profile to submit new nodes.",
"refineTags": "Refine Tags",
"refineTagsWithProfile": "Refine Tags ({})"
},
"editNode": {
"title": "Edit Node #{}",
"profile": "Profile",
"direction": "Direction {}°",
"profileNoDirectionInfo": "This profile does not require a direction.",
"mustBeLoggedIn": "You must be logged in to edit nodes. Please log in via Settings.",
"sandboxModeWarning": "Cannot submit edits on production nodes to sandbox. Switch to Production mode in Settings to edit nodes.",
"enableSubmittableProfile": "Enable a submittable profile in Settings to edit nodes.",
"profileViewOnlyWarning": "This profile is for map viewing only. Please select a submittable profile to edit nodes.",
"refineTags": "Refine Tags",
"refineTagsWithProfile": "Refine Tags ({})"
},
"download": {
"title": "Download Map Area",
"maxZoomLevel": "Max zoom level",
"storageEstimate": "Storage estimate:",
"tilesAndSize": "{} tiles, {} MB",
"minZoom": "Min zoom:",
"maxRecommendedZoom": "Max recommended zoom: Z{}",
"withinTileLimit": "Within {} tile limit",
"exceedsTileLimit": "Current selection exceeds {} tile limit",
"offlineModeWarning": "Downloads disabled while in offline mode. Disable offline mode to download new areas.",
"downloadStarted": "Download started! Fetching tiles and cameras...",
"downloadFailed": "Failed to start download: {}"
},
"uploadMode": {
"title": "Upload Destination",
"subtitle": "Choose where cameras are uploaded",
"production": "Production",
"sandbox": "Sandbox",
"simulate": "Simulate",
"productionDescription": "Upload to the live OSM database (visible to all users)",
"sandboxDescription": "Uploads go to the OSM Sandbox (safe for testing, resets regularly).",
"sandboxNote": "NOTE: Due to OpenStreetMap limitations, cameras submitted to the sandbox will NOT appear on the map in this app.",
"simulateDescription": "Simulate uploads (does not contact OSM servers)"
},
"auth": {
"loggedInAs": "Logged in as {}",
"loginToOSM": "Log in to OpenStreetMap",
"tapToLogout": "Tap to logout",
"requiredToSubmit": "Required to submit camera data",
"loggedOut": "Logged out",
"testConnection": "Test Connection",
"testConnectionSubtitle": "Verify OSM credentials are working",
"connectionOK": "Connection OK - credentials are valid",
"connectionFailed": "Connection failed - please re-login"
},
"queue": {
"pendingUploads": "Pending uploads: {}",
"simulateModeEnabled": "Simulate mode enabled uploads simulated",
"sandboxMode": "Sandbox mode uploads go to OSM Sandbox",
"tapToViewQueue": "Tap to view queue",
"clearUploadQueue": "Clear Upload Queue",
"removeAllPending": "Remove all {} pending uploads",
"clearQueueTitle": "Clear Queue",
"clearQueueConfirm": "Remove all {} pending uploads?",
"queueCleared": "Queue cleared",
"uploadQueueTitle": "Upload Queue ({} items)",
"queueIsEmpty": "Queue is empty",
"cameraWithIndex": "Camera {}",
"error": " (Error)",
"completing": " (Completing...)",
"destination": "Dest: {}",
"latitude": "Lat: {}",
"longitude": "Lon: {}",
"direction": "Direction: {}°",
"attempts": "Attempts: {}",
"uploadFailedRetry": "Upload failed. Tap retry to try again.",
"retryUpload": "Retry upload",
"clearAll": "Clear All"
},
"tileProviders": {
"title": "Tile Providers",
"noProvidersConfigured": "No tile providers configured",
"tileTypesCount": "{} tile types",
"apiKeyConfigured": "API Key configured",
"needsApiKey": "Needs API key",
"editProvider": "Edit Provider",
"addProvider": "Add Provider",
"deleteProvider": "Delete Provider",
"deleteProviderConfirm": "Are you sure you want to delete \"{}\"?",
"providerName": "Provider Name",
"providerNameHint": "e.g., Custom Maps Inc.",
"providerNameRequired": "Provider name is required",
"apiKey": "API Key (Optional)",
"apiKeyHint": "Enter API key if required by tile types",
"tileTypes": "Tile Types",
"addType": "Add Type",
"noTileTypesConfigured": "No tile types configured",
"atLeastOneTileTypeRequired": "At least one tile type is required",
"manageTileProviders": "Manage Providers"
},
"tileTypeEditor": {
"editTileType": "Edit Tile Type",
"addTileType": "Add Tile Type",
"name": "Name",
"nameHint": "e.g., Satellite",
"nameRequired": "Name is required",
"urlTemplate": "URL Template",
"urlTemplateHint": "https://example.com/{z}/{x}/{y}.png",
"urlTemplateRequired": "URL template is required",
"urlTemplatePlaceholders": "URL must contain {z}, {x}, and {y} placeholders",
"attribution": "Attribution",
"attributionHint": "© Map Provider",
"attributionRequired": "Attribution is required",
"fetchPreview": "Fetch Preview",
"previewTileLoaded": "Preview tile loaded successfully",
"previewTileFailed": "Failed to fetch preview: {}",
"save": "Save"
},
"profiles": {
"nodeProfiles": "Node Profiles",
"newProfile": "New Profile",
"builtIn": "Built-in",
"custom": "Custom",
"view": "View",
"deleteProfile": "Delete Profile",
"deleteProfileConfirm": "Are you sure you want to delete \"{}\"?",
"profileDeleted": "Profile deleted"
},
"mapTiles": {
"title": "Map Tiles",
"manageProviders": "Manage Providers"
}
}