refactor(i18n): U42 残余硬编码中文彻底清零 — 33文件54处→0, zh/en 7847→7898对齐

全量 JSX children + toast/confirm + sr-only 描述硬编码中文清零:
- Kubernetes模块: UpdateStrategyCard maxSurge/maxUnavailable说明 + IngressCreateForm host域名/Service端口 + ServiceCreateForm 端口配置/selector + DeploymentEditService 无selector/个关联/暂无Service/Ingress + ClusterOverviewPage 核 + KubernetesClusterDialog 已配置 + KubectlTerminal/ResourceVisualEditor/CreateHPADialog/DeploymentEditContainers/Storage + PodInstancesTable/UpdateStrategySelectorCards
- AI模块: PredictiveCapacityTab AI深度解读/紧急/警告/7天预测/预计N天 + PredictiveCostTab AI深度解读 + event-handler.ts 高危操作确认toast
- Deploy模块: DeployCredentials 启用/禁用 + DeployRBAC 删除角色confirm + WorkspaceTermDialog + CredFormDialog Windows用户
- Monitor模块: AlertRulesTab 删除confirm/分钟 + PrometheusDatasourceManager/LogDatasourcePage 删除confirm + QueryHistoryPanel 条
- System模块: ServerFileBrowser/TerminalDialog/RdpAuditViewer sr-only + SystemManager/CredentialManager/TerminalSessionsTab 删除confirm + SecuritySettingsTab 30分钟/2小时
- Task模块: CronJobViewDialog 次

