mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
a876fb2634
* feat(auth): passkey (WebAuthn) login — server endpoints, schema + admin toggle Add @simplewebauthn/server registration and primary (discoverable) login ceremonies under /api/auth/passkey, a webauthn_credentials + single-use webauthn_challenges schema (migration), the instance-wide passkey_login toggle (default off) enforced before auth by a guard, and require_mfa satisfaction via a verified passkey. RP ID/origin come only from server config (webauthn_rp_id/origins -> APP_URL), never request headers. * feat(auth): passkey enrolment, login button + admin settings UI PasskeysSection in account settings (add/rename/remove with a current-password step-up), a 'Sign in with a passkey' button on the login page, the admin enable + RP-ID/origins controls, and a per-user admin reset action. * i18n(auth): passkey strings across all locales Add login/settings/admin passkey keys to en and all 19 translated locales.
350 lines
19 KiB
TypeScript
350 lines
19 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
||
|
||
const admin: TranslationStrings = {
|
||
'admin.notifications.title': '通知',
|
||
'admin.notifications.hint': '選擇一個通知渠道。一次只能啟用一個。',
|
||
'admin.notifications.none': '已停用',
|
||
'admin.notifications.email': '電子郵件 (SMTP)',
|
||
'admin.notifications.webhook': 'Webhook',
|
||
'admin.notifications.save': '儲存通知設定',
|
||
'admin.notifications.saved': '通知設定已儲存',
|
||
'admin.notifications.testWebhook': '傳送測試 Webhook',
|
||
'admin.notifications.testWebhookSuccess': '測試 Webhook 傳送成功',
|
||
'admin.notifications.testWebhookFailed': '測試 Webhook 傳送失敗',
|
||
'admin.notifications.emailPanel.title': '電子郵件 (SMTP)',
|
||
'admin.notifications.webhookPanel.title': 'Webhook',
|
||
'admin.notifications.inappPanel.title': '應用程式內通知',
|
||
'admin.notifications.inappPanel.hint':
|
||
'應用程式內通知始終啟用,無法全域性停用。',
|
||
'admin.notifications.adminWebhookPanel.title': '管理員 Webhook',
|
||
'admin.notifications.adminWebhookPanel.hint':
|
||
'此 Webhook 專用於管理員通知(例如版本提醒)。它與每位使用者的 Webhook 分開,設定後始終會觸發。',
|
||
'admin.notifications.adminWebhookPanel.saved': '管理員 Webhook URL 已儲存',
|
||
'admin.notifications.adminWebhookPanel.testSuccess': '測試 Webhook 傳送成功',
|
||
'admin.notifications.adminWebhookPanel.testFailed': '測試 Webhook 傳送失敗',
|
||
'admin.notifications.adminWebhookPanel.alwaysOnHint':
|
||
'配置 URL 後,管理員 Webhook 始終觸發',
|
||
'admin.notifications.ntfy': 'Ntfy',
|
||
'admin.ntfy.hint':
|
||
'允許使用者設定自己的 ntfy 主題以接收推播通知。在下方設定預設伺服器以預先填入使用者設定。',
|
||
'admin.notifications.testNtfy': '傳送測試 Ntfy',
|
||
'admin.notifications.testNtfySuccess': '測試 Ntfy 傳送成功',
|
||
'admin.notifications.testNtfyFailed': '測試 Ntfy 失敗',
|
||
'admin.notifications.adminNtfyPanel.title': '管理員 Ntfy',
|
||
'admin.notifications.adminNtfyPanel.hint':
|
||
'此 Ntfy 主題專用於管理員通知(例如版本提醒)。它與每位使用者的主題分開,設定後始終會觸發。',
|
||
'admin.notifications.adminNtfyPanel.serverLabel': 'Ntfy 伺服器 URL',
|
||
'admin.notifications.adminNtfyPanel.serverHint':
|
||
'同時用作使用者 ntfy 通知的預設伺服器。留空則預設使用 ntfy.sh。使用者可在自己的設定中覆寫此項。',
|
||
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
||
'admin.notifications.adminNtfyPanel.topicLabel': '管理員主題',
|
||
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
|
||
'admin.notifications.adminNtfyPanel.tokenLabel': '存取權杖(選填)',
|
||
'admin.notifications.adminNtfyPanel.tokenCleared': '管理員存取權杖已清除',
|
||
'admin.notifications.adminNtfyPanel.saved': '管理員 Ntfy 設定已儲存',
|
||
'admin.notifications.adminNtfyPanel.test': '傳送測試 Ntfy',
|
||
'admin.notifications.adminNtfyPanel.testSuccess': '測試 Ntfy 傳送成功',
|
||
'admin.notifications.adminNtfyPanel.testFailed': '測試 Ntfy 失敗',
|
||
'admin.notifications.adminNtfyPanel.alwaysOnHint':
|
||
'設定主題後管理員 Ntfy 始終觸發',
|
||
'admin.notifications.adminNotificationsHint':
|
||
'配置哪些渠道傳遞僅管理員通知(例如版本提醒)。',
|
||
'admin.notifications.tripReminders.title': '行程提醒',
|
||
'admin.notifications.tripReminders.hint':
|
||
'在行程開始前發送提醒通知(需要在行程中設定提醒天數)。',
|
||
'admin.notifications.tripReminders.enabled': '行程提醒已啟用',
|
||
'admin.notifications.tripReminders.disabled': '行程提醒已停用',
|
||
'admin.smtp.title': '郵件與通知',
|
||
'admin.smtp.hint': '用於傳送電子郵件通知的 SMTP 配置。',
|
||
'admin.smtp.testButton': '傳送測試郵件',
|
||
'admin.webhook.hint':
|
||
'允許使用者配置自己的 Webhook URL 以接收通知(Discord、Slack 等)。',
|
||
'admin.smtp.testSuccess': '測試郵件傳送成功',
|
||
'admin.smtp.testFailed': '測試郵件傳送失敗',
|
||
'admin.title': '管理後臺',
|
||
'admin.subtitle': '使用者管理和系統設定',
|
||
'admin.tabs.users': '使用者',
|
||
'admin.tabs.categories': '分類',
|
||
'admin.tabs.backup': '備份',
|
||
'admin.tabs.audit': '審計日誌',
|
||
'admin.tabs.notifications': '通知',
|
||
'admin.stats.users': '使用者',
|
||
'admin.stats.trips': '旅行',
|
||
'admin.stats.places': '地點',
|
||
'admin.stats.photos': '照片',
|
||
'admin.stats.files': '檔案',
|
||
'admin.table.user': '使用者',
|
||
'admin.table.email': '郵箱',
|
||
'admin.table.role': '角色',
|
||
'admin.table.created': '建立時間',
|
||
'admin.table.lastLogin': '最後登入',
|
||
'admin.table.actions': '操作',
|
||
'admin.you': '(你)',
|
||
'admin.editUser': '編輯使用者',
|
||
'admin.newPassword': '新密碼',
|
||
'admin.newPasswordHint': '留空則保持當前密碼',
|
||
'admin.deleteUser': '刪除使用者「{name}」?所有旅行將被永久刪除。',
|
||
'admin.deleteUserTitle': '刪除使用者',
|
||
'admin.newPasswordPlaceholder': '輸入新密碼…',
|
||
'admin.toast.loadError': '載入管理資料失敗',
|
||
'admin.toast.userUpdated': '使用者已更新',
|
||
'admin.toast.updateError': '更新失敗',
|
||
'admin.toast.userDeleted': '使用者已刪除',
|
||
'admin.toast.deleteError': '刪除失敗',
|
||
'admin.toast.cannotDeleteSelf': '不能刪除自己的賬戶',
|
||
'admin.toast.userCreated': '使用者已建立',
|
||
'admin.toast.createError': '建立使用者失敗',
|
||
'admin.toast.fieldsRequired': '使用者名稱、郵箱和密碼為必填項',
|
||
'admin.createUser': '建立使用者',
|
||
'admin.invite.title': '邀請連結',
|
||
'admin.invite.subtitle': '建立一次性註冊連結',
|
||
'admin.invite.create': '建立連結',
|
||
'admin.invite.createAndCopy': '建立並複製',
|
||
'admin.invite.empty': '尚未建立邀請連結',
|
||
'admin.invite.maxUses': '最大使用次數',
|
||
'admin.invite.expiry': '有效期',
|
||
'admin.invite.uses': '已使用',
|
||
'admin.invite.expiresAt': '過期時間',
|
||
'admin.invite.createdBy': '由',
|
||
'admin.invite.active': '有效',
|
||
'admin.invite.expired': '已過期',
|
||
'admin.invite.usedUp': '已用完',
|
||
'admin.invite.copied': '邀請連結已複製',
|
||
'admin.invite.copyLink': '複製連結',
|
||
'admin.invite.deleted': '邀請連結已刪除',
|
||
'admin.invite.createError': '建立連結失敗',
|
||
'admin.invite.deleteError': '刪除連結失敗',
|
||
'admin.tabs.settings': '設定',
|
||
'admin.allowRegistration': '允許註冊',
|
||
'admin.allowRegistrationHint': '新使用者可以自行註冊',
|
||
'admin.authMethods': 'Authentication Methods',
|
||
'admin.passwordLogin': 'Password Login',
|
||
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
|
||
'admin.passwordRegistration': 'Password Registration',
|
||
'admin.passwordRegistrationHint':
|
||
'Allow new users to register with email and password',
|
||
'admin.oidcLogin': 'SSO Login',
|
||
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
|
||
'admin.oidcRegistration': 'SSO Auto-Provisioning',
|
||
'admin.oidcRegistrationHint':
|
||
'Automatically create accounts for new SSO users',
|
||
'admin.envOverrideHint':
|
||
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
|
||
'admin.lockoutWarning': 'At least one login method must remain enabled',
|
||
'admin.requireMfa': '要求雙因素身份驗證(2FA)',
|
||
'admin.requireMfaHint':
|
||
'未啟用 2FA 的使用者必須先完成設定中的配置才能使用應用。',
|
||
'admin.apiKeys': 'API 金鑰',
|
||
'admin.apiKeysHint': '可選。啟用地點的擴充套件資料,如照片和天氣。',
|
||
'admin.mapsKey': 'Google Maps API 金鑰',
|
||
'admin.mapsKeyHint': '用於地點搜尋。在 console.cloud.google.com 獲取',
|
||
'admin.mapsKeyHintLong':
|
||
'沒有 API 金鑰時,使用 OpenStreetMap 搜尋地點。有了 Google API 金鑰,還可以載入照片、評分和營業時間。在 console.cloud.google.com 獲取。',
|
||
'admin.recommended': '推薦',
|
||
'admin.weatherKey': 'OpenWeatherMap API 金鑰',
|
||
'admin.weatherKeyHint': '用於天氣資料。在 openweathermap.org 免費獲取',
|
||
'admin.validateKey': '測試',
|
||
'admin.keyValid': '已連線',
|
||
'admin.keyInvalid': '無效',
|
||
'admin.keySaved': 'API 金鑰已儲存',
|
||
'admin.oidcTitle': '單點登入 (OIDC)',
|
||
'admin.oidcSubtitle':
|
||
'允許透過 Google、Apple、Authentik 或 Keycloak 等外部提供商登入。',
|
||
'admin.oidcDisplayName': '顯示名稱',
|
||
'admin.oidcIssuer': '頒發者 URL',
|
||
'admin.oidcIssuerHint':
|
||
'提供商的 OpenID Connect 頒發者 URL。如 https://accounts.google.com',
|
||
'admin.oidcSaved': 'OIDC 配置已儲存',
|
||
'admin.oidcOnlyMode': '停用密碼登入',
|
||
'admin.oidcOnlyModeHint': '啟用後,僅允許 SSO 登入。密碼登入和註冊將被停用。',
|
||
'admin.fileTypes': '允許的檔案型別',
|
||
'admin.fileTypesHint': '配置使用者可以上傳的檔案型別。',
|
||
'admin.fileTypesFormat':
|
||
'以逗號分隔的副檔名(如 jpg,png,pdf,doc)。使用 * 允許所有型別。',
|
||
'admin.fileTypesSaved': '檔案型別設定已儲存',
|
||
'admin.placesPhotos.title': '地點照片',
|
||
'admin.placesPhotos.subtitle':
|
||
'從 Google Places API 獲取照片。停用可節省 API 配額。Wikimedia 照片不受影響。',
|
||
'admin.placesAutocomplete.title': '地點自動補全',
|
||
'admin.placesAutocomplete.subtitle':
|
||
'使用 Google Places API 提供搜尋建議。停用可節省 API 配額。',
|
||
'admin.placesDetails.title': '地點詳情',
|
||
'admin.placesDetails.subtitle':
|
||
'從 Google Places API 獲取地點詳細資訊(營業時間、評分、網站)。停用可節省 API 配額。',
|
||
'admin.bagTracking.title': '行李追蹤',
|
||
'admin.bagTracking.subtitle': '為打包物品啟用重量和行李分配',
|
||
'admin.collab.chat.title': '聊天',
|
||
'admin.collab.chat.subtitle': '即時訊息協作',
|
||
'admin.collab.notes.title': '筆記',
|
||
'admin.collab.notes.subtitle': '共享筆記和文件',
|
||
'admin.collab.polls.title': '投票',
|
||
'admin.collab.polls.subtitle': '群組投票和表決',
|
||
'admin.collab.whatsnext.title': '下一步',
|
||
'admin.collab.whatsnext.subtitle': '活動建議和後續步驟',
|
||
'admin.tabs.config': '配置',
|
||
'admin.tabs.defaults': '用戶預設設定',
|
||
'admin.defaultSettings.title': '用戶預設設定',
|
||
'admin.defaultSettings.description':
|
||
'設定整個執行個體的預設值。未更改設定的用戶將看到這些值。用戶自己的更改始終優先。',
|
||
'admin.defaultSettings.saved': '預設值已儲存',
|
||
'admin.defaultSettings.reset': '重設為內建預設值',
|
||
'admin.defaultSettings.resetToBuiltIn': '重設',
|
||
'admin.tabs.templates': '打包模板',
|
||
'admin.packingTemplates.title': '打包模板',
|
||
'admin.packingTemplates.subtitle': '建立可複用的旅行打包清單',
|
||
'admin.packingTemplates.create': '新建模板',
|
||
'admin.packingTemplates.namePlaceholder': '模板名稱(如:海灘度假)',
|
||
'admin.packingTemplates.empty': '尚未建立模板',
|
||
'admin.packingTemplates.items': '物品',
|
||
'admin.packingTemplates.categories': '分類',
|
||
'admin.packingTemplates.itemName': '物品名稱',
|
||
'admin.packingTemplates.itemCategory': '分類',
|
||
'admin.packingTemplates.categoryName': '分類名稱(如:衣物)',
|
||
'admin.packingTemplates.addCategory': '新增分類',
|
||
'admin.packingTemplates.created': '模板已建立',
|
||
'admin.packingTemplates.deleted': '模板已刪除',
|
||
'admin.packingTemplates.loadError': '載入模板失敗',
|
||
'admin.packingTemplates.createError': '建立模板失敗',
|
||
'admin.packingTemplates.deleteError': '刪除模板失敗',
|
||
'admin.packingTemplates.saveError': '儲存失敗',
|
||
'admin.tabs.addons': '擴充套件',
|
||
'admin.addons.title': '擴充套件',
|
||
'admin.addons.subtitle': '啟用或停用功能以自定義你的 TREK 體驗。',
|
||
'admin.addons.catalog.memories.name': '照片 (Immich)',
|
||
'admin.addons.catalog.memories.description': '透過 Immich 例項分享旅行照片',
|
||
'admin.addons.catalog.mcp.name': 'MCP',
|
||
'admin.addons.catalog.mcp.description': '用於 AI 助手整合的模型上下文協議',
|
||
'admin.addons.catalog.packing.name': '行李',
|
||
'admin.addons.catalog.packing.description': '每次旅行的行李準備清單',
|
||
'admin.addons.catalog.budget.name': '預算',
|
||
'admin.addons.catalog.budget.description': '跟蹤支出並規劃旅行預算',
|
||
'admin.addons.catalog.documents.name': '文件',
|
||
'admin.addons.catalog.documents.description': '儲存和管理旅行文件',
|
||
'admin.addons.catalog.vacay.name': 'Vacay',
|
||
'admin.addons.catalog.vacay.description': '帶日曆檢視的個人假期規劃器',
|
||
'admin.addons.catalog.atlas.name': 'Atlas',
|
||
'admin.addons.catalog.atlas.description':
|
||
'標記已訪問國家和旅行統計的世界地圖',
|
||
'admin.addons.catalog.collab.name': 'Collab',
|
||
'admin.addons.catalog.collab.description': '旅行規劃的即時筆記、投票和聊天',
|
||
'admin.addons.subtitleBefore': '啟用或停用功能以自定義你的 ',
|
||
'admin.addons.subtitleAfter': ' 體驗。',
|
||
'admin.addons.enabled': '已啟用',
|
||
'admin.addons.disabled': '已停用',
|
||
'admin.addons.type.trip': '旅行',
|
||
'admin.addons.type.global': '全域性',
|
||
'admin.addons.type.integration': '整合',
|
||
'admin.addons.tripHint': '在每次旅行中作為標籤頁顯示',
|
||
'admin.addons.globalHint': '在主導航中作為獨立板塊顯示',
|
||
'admin.addons.integrationHint': '後端服務和 API 整合,無專屬頁面',
|
||
'admin.addons.toast.updated': '擴充套件已更新',
|
||
'admin.addons.toast.error': '更新擴充套件失敗',
|
||
'admin.addons.noAddons': '暫無可用擴充套件',
|
||
'admin.weather.title': '天氣資料',
|
||
'admin.weather.badge': '自 2026 年 3 月 24 日起',
|
||
'admin.weather.description':
|
||
'TREK 使用 Open-Meteo 作為天氣資料來源。Open-Meteo 是免費的開源天氣服務——無需 API 金鑰。',
|
||
'admin.weather.forecast': '16 天天氣預報',
|
||
'admin.weather.forecastDesc': '之前為 5 天 (OpenWeatherMap)',
|
||
'admin.weather.climate': '歷史氣候資料',
|
||
'admin.weather.climateDesc': '16 天預報之外的日期使用過去 85 年的平均值',
|
||
'admin.weather.requests': '每天 10,000 次請求',
|
||
'admin.weather.requestsDesc': '免費,無需 API 金鑰',
|
||
'admin.weather.locationHint':
|
||
'天氣基於每天中第一個有座標的地點。如果當天沒有分配地點,則使用地點列表中的任意地點作為參考。',
|
||
'admin.tabs.mcpTokens': 'MCP 存取',
|
||
'admin.mcpTokens.title': 'MCP 存取',
|
||
'admin.mcpTokens.subtitle': '管理所有使用者的 OAuth 工作階段和 API 令牌',
|
||
'admin.mcpTokens.sectionTitle': 'API 令牌',
|
||
'admin.mcpTokens.owner': '所有者',
|
||
'admin.mcpTokens.tokenName': '令牌名稱',
|
||
'admin.mcpTokens.created': '建立時間',
|
||
'admin.mcpTokens.lastUsed': '最後使用',
|
||
'admin.mcpTokens.never': '從未',
|
||
'admin.mcpTokens.empty': '尚未建立任何 MCP 令牌',
|
||
'admin.mcpTokens.deleteTitle': '刪除令牌',
|
||
'admin.mcpTokens.deleteMessage':
|
||
'此令牌將立即被撤銷。使用者將失去透過此令牌的 MCP 訪問許可權。',
|
||
'admin.mcpTokens.deleteSuccess': '令牌已刪除',
|
||
'admin.mcpTokens.deleteError': '刪除令牌失敗',
|
||
'admin.mcpTokens.loadError': '載入令牌失敗',
|
||
'admin.oauthSessions.sectionTitle': 'OAuth 工作階段',
|
||
'admin.oauthSessions.clientName': '客戶端',
|
||
'admin.oauthSessions.owner': '所有者',
|
||
'admin.oauthSessions.scopes': '權限範圍',
|
||
'admin.oauthSessions.created': '建立時間',
|
||
'admin.oauthSessions.empty': '目前沒有活躍的 OAuth 工作階段',
|
||
'admin.oauthSessions.revokeTitle': '撤銷工作階段',
|
||
'admin.oauthSessions.revokeMessage':
|
||
'此 OAuth 工作階段將立即被撤銷。客戶端將失去 MCP 存取權限。',
|
||
'admin.oauthSessions.revokeSuccess': '工作階段已撤銷',
|
||
'admin.oauthSessions.revokeError': '撤銷工作階段失敗',
|
||
'admin.oauthSessions.loadError': '載入 OAuth 工作階段失敗',
|
||
'admin.tabs.github': 'GitHub',
|
||
'admin.audit.subtitle': '安全與管理員操作記錄(備份、使用者、MFA、設定)。',
|
||
'admin.audit.empty': '暫無審計記錄。',
|
||
'admin.audit.refresh': '重新整理',
|
||
'admin.audit.loadMore': '載入更多',
|
||
'admin.audit.showing': '已載入 {count} 條 · 共 {total} 條',
|
||
'admin.audit.col.time': '時間',
|
||
'admin.audit.col.user': '使用者',
|
||
'admin.audit.col.action': '操作',
|
||
'admin.audit.col.resource': '資源',
|
||
'admin.audit.col.ip': 'IP',
|
||
'admin.audit.col.details': '詳情',
|
||
'admin.github.title': '版本歷史',
|
||
'admin.github.subtitle': '{repo} 的最新更新',
|
||
'admin.github.latest': '最新',
|
||
'admin.github.prerelease': '預釋出',
|
||
'admin.github.showDetails': '顯示詳情',
|
||
'admin.github.hideDetails': '隱藏詳情',
|
||
'admin.github.loadMore': '載入更多',
|
||
'admin.github.loading': '載入中...',
|
||
'admin.github.support': '幫助我繼續開發 TREK',
|
||
'admin.github.error': '載入版本失敗',
|
||
'admin.github.by': '作者',
|
||
'admin.update.available': '有可用更新',
|
||
'admin.update.text': 'TREK {version} 已釋出。你當前使用的是 {current}。',
|
||
'admin.update.button': '在 GitHub 檢視',
|
||
'admin.update.install': '安裝更新',
|
||
'admin.update.confirmTitle': '確定安裝更新?',
|
||
'admin.update.confirmText':
|
||
'TREK 將從 {current} 更新到 {version}。伺服器將自動重啟。',
|
||
'admin.update.dataInfo':
|
||
'你的所有資料(旅行、使用者、API 金鑰、上傳檔案、Vacay、Atlas、預算)將被保留。',
|
||
'admin.update.warning': '重啟期間應用將短暫不可用。',
|
||
'admin.update.confirm': '立即更新',
|
||
'admin.update.installing': '更新中…',
|
||
'admin.update.success': '更新已安裝!伺服器正在重啟…',
|
||
'admin.update.failed': '更新失敗',
|
||
'admin.update.backupHint': '建議在更新前建立備份。',
|
||
'admin.update.backupLink': '前往備份',
|
||
'admin.update.howTo': '如何更新',
|
||
'admin.update.dockerText':
|
||
'你的 TREK 例項執行在 Docker 中。要更新到 {version},請在伺服器上執行以下命令:',
|
||
'admin.update.reloadHint': '請在幾秒後重新整理頁面。',
|
||
'admin.tabs.permissions': '許可權',
|
||
'admin.addons.catalog.journey.name': '旅程',
|
||
'admin.addons.catalog.journey.description':
|
||
'旅行追蹤與旅行日誌,包含打卡、照片和每日故事',
|
||
'admin.passkey.title': 'Passkey 登入',
|
||
'admin.passkey.cardHint': '讓使用者使用 Passkey(WebAuthn)登入。預設為關閉。',
|
||
'admin.passkey.login': '啟用 Passkey 登入',
|
||
'admin.passkey.loginHint':
|
||
'顯示「使用 Passkey 登入」選項,並讓使用者在設定中註冊 Passkey。',
|
||
'admin.passkey.notConfigured':
|
||
'此部署尚未解析出任何 WebAuthn 網域。請設定下方的 APP_URL 或 Relying Party ID——在此之前 Passkey 將保持隱藏。',
|
||
'admin.passkey.rpId': 'Relying Party ID(網域)',
|
||
'admin.passkey.rpIdHint':
|
||
'Passkey 綁定的純網域,例如 trek.example.org。留空則從 APP_URL 推導。日後變更將使現有 Passkey 失效。',
|
||
'admin.passkey.origins': '允許的來源',
|
||
'admin.passkey.originsHint':
|
||
'以逗號分隔的完整來源,例如 https://trek.example.org。留空則使用 APP_URL。',
|
||
'admin.passkey.reset': '重設 Passkey',
|
||
'admin.passkey.resetHint':
|
||
'移除此使用者的所有 Passkey(例如裝置遺失時)。他們仍可使用密碼登入。',
|
||
'admin.passkey.resetConfirm': '要移除 {name} 的所有 Passkey 嗎?',
|
||
'admin.passkey.resetDone': '已移除 {count} 個 Passkey',
|
||
};
|
||
export default admin;
|