fix: extract hardcoded English strings to i18n system with Russian translations
- Extract ~40 hardcoded strings from project detail, deploy, settings, credentials, registries, auth, env editor pages - Add corresponding Russian translations - Replace native confirm() default labels with i18n keys in ConfirmDialog - Fix InstanceCard pluralization to use i18n
This commit is contained in:
@@ -55,7 +55,10 @@
|
||||
"selectImage": "Select an image",
|
||||
"noImages": "No images found",
|
||||
"loadingImages": "Loading images...",
|
||||
"imageLoadFailed": "Failed to load images"
|
||||
"imageLoadFailed": "Failed to load images",
|
||||
"alreadyAdded": "Already added",
|
||||
"portHelpText": "Auto-detected from EXPOSE if empty",
|
||||
"healthcheckHelpText": "Auto-detected from image if empty"
|
||||
},
|
||||
"projectDetail": {
|
||||
"deleteProject": "Delete Project",
|
||||
@@ -86,7 +89,29 @@
|
||||
"deleteConfirmMessage": "This will permanently delete the project '{name}' and all its stages, instances, and deploy history. This cannot be undone.",
|
||||
"loadFailed": "Failed to load project",
|
||||
"deleteFailed": "Failed to delete project",
|
||||
"deployFailed": "Deploy failed"
|
||||
"deployFailed": "Deploy failed",
|
||||
"nameLabel": "Name *",
|
||||
"imageLabel": "Image *",
|
||||
"portLabel": "Port",
|
||||
"healthcheckLabel": "Healthcheck Path",
|
||||
"saving": "Saving...",
|
||||
"addStage": "Add Stage",
|
||||
"tagPattern": "Tag Pattern",
|
||||
"tagPatternHelp": "Glob pattern (e.g., dev-*, v*)",
|
||||
"maxInstances": "Max Instances",
|
||||
"autoDeployLabel": "Auto Deploy",
|
||||
"npmProxy": "NPM Proxy",
|
||||
"creating": "Creating...",
|
||||
"createStage": "Create Stage",
|
||||
"noProxy": "No Proxy",
|
||||
"deleteStage": "Delete stage",
|
||||
"deleteStageConfirm": "Delete stage \"{name}\"?",
|
||||
"stageCreated": "Stage \"{name}\" created",
|
||||
"stageDeleted": "Stage \"{name}\" deleted",
|
||||
"projectUpdated": "Project updated",
|
||||
"updateFailed": "Failed to update project",
|
||||
"stageCreateFailed": "Failed to create stage",
|
||||
"stageDeleteFailed": "Failed to delete stage"
|
||||
},
|
||||
"envEditor": {
|
||||
"title": "Environment Variables",
|
||||
@@ -117,7 +142,8 @@
|
||||
"addFailed": "Failed to add env var",
|
||||
"updateFailed": "Failed to update env var",
|
||||
"deleteFailed": "Failed to delete env var",
|
||||
"loadEnvFailed": "Failed to load env vars"
|
||||
"loadEnvFailed": "Failed to load env vars",
|
||||
"leaveEmptyToKeep": "Leave empty to keep current"
|
||||
},
|
||||
"volumeEditor": {
|
||||
"title": "Volume Mounts",
|
||||
@@ -196,7 +222,8 @@
|
||||
"selectImage": "Select an image from a registry",
|
||||
"noImages": "No images found",
|
||||
"loadingImages": "Loading...",
|
||||
"imageLoadFailed": "Failed to load images"
|
||||
"imageLoadFailed": "Failed to load images",
|
||||
"lowercaseHint": "Lowercase with hyphens"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
@@ -264,7 +291,9 @@
|
||||
"testConnection": "Test Connection",
|
||||
"testingConnection": "Testing...",
|
||||
"connectionSuccess": "Connection successful",
|
||||
"connectionFailed": "Connection failed"
|
||||
"connectionFailed": "Connection failed",
|
||||
"baseVolumePath": "Base Volume Path",
|
||||
"baseVolumePathHelp": "Prepended to relative volume sources (e.g., /data + my-app/uploads = /data/my-app/uploads)"
|
||||
},
|
||||
"settingsRegistries": {
|
||||
"title": "Container Registries",
|
||||
@@ -300,7 +329,10 @@
|
||||
"deleteFailed": "Failed to delete registry",
|
||||
"testFailed": "Connection test failed",
|
||||
"loadFailed": "Failed to load registries",
|
||||
"deleteConfirm": "Delete registry \"{name}\"? This cannot be undone."
|
||||
"deleteConfirm": "Delete registry \"{name}\"? This cannot be undone.",
|
||||
"healthChecking": "Checking...",
|
||||
"healthConnected": "Connected",
|
||||
"healthUnreachable": "Unreachable"
|
||||
},
|
||||
"settingsCredentials": {
|
||||
"title": "Credentials",
|
||||
@@ -324,7 +356,8 @@
|
||||
"registryTokens": "Registry Tokens",
|
||||
"registryTokensDesc": "Registry authentication tokens are managed per-registry in the",
|
||||
"registriesLink": "Registries",
|
||||
"registryTokensSuffix": "section. Each registry stores its token encrypted in the database."
|
||||
"registryTokensSuffix": "section. Each registry stores its token encrypted in the database.",
|
||||
"notSet": "Not set"
|
||||
},
|
||||
"settingsBackup": {
|
||||
"title": "Backup Management",
|
||||
@@ -395,6 +428,7 @@
|
||||
"deleteFailed": "Failed to delete user",
|
||||
"deleteConfirm": "Are you sure you want to delete this user?",
|
||||
"usernameRequired": "Username and password are required",
|
||||
"networkError": "Network error",
|
||||
"password": "Password"
|
||||
},
|
||||
"login": {
|
||||
@@ -486,7 +520,10 @@
|
||||
"stopInstance": "Stop Instance",
|
||||
"startInstance": "Start Instance",
|
||||
"restartInstance": "Restart Instance",
|
||||
"removeInstance": "Remove Instance"
|
||||
"removeInstance": "Remove Instance",
|
||||
"stopAction": "Stop",
|
||||
"restartAction": "Restart",
|
||||
"removeAction": "Remove"
|
||||
},
|
||||
"theme": {
|
||||
"light": "Light",
|
||||
|
||||
Reference in New Issue
Block a user