refactor(i18n): U44 残余硬编码中文清零 — 终端审计状态+凭证类型+流水线阶段+时间格式+CSV导出

20 文件 ~70 处 UI 硬编码中文清零:
- credential-manager/constants.ts: 8 凭证类型 label/desc → labelKey/descKey + i18n.t()
- pipeline-run-detail/types.ts: 6 阶段 label → i18n.t('deploy.stage.*') + labelKey
- pipeline-manager/constants.ts + pipeline-editor/types.ts: 分秒 duration → i18n.t('common.duration.minSec')
- LiveMonitorDialog: 6 终端状态消息 → t()
- RdpAuditViewer: 6 RDP审计状态 → i18n.t('monitor.rdp.*')
- WorkspaceTermDialog: 2 终端连接状态 → t()
- TerminalSessionsTab: 4 时长格式+状态标签 → i18n.t()/t()
- k8s-event-utils + QueryHistoryPanel: 6 相对时间 → i18n.t('common.duration.*Ago')
- export-audit.ts: 9 CSV导出表头 → i18n.t('system.auditExport.*')
- useAuditSettings: 4 审计保留策略消息 → i18n.t('system.auditSettings.*')
- event-handler.ts: 4 AgentCLI事件消息 → i18n.t('aiops.cli.*')
- 其他 9 文件: NotifyPolicyTab/RoleFormDialog/CronJobViewDialog/TerminalOutput/shared-components/prometheus-ds/helpers/CloudServerImport/AdvancedSettingsPanel/releaseManagerHelpers