新增 61 翻译键 (k8s.editAdvanced 6 + k8s.editService 11 + k8s.cluster 2 + k8s.misc 9 + aiops.capacity 9 + aiops.cost 1 + aiops.cli 2 + deploy 4 + monitor 5 + system 10 + task 1 + common 2)
tsc -b=0, npm build✓ (17.71s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
This commit is contained in:
attacker committed 2026-07-14 00:51:36 +08:00
1 parent a7838aaf65
commit c6e0d6ca57
35 files changed
+217 -104

No files matched your search

+77 -22
View File
@@ -634,7 +634,9 @@
"rdpSessionCount": "RDP sessions: {{count}}",
"evidenceChain": "Evidence Chain",
"last1Hour": "Last 1 hour",
"currentHost": "Current host: {{host}}"
"currentHost": "Current host: {{host}}",
"minutes30": "30 min",
"hours2": "2 hours"
},
"menu": {
"aiAgentCli": "Agent CLI",
@@ -1801,7 +1803,9 @@
"operationFailed": "Operation failed",
"tagsLabel": "Tags"
},
"sensitiveWarn": "Please keep sensitive information safe"
"sensitiveWarn": "Please keep sensitive information safe",
"windowsUser": "Windows User",
"badgeDefault": "Default"
},
"credCol": {
"name": "Credential Name",
@@ -2162,7 +2166,8 @@
"noPolicy": "No job permission policies",
"createHint": "After creating a policy, users will automatically get access to matching pipelines via regex"
},
"deleteGroupDesc": "Delete \"{{name}}\"? All members and pipeline grants will be removed."
"deleteGroupDesc": "Delete \"{{name}}\"? All members and pipeline grants will be removed.",
"deleteRoleDesc": "Delete \"{{name}}\"? This will affect {{count}} release tasks"
},
"rdpPassword": "Windows Password",
"rdpPasswordPlaceholder": "Windows login password",
@@ -2550,7 +2555,8 @@
"noVars": "No variables, click \"Add Variable\" to create",
"envVar": "Environment Variables",
"envVarOptional": "Environment Variables (optional)"
}
},
"workspaceTerminalTitle": "Workspace Terminal #{{num}}"
},
"k8s": {
"actionModal": {
@@ -2606,11 +2612,13 @@
"now": "Now",
"allNamespaces": "All Namespaces",
"provider": "Provider",
"region": "Region"
"region": "Region",
"cpuCores": "{{count}} cores",
"noContainer": "(no containers)"
},
"clusterDialog": {
"nameHint": "Only English letters, numbers and hyphens (-) allowed. Cannot start or end with hyphen. Name will be the cluster unique identifier.",
"configured": "Configured (leave empty to keep)",
"configured": "✓ Configured (leave blank to keep)",
"kubeconfigHint": "API Server address will be auto-parsed after pasting kubeconfig content",
"cancel": "Cancel",
"nameRule": "Only letters, digits, and hyphens (-) allowed; cannot start or end with a hyphen",
@@ -2857,8 +2865,8 @@
"updateStrategy": "Update Strategy",
"rollingUpdate": "Rolling Update",
"recreate": "Recreate",
"maxSurgeHint": "Integer or percentage, exceeds desired replicas",
"maxUnavailableHint": "Integer or percentage, max unavailable",
"maxSurgeHint": "maxSurge (integer or percentage, surge above desired)",
"maxUnavailableHint": "maxUnavailable (integer or percentage, max unavailable)",
"historyVersions": "History Versions & Progress",
"rsHistory": "Retain RS History",
"upgradeTimeout": "Upgrade timeout (seconds)",
@@ -2879,7 +2887,11 @@
"secondsPlaceholder": "seconds",
"maxSurge": "Max Surge",
"maxUnavailable": "Max Unavailable",
"strategyLabel": "Update Strategy"
"strategyLabel": "Update Strategy",
"rollingUpdateDesc": "RollingUpdate (Rolling)",
"recreateDesc": "Recreate (Recreate)",
"revisionHistoryLimitHint": "revisionHistoryLimit (RS history to retain)",
"progressDeadlineSecondsHint": "progressDeadlineSeconds (upgrade timeout seconds)"
},
"editBasic": {
"synced": "Synced",
@@ -2960,7 +2972,7 @@
"edit": "Edit",
"createNew": "Create New Service",
"portConfig": "Port Configuration",
"portCount": "ports",
"portCount": "{{count}} ports",
"addCustomPort": "Add Custom Port",
"autoDetect": "Auto Detect",
"ingresses": "Ingresses (App Routes)",
@@ -2968,15 +2980,22 @@
"autoHighlight": "Ingress whose backend points to related Service is auto-highlighted",
"noRelatedIngress": "No Ingress in current namespace",
"createNewIngress": "Create New Ingress",
"hostDomain": "Host (Domain)",
"hostDomain": "host (domain)",
"servicePort": "Service Port",
"noSelector": "(No selector)",
"noSelector": "(no selector)",
"confirmDelete": "Confirm Delete",
"deleteDesc": "This operation cannot be undone",
"portName": "Port Name",
"targetPort": "Target Port",
"protocol": "Protocol",
"serviceCreated": "Service created"
"serviceCreated": "Service created",
"servicePortLabel": "Service Port",
"selectorAutoDetect": "selector (auto-detected):",
"svcLinked": "{{count}} linked",
"ingressAutoHighlight": "Ingresses pointing to linked Services are auto-highlighted",
"noSvcInNs": "No linked Services in current namespace",
"noIngInNs": "No Ingresses in current namespace",
"ingressesLabel": "Ingresses (App Routes)"
},
"editStorage": {
"volumes": "Volumes",
@@ -3420,7 +3439,8 @@
"commonExamples": "Common:",
"accessModeRWO": "ReadWriteOnce (Single node read-write)",
"accessModeROX": "ReadOnlyMany (Multi-node read-only)",
"accessModeRWX": "ReadWriteMany (Multi-node read-write)"
"accessModeRWX": "ReadWriteMany (Multi-node read-write)",
"yamlEditBtn": "YAML Edit"
},
"scheduling": {
"mode": {
@@ -3689,7 +3709,11 @@
"download": "Download",
"copied": "Copied",
"fetchFailed": "Failed to fetch YAML"
}
},
"kubectlTerminalDesc": "Kubernetes cluster command-line terminal",
"podLevel": "Pod Level",
"podNameLabel": "Pod Name",
"podManagePolicy": "Pod Management Policy"
},
"monitor": {
"acknowledge": "Acknowledge",
@@ -5294,7 +5318,14 @@
"nextPage": "Next"
},
"zookeeper": "ZooKeeper",
"deleteRuleConfirmDesc": "Delete \"{{name}}\"?"
"deleteRuleConfirmDesc": "Delete \"{{name}}\"?",
"deleteRulesConfirmDesc": "Delete {{count}} selected alert rules? This action cannot be undone.",
"deleteDatasourceConfirmDesc": "Delete datasource \"{{name}}\"? This action cannot be undone.",
"deleteLogDsConfirmDesc": "Delete \"{{name}}\"?",
"durationMinutes": "{{count}} min",
"queryHistory": {
"count": "{{count}} entries"
}
},
"task": {
"cronJob": {
@@ -5372,7 +5403,8 @@
"batchDeleteConfirm": "Delete {{count}} selected jobs? This cannot be undone.",
"confirmDelete": "Delete \"{{name}}\"? This cannot be undone.",
"execDuration": "Duration: {{ms}}ms"
}
},
"runCount": "{{count}} times"
},
"cronJobCol": {
"task": "Task",
@@ -7763,7 +7795,17 @@
"liveMonitor": {
"exitFullscreen": "Exit Fullscreen",
"fullscreen": "Fullscreen"
}
},
"rdpLiveAudit": "RDP Live Audit",
"rdpHistoryReplay": "RDP History Replay",
"rdpAuditDesc": "Windows RDP graphical session audit viewer",
"sshTerminalDesc": "SSH terminal connection",
"sftpFileDesc": "SFTP file management · upload · download · delete",
"sftpFileLabel": "· SFTP file management",
"deleteUserConfirmDesc": "Delete user \"{{name}}\"?",
"batchDeleteUsersConfirmDesc": "Delete {{count}} selected users? This action cannot be undone.",
"deleteCredConfirmDesc": "Delete \"{{name}}\"? This cannot be undone. Servers using this credential will lose connection.",
"deleteTermSessionsConfirmDesc": "Delete {{count}} selected terminal session records?"
},
"aiops": {
"activeCount": "{{count}} active",
@@ -7966,12 +8008,20 @@
"recDisk": "Disk space is running low. Consider expanding storage or cleaning up historical data and logs.",
"recMonitor": "Recommend continued monitoring of resource usage trends.",
"in24Hours": "In 24 hours",
"noRisk": "Growth is gradual, no threshold breach risk",
"noRisk": "Growth is gradual, no threshold risk",
"expertPrompt": "You are an AIOps capacity planning expert. Based on the following server resource capacity forecast data, provide a comprehensive risk assessment and actionable operations recommendations:",
"resCpu": "Server CPU Compute",
"resMemory": "Server Memory",
"resDisk": "Storage Disk Space",
"summary": "- {{resource}}: Current {{current}}% → 7-day forecast {{predicted}}% (threshold {{threshold}}%), {{risk}}"
"summary": "- {{resource}}: Current {{current}}% → 7-day forecast {{predicted}}% (threshold {{threshold}}%), {{risk}}",
"aiInsight": "AI Deep Insight",
"urgency": "Critical",
"warning": "Warning",
"sevenDayForecast": "7-Day Usage Forecast",
"expectedToReach": "Expected to",
"days": "days",
"afterReachThreshold": "until threshold reached",
"aiSuggestion": "AI Suggestion"
},
"capacityPlanPrompt": "Based on the following host resource usage, provide cost optimization and capacity planning advice (identify idle/overloaded hosts; suggest scale-down/scale-up)",
"capacityPlanning": "Capacity Planning",
@@ -8108,7 +8158,9 @@
"hint": "Shift+Enter for new line / Enter to send",
"stop": "Stop",
"execute": "Run"
}
},
"confirmHighRiskTitle": "⚠️ Confirm High-Risk Operation",
"confirmHighRiskDesc": "Tool: {{tool}}\nRisk: {{risk}}\nCommand: {{command}}"
},
"cloudService": "Cloud Services",
"codingPlan": "Coding Plan",
@@ -8474,7 +8526,10 @@
"zhipuGeneral": "Zhipu GLM (General)",
"zhipuGetKey": "Register a Zhipu account and enable model services to get an API Key",
"zhipuOpenPlatform": "Zhipu Open Platform",
"reachable": "reachable"
"reachable": "reachable",
"cost": {
"aiInsight": "AI Deep Insight"
}
},
"breadcrumb": {
"aiAlertAnalyzer": "Alert Analysis",