refactor(i18n): U41 残余硬编码中文清零 — 工具函数+审计RDP标签+AIOps分析+Monitor残余+审批选项
18 文件 ~35 处 UI 硬编码中文→t()/i18n.t() 调用: - agent-utils.ts timeAgo() 秒前/分钟前/小时前 - utils.ts formatDistanceToNow() 分钟前/小时前/天前 - request.ts 响应解析失败错误消息 - ActiveSessionsPanel/HistorySessionsPanel RDP 在线/历史会话标签 - MetricsExplorer 清除/已选/最近1小时 - HostMonitor 当前主机 subtitle - AIAnalysisResult 证据链 (新增 useTranslation hook) - capacity-predict.ts 容量预测摘要模板 - ApprovalResourcePage 阿里云/腾讯云/华为云 - ApprovalPermissionPage 堡垒机 - site-monitor/helpers.ts 频率/时间/证书天数格式化 - site-monitor/analytics.ts 证书剩余/检查失败/延迟波动事件 - middleware-monitor MwTargetChartsPanel/MwTrendChart/helpers.ts - snmp-monitor SnmpMetricTrendChart/SnmpDeviceChartsPanel - host-monitor/utils.ts 图表点数标签 + PortPolicyDialog 系统进程说明 新增 34 翻译键 (common.duration.secAgo/hourAgo/dayAgo + common.selected/ responseParseError/rdpActiveSessions/rdpHistorySessions/rdpSessionCount/ evidenceChain/last1Hour/currentHost + monitor.lbl 10键 + monitor.siteMonitor 8键 + approval.provider 3键 + approval.permType 1键 + monitor.portPolicyDialog.systemProcessDesc + aiops.capacity.summary) zh/en 7813→7847 对齐; tsc -b=0, npm build✓ (17.31s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
This commit is contained in:
1 parent
4e2ba77aa8
commit
a7838aaf65
23 files changed
+140
-57
No files matched your search
@@ -1,4 +1,5 @@
|
||||
import type { JsonData } from "@/types/common";
|
||||
import i18n from "@/i18n";
|
||||
// Agent 监控相关工具函数(供组件与 API 层共享) // Logan.Li
|
||||
|
||||
/** 在线判定:3 分钟内有上报视为在线 */
|
||||
@@ -15,9 +16,9 @@ export function timeAgo(ts: unknown): string {
|
||||
const t = new Date(ts as string | number | Date).getTime();
|
||||
if (Number.isNaN(t)) return '--';
|
||||
const diff = Math.floor((Date.now() - t) / 1000);
|
||||
if (diff < 60) return `${diff}秒前`;
|
||||
if (diff < 3600) return `${Math.floor(diff / 60)}分钟前`;
|
||||
if (diff < 86400) return `${Math.floor(diff / 3600)}小时前`;
|
||||
if (diff < 60) return i18n.t('common.duration.secAgo', { count: diff });
|
||||
if (diff < 3600) return i18n.t('common.duration.minAgo', { count: Math.floor(diff / 60) });
|
||||
if (diff < 86400) return i18n.t('common.duration.hourAgo', { count: Math.floor(diff / 3600) });
|
||||
return new Date(ts as string | number | Date).toLocaleString();
|
||||
}
|
||||
|
||||
|
||||
@@ -18,11 +18,11 @@ export function formatDistanceToNow(timestamp: number): string {
|
||||
if (seconds < 60) {
|
||||
return i18n.t('task.cronJob.time.justNow');
|
||||
} else if (minutes < 60) {
|
||||
return `${minutes}分钟前`;
|
||||
return i18n.t('common.duration.minAgo', { count: minutes });
|
||||
} else if (hours < 24) {
|
||||
return `${hours}小时前`;
|
||||
return i18n.t('common.duration.hourAgo', { count: hours });
|
||||
} else if (days < 30) {
|
||||
return `${days}天前`;
|
||||
return i18n.t('common.duration.dayAgo', { count: days });
|
||||
} else {
|
||||
return new Date(timestamp).toLocaleDateString();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user