@authrim/setup 0.1.89 → 0.1.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +58 -11
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/lock.d.ts +16 -16
- package/dist/core/wrangler.d.ts.map +1 -1
- package/dist/core/wrangler.js +21 -2
- package/dist/core/wrangler.js.map +1 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +14 -3
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +8 -0
- package/dist/i18n/locales/de.d.ts.map +1 -0
- package/dist/i18n/locales/de.js +894 -0
- package/dist/i18n/locales/de.js.map +1 -0
- package/dist/i18n/locales/es.d.ts +8 -0
- package/dist/i18n/locales/es.d.ts.map +1 -0
- package/dist/i18n/locales/es.js +894 -0
- package/dist/i18n/locales/es.js.map +1 -0
- package/dist/i18n/locales/fr.d.ts +8 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -0
- package/dist/i18n/locales/fr.js +894 -0
- package/dist/i18n/locales/fr.js.map +1 -0
- package/dist/i18n/locales/id.d.ts +8 -0
- package/dist/i18n/locales/id.d.ts.map +1 -0
- package/dist/i18n/locales/id.js +894 -0
- package/dist/i18n/locales/id.js.map +1 -0
- package/dist/i18n/locales/ko.d.ts +8 -0
- package/dist/i18n/locales/ko.d.ts.map +1 -0
- package/dist/i18n/locales/ko.js +894 -0
- package/dist/i18n/locales/ko.js.map +1 -0
- package/dist/i18n/locales/pt.d.ts +8 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -0
- package/dist/i18n/locales/pt.js +894 -0
- package/dist/i18n/locales/pt.js.map +1 -0
- package/dist/i18n/locales/ru.d.ts +8 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -0
- package/dist/i18n/locales/ru.js +894 -0
- package/dist/i18n/locales/ru.js.map +1 -0
- package/dist/i18n/locales/zh-CN.d.ts +8 -0
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
- package/dist/i18n/locales/zh-CN.js +894 -0
- package/dist/i18n/locales/zh-CN.js.map +1 -0
- package/dist/i18n/locales/zh-TW.d.ts +8 -0
- package/dist/i18n/locales/zh-TW.d.ts.map +1 -0
- package/dist/i18n/locales/zh-TW.js +894 -0
- package/dist/i18n/locales/zh-TW.js.map +1 -0
- package/dist/i18n/types.d.ts +1 -1
- package/dist/i18n/types.d.ts.map +1 -1
- package/dist/i18n/types.js +1 -0
- package/dist/i18n/types.js.map +1 -1
- package/dist/web/ui.d.ts.map +1 -1
- package/dist/web/ui.js +7 -2
- package/dist/web/ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,894 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chinese (Simplified) Translations for Authrim Setup Tool
|
|
3
|
+
* 简体中文翻译
|
|
4
|
+
*/
|
|
5
|
+
const zhCN = {
|
|
6
|
+
// Language selection
|
|
7
|
+
'language.select': 'Select language / 言語を選択 / 选择语言',
|
|
8
|
+
'language.selected': '语言:{{language}}',
|
|
9
|
+
// Banner
|
|
10
|
+
'banner.title': 'Authrim 安装程序',
|
|
11
|
+
'banner.subtitle': '基于 Cloudflare Workers 的 OIDC 提供商',
|
|
12
|
+
'banner.warning': '警告:开发中!',
|
|
13
|
+
'banner.warningDetail': '此项目尚未正常运行。',
|
|
14
|
+
'banner.adminWarning': '管理界面尚不完整,不支持登录。',
|
|
15
|
+
'banner.exitHint': '随时按 Ctrl+C 退出',
|
|
16
|
+
// Mode selection
|
|
17
|
+
'mode.prompt': '选择安装方式',
|
|
18
|
+
'mode.quick': 'Web UI(推荐)',
|
|
19
|
+
'mode.quickDesc': '在浏览器中交互式安装',
|
|
20
|
+
'mode.advanced': 'CLI 模式',
|
|
21
|
+
'mode.advancedDesc': '在终端中交互式安装',
|
|
22
|
+
// Startup menu
|
|
23
|
+
'startup.description': '在 Cloudflare Workers 上设置 Authrim OIDC 提供商。',
|
|
24
|
+
'startup.cancel': '取消',
|
|
25
|
+
'startup.cancelDesc': '退出安装',
|
|
26
|
+
'startup.cancelled': '安装已取消。',
|
|
27
|
+
'startup.resumeLater': '稍后继续:',
|
|
28
|
+
// Main menu
|
|
29
|
+
'menu.prompt': '您想做什么?',
|
|
30
|
+
'menu.quick': '快速安装(5分钟)',
|
|
31
|
+
'menu.quickDesc': '以最少配置部署 Authrim',
|
|
32
|
+
'menu.custom': '自定义安装',
|
|
33
|
+
'menu.customDesc': '逐步配置所有选项',
|
|
34
|
+
// Setup titles
|
|
35
|
+
'quick.title': '⚡ 快速安装',
|
|
36
|
+
'custom.title': '🔧 自定义安装',
|
|
37
|
+
'menu.manage': '查看现有环境',
|
|
38
|
+
'menu.manageDesc': '查看、检查或删除现有环境',
|
|
39
|
+
'menu.load': '加载现有配置',
|
|
40
|
+
'menu.loadDesc': '从 authrim-config.json 恢复安装',
|
|
41
|
+
'menu.exit': '退出',
|
|
42
|
+
'menu.exitDesc': '退出安装',
|
|
43
|
+
'menu.goodbye': '再见!',
|
|
44
|
+
// Update check
|
|
45
|
+
'update.checking': '检查更新...',
|
|
46
|
+
'update.available': '有可用更新:{{localVersion}} → {{remoteVersion}}',
|
|
47
|
+
'update.prompt': '您想做什么?',
|
|
48
|
+
'update.continue': '继续使用当前版本 ({{version}})',
|
|
49
|
+
'update.continueDesc': '使用现有源代码',
|
|
50
|
+
'update.update': '更新到最新版本 ({{version}})',
|
|
51
|
+
'update.updateDesc': '下载并替换为新版本',
|
|
52
|
+
'update.cancel': '取消',
|
|
53
|
+
'update.cancelled': '已取消。',
|
|
54
|
+
'update.current': '使用 Authrim 源代码 (v{{version}})',
|
|
55
|
+
// Source download
|
|
56
|
+
'source.downloading': '下载源代码...',
|
|
57
|
+
'source.downloaded': '源代码已下载 ({{version}})',
|
|
58
|
+
'source.extracting': '解压源代码...',
|
|
59
|
+
'source.installing': '安装依赖项(可能需要几分钟)...',
|
|
60
|
+
'source.installed': '依赖项已安装',
|
|
61
|
+
'source.installFailed': '安装依赖项失败',
|
|
62
|
+
'source.installManually': '您可以尝试手动安装:',
|
|
63
|
+
'source.notInSourceDir': '未找到 Authrim 源代码',
|
|
64
|
+
'source.downloadPrompt': '下载源代码到 {{path}}?',
|
|
65
|
+
'source.downloadOption': '下载源代码',
|
|
66
|
+
'source.downloadOptionDesc': '下载最新版本',
|
|
67
|
+
'source.exitOption': '退出',
|
|
68
|
+
'source.exitOptionDesc': '退出安装',
|
|
69
|
+
'source.cloneManually': '手动克隆:',
|
|
70
|
+
'source.directoryExists': '目录 {{path}} 存在但不是有效的 Authrim 源代码',
|
|
71
|
+
'source.replaceOption': '替换为全新下载',
|
|
72
|
+
'source.replaceOptionDesc': '删除 {{path}} 并下载最新版本',
|
|
73
|
+
'source.differentOption': '使用其他目录',
|
|
74
|
+
'source.differentOptionDesc': '指定其他位置',
|
|
75
|
+
'source.enterPath': '输入目录路径:',
|
|
76
|
+
'source.updateFailed': '更新失败',
|
|
77
|
+
'source.downloadFailed': '下载失败',
|
|
78
|
+
'source.verificationWarnings': '源代码结构验证警告:',
|
|
79
|
+
// Prerequisites
|
|
80
|
+
'prereq.checking': '检查 wrangler 状态...',
|
|
81
|
+
'prereq.wranglerNotInstalled': 'wrangler 未安装',
|
|
82
|
+
'prereq.wranglerInstallHint': '运行以下命令安装:',
|
|
83
|
+
'prereq.notLoggedIn': '未登录 Cloudflare',
|
|
84
|
+
'prereq.loginHint': '运行以下命令进行身份验证:',
|
|
85
|
+
'prereq.loggedInAs': '已连接到 Cloudflare ({{email}})',
|
|
86
|
+
'prereq.accountId': '账户 ID:{{accountId}}',
|
|
87
|
+
// Environment
|
|
88
|
+
'env.prompt': '输入环境名称',
|
|
89
|
+
'env.prod': '生产环境',
|
|
90
|
+
'env.prodDesc': '用于生产使用',
|
|
91
|
+
'env.staging': '预发布环境',
|
|
92
|
+
'env.stagingDesc': '用于生产前测试',
|
|
93
|
+
'env.dev': '开发环境',
|
|
94
|
+
'env.devDesc': '用于本地开发',
|
|
95
|
+
'env.custom': '自定义',
|
|
96
|
+
'env.customDesc': '输入自定义环境名称',
|
|
97
|
+
'env.customPrompt': '输入自定义环境名称',
|
|
98
|
+
'env.customValidation': '仅允许小写字母数字和连字符(例如:prod、staging、dev)',
|
|
99
|
+
'env.detected': '检测到的环境:',
|
|
100
|
+
'env.selectExisting': '选择现有环境',
|
|
101
|
+
'env.createNew': '创建新环境',
|
|
102
|
+
'env.createNewDesc': '设置新环境',
|
|
103
|
+
'env.checking': '检查现有环境...',
|
|
104
|
+
'env.alreadyExists': '环境 "{{env}}" 已存在',
|
|
105
|
+
'env.existingResources': '现有资源:',
|
|
106
|
+
'env.workers': 'Workers:{{count}}',
|
|
107
|
+
'env.d1Databases': 'D1 数据库:{{count}}',
|
|
108
|
+
'env.kvNamespaces': 'KV 命名空间:{{count}}',
|
|
109
|
+
'env.chooseAnother': '请选择其他名称或先使用 "npx @authrim/setup manage" 删除它。',
|
|
110
|
+
'env.available': '环境名称可用',
|
|
111
|
+
'env.checkFailed': '无法检查现有环境(继续进行)',
|
|
112
|
+
'env.noEnvFound': '未找到 Authrim 环境。',
|
|
113
|
+
// Region
|
|
114
|
+
'region.prompt': '选择区域',
|
|
115
|
+
'region.auto': '自动(最近)',
|
|
116
|
+
'region.autoDesc': '让 Cloudflare 选择最近的区域',
|
|
117
|
+
'region.wnam': '北美(西部)',
|
|
118
|
+
'region.wnamDesc': '北美西部',
|
|
119
|
+
'region.enam': '北美(东部)',
|
|
120
|
+
'region.enamDesc': '北美东部',
|
|
121
|
+
'region.weur': '欧洲(西部)',
|
|
122
|
+
'region.weurDesc': '西欧',
|
|
123
|
+
'region.eeur': '欧洲(东部)',
|
|
124
|
+
'region.eeurDesc': '东欧',
|
|
125
|
+
'region.apac': '亚太地区',
|
|
126
|
+
'region.apacDesc': '亚太地区',
|
|
127
|
+
'region.oceania': '大洋洲',
|
|
128
|
+
'region.oceaniaDesc': '澳大利亚和太平洋岛屿',
|
|
129
|
+
'region.euJurisdiction': 'EU 管辖区(GDPR 合规)',
|
|
130
|
+
'region.euJurisdictionDesc': '数据存储在 EU 内',
|
|
131
|
+
// UI deployment
|
|
132
|
+
'ui.prompt': 'UI 部署方式',
|
|
133
|
+
'ui.pagesOption': 'Cloudflare Pages',
|
|
134
|
+
'ui.pagesDesc': '部署到 Cloudflare Pages(推荐)',
|
|
135
|
+
'ui.customOption': '自定义域名',
|
|
136
|
+
'ui.customDesc': '使用您自己的托管',
|
|
137
|
+
'ui.skipOption': '跳过',
|
|
138
|
+
'ui.skipDesc': '跳过 UI 部署',
|
|
139
|
+
'ui.customPrompt': '输入自定义 UI URL',
|
|
140
|
+
// Domain
|
|
141
|
+
'domain.prompt': '配置自定义域名?',
|
|
142
|
+
'domain.workersDevOption': '使用 workers.dev 域名',
|
|
143
|
+
'domain.workersDevDesc': '使用 Cloudflare 默认域名',
|
|
144
|
+
'domain.customOption': '配置自定义域名',
|
|
145
|
+
'domain.customDesc': '使用您自己的域名',
|
|
146
|
+
'domain.customPrompt': '输入自定义域名(例如:auth.example.com)',
|
|
147
|
+
'domain.customValidation': '请输入有效域名(例如:auth.example.com)',
|
|
148
|
+
'domain.issuerUrl': '发行者 URL:{{url}}',
|
|
149
|
+
'domain.apiDomain': 'API / 发行者域名(例如:auth.example.com)',
|
|
150
|
+
'domain.loginUiDomain': '登录 UI 域名(按回车跳过)',
|
|
151
|
+
'domain.adminUiDomain': '管理 UI 域名(按回车跳过)',
|
|
152
|
+
'domain.enterDomains': '输入自定义域名(留空使用 Cloudflare 默认)',
|
|
153
|
+
'domain.singleTenantNote': '在单租户模式下,发行者 URL = API 域名',
|
|
154
|
+
'domain.usingWorkersDev': '(使用 Cloudflare workers.dev 域名)',
|
|
155
|
+
// Database
|
|
156
|
+
'db.title': '数据库配置',
|
|
157
|
+
'db.regionWarning': '数据库区域创建后无法更改。',
|
|
158
|
+
'db.coreDescription': '核心数据库:存储 OAuth 客户端、令牌、会话、审计日志',
|
|
159
|
+
'db.coreRegion': '核心数据库区域',
|
|
160
|
+
'db.piiDescription': 'PII 数据库:存储用户配置文件、凭据、个人数据',
|
|
161
|
+
'db.piiNote': '请考虑您的数据保护要求。',
|
|
162
|
+
'db.piiRegion': 'PII 数据库区域',
|
|
163
|
+
'db.creating': '创建数据库...',
|
|
164
|
+
'db.created': '数据库已创建:{{name}}',
|
|
165
|
+
'db.existing': '使用现有数据库:{{name}}',
|
|
166
|
+
'db.error': '创建数据库失败',
|
|
167
|
+
'db.locationHints': '位置提示',
|
|
168
|
+
'db.jurisdictionCompliance': '管辖权(合规性)',
|
|
169
|
+
// KV
|
|
170
|
+
'kv.creating': '创建 KV 命名空间...',
|
|
171
|
+
'kv.created': 'KV 命名空间已创建:{{name}}',
|
|
172
|
+
'kv.existing': '使用现有 KV 命名空间:{{name}}',
|
|
173
|
+
'kv.error': '创建 KV 命名空间失败',
|
|
174
|
+
// Queue
|
|
175
|
+
'queue.creating': '创建队列...',
|
|
176
|
+
'queue.created': '队列已创建:{{name}}',
|
|
177
|
+
'queue.existing': '使用现有队列:{{name}}',
|
|
178
|
+
'queue.error': '创建队列失败',
|
|
179
|
+
// R2
|
|
180
|
+
'r2.creating': '创建 R2 存储桶...',
|
|
181
|
+
'r2.created': 'R2 存储桶已创建:{{name}}',
|
|
182
|
+
'r2.existing': '使用现有 R2 存储桶:{{name}}',
|
|
183
|
+
'r2.error': '创建 R2 存储桶失败',
|
|
184
|
+
// Keys
|
|
185
|
+
'keys.generating': '生成加密密钥...',
|
|
186
|
+
'keys.generated': '密钥已生成 ({{path}})',
|
|
187
|
+
'keys.existing': '环境 "{{env}}" 的密钥已存在',
|
|
188
|
+
'keys.existingWarning': '现有密钥将被覆盖。',
|
|
189
|
+
'keys.error': '生成密钥失败',
|
|
190
|
+
'keys.regeneratePrompt': '重新生成密钥?',
|
|
191
|
+
'keys.regenerateWarning': '这将使所有现有令牌失效!',
|
|
192
|
+
// Config
|
|
193
|
+
'config.saving': '保存配置...',
|
|
194
|
+
'config.saved': '配置已保存到 {{path}}',
|
|
195
|
+
'config.error': '保存配置失败',
|
|
196
|
+
'config.path': '配置路径',
|
|
197
|
+
'config.summary': '配置摘要',
|
|
198
|
+
'config.infrastructure': '基础设施:',
|
|
199
|
+
'config.environment': '环境:',
|
|
200
|
+
'config.workerPrefix': 'Worker 前缀:',
|
|
201
|
+
'config.profile': '配置文件:',
|
|
202
|
+
'config.tenantIssuer': '租户和发行者:',
|
|
203
|
+
'config.mode': '模式:',
|
|
204
|
+
'config.multiTenant': '多租户',
|
|
205
|
+
'config.singleTenant': '单租户',
|
|
206
|
+
'config.baseDomain': '基础域名:',
|
|
207
|
+
'config.issuerFormat': '发行者格式:',
|
|
208
|
+
'config.issuerUrl': '发行者 URL:',
|
|
209
|
+
'config.defaultTenant': '默认租户:',
|
|
210
|
+
'config.displayName': '显示名称:',
|
|
211
|
+
'config.publicUrls': '公共 URL:',
|
|
212
|
+
'config.apiRouter': 'API 路由器:',
|
|
213
|
+
'config.loginUi': '登录 UI:',
|
|
214
|
+
'config.adminUi': '管理 UI:',
|
|
215
|
+
'config.components': '组件:',
|
|
216
|
+
'config.featureFlags': '功能标志:',
|
|
217
|
+
'config.emailSettings': '邮件:',
|
|
218
|
+
'config.oidcSettings': 'OIDC 设置:',
|
|
219
|
+
'config.accessTtl': '访问令牌 TTL:',
|
|
220
|
+
'config.refreshTtl': '刷新令牌 TTL:',
|
|
221
|
+
'config.authCodeTtl': '授权码 TTL:',
|
|
222
|
+
'config.pkceRequired': '需要 PKCE:',
|
|
223
|
+
'config.sharding': '分片:',
|
|
224
|
+
'config.authCodeShards': '授权码:',
|
|
225
|
+
'config.refreshTokenShards': '刷新令牌:',
|
|
226
|
+
'config.database': '数据库:',
|
|
227
|
+
'config.coreDb': '核心数据库:',
|
|
228
|
+
'config.piiDb': 'PII 数据库:',
|
|
229
|
+
'config.enabled': '已启用',
|
|
230
|
+
'config.disabled': '已禁用',
|
|
231
|
+
'config.standard': '(标准)',
|
|
232
|
+
'config.notConfigured': '未配置(稍后配置)',
|
|
233
|
+
'config.yes': '是',
|
|
234
|
+
'config.no': '否',
|
|
235
|
+
'config.shards': '分片',
|
|
236
|
+
'config.sec': '秒',
|
|
237
|
+
'config.automatic': '自动',
|
|
238
|
+
// Deploy
|
|
239
|
+
'deploy.prompt': '使用此配置开始安装?',
|
|
240
|
+
'deploy.starting': '运行安装...',
|
|
241
|
+
'deploy.building': '构建包...',
|
|
242
|
+
'deploy.deploying': '部署到 Cloudflare...',
|
|
243
|
+
'deploy.success': '安装完成!',
|
|
244
|
+
'deploy.error': '部署失败',
|
|
245
|
+
'deploy.skipped': '已跳过部署',
|
|
246
|
+
'deploy.component': '部署 {{component}}...',
|
|
247
|
+
'deploy.uploadingSecrets': '上传密钥...',
|
|
248
|
+
'deploy.secretsUploaded': '密钥已上传',
|
|
249
|
+
'deploy.runningMigrations': '运行数据库迁移...',
|
|
250
|
+
'deploy.migrationsComplete': '迁移完成',
|
|
251
|
+
'deploy.deployingWorker': '部署 worker {{name}}...',
|
|
252
|
+
'deploy.workerDeployed': 'Worker 已部署:{{name}}',
|
|
253
|
+
'deploy.deployingUI': '部署 UI...',
|
|
254
|
+
'deploy.uiDeployed': 'UI 已部署',
|
|
255
|
+
'deploy.creatingResources': '创建 Cloudflare 资源...',
|
|
256
|
+
'deploy.resourcesFailed': '创建资源失败',
|
|
257
|
+
'deploy.continueWithout': '不预配继续?(您需要手动创建资源)',
|
|
258
|
+
'deploy.emailSecretsSaved': '邮件密钥已保存到 {{path}}',
|
|
259
|
+
'deploy.confirmStart': '开始部署?',
|
|
260
|
+
'deploy.confirmDryRun': '在模拟运行模式下运行部署?',
|
|
261
|
+
'deploy.cancelled': '部署已取消。',
|
|
262
|
+
'deploy.wranglerChanged': '您想如何处理这些更改?',
|
|
263
|
+
'deploy.wranglerKeep': '📝 保留手动更改(按原样部署)',
|
|
264
|
+
'deploy.wranglerBackup': '💾 备份并用主版本覆盖',
|
|
265
|
+
'deploy.wranglerOverwrite': '⚠️ 用主版本覆盖(丢失更改)',
|
|
266
|
+
// Email provider
|
|
267
|
+
'email.title': '邮件提供商',
|
|
268
|
+
'email.description': '配置魔术链接和验证码的邮件发送。',
|
|
269
|
+
'email.prompt': '现在配置邮件提供商?',
|
|
270
|
+
'email.resendOption': 'Resend',
|
|
271
|
+
'email.resendDesc': '面向开发者的现代邮件 API',
|
|
272
|
+
'email.sesOption': 'AWS SES',
|
|
273
|
+
'email.sesDesc': 'Amazon 简单邮件服务',
|
|
274
|
+
'email.smtpOption': 'SMTP',
|
|
275
|
+
'email.smtpDesc': '通用 SMTP 服务器',
|
|
276
|
+
'email.skipOption': '无(稍后配置)',
|
|
277
|
+
'email.skipDesc': '跳过邮件配置',
|
|
278
|
+
'email.apiKeyPrompt': 'Resend API 密钥',
|
|
279
|
+
'email.apiKeyHint': '在此获取 API 密钥:https://resend.com/api-keys',
|
|
280
|
+
'email.domainHint': '在此设置域名:https://resend.com/domains',
|
|
281
|
+
'email.apiKeyRequired': 'API 密钥是必需的',
|
|
282
|
+
'email.apiKeyWarning': '警告:Resend API 密钥通常以 "re_" 开头',
|
|
283
|
+
'email.fromAddressPrompt': '发件人邮箱地址',
|
|
284
|
+
'email.fromAddressValidation': '请输入有效的邮箱地址',
|
|
285
|
+
'email.fromNamePrompt': '发件人显示名称(可选)',
|
|
286
|
+
'email.domainVerificationRequired': '从您自己的域名发送需要域名验证。',
|
|
287
|
+
'email.seeDocumentation': '参见:https://resend.com/docs/dashboard/domains/introduction',
|
|
288
|
+
'email.provider': '提供商:',
|
|
289
|
+
'email.fromAddress': '发件人地址:',
|
|
290
|
+
'email.fromName': '发件人名称:',
|
|
291
|
+
// SMS provider
|
|
292
|
+
'sms.prompt': '配置短信提供商?',
|
|
293
|
+
'sms.twilioOption': 'Twilio',
|
|
294
|
+
'sms.twilioDesc': '通过 Twilio 发送短信',
|
|
295
|
+
'sms.skipOption': '无(稍后配置)',
|
|
296
|
+
'sms.skipDesc': '跳过短信配置',
|
|
297
|
+
'sms.accountSidPrompt': 'Twilio 账户 SID',
|
|
298
|
+
'sms.authTokenPrompt': 'Twilio 认证令牌',
|
|
299
|
+
'sms.fromNumberPrompt': '发送电话号码',
|
|
300
|
+
// Social providers
|
|
301
|
+
'social.prompt': '配置社交登录提供商?',
|
|
302
|
+
'social.googleOption': 'Google',
|
|
303
|
+
'social.googleDesc': '使用 Google 登录',
|
|
304
|
+
'social.githubOption': 'GitHub',
|
|
305
|
+
'social.githubDesc': '使用 GitHub 登录',
|
|
306
|
+
'social.appleOption': 'Apple',
|
|
307
|
+
'social.appleDesc': '使用 Apple 登录',
|
|
308
|
+
'social.microsoftOption': 'Microsoft',
|
|
309
|
+
'social.microsoftDesc': '使用 Microsoft 登录',
|
|
310
|
+
'social.skipOption': '无(稍后配置)',
|
|
311
|
+
'social.skipDesc': '跳过社交登录配置',
|
|
312
|
+
'social.clientIdPrompt': '客户端 ID',
|
|
313
|
+
'social.clientSecretPrompt': '客户端密钥',
|
|
314
|
+
// Cloudflare API Token
|
|
315
|
+
'cf.apiTokenPrompt': '输入 Cloudflare API 令牌',
|
|
316
|
+
'cf.apiTokenValidation': '请输入有效的 API 令牌',
|
|
317
|
+
// OIDC Profile
|
|
318
|
+
'profile.prompt': '选择 OIDC 配置文件',
|
|
319
|
+
'profile.basicOp': '基础 OP(标准 OIDC 提供商)',
|
|
320
|
+
'profile.basicOpDesc': '标准 OIDC 功能',
|
|
321
|
+
'profile.fapiRw': 'FAPI 读写(金融级)',
|
|
322
|
+
'profile.fapiRwDesc': 'FAPI 1.0 读写安全配置文件合规',
|
|
323
|
+
'profile.fapi2Security': 'FAPI 2.0 安全配置文件',
|
|
324
|
+
'profile.fapi2SecurityDesc': 'FAPI 2.0 安全配置文件合规(最高安全)',
|
|
325
|
+
// Tenant configuration
|
|
326
|
+
'tenant.title': '租户模式',
|
|
327
|
+
'tenant.multiTenantPrompt': '启用多租户模式?(基于子域的租户隔离)',
|
|
328
|
+
'tenant.multiTenantTitle': '多租户 URL 配置',
|
|
329
|
+
'tenant.multiTenantNote1': '在多租户模式下:',
|
|
330
|
+
'tenant.multiTenantNote2': '每个租户有一个子域:https://{tenant}.{base-domain}',
|
|
331
|
+
'tenant.multiTenantNote3': '基础域名指向路由器 Worker',
|
|
332
|
+
'tenant.multiTenantNote4': '发行者 URL 从 Host 头动态构建',
|
|
333
|
+
'tenant.baseDomainPrompt': '基础域名(例如:authrim.com)',
|
|
334
|
+
'tenant.baseDomainRequired': '多租户模式需要基础域名',
|
|
335
|
+
'tenant.baseDomainValidation': '请输入有效域名(例如:authrim.com)',
|
|
336
|
+
'tenant.issuerFormat': '发行者 URL 格式:https://{tenant}.{{domain}}',
|
|
337
|
+
'tenant.issuerExample': '示例:https://acme.{{domain}}',
|
|
338
|
+
'tenant.defaultTenantPrompt': '默认租户名称(标识符)',
|
|
339
|
+
'tenant.defaultTenantValidation': '仅允许小写字母数字和连字符',
|
|
340
|
+
'tenant.displayNamePrompt': '默认租户显示名称',
|
|
341
|
+
'tenant.singleTenantTitle': '单租户 URL 配置',
|
|
342
|
+
'tenant.singleTenantNote1': '在单租户模式下:',
|
|
343
|
+
'tenant.singleTenantNote2': '发行者 URL = API 自定义域名(或 workers.dev 后备)',
|
|
344
|
+
'tenant.singleTenantNote3': '所有客户端共享相同的发行者',
|
|
345
|
+
'tenant.organizationName': '组织名称(显示名称)',
|
|
346
|
+
'tenant.uiDomainTitle': 'UI 域名配置',
|
|
347
|
+
'tenant.customUiDomainPrompt': '配置自定义 UI 域名?',
|
|
348
|
+
'tenant.loginUiDomain': '登录 UI 域名(例如:login.example.com)',
|
|
349
|
+
'tenant.adminUiDomain': '管理 UI 域名(例如:admin.example.com)',
|
|
350
|
+
// Optional components
|
|
351
|
+
'components.title': '可选组件',
|
|
352
|
+
'components.note': '注意:社交登录和策略引擎是标准组件',
|
|
353
|
+
'components.samlPrompt': '启用 SAML 支持?',
|
|
354
|
+
'components.vcPrompt': '启用可验证凭据?',
|
|
355
|
+
'components.saml': 'SAML:',
|
|
356
|
+
'components.vc': 'VC:',
|
|
357
|
+
'components.socialLogin': '社交登录:',
|
|
358
|
+
'components.policyEngine': '策略引擎:',
|
|
359
|
+
// Feature flags
|
|
360
|
+
'features.title': '功能标志',
|
|
361
|
+
'features.queuePrompt': '启用 Cloudflare Queues?(用于审计日志)',
|
|
362
|
+
'features.r2Prompt': '启用 Cloudflare R2?(用于头像)',
|
|
363
|
+
'features.queue': '队列:',
|
|
364
|
+
'features.r2': 'R2:',
|
|
365
|
+
// OIDC settings
|
|
366
|
+
'oidc.configurePrompt': '配置 OIDC 设置?(令牌 TTL 等)',
|
|
367
|
+
'oidc.title': 'OIDC 设置',
|
|
368
|
+
'oidc.accessTokenTtl': '访问令牌 TTL(秒)',
|
|
369
|
+
'oidc.refreshTokenTtl': '刷新令牌 TTL(秒)',
|
|
370
|
+
'oidc.authCodeTtl': '授权码 TTL(秒)',
|
|
371
|
+
'oidc.pkceRequired': '需要 PKCE?',
|
|
372
|
+
'oidc.positiveInteger': '请输入正整数',
|
|
373
|
+
// Sharding settings
|
|
374
|
+
'sharding.configurePrompt': '配置分片?(用于高负载环境)',
|
|
375
|
+
'sharding.title': '分片设置',
|
|
376
|
+
'sharding.note': '注意:建议分片数为 2 的幂(8、16、32、64、128)',
|
|
377
|
+
'sharding.authCodeShards': '授权码分片数',
|
|
378
|
+
'sharding.refreshTokenShards': '刷新令牌分片数',
|
|
379
|
+
// Infrastructure
|
|
380
|
+
'infra.title': '基础设施(自动生成)',
|
|
381
|
+
'infra.workersNote': '将部署以下 Workers:',
|
|
382
|
+
'infra.router': '路由器:',
|
|
383
|
+
'infra.auth': '认证:',
|
|
384
|
+
'infra.token': '令牌:',
|
|
385
|
+
'infra.management': '管理:',
|
|
386
|
+
'infra.otherWorkers': '... 及其他支持 workers',
|
|
387
|
+
'infra.defaultEndpoints': '默认端点(无自定义域名):',
|
|
388
|
+
'infra.api': 'API:',
|
|
389
|
+
'infra.ui': 'UI:',
|
|
390
|
+
'infra.workersToDeploy': '要部署的 Workers:{{workers}}',
|
|
391
|
+
'infra.defaultApi': '默认 API:{{url}}',
|
|
392
|
+
// Completion
|
|
393
|
+
'complete.title': '安装完成!',
|
|
394
|
+
'complete.summary': '您的 Authrim OIDC 提供商已部署。',
|
|
395
|
+
'complete.issuerUrl': '发行者 URL:{{url}}',
|
|
396
|
+
'complete.adminUrl': '管理面板:{{url}}',
|
|
397
|
+
'complete.uiUrl': '登录 UI:{{url}}',
|
|
398
|
+
'complete.nextSteps': '后续步骤:',
|
|
399
|
+
'complete.nextStep1': '1. 访问发行者 URL 验证部署',
|
|
400
|
+
'complete.nextStep2': '2. 在管理面板中配置 OAuth 客户端',
|
|
401
|
+
'complete.nextStep3': '3. 根据需要设置自定义域名',
|
|
402
|
+
'complete.warning': '请记住保护并备份您的密钥!',
|
|
403
|
+
'complete.success': '安装成功完成!',
|
|
404
|
+
'complete.urls': 'URL:',
|
|
405
|
+
'complete.configLocation': '配置:',
|
|
406
|
+
'complete.keysLocation': '密钥:',
|
|
407
|
+
// Resource provisioning
|
|
408
|
+
'resource.provisioning': '预配 {{resource}}...',
|
|
409
|
+
'resource.provisioned': '{{resource}} 预配成功',
|
|
410
|
+
'resource.failed': '预配 {{resource}} 失败',
|
|
411
|
+
'resource.skipped': '已跳过 {{resource}}',
|
|
412
|
+
// Manage environments
|
|
413
|
+
'manage.title': '现有环境',
|
|
414
|
+
'manage.loading': '加载中...',
|
|
415
|
+
'manage.detecting': '检测环境...',
|
|
416
|
+
'manage.detected': '检测到的环境:',
|
|
417
|
+
'manage.noEnvs': '未找到 Authrim 环境。',
|
|
418
|
+
'manage.selectAction': '选择操作',
|
|
419
|
+
'manage.viewDetails': '查看详情',
|
|
420
|
+
'manage.viewDetailsDesc': '显示详细资源信息',
|
|
421
|
+
'manage.deleteEnv': '删除环境',
|
|
422
|
+
'manage.deleteEnvDesc': '删除环境和资源',
|
|
423
|
+
'manage.backToMenu': '返回主菜单',
|
|
424
|
+
'manage.backToMenuDesc': '返回主菜单',
|
|
425
|
+
'manage.selectEnv': '选择环境',
|
|
426
|
+
'manage.back': '返回',
|
|
427
|
+
'manage.continueManaging': '继续管理环境?',
|
|
428
|
+
// Load config
|
|
429
|
+
'loadConfig.title': '加载现有配置',
|
|
430
|
+
'loadConfig.found': '找到 {{count}} 个配置:',
|
|
431
|
+
'loadConfig.new': '(新)',
|
|
432
|
+
'loadConfig.legacy': '(旧版)',
|
|
433
|
+
'loadConfig.legacyDetected': '检测到旧版结构',
|
|
434
|
+
'loadConfig.legacyFiles': '旧版文件:',
|
|
435
|
+
'loadConfig.newBenefits': '新结构优势:',
|
|
436
|
+
'loadConfig.benefit1': '环境可移植性(压缩 .authrim/prod/)',
|
|
437
|
+
'loadConfig.benefit2': '每个环境版本跟踪',
|
|
438
|
+
'loadConfig.benefit3': '更清晰的项目结构',
|
|
439
|
+
'loadConfig.migratePrompt': '是否迁移到新结构?',
|
|
440
|
+
'loadConfig.migrateOption': '迁移到新结构 (.authrim/{env}/)',
|
|
441
|
+
'loadConfig.continueOption': '继续使用旧版结构',
|
|
442
|
+
'loadConfig.migrationComplete': '迁移成功完成!',
|
|
443
|
+
'loadConfig.validationPassed': '验证通过',
|
|
444
|
+
'loadConfig.validationIssues': '验证问题:',
|
|
445
|
+
'loadConfig.newLocation': '新配置位置:',
|
|
446
|
+
'loadConfig.migrationFailed': '迁移失败:',
|
|
447
|
+
'loadConfig.continuingLegacy': '继续使用旧版结构...',
|
|
448
|
+
'loadConfig.loadThis': '加载此配置',
|
|
449
|
+
'loadConfig.specifyOther': '指定其他文件',
|
|
450
|
+
'loadConfig.noConfigFound': '当前目录中未找到配置。',
|
|
451
|
+
'loadConfig.tip': '提示:您可以通过以下命令指定配置文件:',
|
|
452
|
+
'loadConfig.specifyPath': '指定文件路径',
|
|
453
|
+
'loadConfig.enterPath': '输入配置文件路径',
|
|
454
|
+
'loadConfig.pathRequired': '请输入路径',
|
|
455
|
+
'loadConfig.fileNotFound': '文件未找到:{{path}}',
|
|
456
|
+
'loadConfig.selectConfig': '选择要加载的配置',
|
|
457
|
+
// Common
|
|
458
|
+
'common.yes': '是',
|
|
459
|
+
'common.no': '否',
|
|
460
|
+
'common.continue': '继续',
|
|
461
|
+
'common.cancel': '取消',
|
|
462
|
+
'common.skip': '跳过',
|
|
463
|
+
'common.back': '返回',
|
|
464
|
+
'common.confirm': '确认',
|
|
465
|
+
'common.error': '错误',
|
|
466
|
+
'common.warning': '警告',
|
|
467
|
+
'common.success': '成功',
|
|
468
|
+
'common.info': '信息',
|
|
469
|
+
'common.loading': '加载中...',
|
|
470
|
+
'common.saving': '保存中...',
|
|
471
|
+
'common.processing': '处理中...',
|
|
472
|
+
'common.done': '完成',
|
|
473
|
+
'common.required': '必需',
|
|
474
|
+
'common.optional': '可选',
|
|
475
|
+
// Errors
|
|
476
|
+
'error.generic': '发生错误',
|
|
477
|
+
'error.network': '网络错误',
|
|
478
|
+
'error.timeout': '请求超时',
|
|
479
|
+
'error.invalidInput': '输入无效',
|
|
480
|
+
'error.fileNotFound': '文件未找到',
|
|
481
|
+
'error.permissionDenied': '权限被拒绝',
|
|
482
|
+
'error.configNotFound': '未找到配置',
|
|
483
|
+
'error.configInvalid': '配置无效',
|
|
484
|
+
'error.deployFailed': '部署失败',
|
|
485
|
+
'error.resourceCreationFailed': '创建资源失败',
|
|
486
|
+
// Validation
|
|
487
|
+
'validation.required': '此字段是必需的',
|
|
488
|
+
'validation.invalidFormat': '格式无效',
|
|
489
|
+
'validation.tooShort': '太短',
|
|
490
|
+
'validation.tooLong': '太长',
|
|
491
|
+
'validation.invalidDomain': '域名无效',
|
|
492
|
+
'validation.invalidEmail': '邮箱地址无效',
|
|
493
|
+
'validation.invalidUrl': 'URL 无效',
|
|
494
|
+
// Delete command
|
|
495
|
+
'delete.title': '删除环境',
|
|
496
|
+
'delete.prompt': '选择要删除的资源',
|
|
497
|
+
'delete.confirm': '确定要删除 "{{env}}"?',
|
|
498
|
+
'delete.confirmPermanent': '⚠️ 这将永久删除 "{{env}}" 的所有资源。继续?',
|
|
499
|
+
'delete.confirmWarning': '此操作无法撤销!',
|
|
500
|
+
'delete.deleting': '删除 {{resource}}...',
|
|
501
|
+
'delete.deleted': '{{resource}} 已删除',
|
|
502
|
+
'delete.error': '删除 {{resource}} 失败',
|
|
503
|
+
'delete.cancelled': '删除已取消',
|
|
504
|
+
'delete.noEnvFound': '未找到环境',
|
|
505
|
+
'delete.selectEnv': '选择要删除的环境',
|
|
506
|
+
'delete.workers': 'Workers',
|
|
507
|
+
'delete.databases': 'D1 数据库',
|
|
508
|
+
'delete.kvNamespaces': 'KV 命名空间',
|
|
509
|
+
'delete.queues': '队列',
|
|
510
|
+
'delete.r2Buckets': 'R2 存储桶',
|
|
511
|
+
// Info command
|
|
512
|
+
'info.title': '环境信息',
|
|
513
|
+
'info.loading': '加载环境信息...',
|
|
514
|
+
'info.noResources': '未找到资源',
|
|
515
|
+
'info.environment': '环境',
|
|
516
|
+
'info.issuer': '发行者',
|
|
517
|
+
'info.workers': 'Workers',
|
|
518
|
+
'info.databases': '数据库',
|
|
519
|
+
'info.kvNamespaces': 'KV 命名空间',
|
|
520
|
+
'info.queues': '队列',
|
|
521
|
+
'info.r2Buckets': 'R2 存储桶',
|
|
522
|
+
'info.status': '状态',
|
|
523
|
+
'info.deployed': '已部署',
|
|
524
|
+
'info.notDeployed': '未部署',
|
|
525
|
+
// Config command
|
|
526
|
+
'configCmd.title': '配置',
|
|
527
|
+
'configCmd.showing': '显示配置',
|
|
528
|
+
'configCmd.validating': '验证配置...',
|
|
529
|
+
'configCmd.valid': '配置有效',
|
|
530
|
+
'configCmd.invalid': '配置无效',
|
|
531
|
+
'configCmd.notFound': '未找到配置',
|
|
532
|
+
'configCmd.error': '读取配置错误',
|
|
533
|
+
// Migrate command
|
|
534
|
+
'migrate.title': '迁移到新结构',
|
|
535
|
+
'migrate.checking': '检查迁移状态...',
|
|
536
|
+
'migrate.noLegacyFound': '未找到旧版结构',
|
|
537
|
+
'migrate.legacyFound': '检测到旧版结构',
|
|
538
|
+
'migrate.prompt': '迁移到新结构?',
|
|
539
|
+
'migrate.migrating': '迁移中...',
|
|
540
|
+
'migrate.success': '迁移成功',
|
|
541
|
+
'migrate.cancelled': '迁移已取消。',
|
|
542
|
+
'migrate.error': '迁移失败',
|
|
543
|
+
'migrate.dryRun': '模拟运行 - 未做更改',
|
|
544
|
+
'migrate.backup': '创建备份...',
|
|
545
|
+
'migrate.backupCreated': '备份已创建于 {{path}}',
|
|
546
|
+
// Manage command
|
|
547
|
+
'manage.commandTitle': 'Authrim 环境管理器',
|
|
548
|
+
// Web UI specific
|
|
549
|
+
'web.title': 'Authrim 安装程序',
|
|
550
|
+
'web.subtitle': '基于 Cloudflare Workers 的 OIDC 提供商',
|
|
551
|
+
'web.loading': '加载中...',
|
|
552
|
+
'web.error': '发生错误',
|
|
553
|
+
'web.retry': '重试',
|
|
554
|
+
'web.languageSelector': '语言',
|
|
555
|
+
'web.darkMode': '深色',
|
|
556
|
+
'web.lightMode': '浅色',
|
|
557
|
+
'web.systemMode': '系统',
|
|
558
|
+
// Web UI Prerequisites
|
|
559
|
+
'web.prereq.title': '前提条件',
|
|
560
|
+
'web.prereq.checking': '检查中...',
|
|
561
|
+
'web.prereq.checkingRequirements': '检查系统要求...',
|
|
562
|
+
'web.prereq.ready': '就绪',
|
|
563
|
+
'web.prereq.wranglerInstalled': 'Wrangler 已安装',
|
|
564
|
+
'web.prereq.loggedInAs': '已登录为 {{email}}',
|
|
565
|
+
// Web UI Top Menu
|
|
566
|
+
'web.menu.title': '开始使用',
|
|
567
|
+
'web.menu.subtitle': '选择一个选项继续:',
|
|
568
|
+
'web.menu.newSetup': '新建安装',
|
|
569
|
+
'web.menu.newSetupDesc': '从头创建新的 Authrim 部署',
|
|
570
|
+
'web.menu.loadConfig': '加载配置',
|
|
571
|
+
'web.menu.loadConfigDesc': '使用现有配置恢复或重新部署',
|
|
572
|
+
'web.menu.manageEnv': '管理环境',
|
|
573
|
+
'web.menu.manageEnvDesc': '查看、检查或删除现有环境',
|
|
574
|
+
// Web UI Setup Mode
|
|
575
|
+
'web.mode.title': '安装模式',
|
|
576
|
+
'web.mode.subtitle': '选择如何设置 Authrim:',
|
|
577
|
+
'web.mode.quick': '快速安装',
|
|
578
|
+
'web.mode.quickDesc': '约 5 分钟开始',
|
|
579
|
+
'web.mode.quickEnv': '环境选择',
|
|
580
|
+
'web.mode.quickDomain': '可选自定义域名',
|
|
581
|
+
'web.mode.quickDefault': '默认组件',
|
|
582
|
+
'web.mode.recommended': '推荐',
|
|
583
|
+
'web.mode.custom': '自定义安装',
|
|
584
|
+
'web.mode.customDesc': '完全控制配置',
|
|
585
|
+
'web.mode.customComp': '组件选择',
|
|
586
|
+
'web.mode.customUrl': 'URL 配置',
|
|
587
|
+
'web.mode.customAdvanced': '高级设置',
|
|
588
|
+
// Web UI Load Config
|
|
589
|
+
'web.loadConfig.title': '加载配置',
|
|
590
|
+
'web.loadConfig.subtitle': '选择您的 authrim-config.json 文件:',
|
|
591
|
+
'web.loadConfig.chooseFile': '选择文件',
|
|
592
|
+
'web.loadConfig.preview': '配置预览',
|
|
593
|
+
'web.loadConfig.validationFailed': '配置验证失败',
|
|
594
|
+
'web.loadConfig.valid': '配置有效',
|
|
595
|
+
'web.loadConfig.loadContinue': '加载并继续',
|
|
596
|
+
// Web UI Configuration
|
|
597
|
+
'web.config.title': '配置',
|
|
598
|
+
'web.config.components': '组件',
|
|
599
|
+
'web.config.apiRequired': 'API(必需)',
|
|
600
|
+
'web.config.apiDesc': 'OIDC 提供商端点:authorize、token、userinfo、discovery、管理 API。',
|
|
601
|
+
'web.config.saml': 'SAML IdP',
|
|
602
|
+
'web.config.deviceFlow': 'Device Flow / CIBA',
|
|
603
|
+
'web.config.vcSdJwt': 'VC SD-JWT',
|
|
604
|
+
'web.config.loginUi': '登录 UI',
|
|
605
|
+
'web.config.loginUiDesc': '部署到 Cloudflare Pages 的预构建认证 UI。',
|
|
606
|
+
'web.config.adminUi': '管理 UI',
|
|
607
|
+
'web.config.adminUiDesc': '用于管理用户、客户端和设置的管理仪表板。',
|
|
608
|
+
// Web UI URLs
|
|
609
|
+
'web.url.title': 'URL 配置',
|
|
610
|
+
'web.url.apiDomain': 'API 域名',
|
|
611
|
+
'web.url.apiDomainHint': '留空使用 workers.dev 子域',
|
|
612
|
+
'web.url.loginDomain': '登录 UI 域名',
|
|
613
|
+
'web.url.loginDomainHint': '留空使用 pages.dev 子域',
|
|
614
|
+
'web.url.adminDomain': '管理 UI 域名',
|
|
615
|
+
'web.url.adminDomainHint': '留空使用 pages.dev 子域',
|
|
616
|
+
// Web UI Database
|
|
617
|
+
'web.db.title': '数据库配置',
|
|
618
|
+
'web.db.coreTitle': '核心数据库',
|
|
619
|
+
'web.db.coreSubtitle': '(非 PII)',
|
|
620
|
+
'web.db.coreDesc': '存储客户端、授权码、令牌、会话。可全球复制。',
|
|
621
|
+
'web.db.piiTitle': 'PII 数据库',
|
|
622
|
+
'web.db.piiSubtitle': '(个人身份信息)',
|
|
623
|
+
'web.db.piiDesc': '存储用户配置文件、凭据、PII。应位于单一管辖区以符合合规要求。',
|
|
624
|
+
'web.db.name': '名称',
|
|
625
|
+
'web.db.region': '区域',
|
|
626
|
+
'web.db.regionAuto': '自动(最近)',
|
|
627
|
+
// Web UI Email
|
|
628
|
+
'web.email.title': '邮件提供商',
|
|
629
|
+
'web.email.subtitle': '选择用于密码重置和验证邮件的邮件服务:',
|
|
630
|
+
'web.email.none': '无',
|
|
631
|
+
'web.email.noneDesc': '禁用邮件功能',
|
|
632
|
+
'web.email.resend': 'Resend',
|
|
633
|
+
'web.email.resendDesc': '开发者友好的邮件 API',
|
|
634
|
+
'web.email.sendgrid': 'SendGrid',
|
|
635
|
+
'web.email.sendgridDesc': '可扩展的邮件投递',
|
|
636
|
+
'web.email.ses': 'Amazon SES',
|
|
637
|
+
'web.email.sesDesc': 'AWS 简单邮件服务',
|
|
638
|
+
'web.email.resendConfig': 'Resend 配置',
|
|
639
|
+
'web.email.apiKey': 'API 密钥',
|
|
640
|
+
'web.email.apiKeyPlaceholder': 're_xxxxxxxx',
|
|
641
|
+
'web.email.fromAddress': '发件人地址',
|
|
642
|
+
'web.email.fromAddressPlaceholder': 'noreply@yourdomain.com',
|
|
643
|
+
// Web UI Provision
|
|
644
|
+
'web.provision.title': '创建 Cloudflare 资源',
|
|
645
|
+
'web.provision.ready': '准备预配',
|
|
646
|
+
'web.provision.desc': '将在您的 Cloudflare 账户中创建以下资源:',
|
|
647
|
+
'web.provision.createResources': '创建资源',
|
|
648
|
+
'web.provision.saveConfig': '保存配置',
|
|
649
|
+
'web.provision.continueDeploy': '继续部署 →',
|
|
650
|
+
// Web UI Deploy
|
|
651
|
+
'web.deploy.title': '部署',
|
|
652
|
+
'web.deploy.desc': '将 workers 和 UI 部署到 Cloudflare:',
|
|
653
|
+
'web.deploy.startDeploy': '开始部署',
|
|
654
|
+
'web.deploy.deploying': '部署中...',
|
|
655
|
+
// Web UI Complete
|
|
656
|
+
'web.complete.title': '安装完成!',
|
|
657
|
+
'web.complete.desc': '您的 Authrim 部署已就绪。',
|
|
658
|
+
'web.complete.issuerUrl': '发行者 URL',
|
|
659
|
+
'web.complete.loginUrl': '登录 URL',
|
|
660
|
+
'web.complete.adminUrl': '管理 URL',
|
|
661
|
+
'web.complete.nextSteps': '后续步骤:',
|
|
662
|
+
'web.complete.step1': '使用上面的按钮完成初始管理员设置',
|
|
663
|
+
'web.complete.step2': '在管理 UI 中配置您的第一个 OAuth 客户端',
|
|
664
|
+
'web.complete.step3': '与您的应用程序集成',
|
|
665
|
+
'web.complete.saveConfig': '保存配置',
|
|
666
|
+
'web.complete.backToMain': '返回主页',
|
|
667
|
+
'web.complete.canClose': '安装完成。您可以安全关闭此窗口。',
|
|
668
|
+
// Web UI Environment Management
|
|
669
|
+
'web.env.title': '环境',
|
|
670
|
+
'web.env.loading': '加载环境...',
|
|
671
|
+
'web.env.noEnvFound': '未找到环境',
|
|
672
|
+
'web.env.refresh': '刷新',
|
|
673
|
+
'web.env.adminSetup': '管理员初始设置',
|
|
674
|
+
'web.env.adminSetupDesc': '点击为以下环境创建管理员账户',
|
|
675
|
+
'web.env.openSetup': '打开设置',
|
|
676
|
+
'web.env.copyUrl': '复制',
|
|
677
|
+
'web.env.deleteTitle': '删除环境',
|
|
678
|
+
'web.env.deleteWarning': '此操作无法撤销。以下资源将被永久删除:',
|
|
679
|
+
'web.env.confirmDelete': '删除所选',
|
|
680
|
+
'web.env.cancel': '取消',
|
|
681
|
+
// Web UI Common buttons
|
|
682
|
+
'web.btn.back': '返回',
|
|
683
|
+
'web.btn.continue': '继续',
|
|
684
|
+
'web.btn.cancel': '取消',
|
|
685
|
+
'web.btn.save': '保存',
|
|
686
|
+
'web.btn.skip': '跳过',
|
|
687
|
+
// Web UI Save Modal
|
|
688
|
+
'web.modal.saveTitle': '保存配置?',
|
|
689
|
+
'web.modal.saveDesc': '将配置保存到本地计算机以供将来使用。',
|
|
690
|
+
'web.modal.skipSave': '跳过',
|
|
691
|
+
'web.modal.saveConfig': '保存配置',
|
|
692
|
+
// Web UI steps
|
|
693
|
+
'web.step.environment': '环境',
|
|
694
|
+
'web.step.region': '区域',
|
|
695
|
+
'web.step.domain': '域名',
|
|
696
|
+
'web.step.email': '邮件',
|
|
697
|
+
'web.step.sms': '短信',
|
|
698
|
+
'web.step.social': '社交',
|
|
699
|
+
'web.step.advanced': '高级',
|
|
700
|
+
'web.step.review': '审核',
|
|
701
|
+
'web.step.deploy': '部署',
|
|
702
|
+
// Web UI forms
|
|
703
|
+
'web.form.submit': '提交',
|
|
704
|
+
'web.form.next': '下一步',
|
|
705
|
+
'web.form.previous': '上一步',
|
|
706
|
+
'web.form.reset': '重置',
|
|
707
|
+
'web.form.validation': '请修复上述错误',
|
|
708
|
+
// Web UI progress
|
|
709
|
+
'web.progress.preparing': '准备部署...',
|
|
710
|
+
'web.progress.creatingResources': '创建 Cloudflare 资源...',
|
|
711
|
+
'web.progress.generatingKeys': '生成加密密钥...',
|
|
712
|
+
'web.progress.configuringWorkers': '配置 workers...',
|
|
713
|
+
'web.progress.deployingWorkers': '部署 workers...',
|
|
714
|
+
'web.progress.deployingUI': '部署 UI...',
|
|
715
|
+
'web.progress.runningMigrations': '运行数据库迁移...',
|
|
716
|
+
'web.progress.complete': '部署完成!',
|
|
717
|
+
'web.progress.failed': '部署失败',
|
|
718
|
+
// Web UI Form Labels
|
|
719
|
+
'web.form.envName': '环境名称',
|
|
720
|
+
'web.form.envNamePlaceholder': '例如:prod、staging、dev',
|
|
721
|
+
'web.form.envNameHint': '仅限小写字母、数字和连字符',
|
|
722
|
+
'web.form.baseDomain': '基础域名(API 域名)',
|
|
723
|
+
'web.form.baseDomainPlaceholder': 'oidc.example.com',
|
|
724
|
+
'web.form.baseDomainHint': 'Authrim 的自定义域名。留空使用 workers.dev',
|
|
725
|
+
'web.form.nakedDomain': '从 URL 中排除租户名称',
|
|
726
|
+
'web.form.nakedDomainHint': '使用 https://example.com 而不是 https://{tenant}.example.com',
|
|
727
|
+
'web.form.nakedDomainWarning': '租户子域需要自定义域名。Workers.dev 不支持通配符子域。',
|
|
728
|
+
'web.form.tenantId': '默认租户 ID',
|
|
729
|
+
'web.form.tenantIdPlaceholder': 'default',
|
|
730
|
+
'web.form.tenantIdHint': '第一个租户标识符(小写,无空格)',
|
|
731
|
+
'web.form.tenantIdWorkerNote': '(租户 ID 在内部使用。URL 子域需要自定义域名。)',
|
|
732
|
+
'web.form.tenantDisplay': '租户显示名称',
|
|
733
|
+
'web.form.tenantDisplayPlaceholder': '我的公司',
|
|
734
|
+
'web.form.tenantDisplayHint': '在登录页面和同意屏幕上显示的名称',
|
|
735
|
+
'web.form.loginDomainPlaceholder': 'login.example.com',
|
|
736
|
+
'web.form.adminDomainPlaceholder': 'admin.example.com',
|
|
737
|
+
// Web UI Section Headers
|
|
738
|
+
'web.section.apiDomain': 'API / 发行者域名',
|
|
739
|
+
'web.section.uiDomains': 'UI 域名(可选)',
|
|
740
|
+
'web.section.uiDomainsHint': '登录/管理 UI 的自定义域名。每个可以独立设置。留空使用 Cloudflare Pages 默认值。',
|
|
741
|
+
'web.section.corsHint': 'CORS:从登录/管理 UI 到 API 的跨域请求自动允许。',
|
|
742
|
+
'web.section.configPreview': '配置预览',
|
|
743
|
+
'web.section.resourceNames': '资源名称',
|
|
744
|
+
// Web UI Preview Labels
|
|
745
|
+
'web.preview.components': '组件:',
|
|
746
|
+
'web.preview.workers': 'Workers:',
|
|
747
|
+
'web.preview.issuerUrl': '发行者 URL:',
|
|
748
|
+
'web.preview.loginUi': '登录 UI:',
|
|
749
|
+
'web.preview.adminUi': '管理 UI:',
|
|
750
|
+
// Web UI Component Labels
|
|
751
|
+
'web.comp.loginUi': '登录 UI',
|
|
752
|
+
'web.comp.loginUiDesc': '面向用户的登录、注册、同意和账户管理页面。',
|
|
753
|
+
'web.comp.adminUi': '管理 UI',
|
|
754
|
+
'web.comp.adminUiDesc': '用于管理租户、客户端、用户和系统设置的管理仪表板。',
|
|
755
|
+
// Web UI Domain Row Labels
|
|
756
|
+
'web.domain.loginUi': '登录 UI',
|
|
757
|
+
'web.domain.adminUi': '管理 UI',
|
|
758
|
+
// Web UI Database Section
|
|
759
|
+
'web.db.introDesc': 'Authrim 使用两个独立的 D1 数据库来隔离个人数据和应用程序数据。',
|
|
760
|
+
'web.db.regionNote': '注意:数据库区域创建后无法更改。',
|
|
761
|
+
'web.db.coreNonPii': '非 PII',
|
|
762
|
+
'web.db.coreDataDesc': '存储非个人应用程序数据,包括:',
|
|
763
|
+
'web.db.coreData1': 'OAuth 客户端及其配置',
|
|
764
|
+
'web.db.coreData2': '授权码和访问令牌',
|
|
765
|
+
'web.db.coreData3': '用户会话和登录状态',
|
|
766
|
+
'web.db.coreData4': '租户设置和配置',
|
|
767
|
+
'web.db.coreData5': '审计日志和安全事件',
|
|
768
|
+
'web.db.coreHint': '此数据库处理所有认证流程,应放置在靠近主要用户群的位置。',
|
|
769
|
+
'web.db.piiLabel': '个人身份信息',
|
|
770
|
+
'web.db.piiDataDesc': '存储个人用户数据,包括:',
|
|
771
|
+
'web.db.piiData1': '用户配置文件(姓名、邮箱、电话)',
|
|
772
|
+
'web.db.piiData2': 'Passkey/WebAuthn 凭据',
|
|
773
|
+
'web.db.piiData3': '用户偏好和设置',
|
|
774
|
+
'web.db.piiData4': '任何自定义用户属性',
|
|
775
|
+
'web.db.piiHint': '此数据库包含个人数据。请考虑将其放置在符合数据保护要求的区域。',
|
|
776
|
+
'web.db.locationHints': '位置提示',
|
|
777
|
+
'web.db.jurisdiction': '管辖权(合规)',
|
|
778
|
+
'web.db.autoNearest': '自动(最近)',
|
|
779
|
+
'web.db.northAmericaWest': '北美(西部)',
|
|
780
|
+
'web.db.northAmericaEast': '北美(东部)',
|
|
781
|
+
'web.db.europeWest': '欧洲(西部)',
|
|
782
|
+
'web.db.europeEast': '欧洲(东部)',
|
|
783
|
+
'web.db.asiaPacific': '亚太地区',
|
|
784
|
+
'web.db.oceania': '大洋洲',
|
|
785
|
+
'web.db.euJurisdiction': 'EU 管辖区(GDPR 合规)',
|
|
786
|
+
// Web UI Email Section
|
|
787
|
+
'web.email.introDesc': '用于发送邮件 OTP 和邮箱地址验证。如果您愿意,可以稍后配置。',
|
|
788
|
+
'web.email.configureLater': '稍后配置',
|
|
789
|
+
'web.email.configureLaterHint': '暂时跳过,稍后配置。',
|
|
790
|
+
'web.email.configureResend': '配置 Resend',
|
|
791
|
+
'web.email.configureResendHint': '使用 Resend 设置邮件发送(生产环境推荐)。',
|
|
792
|
+
'web.email.resendSetup': 'Resend 配置',
|
|
793
|
+
'web.email.beforeBegin': '开始之前:',
|
|
794
|
+
'web.email.step1': '在此创建 Resend 账户',
|
|
795
|
+
'web.email.step2': '在此添加并验证您的域名',
|
|
796
|
+
'web.email.step3': '在此创建 API 密钥',
|
|
797
|
+
'web.email.resendApiKey': 'Resend API 密钥',
|
|
798
|
+
'web.email.resendApiKeyHint': '您的 API 密钥以 "re_" 开头',
|
|
799
|
+
'web.email.fromEmailAddress': '发件人邮箱地址',
|
|
800
|
+
'web.email.fromEmailHint': '必须来自您 Resend 账户中的已验证域名',
|
|
801
|
+
'web.email.fromDisplayName': '发件人显示名称(可选)',
|
|
802
|
+
'web.email.fromDisplayHint': '在邮件客户端中显示的发件人名称',
|
|
803
|
+
'web.email.domainVerificationTitle': '需要域名验证',
|
|
804
|
+
'web.email.domainVerificationDesc': '在您的域名验证之前,邮件只能从 onboarding@resend.dev 发送(用于测试)。',
|
|
805
|
+
'web.email.learnMore': '了解更多关于域名验证 →',
|
|
806
|
+
// Web UI Provision Section
|
|
807
|
+
'web.provision.resourcePreview': '资源名称:',
|
|
808
|
+
'web.provision.d1Databases': 'D1 数据库:',
|
|
809
|
+
'web.provision.kvNamespaces': 'KV 命名空间:',
|
|
810
|
+
'web.provision.cryptoKeys': '加密密钥:',
|
|
811
|
+
'web.provision.initializing': '初始化中...',
|
|
812
|
+
'web.provision.showLog': '显示详细日志',
|
|
813
|
+
'web.provision.hideLog': '隐藏详细日志',
|
|
814
|
+
'web.provision.keysSavedTo': '密钥已保存到:',
|
|
815
|
+
'web.provision.keepSafe': '请保护好此目录并将其添加到 .gitignore',
|
|
816
|
+
// Web UI Deploy Section
|
|
817
|
+
'web.deploy.readyText': '准备将 Authrim workers 部署到 Cloudflare。',
|
|
818
|
+
// Web UI Environment List
|
|
819
|
+
'web.env.detectedDesc': '在您的 Cloudflare 账户中检测到的 Authrim 环境:',
|
|
820
|
+
'web.env.noEnvsDetected': '在此 Cloudflare 账户中未检测到 Authrim 环境。',
|
|
821
|
+
'web.env.backToList': '← 返回列表',
|
|
822
|
+
'web.env.deleteEnv': '删除环境...',
|
|
823
|
+
// Web UI Environment Detail
|
|
824
|
+
'web.envDetail.title': '环境详情',
|
|
825
|
+
'web.envDetail.adminNotConfigured': '管理员账户未配置',
|
|
826
|
+
'web.envDetail.adminNotConfiguredDesc': '此环境的初始管理员尚未设置。',
|
|
827
|
+
'web.envDetail.startPasskey': '使用 Passkey 开始管理员账户设置',
|
|
828
|
+
'web.envDetail.setupUrlGenerated': '设置 URL 已生成:',
|
|
829
|
+
'web.envDetail.copyBtn': '复制',
|
|
830
|
+
'web.envDetail.openSetup': '打开设置',
|
|
831
|
+
'web.envDetail.urlValidFor': '此 URL 有效期为 1 小时。在浏览器中打开以注册第一个管理员账户。',
|
|
832
|
+
'web.envDetail.workers': 'Workers',
|
|
833
|
+
'web.envDetail.d1Databases': 'D1 数据库',
|
|
834
|
+
'web.envDetail.kvNamespaces': 'KV 命名空间',
|
|
835
|
+
'web.envDetail.queues': '队列',
|
|
836
|
+
'web.envDetail.r2Buckets': 'R2 存储桶',
|
|
837
|
+
'web.envDetail.pagesProjects': 'Pages 项目',
|
|
838
|
+
// Web UI Delete Section
|
|
839
|
+
'web.delete.title': '删除环境',
|
|
840
|
+
'web.delete.warning': '此操作不可逆。所有选定的资源将被永久删除。',
|
|
841
|
+
'web.delete.environment': '环境:',
|
|
842
|
+
'web.delete.selectResources': '选择要删除的资源:',
|
|
843
|
+
'web.delete.workers': 'Workers',
|
|
844
|
+
'web.delete.d1Databases': 'D1 数据库',
|
|
845
|
+
'web.delete.kvNamespaces': 'KV 命名空间',
|
|
846
|
+
'web.delete.queues': '队列',
|
|
847
|
+
'web.delete.r2Buckets': 'R2 存储桶',
|
|
848
|
+
'web.delete.pagesProjects': 'Pages 项目',
|
|
849
|
+
'web.delete.cancelBtn': '取消',
|
|
850
|
+
'web.delete.confirmBtn': '删除所选',
|
|
851
|
+
// Web UI Save Modal
|
|
852
|
+
'web.modal.saveQuestion': '是否在继续之前将配置保存到文件?',
|
|
853
|
+
'web.modal.saveReason': '这允许您稍后恢复安装或在其他部署中使用相同的设置。',
|
|
854
|
+
'web.modal.skipBtn': '跳过',
|
|
855
|
+
'web.modal.saveBtn': '保存配置',
|
|
856
|
+
// Web UI Error Messages
|
|
857
|
+
'web.error.wranglerNotInstalled': 'Wrangler 未安装',
|
|
858
|
+
'web.error.pleaseInstall': '请先安装 wrangler:',
|
|
859
|
+
'web.error.notLoggedIn': '未登录 Cloudflare',
|
|
860
|
+
'web.error.runCommand': '请在终端中运行此命令:',
|
|
861
|
+
'web.error.thenRefresh': '然后刷新此页面。',
|
|
862
|
+
'web.error.checkingPrereq': '检查前提条件时出错:',
|
|
863
|
+
'web.error.invalidJson': '无效的 JSON:',
|
|
864
|
+
'web.error.validationFailed': '验证请求失败:',
|
|
865
|
+
// Web UI Status Messages
|
|
866
|
+
'web.status.checking': '检查中...',
|
|
867
|
+
'web.status.running': '运行中...',
|
|
868
|
+
'web.status.deploying': '部署中...',
|
|
869
|
+
'web.status.complete': '完成',
|
|
870
|
+
'web.status.error': '错误',
|
|
871
|
+
'web.status.scanning': '扫描中...',
|
|
872
|
+
'web.status.saving': '保存中...',
|
|
873
|
+
'web.status.notDeployed': '(未部署)',
|
|
874
|
+
'web.status.startingDeploy': '开始部署...',
|
|
875
|
+
'web.status.none': '无',
|
|
876
|
+
'web.status.loading': '加载中...',
|
|
877
|
+
'web.status.failedToLoad': '加载失败',
|
|
878
|
+
'web.status.adminNotConfigured': '管理员未配置',
|
|
879
|
+
'web.status.initializing': '初始化中...',
|
|
880
|
+
'web.status.found': '找到 {{count}} 个',
|
|
881
|
+
// Web UI Button Labels (dynamic)
|
|
882
|
+
'web.btn.reprovision': '重新预配(删除并创建)',
|
|
883
|
+
'web.btn.createResources': '创建资源',
|
|
884
|
+
'web.btn.saveConfiguration': '保存配置',
|
|
885
|
+
// Quick setup specific
|
|
886
|
+
'quickSetup.title': '快速安装',
|
|
887
|
+
// Custom setup specific
|
|
888
|
+
'customSetup.title': '自定义安装',
|
|
889
|
+
'customSetup.cancelled': '安装已取消。',
|
|
890
|
+
// Web UI starting
|
|
891
|
+
'webUi.starting': '启动 Web UI...',
|
|
892
|
+
};
|
|
893
|
+
export default zhCN;
|
|
894
|
+
//# sourceMappingURL=zh-CN.js.map
|