新增 75 翻译键, zh/en 7987→8059 对齐
tsc -b=0, npm build✓ (17.13s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
This commit is contained in:
attacker committed 2026-07-14 23:13:32 +08:00
1 parent bd1ccefa7f
commit 05ee051879
26 files changed
+307 -93

No files matched your search

+115 -11
View File
@@ -184,7 +184,9 @@
"minAgo": "{{count}} min ago",
"secAgo": "{{count}}s ago",
"hourAgo": "{{count}}h ago",
"dayAgo": "{{count}}d ago"
"dayAgo": "{{count}}d ago",
"seconds": "{{count}}s",
"hoursMin": "{{h}}h {{m}}m"
},
"ebCaughtError": "[ErrorBoundary] Caught error:",
"ebCopyError": "Copy Error",
@@ -1290,7 +1292,10 @@
"loggingIn": "Logging in..."
},
"webshellConnect": "Connect",
"webshellLoggingIn": "Logging in..."
"webshellLoggingIn": "Logging in...",
"import": {
"discoverFailed": "Failed to discover hosts"
}
},
"alert": {
"acknowledged": "Alert acknowledged",
@@ -2538,7 +2543,8 @@
"notInstalled": "Not installed",
"installing": "Installing",
"test": "Test",
"install": "Install"
"install": "Install",
"recommended": "Recommended"
},
"trigger": {
"manual": "Manual",
@@ -2583,7 +2589,35 @@
"envVar": "Environment Variables",
"envVarOptional": "Environment Variables (optional)"
},
"workspaceTerminalTitle": "Workspace Terminal #{{num}}"
"workspaceTerminalTitle": "Workspace Terminal #{{num}}",
"credType": {
"ssh": "SSH Key",
"rdp": "Windows RDP Password",
"docker": "Docker Credential",
"tls": "TLS Certificate",
"aksk": "AKSK Key",
"database": "Database Credential",
"api": "API Key",
"generic": "Generic Credential"
},
"credTypeDesc": {
"ssh": "SSH private/public key/password",
"rdp": "Windows remote desktop username/password",
"docker": "Docker Registry login credentials",
"tls": "TLS/SSL certificate and private key",
"aksk": "Cloud AccessKey/SecretKey",
"database": "Database connection info",
"api": "API Token/Key + endpoint",
"generic": "Custom Key/Value pairs"
},
"fmtDuration": {
"minSec": "{{m}}m {{s}}s"
},
"terminal": {
"connClosed": "[Connection Closed]",
"connError": "[Connection Error]"
},
"jobName": "Job Name"
},
"k8s": {
"actionModal": {
@@ -3708,7 +3742,8 @@
"serviceName": "Service Name",
"podCount": "Pod Count",
"actualSchedule": "Actual Schedule",
"restartSentDesc": "{{kind}} rolling restart triggered"
"restartSentDesc": "{{kind}} rolling restart triggered",
"memoryLabel": "Memory"
},
"workloads": {
"scaleSuccess": "Scaling succeeded",
@@ -4976,7 +5011,9 @@
"noData": "No Prometheus datasources",
"addHint": "Add datasources for metrics monitoring and dashboards"
},
"prometheus": "Prometheus",
"prometheus": {
"connSuccess": "Connection successful · {{count}} targets"
},
"prometheusDashb": {
"connecting": "Connecting…"
},
@@ -5397,6 +5434,25 @@
"durationMinutes": "{{count}} min",
"queryHistory": {
"count": "{{count}} entries"
},
"terminal": {
"auditConnected": "[Audit Monitor] Connected to session...",
"userServer": "User: {{username}} Server: {{serverName}} ({{serverIp}})",
"wsConnFailed": "WebSocket connection failed",
"connFailedCode": "Connection failed (code={{code}}): {{reason}}",
"auditDisconnected": "[Audit Monitor] Disconnected",
"authOrNetwork": "Authentication failed or network issue"
},
"rdp": {
"connectingLive": "Connecting to RDP live audit...",
"loadingRecording": "Loading RDP recording...",
"liveConnFailed": "RDP live audit connection failed",
"liveDisconnected": "RDP live audit disconnected",
"noFrames": "No playable frames for this RDP session",
"loadFailed": "RDP recording load failed"
},
"notify": {
"defaultPlatform": "AIOps Platform"
}
},
"task": {
@@ -5476,7 +5532,9 @@
"confirmDelete": "Delete \"{{name}}\"? This cannot be undone.",
"execDuration": "Duration: {{ms}}ms"
},
"runCount": "{{count}} times"
"runCount": "{{count}} times",
"associatedScript": "Associated Script",
"noCommand": "(No command content)"
},
"cronJobCol": {
"task": "Task",
@@ -5601,6 +5659,9 @@
"noShell": "No shell interpreter detected. Scripts cannot run on this host. For Docker deployments, ensure bash is installed in the image.",
"noPython": "Python is not installed. Python scripts will not be executable.",
"partialUnavailable": "Some interpreters are unavailable; scripts of those types cannot run after creation."
},
"terminal": {
"noOutput": "(No output)"
}
},
"rbac": {
@@ -7466,7 +7527,12 @@
"invalidRetentionDays": "Please select valid retention days",
"noExpiredRecords": ", no expired records"
},
"auditSettings": "Audit Settings",
"auditSettings": {
"appliedWithCleanup": "Applied {{days}}-day retention policy, cleaned {{total}} expired records",
"appliedNoCleanup": "Applied {{days}}-day retention policy, no expired records to clean",
"cleanupCount": ", cleaned {{count}} records",
"lastCleanup": "Last cleanup: {{time}}{{detail}}"
},
"auditSettingsDesc": "Operation logs and audit policy",
"auditStats": "Audit Statistics",
"auditSuccess": "Success",
@@ -7818,7 +7884,12 @@
"terminalRecordSize": "Recording Size",
"terminalReplay": "Replay",
"terminalServer": "Server",
"terminalSession": "Session",
"terminalSession": {
"all": "All",
"active": "Active",
"closed": "Closed",
"failed": "Failed"
},
"terminalStartTime": "Start Time",
"terminalStatus": "Status",
"terminalUser": "User",
@@ -7897,7 +7968,35 @@
"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"
"adminPassword": "Admin Password",
"csvHeader": {
"username": "Username",
"nickname": "Nickname",
"displayName": "Display Name",
"email": "Email",
"phone": "Phone",
"role": "Role",
"department": "Department"
},
"auditExport": {
"sessionId": "Session ID",
"user": "User",
"targetHost": "Target Host",
"clientIp": "Client IP",
"startTime": "Start Time",
"endTime": "End Time",
"duration": "Duration",
"commandCount": "Command Count",
"status": "Status"
},
"credTypeLabel": {
"sshKey": "SSH Private Key",
"apiToken": "Token",
"password": "Password"
},
"role": {
"aiopsGroup": "AIOps Intelligence"
}
},
"aiops": {
"activeCount": "{{count}} active",
@@ -8255,7 +8354,12 @@
"execute": "Run"
},
"confirmHighRiskTitle": "⚠️ Confirm High-Risk Operation",
"confirmHighRiskDesc": "Tool: {{tool}}\nRisk: {{risk}}\nCommand: {{command}}"
"confirmHighRiskDesc": "Tool: {{tool}}\nRisk: {{risk}}\nCommand: {{command}}",
"eventRejected": "Execution rejected: {{command}}",
"eventRecovered": "Session recovered",
"eventCompleted": "Task completed. Please check the tool execution results above.",
"eventAborted": "Task aborted",
"eventFailed": "Task execution failed"
},
"cloudService": "Cloud Services",
"codingPlan": "Coding Plan",
+115 -11
View File
@@ -184,7 +184,9 @@
"minAgo": "{{count}}分钟前",
"secAgo": "{{count}}秒前",
"hourAgo": "{{count}}小时前",
"dayAgo": "{{count}}天前"
"dayAgo": "{{count}}天前",
"seconds": "{{count}}秒",
"hoursMin": "{{h}}时{{m}}分"
},
"ebCaughtError": "[ErrorBoundary] 捕获到错误:",
"ebCopyError": "复制错误",
@@ -1290,7 +1292,10 @@
"loggingIn": "正在登录..."
},
"webshellConnect": "连接",
"webshellLoggingIn": "正在登录..."
"webshellLoggingIn": "正在登录...",
"import": {
"discoverFailed": "发现主机失败"
}
},
"alert": {
"acknowledged": "告警已确认",
@@ -2538,7 +2543,8 @@
"notInstalled": "未安装",
"installing": "安装中",
"test": "测试",
"install": "安装"
"install": "安装",
"recommended": "推荐"
},
"trigger": {
"manual": "手动",
@@ -2583,7 +2589,35 @@
"envVar": "环境变量",
"envVarOptional": "环境变量 (可选)"
},
"workspaceTerminalTitle": "Workspace 终端 #{{num}}"
"workspaceTerminalTitle": "Workspace 终端 #{{num}}",
"credType": {
"ssh": "SSH 密钥",
"rdp": "Windows RDP 密码",
"docker": "Docker 凭证",
"tls": "TLS 证书",
"aksk": "AKSK 密钥",
"database": "数据库凭证",
"api": "API 密钥",
"generic": "通用凭证"
},
"credTypeDesc": {
"ssh": "SSH 私钥/公钥/密码",
"rdp": "Windows 远程桌面用户名/密码",
"docker": "Docker Registry 登录凭据",
"tls": "TLS/SSL 证书与私钥",
"aksk": "云服务 AccessKey/SecretKey",
"database": "数据库连接信息",
"api": "API Token/Key + 端点",
"generic": "自定义 Key/Value 键值对"
},
"fmtDuration": {
"minSec": "{{m}}分{{s}}秒"
},
"terminal": {
"connClosed": "[连接已关闭]",
"connError": "[连接发生错误]"
},
"jobName": "Job 名称"
},
"k8s": {
"actionModal": {
@@ -3708,7 +3742,8 @@
"serviceName": "服务名",
"podCount": "Pod 数量",
"actualSchedule": "当前调度",
"restartSentDesc": "{{kind}} 滚动重启已触发"
"restartSentDesc": "{{kind}} 滚动重启已触发",
"memoryLabel": "内存"
},
"workloads": {
"scaleSuccess": "扩缩容成功",
@@ -4976,7 +5011,9 @@
"noData": "暂无 Prometheus 数据源",
"addHint": "添加数据源后可用于指标监控与监控大屏"
},
"prometheus": "Prometheus",
"prometheus": {
"connSuccess": "连接成功 · {{count}} targets"
},
"prometheusDashb": {
"connecting": "连接中…"
},
@@ -5397,6 +5434,25 @@
"durationMinutes": "{{count}}分钟",
"queryHistory": {
"count": "{{count}} 条"
},
"terminal": {
"auditConnected": "[审计监控] 已连接到会话...",
"userServer": "用户: {{username}} 服务器: {{serverName}} ({{serverIp}})",
"wsConnFailed": "WebSocket 连接失败",
"connFailedCode": "连接失败 (code={{code}}): {{reason}}",
"auditDisconnected": "[审计监控] 连接已断开",
"authOrNetwork": "认证失败或网络问题"
},
"rdp": {
"connectingLive": "正在连接 RDP 实时审计...",
"loadingRecording": "正在加载 RDP 录屏...",
"liveConnFailed": "RDP 实时审计连接失败",
"liveDisconnected": "RDP 实时审计已断开",
"noFrames": "该 RDP 会话没有可播放画面帧",
"loadFailed": "RDP 录屏加载失败"
},
"notify": {
"defaultPlatform": "AIOps 智能运维平台"
}
},
"task": {
@@ -5476,7 +5532,9 @@
"confirmDelete": "确定删除「{{name}}」吗?此操作不可恢复。",
"execDuration": "耗时 {{ms}}ms"
},
"runCount": "{{count}} 次"
"runCount": "{{count}} 次",
"associatedScript": "关联脚本",
"noCommand": "(无命令内容)"
},
"cronJobCol": {
"task": "任务",
@@ -5601,6 +5659,9 @@
"noShell": "未检测到 Shell 解释器,脚本无法在本机执行。Docker 部署请确认镜像已安装 bash。",
"noPython": "Python 未安装,Python 类型脚本将无法执行。",
"partialUnavailable": "部分解释器不可用,对应类型的脚本创建后无法执行。"
},
"terminal": {
"noOutput": "(无输出)"
}
},
"rbac": {
@@ -7466,7 +7527,12 @@
"invalidRetentionDays": "请选择有效的保留天数",
"noExpiredRecords": ",无超期记录"
},
"auditSettings": "审计设置",
"auditSettings": {
"appliedWithCleanup": "已应用 {{days}} 天保留策略,立即清理 {{total}} 条超期记录",
"appliedNoCleanup": "已应用 {{days}} 天保留策略,暂无超期记录需清理",
"cleanupCount": ",清理 {{count}} 条",
"lastCleanup": "上次清理:{{time}}{{detail}}"
},
"auditSettingsDesc": "操作日志与审计策略",
"auditStats": "审计统计",
"auditSuccess": "成功",
@@ -7818,7 +7884,12 @@
"terminalRecordSize": "录制大小",
"terminalReplay": "回放",
"terminalServer": "服务器",
"terminalSession": "会话",
"terminalSession": {
"all": "全部",
"active": "活动中",
"closed": "已关闭",
"failed": "失败"
},
"terminalStartTime": "开始时间",
"terminalStatus": "状态",
"terminalUser": "用户",
@@ -7897,7 +7968,35 @@
"credentialAkSk": "AK/SK (每行一对,用空格或逗号分隔)",
"credentialEncryptedHint": "凭据内容使用 AES-256-GCM 加密存储,仅在服务器端解密使用",
"permissionAssign": "权限分配",
"adminPassword": "管理员密码"
"adminPassword": "管理员密码",
"csvHeader": {
"username": "用户名",
"nickname": "昵称",
"displayName": "显示名",
"email": "邮箱",
"phone": "手机",
"role": "角色",
"department": "部门"
},
"auditExport": {
"sessionId": "会话ID",
"user": "用户",
"targetHost": "目标主机",
"clientIp": "客户端IP",
"startTime": "开始时间",
"endTime": "结束时间",
"duration": "时长",
"commandCount": "命令数",
"status": "状态"
},
"credTypeLabel": {
"sshKey": "SSH 私钥",
"apiToken": "Token",
"password": "密码"
},
"role": {
"aiopsGroup": "AIOps智能"
}
},
"aiops": {
"activeCount": "{{count}} 个活跃",
@@ -8255,7 +8354,12 @@
"execute": "执行"
},
"confirmHighRiskTitle": "⚠️ 确认执行高危操作",
"confirmHighRiskDesc": "工具:{{tool}}\n风险:{{risk}}\n命令:{{command}}"
"confirmHighRiskDesc": "工具:{{tool}}\n风险:{{risk}}\n命令:{{command}}",
"eventRejected": "已拒绝执行:{{command}}",
"eventRecovered": "已恢复历史会话",
"eventCompleted": "任务已完成,请查看上方工具执行结果。",
"eventAborted": "任务已取消",
"eventFailed": "任务执行失败"
},
"cloudService": "云服务",
"codingPlan": "编码套餐 Coding Plan",