feat: 实现DashboardView.vue完整国际化支持

- 完成DashboardView.vue全面国际化
  * 主要统计卡片:总API Keys、服务账户、今日请求、系统状态全部多语言化
  * Token统计模块:今日Token、总消耗量、实时RPM/TPM指标完整国际化
  * 实时性能监控:请求数/Token数每分钟指标、历史数据标识多语言化
  * 图表组件完整国际化:饼图、趋势图、API Keys使用趋势图
  * 交互控件全面支持:日期选择器、粒度切换、自动刷新等

- 图表系统深度国际化
  * Chart.js图表标签完全多语言化:Token使用趋势、模型分布等
  * 工具提示和坐标轴标签支持动态语言切换
  * 表格头部和数据展示完整国际化支持

- 扩展三语言dashboard翻译组
  * zh-cn.js: 简体中文专业术语翻译
  * zh-tw.js: 繁体中文技术翻译(快取、即時等台湾用词)
  * en.js: 英文专业技术术语标准翻译
  * 总计90+个翻译键值,涵盖所有用户可见文本

- 平台账户工具提示国际化
  * Claude/Console/Gemini/Bedrock/OpenAI/Azure OpenAI账户状态
  * 支持参数化翻译,动态显示账户数量和状态

- 提升复杂业务场景多语言体验
  * 管理后台核心数据可视化页面完全国际化
  * 60+个硬编码中文字符串全部替换
  * 确保不同语言环境下数据展示的专业性
This commit is contained in:
Wangnov
2025-09-08 19:57:45 +08:00
parent e88e97b485
commit cd7959f3bf
4 changed files with 374 additions and 69 deletions

View File

@@ -215,5 +215,106 @@ export default {
passwordPlaceholder: '请输入密码',
loginButton: '登录',
loggingIn: '登录中...'
},
// Dashboard page
dashboard: {
// Main stats cards
totalApiKeys: '总 API Keys',
activeApiKeys: '活跃',
serviceAccounts: '服务账户',
normalAccounts: '正常',
abnormalAccounts: '异常',
pausedAccounts: '停止调度',
rateLimitedAccounts: '限流',
todayRequests: '今日请求',
totalRequests: '总请求',
systemStatus: '系统状态',
uptime: '运行时间',
// Platform accounts tooltip
claudeAccount: 'Claude: {total} 个 (正常: {normal})',
consoleAccount: 'Console: {total} 个 (正常: {normal})',
geminiAccount: 'Gemini: {total} 个 (正常: {normal})',
bedrockAccount: 'Bedrock: {total} 个 (正常: {normal})',
openaiAccount: 'OpenAI: {total} 个 (正常: {normal})',
azureOpenaiAccount: 'Azure OpenAI: {total} 个 (正常: {normal})',
// Token stats cards
todayToken: '今日Token',
totalTokenConsumption: '总Token消耗',
inputTokens: '输入',
outputTokens: '输出',
cacheCreateTokens: '缓存创建',
cacheReadTokens: '缓存读取',
// Real-time metrics
realtimeRPM: '实时RPM',
realtimeTPM: '实时TPM',
requestsPerMinute: '每分钟请求数',
tokensPerMinute: '每分钟Token数',
historicalData: '历史数据',
minutes: '分钟',
// Charts section
modelDistributionAndTrend: '模型使用分布与Token使用趋势',
// Date filter presets (would be populated from dateFilter.presetOptions)
today: '今日',
yesterday: '昨日',
last7Days: '迗 7 天',
last30Days: '迗 30 天',
thisWeek: '本周',
lastWeek: '上周',
thisMonth: '本月',
lastMonth: '上月',
// Granularity buttons
byDay: '按天',
byHour: '按小时',
// Date picker
startDatePlaceholder: '开始日期',
endDatePlaceholder: '结束日期',
dateSeparator: '至',
maxHours24: '最多24小时',
// Auto refresh controls
autoRefresh: '自动刷新',
refresh: '刷新',
refreshing: '刷新中',
refreshDataNow: '立即刷新数据',
// Charts
tokenUsageDistribution: 'Token使用分布',
detailedStatistics: '详细统计数据',
noModelUsageData: '暂无模型使用数据',
// Table headers
model: '模型',
requestCount: '请求数',
totalTokens: '总Token',
cost: '费用',
percentage: '占比',
// Trend charts
tokenUsageTrend: 'Token使用趋势',
apiKeysUsageTrend: 'API Keys 使用趋势',
requestsCount: '请求次数',
tokenCount: 'Token 数量',
totalApiKeysCount: '共 {count} 个 API Key',
showingTop10: '共 {count} 个 API Key显示使用量前 10 个',
// Chart labels
inputTokensLabel: '输入Token',
outputTokensLabel: '输出Token',
cacheCreateTokensLabel: '缓存创建Token',
cacheReadTokensLabel: '缓存读取Token',
costLabel: '费用 (USD)',
requestsLabel: '请求数',
time: '时间',
date: '日期',
tokenQuantity: 'Token数量',
requestsQuantity: '请求次数'
}
}