fix(frontend): sync with main and finalize i18n & component optimizations

This commit is contained in:
IanShaw027
2026-01-04 21:00:10 +08:00
186 changed files with 8252 additions and 3891 deletions

View File

@@ -147,6 +147,9 @@ export default {
noOptionsFound: '无匹配选项',
saving: '保存中...',
refresh: '刷新',
notAvailable: '不可用',
now: '现在',
unknown: '未知',
time: {
never: '从未',
justNow: '刚刚',
@@ -868,11 +871,6 @@ export default {
gemini: 'Gemini',
antigravity: 'Antigravity'
},
statuses: {
active: '正常',
inactive: '停用',
error: '错误'
},
saving: '保存中...',
noGroups: '暂无分组',
noGroupsDescription: '创建分组以更好地管理 API 密钥和费率。',
@@ -1072,15 +1070,60 @@ export default {
api_key: 'API Key',
cookie: 'Cookie'
},
statuses: {
status: {
active: '正常',
inactive: '停用',
error: '错误',
cooldown: '冷却中',
paused: '暂停',
limited: '限流',
tempUnschedulable: '临时不可调度',
rateLimitedUntil: '限流中,重置时间:{time}',
overloadedUntil: '负载过重,重置时间:{time}'
overloadedUntil: '负载过重,重置时间:{time}',
viewTempUnschedDetails: '查看临时不可调度详情'
},
tempUnschedulable: {
title: '临时不可调度',
statusTitle: '临时不可调度状态',
hint: '当错误码与关键词同时匹配时,账号会在指定时间内被临时禁用。',
notice: '规则按顺序匹配,需同时满足错误码与关键词。',
addRule: '添加规则',
ruleOrder: '规则序号',
ruleIndex: '规则 #{index}',
errorCode: '错误码',
errorCodePlaceholder: '例如 429',
durationMinutes: '持续时间(分钟)',
durationPlaceholder: '例如 30',
keywords: '关键词',
keywordsPlaceholder: '例如 overloaded, too many requests',
keywordsHint: '多个关键词用逗号分隔,匹配时必须命中其中之一。',
description: '描述',
descriptionPlaceholder: '可选,便于记忆规则用途',
rulesInvalid: '请至少填写一条包含错误码、关键词和时长的规则。',
viewDetails: '查看临时不可调度详情',
accountName: '账号',
triggeredAt: '触发时间',
until: '解除时间',
remaining: '剩余时间',
matchedKeyword: '匹配关键词',
errorMessage: '错误详情',
reset: '重置状态',
resetSuccess: '临时不可调度已重置',
resetFailed: '重置临时不可调度失败',
failedToLoad: '加载临时不可调度状态失败',
notActive: '当前账号未处于临时不可调度状态。',
expired: '已到期',
remainingMinutes: '约 {minutes} 分钟',
remainingHours: '约 {hours} 小时',
remainingHoursMinutes: '约 {hours} 小时 {minutes} 分钟',
presets: {
overloadLabel: '529 过载',
overloadDesc: '服务过载 - 暂停 60 分钟',
rateLimitLabel: '429 限流',
rateLimitDesc: '触发限流 - 暂停 10 分钟',
unavailableLabel: '503 维护',
unavailableDesc: '服务不可用 - 暂停 30 分钟'
}
},
usageWindow: {
statsTitle: '5小时窗口用量统计',
@@ -1366,10 +1409,33 @@ export default {
},
// Gemini specific (platform-wide)
gemini: {
helpButton: '使用帮助',
helpDialog: {
title: 'Gemini 使用指南',
apiKeySection: 'API Key 相关链接'
},
modelPassthrough: 'Gemini 直接转发模型',
modelPassthroughDesc: '所有模型请求将直接转发至 Gemini API不进行模型限制或映射。',
baseUrlHint: '留空使用官方 Gemini API',
apiKeyHint: '您的 Gemini API Key以 AIza 开头)',
tier: {
label: '账号等级',
hint: '提示:系统会优先尝试自动识别账号等级;若自动识别不可用或失败,则使用你选择的等级作为回退(本地模拟配额)。',
aiStudioHint: 'AI Studio 的配额是按模型分别限流Pro/Flash 独立)。若已绑卡(按量付费),请选 Pay-as-you-go。',
googleOne: {
free: 'Google One Free',
pro: 'Google One Pro',
ultra: 'Google One Ultra'
},
gcp: {
standard: 'GCP Standard',
enterprise: 'GCP Enterprise'
},
aiStudio: {
free: 'Google AI Free',
paid: 'Google AI Pay-as-you-go'
}
},
accountType: {
oauthTitle: 'OAuth 授权Gemini',
oauthDesc: '使用 Google 账号授权,并选择 OAuth 子类型。',
@@ -1429,6 +1495,17 @@ export default {
},
simulatedNote: '本地模拟配额,仅供参考',
rows: {
googleOne: {
channel: 'Google One OAuth个人版 / Code Assist for Individuals',
limitsFree: '共享池1000 RPD / 60 RPM不分模型',
limitsPro: '共享池1500 RPD / 120 RPM不分模型',
limitsUltra: '共享池2000 RPD / 120 RPM不分模型'
},
gcp: {
channel: 'GCP Code Assist OAuth企业版',
limitsStandard: '共享池1500 RPD / 120 RPM不分模型',
limitsEnterprise: '共享池2000 RPD / 120 RPM不分模型'
},
cli: {
channel: 'Gemini CLI官方 Google 登录 / Code Assist',
free: '免费 Google 账号',
@@ -1446,7 +1523,7 @@ export default {
free: '未绑卡(免费层)',
paid: '已绑卡(按量付费)',
limitsFree: 'RPD 50RPM 2Pro/ 15Flash',
limitsPaid: 'RPD 不限RPM 1000+(按模型配额)'
limitsPaid: 'RPD 不限RPM 1000Pro/ 2000Flash(按模型配额)'
},
customOAuth: {
channel: 'Custom OAuth ClientGCP',
@@ -1459,6 +1536,7 @@ export default {
},
rateLimit: {
ok: '未限流',
unlimited: '无限流',
limited: '限流 {time}',
now: '现在'
}
@@ -1549,12 +1627,7 @@ export default {
socks5: 'SOCKS5',
socks5h: 'SOCKS5H (服务端解析 DNS)'
},
statuses: {
active: '正常',
inactive: '停用',
error: '错误'
},
form: {
columns: {
nameLabel: '名称',
namePlaceholder: '请输入代理名称',
protocolLabel: '协议',
@@ -1693,7 +1766,7 @@ export default {
validityDays: '有效天数',
groupRequired: '请选择订阅分组',
days: '天',
statuses: {
status: {
unused: '未使用',
used: '已使用',
expired: '已过期',
@@ -1787,6 +1860,7 @@ export default {
siteKey: '站点密钥',
secretKey: '私密密钥',
siteKeyHint: '从 Cloudflare Dashboard 获取',
cloudflareDashboard: 'Cloudflare Dashboard',
secretKeyHint: '服务端验证密钥(请保密)'
},
defaults: {
@@ -1934,6 +2008,7 @@ export default {
description: '查看您的订阅计划和用量',
noActiveSubscriptions: '暂无有效订阅',
noActiveSubscriptionsDesc: '您没有任何有效订阅。请联系管理员获取订阅。',
failedToLoad: '加载订阅失败',
status: {
active: '有效',
expired: '已过期',