fix(k8s): 修复 shared-components.tsx JSX 结构错误致前端构建失败 + 补全残余 i18n 硬编码中文

- fix: shared-components.tsx ContainerInfo 端口区块多余 <div> 标签致 JSX 闭合错误 (TS17008)
- i18n: EventsPage/DeploymentDetail/DeploymentEditAdvanced/Containers/Storage 等 K8s 组件残余硬编码中文→t() 调用
- i18n: zh/en 7987 键完全对齐, 新增 k8s.eventsPage/k8s.workload 等语义化键
- tsc -b=0, npm build✓ (17.48s), ESLint errors=0/warnings=43/any=0, go build=0
- 17/17 集成测试通过, Docker 部署 healthy
This commit is contained in:
attacker committed 2026-07-14 20:07:46 +08:00
1 parent 39a4432f79
commit bd1ccefa7f
13 files changed
+172 -42

No files matched your search

+76 -11
View File
@@ -662,7 +662,8 @@
"readWrite": "Read Write",
"manageAll": "Manage All",
"createNew": "Create New",
"saveSuccess": "Saved successfully"
"saveSuccess": "Saved successfully",
"daysSuffix": "days"
},
"menu": {
"aiAgentCli": "Agent CLI",
@@ -2655,7 +2656,8 @@
"tokenPlaceholder": "Paste Service Account Token...",
"tokenConfigured": "Configured, enter new value to override...",
"addTitle": "Add Cluster",
"editTitle": "Edit Cluster"
"editTitle": "Edit Cluster",
"codeRule": "Only English letters, numbers, and hyphens(-) allowed. Cannot start or end with a hyphen. Serves as cluster unique identifier."
},
"clusterOverview": {
"nodeCount": "Nodes",
@@ -3205,7 +3207,8 @@
"notReady": "Not Ready",
"selectCluster": "Select Cluster",
"subtitle": "Kubernetes cluster node status and resources",
"noData": "No node data"
"noData": "No node data",
"cores": "cores"
},
"nsMgmt": {
"status": "Status",
@@ -3216,7 +3219,10 @@
"title": "Namespace Management",
"quotaLimit": "Quota Limits",
"nameExample": "e.g. my-app",
"quotaSubtitle": "{{code}} · Resource Quotas & Lifecycle"
"quotaSubtitle": "{{code}} · Resource Quotas & Lifecycle",
"dnsHint": "Name must comply with DNS-1123 (lowercase letters/numbers/hyphens)",
"confirmDeleteDesc": "This action is irreversible. All Deployments/Pods/Services/ConfigMaps will be permanently deleted.",
"confirmDelete": "Confirm Delete"
},
"nsOverview": {
"workloadReplicas": "Workload replica management",
@@ -3688,7 +3694,9 @@
"confirmDeletePod": "Confirm Delete Pod",
"deletePodDesc": "This operation cannot be undone",
"image": "Image",
"deployment": "Deployment"
"deployment": "Deployment",
"memoryLabel": "Memory",
"portsLabel": "Ports"
},
"workloadView": {
"restartSent": "Restart command sent",
@@ -3740,7 +3748,19 @@
"podLevel": "Pod Level",
"podNameLabel": "Pod Name",
"podManagePolicy": "Pod Management Policy",
"uploadFile": "Upload"
"uploadFile": "Upload",
"eventsPage": {
"reasonLabel": "Reason",
"kindLabel": "Kind",
"recentWarnings": "Recent Warnings"
},
"podFiles": {
"readError": "Read failed",
"uploadError": "Upload failed"
},
"bundleYaml": {
"unsupportedType": "Unsupported resource type: {{kind}} (only Deployment / Service supported)"
}
},
"monitor": {
"acknowledge": "Acknowledge",
@@ -3808,7 +3828,10 @@
"alertChannelDialog": {
"notTested": "Not Tested",
"title": "Notification Channel Configuration",
"enableChannel": "Enable this channel"
"enableChannel": "Enable this channel",
"desc": "Manage alert notification channels (DingTalk/WeChat/Email/SMS/Webhook). Reference in alert rules after configuration.",
"createNew": "New",
"emptyChannels": "No notification channels. Add on the right."
},
"alertChannelDialog2": {
"editChannel": "Edit Channel",
@@ -3901,7 +3924,9 @@
"alertList": "Alerts",
"alertManager": {
"trendTitle": "Alert Trends",
"last24hStats": "Past 24 hours alert statistics"
"last24hStats": "Past 24 hours alert statistics",
"notifyConfig": "Notification Config",
"createRule": "Create Rule"
},
"alertMessage": "Message",
"alertMgr2": {
@@ -3948,7 +3973,12 @@
"deleteRule": "Delete Alert Rule",
"deleteConfirm": "Delete this alert rule?",
"deleted": "Alert rule deleted",
"condition": "Trigger Condition"
"condition": "Trigger Condition",
"batchDelete": "Batch Delete",
"emptyRules": "No alert rules",
"severityCritical": "Critical",
"severityWarning": "Warning",
"severityInfo": "Info"
},
"alertSeverity": "Severity",
"alertSource": "Source",
@@ -4502,7 +4532,22 @@
"usedHint": "Used {{value}}",
"clusterNodesHint": "Cluster {{value}} nodes",
"slowQueriesHint": "Slow queries {{value}}",
"pointCount": "{{min}} — {{max}} · {{count}} pts"
"pointCount": "{{min}} — {{max}} · {{count}} pts",
"queryCount": "Log Count",
"totalCount": "Total",
"loadMore": "Load More",
"displayFields": "Display Fields",
"indexFields": "Indexed Fields",
"logQueryHint": "Log queries depend on datasource connections. Platform does not store log data.",
"labelBrowser": "Label Browser",
"selectedCount": "Selected",
"addAlertFromQuery": "Add current query as alert",
"emptyLogAlerts": "No log alerts. Click the bell icon in Loki/ES query page to create from current query.",
"useDefaultIndex": "Use datasource default",
"maxHistory": "Max 50 entries · Local storage",
"countSuffix": "entries",
"prometheusDs": "Prometheus Datasource",
"addDatasource": "Add Datasource"
},
"logAlertBell": {
"linked": "Alert Policy Linked",
@@ -7832,7 +7877,27 @@
"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?"
"deleteTermSessionsConfirmDesc": "Delete {{count}} selected terminal session records?",
"newUser": "New User",
"password": "Password",
"local": "Local",
"batchImportCsv": "Batch Import Users (CSV)",
"csvImportDesc": "Upload a CSV file to batch create users. Download the template first, fill in and upload.",
"selectCsvFile": "Select CSV File",
"previewData": "Preview",
"moreEntries": "{{count}} more entries...",
"confirmImport": "Confirm Import ({{count}})",
"ldapImportTitle": "Import Users from LDAP",
"ldapImportDesc": "Retrieve user list from LDAP server, select users to import",
"foundUsers": "Found {{count}} users",
"noUserData": "No user data",
"selectedItems": "Selected {{selected}} / Total {{total}}",
"credentialEmpty": "No credentials. Click \"Add Credential\" to create",
"credentialSshKey": "SSH Private Key",
"credentialAkSk": "AK/SK (one pair per line, space or comma separated)",
"credentialEncryptedHint": "Credentials are encrypted with AES-256-GCM, decrypted only on server side",
"permissionAssign": "Permission Assignment",
"adminPassword": "Admin Password"
},
"aiops": {
"activeCount": "{{count}} active",