- {i18n.t('kubernetes.node.containerRuntime')}
+ {t('kubernetes.node.containerRuntime')}
{data.container_runtime || '-'}
@@ -152,19 +153,19 @@ export default function NodeDetailPage() {
{data.kubelet_version || '-'}
- {i18n.t('agent.agentOs')}
+ {t('agent.agentOs')}
{data.os_image || '-'}
- {i18n.t('kubernetes.node.kernelVersion')}
+ {t('kubernetes.node.kernelVersion')}
{data.kernel_version || '-'}
- {i18n.t('agent.agentArch')}
+ {t('agent.agentArch')}
{data.architecture || '-'}
- {i18n.t('system.userCreatedAt')}
+ {t('system.userCreatedAt')}
{data.creation_time ? new Date(data.creation_time).toLocaleString('zh-CN') : '-'}
@@ -179,14 +180,14 @@ export default function NodeDetailPage() {
- 资源分配率
+ {t('k8s.nodeDetail.resourceAllocation')}
{/* CPU allocation (requested vs allocatable) */}
- CPU 容量 / 可分配
- {data.cpu_capacity} / {data.cpu_allocatable} 核
+ {t('k8s.nodeDetail.cpuCapacityAlloc')}
+ {data.cpu_capacity} / {data.cpu_allocatable} {t('k8s.nodeDetail.coreUnit')}
- {i18n.t('kubernetes.nodedetailpaget.s5038523b')}
+ {t('k8s.nodeDetail.memCapacityAlloc')}
{data.mem_capacity_mb} / {data.mem_allocatable_mb} Mi
- Pod 容量 / 可分配
+ {t('k8s.nodeDetail.podCapacityAlloc')}
{data.pod_capacity} / {data.pod_allocatable}
@@ -257,10 +258,10 @@ export default function NodeDetailPage() {
- 节点条件
+ {t('k8s.nodeDetail.conditions')}
{(!data.conditions || data.conditions.length === 0) ? (
- {i18n.t('kubernetes.nodedetailpaget.s0f03f9da')}
+ {t('k8s.nodeDetail.noConditions')}
) : (
{data.conditions.map(( cond: any, i: number) => (
@@ -284,17 +285,17 @@ export default function NodeDetailPage() {
- 污点 (Taints)
+ {t('k8s.nodeDetail.taints')}
{(!data.taints || data.taints.length === 0) ? (
- {i18n.t('kubernetes.node.noTaint')}
+ {t('kubernetes.node.noTaint')}
) : (
- {data.taints.map(( t: any, i: number) => (
+ {data.taints.map(( tnt: any, i: number) => (
- {t.effect}
- {t.key}
- {t.value && = {t.value}}
+ {tnt.effect}
+ {tnt.key}
+ {tnt.value && = {tnt.value}}
))}
@@ -308,7 +309,7 @@ export default function NodeDetailPage() {
- 标签 ({data.labels.length})
+ {t('k8s.nodeDetail.labels', { count: data.labels.length })}
{data.labels.map(( l: any, i: number) => (
@@ -329,23 +330,23 @@ export default function NodeDetailPage() {
- 节点上的 Pod
+ {t('k8s.nodeDetail.podsOnNode')}
{data.pods?.length || 0}
{(!data.pods || data.pods.length === 0) ? (
-
{i18n.t('kubernetes.nodedetailpaget.s86d276f5')}
+
{t('k8s.nodeDetail.noPodsOnNode')}
) : (
- {i18n.t('kubernetes.namespace.title')}
- {i18n.t('kubernetes.secret.secretName')}
- {i18n.t('system.terminalStatus')}
+ {t('kubernetes.namespace.title')}
+ {t('kubernetes.secret.secretName')}
+ {t('system.terminalStatus')}
IP
- CPU 请求
- {i18n.t('kubernetes.container.memoryRequest')}
- {i18n.t('kubernetes.pod.restartCount')}
+ {t('k8s.nodeDetail.cpuRequest')}
+ {t('kubernetes.container.memoryRequest')}
+ {t('kubernetes.pod.restartCount')}
diff --git a/frontend/src/locales/en-US.json b/frontend/src/locales/en-US.json
index 2eb5c87..3a3ad53 100644
--- a/frontend/src/locales/en-US.json
+++ b/frontend/src/locales/en-US.json
@@ -2771,7 +2771,19 @@
"notFound": "Deployment not found",
"podList": "Pod List",
"logs": "Logs",
- "confirmDeleteHpa": "Confirm Delete HPA"
+ "confirmDeleteHpa": "Confirm Delete HPA",
+ "replicasSetTo": "Replicas set to {{count}}",
+ "confirmRestart": "Confirm rolling restart of Deployment \"{{name}}\"?",
+ "rollingUpdate": "{{action}} Rolling Update",
+ "confirmRollingUpdate": "Confirm {{action}} rolling update of Deployment \"{{name}}\"?",
+ "actionSuccess": "{{action}} Succeeded",
+ "actionFailed": "{{action}} Failed",
+ "rollingUpdated": "Deployment rolling update {{action}}d",
+ "rollingUpdateImage": "Rolling updating to {{image}}",
+ "deploymentDeleted": "{{name}} deleted",
+ "confirmDeletePod": "Confirm delete Pod \"{{name}}\"? This action cannot be undone.",
+ "deploymentNotFound": "Deployment not found: {{name}}",
+ "imageLabel": "Image"
},
"podLogs": {
"noLogs": "No logs",
@@ -3234,6 +3246,29 @@
"configured": "Configured (leave empty to keep)",
"kubeconfigHint": "API Server address will be auto-parsed after pasting kubeconfig content",
"cancel": "Cancel"
+ },
+ "nodeDetail": {
+ "nodeTitle": "Node Details",
+ "loadingNode": "Loading node details...",
+ "loadFailed": "Failed to load node details",
+ "systemInfo": "System Info",
+ "resourceAllocation": "Resource Allocation",
+ "cpuAllocated": "CPU Allocated",
+ "cpuRealtimeUsage": "CPU Real-time Usage",
+ "memAllocated": "Memory Allocated",
+ "memRealtimeUsage": "Memory Real-time Usage",
+ "podCount": "Pod Count",
+ "cpuCapacityAlloc": "CPU Capacity / Allocatable",
+ "memCapacityAlloc": "Memory Capacity / Allocatable",
+ "podCapacityAlloc": "Pod Capacity / Allocatable",
+ "coreUnit": "cores",
+ "conditions": "Conditions",
+ "noConditions": "No condition data",
+ "taints": "Taints",
+ "labels": "Labels ({{count}})",
+ "podsOnNode": "Pods on Node",
+ "noPodsOnNode": "No pods on this node",
+ "cpuRequest": "CPU Request"
}
},
"monitor": {
diff --git a/frontend/src/locales/zh-CN.json b/frontend/src/locales/zh-CN.json
index 13cf2e0..7882379 100644
--- a/frontend/src/locales/zh-CN.json
+++ b/frontend/src/locales/zh-CN.json
@@ -2771,7 +2771,19 @@
"notFound": "未找到 Deployment",
"podList": "Pod 列表",
"logs": "日志",
- "confirmDeleteHpa": "确定删除 HPA"
+ "confirmDeleteHpa": "确定删除 HPA",
+ "replicasSetTo": "副本数已设置为 {{count}}",
+ "confirmRestart": "确认滚动重启 Deployment \"{{name}}\"?",
+ "rollingUpdate": "{{action}}滚动更新",
+ "confirmRollingUpdate": "确认{{action}} Deployment \"{{name}}\" 的滚动更新?",
+ "actionSuccess": "{{action}}成功",
+ "actionFailed": "{{action}}失败",
+ "rollingUpdated": "Deployment 滚动更新已{{action}}",
+ "rollingUpdateImage": "正在滚动更新为 {{image}}",
+ "deploymentDeleted": "{{name}} 已删除",
+ "confirmDeletePod": "确认删除 Pod \"{{name}}\"?操作不可恢复。",
+ "deploymentNotFound": "未找到 Deployment: {{name}}",
+ "imageLabel": "镜像"
},
"podLogs": {
"noLogs": "无日志",
@@ -3234,6 +3246,29 @@
"configured": "已配置(留空不修改)",
"kubeconfigHint": "粘贴 kubeconfig 内容后将自动解析 API Server 地址",
"cancel": "取消"
+ },
+ "nodeDetail": {
+ "nodeTitle": "节点详情",
+ "loadingNode": "加载节点详情...",
+ "loadFailed": "无法加载节点详情",
+ "systemInfo": "系统信息",
+ "resourceAllocation": "资源分配率",
+ "cpuAllocated": "CPU 已分配",
+ "cpuRealtimeUsage": "CPU 实时使用",
+ "memAllocated": "内存已分配",
+ "memRealtimeUsage": "内存实时使用",
+ "podCount": "Pod 数量",
+ "cpuCapacityAlloc": "CPU 容量 / 可分配",
+ "memCapacityAlloc": "内存容量 / 可分配",
+ "podCapacityAlloc": "Pod 容量 / 可分配",
+ "coreUnit": "核",
+ "conditions": "节点条件",
+ "noConditions": "无条件数据",
+ "taints": "污点 (Taints)",
+ "labels": "标签 ({{count}})",
+ "podsOnNode": "节点上的 Pod",
+ "noPodsOnNode": "该节点上暂无 Pod",
+ "cpuRequest": "CPU 请求"
}
},
"monitor": {