@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
|
+
* Traditional Chinese Translations for Authrim Setup Tool
|
|
3
|
+
* 繁體中文翻譯(台灣用語)
|
|
4
|
+
*/
|
|
5
|
+
const zhTW = {
|
|
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': '網頁介面(推薦)',
|
|
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': '資料儲存在歐盟境內',
|
|
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 網域(按 Enter 跳過)',
|
|
151
|
+
'domain.adminUiDomain': '管理 UI 網域(按 Enter 跳過)',
|
|
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': 'Core DB:儲存 OAuth 用戶端、權杖、工作階段、稽核日誌',
|
|
159
|
+
'db.coreRegion': 'Core 資料庫地區',
|
|
160
|
+
'db.piiDescription': 'PII DB:儲存使用者設定檔、憑證、個人資料',
|
|
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': 'Core DB:',
|
|
228
|
+
'config.piiDb': 'PII DB:',
|
|
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': '以 dry-run 模式執行部署?',
|
|
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 Simple Email Service',
|
|
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 Account SID',
|
|
298
|
+
'sms.authTokenPrompt': 'Twilio Auth Token',
|
|
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': 'Basic OP(標準 OIDC 提供者)',
|
|
320
|
+
'profile.basicOpDesc': '標準 OIDC 功能',
|
|
321
|
+
'profile.fapiRw': 'FAPI Read-Write(金融級)',
|
|
322
|
+
'profile.fapiRwDesc': '符合 FAPI 1.0 Read-Write 安全設定檔',
|
|
323
|
+
'profile.fapi2Security': 'FAPI 2.0 Security Profile',
|
|
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': '啟用可驗證憑證(VC)?',
|
|
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': 'Dry run - 未進行任何變更',
|
|
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、management 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': 'Core 資料庫',
|
|
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 Simple Email Service',
|
|
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': '正在啟動網頁介面...',
|
|
892
|
+
};
|
|
893
|
+
export default zhTW;
|
|
894
|
+
//# sourceMappingURL=zh-TW.js.map
|