feat(i18n): U5 Kubernetes 模块国际化 — 新增 k8s 命名空间(184键) + KubernetesClusterDetail/TopologyView 全量迁移硬编码中文改翻译键
- 新增 k8s 翻译命名空间: cluster/tab/column/empty/label/topology/resource/workload 8 子命名空间
- KubernetesClusterDetail.tsx: 7 Tab(概览/节点/Pod/Deployment/Service/Ingress/事件) 表头+空状态+趋势图标签全量国际化
- TopologyView.tsx: 标题/编辑模式/连线模式/节点编辑弹框/Toast/搜索栏全量国际化
- 新增 common.duration.minAgo 插值键
- 翻译键 1019→1204(+185), 11 命名空间, zh-CN/en-US 完全对齐
- tsc --noEmit=0, npm build✅(17.81s), 17/17 测试通过
This commit is contained in:
1 parent
3b19ae6e98
commit
6db6acc6bd
7 files changed
+611
-129
No files matched your search
@@ -77,7 +77,8 @@
|
||||
"min": "{{count}}m",
|
||||
"minSec": "{{m}}m {{s}}s",
|
||||
"hour": "{{count}}h",
|
||||
"hourMin": "{{h}}h {{m}}m"
|
||||
"hourMin": "{{h}}h {{m}}m",
|
||||
"minAgo": "{{count}} min ago"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
@@ -1145,5 +1146,207 @@
|
||||
"allType": "All Types",
|
||||
"pagination": "{{n}}/page"
|
||||
}
|
||||
},
|
||||
"k8s": {
|
||||
"cluster": {
|
||||
"detail": "Cluster Details",
|
||||
"version": "Version",
|
||||
"nodeCount": "nodes",
|
||||
"created": "Created",
|
||||
"loadFailed": "Failed to load cluster details",
|
||||
"resourceTrend": "Resource Usage Trend (simulated)",
|
||||
"refreshMetrics": "Refresh node metrics",
|
||||
"resourceDistribution": "Resource Distribution",
|
||||
"now": "Now"
|
||||
},
|
||||
"tab": {
|
||||
"overview": "Overview",
|
||||
"nodes": "Nodes",
|
||||
"pods": "Pods",
|
||||
"deployments": "Deployments",
|
||||
"services": "Services",
|
||||
"ingresses": "Ingresses",
|
||||
"events": "Events"
|
||||
},
|
||||
"column": {
|
||||
"name": "Name",
|
||||
"namespace": "Namespace",
|
||||
"role": "Role",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"os": "OS",
|
||||
"restartCount": "Restarts",
|
||||
"node": "Node",
|
||||
"replicas": "Replicas",
|
||||
"availableReplicas": "Available",
|
||||
"image": "Image",
|
||||
"type": "Type",
|
||||
"ports": "Ports",
|
||||
"selector": "Selector",
|
||||
"hosts": "Hosts",
|
||||
"backend": "Backend",
|
||||
"tls": "TLS",
|
||||
"createdAt": "Created"
|
||||
},
|
||||
"empty": {
|
||||
"nodes": "No node data",
|
||||
"pods": "No pod data",
|
||||
"deployments": "No deployment data",
|
||||
"services": "No service data",
|
||||
"ingresses": "No ingress data",
|
||||
"events": "No events"
|
||||
},
|
||||
"label": {
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"cpuPercent": "CPU(%)",
|
||||
"memoryPercent": "Memory(%)",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"cores": "cores"
|
||||
},
|
||||
"topology": {
|
||||
"title": "Architecture Topology",
|
||||
"selectCluster": "Select Cluster",
|
||||
"allResources": "All Resources",
|
||||
"editMode": "Edit Mode",
|
||||
"connectMode": "Connect Mode",
|
||||
"saveLayout": "Save Layout",
|
||||
"resetLayout": "Reset Layout",
|
||||
"addNode": "Add Node",
|
||||
"editNode": "Edit Node",
|
||||
"deleteNode": "Delete Node",
|
||||
"nodeName": "Node Name",
|
||||
"nodeType": "Node Type",
|
||||
"nodeNote": "Note",
|
||||
"searchPlaceholder": "Search nodes...",
|
||||
"noData": "No topology data, please select a cluster",
|
||||
"layoutSaved": "Layout saved",
|
||||
"layoutSaveFailed": "Save failed",
|
||||
"layoutReset": "Layout has been reset",
|
||||
"connectHint": "Click two nodes to create a connection",
|
||||
"cancelConnect": "Cancel Connection",
|
||||
"confirmDeleteNode": "Delete node \"{{name}}\"?",
|
||||
"customNode": "Custom Node",
|
||||
"dragHint": "Drag nodes to adjust position",
|
||||
"subtitle": "Kubernetes cluster resource topology visualization · drag nodes to adjust layout",
|
||||
"editModeActive": "Edit Mode",
|
||||
"connecting": "Connecting",
|
||||
"selectTarget": "select target node",
|
||||
"selectSource": "select source node",
|
||||
"sourceSelected": "Source node selected: {{name}}, click target node",
|
||||
"connectSelf": "Cannot connect to itself",
|
||||
"connectAdded": "Connection added",
|
||||
"exitEdit": "Exit Edit",
|
||||
"addConnection": "Add Connection",
|
||||
"autoGenerate": "Auto Regenerate",
|
||||
"autoGenerateTitle": "Ignore saved layout and regenerate based on K8s resources (Ingress path→Svc→Deploy→Pod)",
|
||||
"saving": "Saving...",
|
||||
"resetConfirm": "This will clear the saved layout and auto-arrange again",
|
||||
"editToolbarHint": "Double-click node to edit · Click dashed line to delete · Drag to reposition",
|
||||
"totalNodes": "Total Nodes",
|
||||
"connections": "Connections",
|
||||
"custom2": "Custom",
|
||||
"allTypes": "All Types",
|
||||
"noDataWithCluster": "No topology data for this cluster",
|
||||
"noDataSelectCluster": "Select a cluster to view topology",
|
||||
"nodeList": "Node List",
|
||||
"clickToViewDetail": "Click a node to view details",
|
||||
"noNodes": "No nodes",
|
||||
"customSuffix": "Custom",
|
||||
"relatedConnections": "Related Connections",
|
||||
"noConnections": "No related connections",
|
||||
"editNodeTitle": "Edit Node",
|
||||
"addNodeTitle": "Add Custom Node",
|
||||
"editNodeDesc": "Modify node properties",
|
||||
"addNodeDesc": "Add non-Kubernetes resources like databases, external services",
|
||||
"namePlaceholder": "e.g. MySQL Primary, Redis Cluster",
|
||||
"notePlaceholder": "Connection info, usage notes, etc.",
|
||||
"add2": "Add",
|
||||
"nodeUpdated": "Node updated",
|
||||
"nodeAdded": "Node added",
|
||||
"nodeDeleted": "Node deleted",
|
||||
"deleteNodeTitle": "Delete Node",
|
||||
"deleteNodeDesc": "Delete \"{{name}}\"? Related connections will also be removed",
|
||||
"deleteEdgeTitle": "Delete Connection",
|
||||
"deleteEdgeDesc": "Delete this custom connection?",
|
||||
"edgeDeleted": "Connection deleted",
|
||||
"nativeEdgeNoDelete": "Kubernetes native relationships cannot be deleted",
|
||||
"nodeTypeLabel": "Node Type",
|
||||
"nodeNameRequired": "Please enter a node name",
|
||||
"deleteText": "✕ Delete"
|
||||
},
|
||||
"resource": {
|
||||
"configMaps": "ConfigMaps",
|
||||
"secrets": "Secrets",
|
||||
"services": "Services",
|
||||
"ingresses": "Ingresses",
|
||||
"pvcs": "Persistent Volume Claims",
|
||||
"visualEditor": "Visual Editor",
|
||||
"yamlEditor": "YAML Editor",
|
||||
"editResource": "Edit Resource",
|
||||
"visualMode": "Visual Mode",
|
||||
"yamlMode": "YAML Mode",
|
||||
"keyValuePairs": "Key-Value Pairs",
|
||||
"addRow": "Add Row",
|
||||
"key": "Key",
|
||||
"value": "Value",
|
||||
"decodedValue": "Decoded Value",
|
||||
"portConfig": "Port Configuration",
|
||||
"selectorConfig": "Selector Configuration",
|
||||
"routeRules": "Route Rules",
|
||||
"storageConfig": "Storage Configuration",
|
||||
"targetPort": "Target Port",
|
||||
"protocol": "Protocol",
|
||||
"nodePort": "Node Port",
|
||||
"serviceType": "Service Type",
|
||||
"storageClass": "Storage Class",
|
||||
"accessMode": "Access Mode",
|
||||
"size": "Size",
|
||||
"path": "Path",
|
||||
"pathType": "Path Type",
|
||||
"serviceName": "Service Name",
|
||||
"servicePort": "Service Port",
|
||||
"host": "Host",
|
||||
"addPort": "Add Port",
|
||||
"addRoute": "Add Route",
|
||||
"addSelector": "Add Selector",
|
||||
"labelKey": "Label Key",
|
||||
"labelValue": "Label Value",
|
||||
"noPorts": "No port configuration",
|
||||
"noRoutes": "No route rules",
|
||||
"noSelectors": "No selectors",
|
||||
"saveSuccess": "Resource saved successfully",
|
||||
"saveFailed": "Failed to save resource",
|
||||
"parseFailed": "YAML parsing failed, please check the format",
|
||||
"plaintext": "Plaintext",
|
||||
"encoded": "Encoded"
|
||||
},
|
||||
"workload": {
|
||||
"scheduling": "Scheduling",
|
||||
"nodeName": "Node Name",
|
||||
"nodeSelector": "Node Selector",
|
||||
"nodeAffinity": "Node Affinity",
|
||||
"service": "Service",
|
||||
"storage": "Storage",
|
||||
"updateStrategy": "Update Strategy",
|
||||
"rollingUpdate": "Rolling Update",
|
||||
"recreate": "Recreate",
|
||||
"volumes": "Volumes",
|
||||
"mounts": "Mounts",
|
||||
"addVolume": "Add Volume",
|
||||
"addMount": "Add Mount",
|
||||
"portName": "Port Name",
|
||||
"port": "Port",
|
||||
"presetHttp": "HTTP",
|
||||
"presetWebSocket": "WebSocket",
|
||||
"presetGrpc": "gRPC",
|
||||
"capacity": "Capacity",
|
||||
"accessModes": "Access Modes",
|
||||
"mountPath": "Mount Path",
|
||||
"subPath": "Sub Path",
|
||||
"readOnly": "Read Only"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user