fix: localize English UI strings

This commit is contained in:
Heatherm Huang
2026-06-30 20:05:23 +08:00
parent d3acd8e96e
commit 6e54776509
24 changed files with 322 additions and 196 deletions
+47 -2
View File
@@ -369,7 +369,24 @@ export default {
updatedAt: 'Updated: {date}',
empty: 'No content',
loginAgreement: 'Login Agreement',
adminCompliance: 'Deployment and Operation Compliance Commitment'
adminCompliance: 'Deployment and Operation Compliance Commitment',
loginAgreementPrompt: {
checkboxPrefix: 'I have read and agree to ',
documentSeparator: ', ',
noticeTitle: 'Accept the latest terms before continuing.',
noticeDescription: 'Account/password login and quick sign-in stay disabled until you accept.',
viewTerms: 'View terms',
dialogTitle: 'Terms Update Notice',
dialogDescription: 'Our service terms were updated on {date}. Please read and accept the following terms before continuing.',
recently: 'recently',
relatedDocuments: 'Related documents',
reject: 'Reject',
accept: 'Accept and continue',
loginRejectedWarning: 'Account/password login and quick sign-in are disabled until you accept the latest terms.',
loginRequiredWarning: 'Please read and accept the latest terms before logging in.',
registerRejectedWarning: 'Registration and quick sign-in are disabled until you accept the latest terms.',
registerRequiredWarning: 'Please read and accept the latest terms before registering.'
}
},
// Navigation
@@ -587,6 +604,7 @@ export default {
},
linuxdoCallbackPageTitle: 'LinuxDo Sign-In Callback',
dingtalkCallbackPageTitle: 'DingTalk Sign-In Callback',
dingtalkProviderName: 'DingTalk',
oidcCallbackPageTitle: 'OIDC Sign-In Callback',
oauthCallbackPageTitle: 'OAuth Callback',
wechatProviderName: 'WeChat',
@@ -2151,6 +2169,15 @@ export default {
accountsUnit: '',
rateAndAccounts: '{rate}x rate · {count} accounts',
accountsCount: '{count} accounts',
rateLabel: 'rate',
accountFilters: {
title: 'Account Filter Controls',
oauthOnly: 'Only allow OAuth accounts',
oauthOnlyEnabled: 'Enabled — API Key accounts will be excluded',
privacySetOnly: 'Only allow accounts with privacy protection set',
privacySetOnlyEnabled: 'Enabled — accounts with unset Privacy will be excluded',
disabled: 'Disabled'
},
form: {
name: 'Name',
description: 'Description',
@@ -2256,7 +2283,10 @@ export default {
title: 'Custom /v1/models Model List',
hint: 'Only changes the /v1/models response. Whitelist model calls and account routing are unchanged.',
loading: 'Loading model list...',
empty: 'No displayable models'
empty: 'No displayable models',
selectedSummary: 'Selected {selected} / {total}',
selectAll: 'Select all',
invertSelection: 'Invert'
},
claudeCode: {
title: 'Claude Code Client Restriction',
@@ -2631,6 +2661,7 @@ export default {
queueSize: 'Async Queue Size',
blockStatus: 'Block HTTP Status',
blockMessage: 'Custom Block Message',
defaultBlockMessage: 'Content audit matched a risk rule. Please adjust your input and try again.',
emailOnHit: 'Email on Hit',
emailOnHitHint: 'When enabled, send a risk-control email on every hit; auto-ban notices are always sent.',
autoBan: 'Auto Ban User',
@@ -3987,6 +4018,11 @@ export default {
builtInTitle: 'Built-in OAuth (Gemini CLI / Code Assist)',
builtInDesc: 'Uses Google built-in client ID. No admin configuration required.',
builtInRequirement: 'Requires a GCP project and Project ID.',
googleOneDesc: 'Personal account with Google One subscription quota',
codeAssistDesc: 'Enterprise-grade, requires a GCP project',
codeAssistRequirement: 'Requires an active GCP project with billing enabled',
showAdvanced: 'Show advanced options (custom OAuth Client)',
hideAdvanced: 'Hide advanced options (custom OAuth Client)',
gcpProjectLink: 'Create project',
customTitle: 'Custom OAuth (AI Studio OAuth)',
customDesc: 'Uses admin-configured OAuth client for org management.',
@@ -3994,6 +4030,9 @@ export default {
badges: {
recommended: 'Recommended',
highConcurrency: 'High concurrency',
individuals: 'Recommended for individuals',
noGcp: 'No GCP required',
enterprise: 'Enterprise users',
noAdmin: 'No admin setup',
orgManaged: 'Org managed',
adminRequired: 'Admin required'
@@ -4013,6 +4052,7 @@ export default {
},
links: {
countryCheck: 'Check country association',
countryChange: 'Change country association',
geminiWebActivation: 'Activate Gemini Web',
gcpProject: 'Open GCP Console'
}
@@ -4757,6 +4797,7 @@ export default {
noData: 'No data.',
loadingText: 'loading',
ready: 'ready',
autoRefreshRemaining: 'Remaining {seconds}s',
requestsTotal: 'Requests (total)',
slaScope: 'SLA scope:',
tokens: 'Tokens',
@@ -6778,6 +6819,10 @@ export default {
notFoundDesc: 'This custom page does not exist or has been removed.',
notConfiguredTitle: 'Page URL not configured',
notConfiguredDesc: 'The URL for this custom page has not been properly configured.',
tableOfContents: 'Contents',
copyCode: 'Copy',
copiedCode: 'Copied',
copyCodeFailed: 'Failed'
},
// Announcements Page
+47 -2
View File
@@ -369,7 +369,24 @@ export default {
updatedAt: '更新日期:{date}',
empty: '暂无正文内容',
loginAgreement: '登录条款',
adminCompliance: '部署与运营合规承诺'
adminCompliance: '部署与运营合规承诺',
loginAgreementPrompt: {
checkboxPrefix: '我已阅读并同意',
documentSeparator: '、',
noticeTitle: '继续登录前需要先同意最新条款。',
noticeDescription: '未同意前,账号密码输入和快捷登录会保持禁用。',
viewTerms: '查看条款',
dialogTitle: '条款更新通知',
dialogDescription: '我们的服务条款已于 {date} 更新。在继续使用服务之前,请仔细阅读并同意以下条款。',
recently: '近期',
relatedDocuments: '相关文档',
reject: '拒绝',
accept: '同意并继续',
loginRejectedWarning: '未同意最新条款前,无法输入账号密码或使用快捷登录。',
loginRequiredWarning: '请先阅读并同意最新条款后再登录。',
registerRejectedWarning: '未同意最新条款前,无法注册或使用快捷登录。',
registerRequiredWarning: '请先阅读并同意最新条款后再注册。'
}
},
// Navigation
@@ -585,6 +602,7 @@ export default {
},
linuxdoCallbackPageTitle: 'LinuxDo 登录回调',
dingtalkCallbackPageTitle: '钉钉登录回调',
dingtalkProviderName: '钉钉',
oidcCallbackPageTitle: 'OIDC 登录回调',
oauthCallbackPageTitle: 'OAuth 回调',
wechatProviderName: '微信',
@@ -2267,6 +2285,15 @@ export default {
public: '公开',
rateAndAccounts: '{rate}x 费率 · {count} 个账号',
accountsCount: '{count} 个账号',
rateLabel: '倍率',
accountFilters: {
title: '账号过滤控制',
oauthOnly: '仅允许 OAuth 账号',
oauthOnlyEnabled: '已启用 — 排除 API Key 类型账号',
privacySetOnly: '仅允许隐私保护已设置的账号',
privacySetOnlyEnabled: '已启用 — Privacy 未设置的账号将被排除',
disabled: '未启用'
},
enterGroupName: '请输入分组名称',
optionalDescription: '可选描述',
platformHint: '选择此分组关联的平台',
@@ -2338,7 +2365,10 @@ export default {
title: '自定义 /v1/models 模型列表',
hint: '仅影响 /v1/models 展示结果,不影响白名单模型调用和账号调度。',
loading: '正在加载模型列表...',
empty: '暂无可展示模型'
empty: '暂无可展示模型',
selectedSummary: '已选 {selected} / {total}',
selectAll: '全选',
invertSelection: '反选'
},
claudeCode: {
title: 'Claude Code 客户端限制',
@@ -2707,6 +2737,7 @@ export default {
queueSize: '异步队列大小',
blockStatus: '拦截 HTTP 状态码',
blockMessage: '自定义拦截提示',
defaultBlockMessage: '内容审计命中风险规则,请调整输入后重试',
emailOnHit: '命中后发送邮件',
emailOnHitHint: '开启后每次达到阈值都会向用户发送风控提醒邮件;自动封禁通知始终发送。',
autoBan: '自动封禁用户',
@@ -4139,6 +4170,11 @@ export default {
builtInTitle: '内置授权(Gemini CLI / Code Assist)',
builtInDesc: '使用 Google 内置客户端 ID,无需管理员配置。',
builtInRequirement: '需要 GCP 项目并填写 Project ID。',
googleOneDesc: '个人账号,享受 Google One 订阅配额',
codeAssistDesc: '企业级,需要 GCP 项目',
codeAssistRequirement: '需要激活 GCP 项目并绑定信用卡',
showAdvanced: '显示高级选项(自建 OAuth Client)',
hideAdvanced: '隐藏高级选项(自建 OAuth Client)',
gcpProjectLink: '创建项目',
customTitle: '自定义授权(AI Studio OAuth)',
customDesc: '使用管理员预设的 OAuth 客户端,适合组织管理。',
@@ -4146,6 +4182,9 @@ export default {
badges: {
recommended: '推荐',
highConcurrency: '高并发',
individuals: '推荐个人用户',
noGcp: '无需 GCP',
enterprise: '企业用户',
noAdmin: '无需管理员配置',
orgManaged: '组织管理',
adminRequired: '需要管理员'
@@ -4165,6 +4204,7 @@ export default {
},
links: {
countryCheck: '检查归属地',
countryChange: '修改归属地',
geminiWebActivation: '激活 Gemini Web',
gcpProject: '打开 GCP 控制台'
}
@@ -4911,6 +4951,7 @@ export default {
noData: '暂无数据',
loadingText: '加载中...',
ready: '就绪',
autoRefreshRemaining: '剩余 {seconds}s',
requestsTotal: '请求(总计)',
slaScope: 'SLA 范围:',
tokens: 'Token数',
@@ -6932,6 +6973,10 @@ export default {
notFoundDesc: '该自定义页面不存在或已被删除。',
notConfiguredTitle: '页面链接未配置',
notConfiguredDesc: '该自定义页面的 URL 未正确配置。',
tableOfContents: '目录',
copyCode: '复制',
copiedCode: '已复制',
copyCodeFailed: '失败'
},
// Announcements Page