Files
deflock-app/lib/localizations/en.json

258 lines
10 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"language": {
"name": "English"
},
"app": {
"title": "DeFlock"
},
"actions": {
"tagNode": "New Node",
"download": "Download",
"settings": "Settings",
"edit": "Edit",
"delete": "Delete",
"cancel": "Cancel",
"ok": "OK",
"close": "Close",
"submit": "Submit",
"saveEdit": "Save Edit",
"clear": "Clear"
},
"followMe": {
"off": "Enable follow-me (north up)",
"northUp": "Enable follow-me (rotating)",
"rotating": "Disable follow-me"
},
"settings": {
"title": "Settings",
"language": "Language",
"systemDefault": "System Default",
"aboutInfo": "About / Info",
"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",
"queuedForUpload": "Node queued for upload",
"editQueuedForUpload": "Node edit queued for upload",
"deleteQueuedForUpload": "Node deletion queued for upload",
"confirmDeleteTitle": "Delete Node",
"confirmDeleteMessage": "Are you sure you want to delete node #{}? This action cannot be undone."
},
"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).",
"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"
},
"profileEditor": {
"viewProfile": "View Profile",
"newProfile": "New Profile",
"editProfile": "Edit Profile",
"profileName": "Profile name",
"profileNameHint": "e.g., Custom ALPR Camera",
"profileNameRequired": "Profile name is required",
"requiresDirection": "Requires Direction",
"requiresDirectionSubtitle": "Whether cameras of this type need a direction tag",
"submittable": "Submittable",
"submittableSubtitle": "Whether this profile can be used for camera submissions",
"osmTags": "OSM Tags",
"addTag": "Add tag",
"saveProfile": "Save Profile",
"keyHint": "key",
"valueHint": "value",
"atLeastOneTagRequired": "At least one tag is required",
"profileSaved": "Profile \"{}\" saved"
},
"operatorProfileEditor": {
"newOperatorProfile": "New Operator Profile",
"editOperatorProfile": "Edit Operator Profile",
"operatorName": "Operator name",
"operatorNameHint": "e.g., Austin Police Department",
"operatorNameRequired": "Operator name is required",
"operatorProfileSaved": "Operator profile \"{}\" saved"
},
"operatorProfiles": {
"title": "Operator Profiles",
"noProfilesMessage": "No operator profiles defined. Create one to apply operator tags to node submissions.",
"tagsCount": "{} tags",
"deleteOperatorProfile": "Delete Operator Profile",
"deleteOperatorProfileConfirm": "Are you sure you want to delete \"{}\"?",
"operatorProfileDeleted": "Operator profile deleted"
},
"offlineAreas": {
"noAreasTitle": "No offline areas",
"noAreasSubtitle": "Download a map area for offline use.",
"provider": "Provider",
"maxZoom": "Max zoom",
"zoomLevels": "Z{}-{}",
"latitude": "Lat",
"longitude": "Lon",
"tiles": "Tiles",
"size": "Size",
"cameras": "Cameras",
"areaIdFallback": "Area {}...",
"renameArea": "Rename area",
"refreshWorldTiles": "Refresh/re-download world tiles",
"deleteOfflineArea": "Delete offline area",
"cancelDownload": "Cancel download",
"renameAreaDialogTitle": "Rename Offline Area",
"areaNameLabel": "Area Name",
"renameButton": "Rename",
"megabytes": "MB",
"kilobytes": "KB",
"progress": "{}%"
},
"refineTagsSheet": {
"title": "Refine Tags",
"operatorProfile": "Operator Profile",
"done": "Done",
"none": "None",
"noAdditionalOperatorTags": "No additional operator tags",
"additionalTags": "additional tags",
"additionalTagsTitle": "Additional Tags",
"noTagsDefinedForProfile": "No tags defined for this operator profile.",
"noOperatorProfiles": "No operator profiles defined",
"noOperatorProfilesMessage": "Create operator profiles in Settings to apply additional tags to your node submissions."
},
"layerSelector": {
"cannotChangeTileTypes": "Cannot change tile types while downloading offline areas",
"selectMapLayer": "Select Map Layer",
"noTileProvidersAvailable": "No tile providers available"
}
}