@arcblock/did-connect-service 4.1.37 → 4.1.39
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/_generated/asset-bytes.js +1 -1
- package/dist/_generated/asset-manifest.js +5 -5
- package/dist/_generated/header-bundle-string.d.ts +1 -1
- package/dist/_generated/header-bundle-string.d.ts.map +1 -1
- package/dist/_generated/header-bundle-string.js +1 -1
- package/dist/_generated/header-bundle-string.js.map +1 -1
- package/dist/_generated/login-bundle-string.d.ts +1 -1
- package/dist/_generated/login-bundle-string.d.ts.map +1 -1
- package/dist/_generated/login-bundle-string.js +1 -1
- package/dist/_generated/login-bundle-string.js.map +1 -1
- package/dist/assets/{admin-extra.979f5e56.js → admin-extra.c7a0720f.js} +3 -3
- package/dist/assets/{admin.f5f577f9.css → admin.ab0009f2.css} +22 -2
- package/dist/assets/{header.94d9e46b.js → header.8703ab26.js} +5 -5
- package/dist/assets/login.60fd0777.js +731 -0
- package/dist/assets/{login.7b12c6dc.css → login.a9c8b434.css} +11 -0
- package/dist/handler-errors.d.ts +868 -3
- package/dist/handler-errors.d.ts.map +1 -1
- package/dist/handler-errors.js +1067 -26
- package/dist/handler-errors.js.map +1 -1
- package/dist/handlers/access-key-connect-handler.d.ts.map +1 -1
- package/dist/handlers/access-key-connect-handler.js +20 -11
- package/dist/handlers/access-key-connect-handler.js.map +1 -1
- package/dist/handlers/access-key-handler.d.ts.map +1 -1
- package/dist/handlers/access-key-handler.js +18 -7
- package/dist/handlers/access-key-handler.js.map +1 -1
- package/dist/handlers/account-merge-handler.d.ts +2 -0
- package/dist/handlers/account-merge-handler.d.ts.map +1 -1
- package/dist/handlers/account-merge-handler.js +34 -29
- package/dist/handlers/account-merge-handler.js.map +1 -1
- package/dist/handlers/admin-instance-handler.d.ts.map +1 -1
- package/dist/handlers/admin-instance-handler.js +21 -17
- package/dist/handlers/admin-instance-handler.js.map +1 -1
- package/dist/handlers/auth-handler.d.ts.map +1 -1
- package/dist/handlers/auth-handler.js +14 -10
- package/dist/handlers/auth-handler.js.map +1 -1
- package/dist/handlers/blocklet-js-handler.d.ts.map +1 -1
- package/dist/handlers/blocklet-js-handler.js +2 -1
- package/dist/handlers/blocklet-js-handler.js.map +1 -1
- package/dist/handlers/branding-handler.d.ts +1 -0
- package/dist/handlers/branding-handler.d.ts.map +1 -1
- package/dist/handlers/branding-handler.js +15 -8
- package/dist/handlers/branding-handler.js.map +1 -1
- package/dist/handlers/did-connect-handler.d.ts +1 -0
- package/dist/handlers/did-connect-handler.d.ts.map +1 -1
- package/dist/handlers/did-connect-handler.js +40 -18
- package/dist/handlers/did-connect-handler.js.map +1 -1
- package/dist/handlers/email-login-handler.d.ts +81 -0
- package/dist/handlers/email-login-handler.d.ts.map +1 -1
- package/dist/handlers/email-login-handler.js +124 -23
- package/dist/handlers/email-login-handler.js.map +1 -1
- package/dist/handlers/federation-admin-handler.js +2 -2
- package/dist/handlers/federation-admin-handler.js.map +1 -1
- package/dist/handlers/oauth-handler.d.ts +1 -0
- package/dist/handlers/oauth-handler.d.ts.map +1 -1
- package/dist/handlers/oauth-handler.js +42 -53
- package/dist/handlers/oauth-handler.js.map +1 -1
- package/dist/handlers/passkey-handler.d.ts +1 -0
- package/dist/handlers/passkey-handler.d.ts.map +1 -1
- package/dist/handlers/passkey-handler.js +51 -37
- package/dist/handlers/passkey-handler.js.map +1 -1
- package/dist/handlers/team-handler.d.ts +2 -0
- package/dist/handlers/team-handler.d.ts.map +1 -1
- package/dist/handlers/team-handler.js +57 -35
- package/dist/handlers/team-handler.js.map +1 -1
- package/dist/locale.d.ts +40 -4
- package/dist/locale.d.ts.map +1 -1
- package/dist/locale.js +109 -34
- package/dist/locale.js.map +1 -1
- package/dist/pages/admin/i18n.d.ts.map +1 -1
- package/dist/pages/admin/i18n.js +1411 -6
- package/dist/pages/admin/i18n.js.map +1 -1
- package/dist/pages/admin/index.d.ts.map +1 -1
- package/dist/pages/admin/index.js +9 -5
- package/dist/pages/admin/index.js.map +1 -1
- package/dist/pages/admin/styles.d.ts +1 -1
- package/dist/pages/admin/styles.d.ts.map +1 -1
- package/dist/pages/admin/styles.js +22 -2
- package/dist/pages/admin/styles.js.map +1 -1
- package/dist/pages/admin/tab-branding.d.ts.map +1 -1
- package/dist/pages/admin/tab-branding.js +4 -6
- package/dist/pages/admin/tab-branding.js.map +1 -1
- package/dist/pages/admin-instances-page.d.ts +218 -0
- package/dist/pages/admin-instances-page.d.ts.map +1 -1
- package/dist/pages/admin-instances-page.js +133 -24
- package/dist/pages/admin-instances-page.js.map +1 -1
- package/dist/pages/error-page.d.ts +37 -0
- package/dist/pages/error-page.d.ts.map +1 -1
- package/dist/pages/error-page.js +33 -1
- package/dist/pages/error-page.js.map +1 -1
- package/dist/pages/gen-access-key-page.d.ts +126 -0
- package/dist/pages/gen-access-key-page.d.ts.map +1 -1
- package/dist/pages/gen-access-key-page.js +72 -20
- package/dist/pages/gen-access-key-page.js.map +1 -1
- package/dist/pages/homepage.d.ts +98 -0
- package/dist/pages/homepage.d.ts.map +1 -1
- package/dist/pages/homepage.js +66 -15
- package/dist/pages/homepage.js.map +1 -1
- package/dist/pages/invite-page.d.ts +90 -0
- package/dist/pages/invite-page.d.ts.map +1 -1
- package/dist/pages/invite-page.js +66 -17
- package/dist/pages/invite-page.js.map +1 -1
- package/dist/pages/login-page.d.ts +8 -0
- package/dist/pages/login-page.d.ts.map +1 -1
- package/dist/pages/login-page.js +12 -2
- package/dist/pages/login-page.js.map +1 -1
- package/dist/pages/oauth-callback-page.d.ts +52 -1
- package/dist/pages/oauth-callback-page.d.ts.map +1 -1
- package/dist/pages/oauth-callback-page.js +85 -8
- package/dist/pages/oauth-callback-page.js.map +1 -1
- package/package.json +3 -3
- package/dist/assets/login.566f858e.js +0 -720
package/dist/pages/admin/i18n.js
CHANGED
|
@@ -135,11 +135,11 @@ const en = {
|
|
|
135
135
|
emailSendFailed: "Failed to send verification code",
|
|
136
136
|
emailCodeSent: "Verification code sent to your email",
|
|
137
137
|
verifyCode: "Verify Email",
|
|
138
|
-
verifyCodeMsg: "Enter the verification code sent to {
|
|
138
|
+
verifyCodeMsg: "Enter the verification code sent to {email}.",
|
|
139
139
|
emailVerifiedSuccess: "Email verified",
|
|
140
140
|
emailVerifyFailed: "Invalid or expired verification code",
|
|
141
141
|
emailResendBtn: "Resend",
|
|
142
|
-
emailResendCountdown: "Resend ({
|
|
142
|
+
emailResendCountdown: "Resend ({seconds}s)",
|
|
143
143
|
mergeAccount: "Merge another account",
|
|
144
144
|
mergeAccountHint: "Sign in as the other account to move its login methods here. DID Space is not copied.",
|
|
145
145
|
mergeChooseMethod: "Prove the other account",
|
|
@@ -659,6 +659,7 @@ const en = {
|
|
|
659
659
|
accentHint: "This color is used for biometric prompts and secure authentication UI.",
|
|
660
660
|
langEn: "English",
|
|
661
661
|
langZh: "Chinese (Simplified)",
|
|
662
|
+
langRequired: "At least one language is required",
|
|
662
663
|
logoAppLight: "App Logo",
|
|
663
664
|
logoAppDark: "App Logo",
|
|
664
665
|
logoWebLight: "Web Logo",
|
|
@@ -835,11 +836,11 @@ const zh = {
|
|
|
835
836
|
emailSendFailed: "\u9A8C\u8BC1\u7801\u53D1\u9001\u5931\u8D25",
|
|
836
837
|
emailCodeSent: "\u9A8C\u8BC1\u7801\u5DF2\u53D1\u9001\u81F3\u60A8\u7684\u90AE\u7BB1",
|
|
837
838
|
verifyCode: "\u9A8C\u8BC1\u90AE\u7BB1",
|
|
838
|
-
verifyCodeMsg: "\u8BF7\u8F93\u5165\u53D1\u9001\u81F3 {
|
|
839
|
+
verifyCodeMsg: "\u8BF7\u8F93\u5165\u53D1\u9001\u81F3 {email} \u7684\u9A8C\u8BC1\u7801\u3002",
|
|
839
840
|
emailVerifiedSuccess: "\u90AE\u7BB1\u5DF2\u9A8C\u8BC1",
|
|
840
841
|
emailVerifyFailed: "\u9A8C\u8BC1\u7801\u65E0\u6548\u6216\u5DF2\u8FC7\u671F",
|
|
841
842
|
emailResendBtn: "\u91CD\u65B0\u53D1\u9001",
|
|
842
|
-
emailResendCountdown: "\u91CD\u65B0\u53D1\u9001 ({
|
|
843
|
+
emailResendCountdown: "\u91CD\u65B0\u53D1\u9001 ({seconds}s)",
|
|
843
844
|
mergeAccount: "\u5408\u5E76\u53E6\u4E00\u4E2A\u8D26\u53F7",
|
|
844
845
|
mergeAccountHint: "\u8BF7\u7528\u53E6\u4E00\u4E2A\u8D26\u53F7\u767B\u5F55\u4EE5\u5C06\u5176\u767B\u5F55\u65B9\u5F0F\u8FC1\u5230\u6B64\u5904\u3002DID Space \u4E0D\u4F1A\u88AB\u590D\u5236\u3002",
|
|
845
846
|
mergeChooseMethod: "\u8BC1\u660E\u53E6\u4E00\u4E2A\u8D26\u53F7",
|
|
@@ -1359,6 +1360,7 @@ const zh = {
|
|
|
1359
1360
|
accentHint: "\u6B64\u989C\u8272\u7528\u4E8E\u751F\u7269\u8BC6\u522B\u63D0\u793A\u548C\u5B89\u5168\u8BA4\u8BC1\u754C\u9762\u3002",
|
|
1360
1361
|
langEn: "\u82F1\u8BED",
|
|
1361
1362
|
langZh: "\u7B80\u4F53\u4E2D\u6587",
|
|
1363
|
+
langRequired: "\u81F3\u5C11\u9700\u8981\u4E00\u79CD\u8BED\u8A00",
|
|
1362
1364
|
logoAppLight: "\u5E94\u7528 Logo",
|
|
1363
1365
|
logoAppDark: "\u5E94\u7528 Logo",
|
|
1364
1366
|
logoWebLight: "\u7F51\u7AD9 Logo",
|
|
@@ -1406,7 +1408,1409 @@ const zh = {
|
|
|
1406
1408
|
// ---------------------------------------------------------------------------
|
|
1407
1409
|
// Helpers
|
|
1408
1410
|
// ---------------------------------------------------------------------------
|
|
1409
|
-
const
|
|
1411
|
+
const zhTW = {
|
|
1412
|
+
common: {
|
|
1413
|
+
save: "儲存",
|
|
1414
|
+
saveChanges: "儲存更改",
|
|
1415
|
+
cancel: "取消",
|
|
1416
|
+
close: "關閉",
|
|
1417
|
+
delete: "刪除",
|
|
1418
|
+
edit: "編輯",
|
|
1419
|
+
add: "新增",
|
|
1420
|
+
confirm: "確認",
|
|
1421
|
+
owner: "擁有者",
|
|
1422
|
+
admin: "管理員",
|
|
1423
|
+
member: "成員",
|
|
1424
|
+
guest: "訪客",
|
|
1425
|
+
signOut: "登出",
|
|
1426
|
+
portal: "← 門戶",
|
|
1427
|
+
copied: "已複製!",
|
|
1428
|
+
copy: "複製",
|
|
1429
|
+
upload: "上傳",
|
|
1430
|
+
never: "從不",
|
|
1431
|
+
active: "活躍",
|
|
1432
|
+
blocked: "已封禁",
|
|
1433
|
+
disabled: "已停用",
|
|
1434
|
+
enabled: "已啟用",
|
|
1435
|
+
expired: "已過期",
|
|
1436
|
+
networkError: "網路錯誤",
|
|
1437
|
+
requestFailed: "請求失敗",
|
|
1438
|
+
actions: "操作",
|
|
1439
|
+
status: "狀態",
|
|
1440
|
+
default: "預設",
|
|
1441
|
+
sessionExpired: "會話已過期",
|
|
1442
|
+
accountBlocked: "帳號已封禁",
|
|
1443
|
+
popupBlocked: "彈出式視窗被封鎖,請允許彈出式視窗後再試",
|
|
1444
|
+
},
|
|
1445
|
+
time: {
|
|
1446
|
+
justNow: "剛剛",
|
|
1447
|
+
dh: "{d} 天 {h} 小時",
|
|
1448
|
+
hm: "{h} 小時 {m} 分",
|
|
1449
|
+
min: "{m} 分鐘",
|
|
1450
|
+
in: "{label}後",
|
|
1451
|
+
ago: "{label}前",
|
|
1452
|
+
},
|
|
1453
|
+
header: {
|
|
1454
|
+
title: "管理主控台",
|
|
1455
|
+
userTitle: "個人中心",
|
|
1456
|
+
billing: "帳單",
|
|
1457
|
+
profile: "個人資料",
|
|
1458
|
+
userCenter: "個人中心",
|
|
1459
|
+
teamAdmin: "管理主控台",
|
|
1460
|
+
signOut: "登出",
|
|
1461
|
+
theme: "主題",
|
|
1462
|
+
themeDark: "深色",
|
|
1463
|
+
themeLight: "淺色",
|
|
1464
|
+
themeAuto: "跟隨系統",
|
|
1465
|
+
language: "語言",
|
|
1466
|
+
langEn: "English",
|
|
1467
|
+
langZh: "中文",
|
|
1468
|
+
},
|
|
1469
|
+
tabs: {
|
|
1470
|
+
profile: "個人資料",
|
|
1471
|
+
members: "成員",
|
|
1472
|
+
invitations: "邀請",
|
|
1473
|
+
auditLogs: "審計日誌",
|
|
1474
|
+
accessKeys: "存取金鑰",
|
|
1475
|
+
access: "存取控制",
|
|
1476
|
+
branding: "品牌",
|
|
1477
|
+
appearance: "外觀",
|
|
1478
|
+
auth: "認證",
|
|
1479
|
+
},
|
|
1480
|
+
pagination: {
|
|
1481
|
+
showing: "顯示",
|
|
1482
|
+
of: "共",
|
|
1483
|
+
},
|
|
1484
|
+
profile: {
|
|
1485
|
+
title: "個人資料",
|
|
1486
|
+
desc: "管理您的個人資訊和帳號設定。",
|
|
1487
|
+
personalInfo: "個人資訊",
|
|
1488
|
+
account: "帳號",
|
|
1489
|
+
displayName: "顯示名稱",
|
|
1490
|
+
email: "電子郵件",
|
|
1491
|
+
joined: "加入時間",
|
|
1492
|
+
passkeys: "Passkey",
|
|
1493
|
+
unnamed: "(未命名)",
|
|
1494
|
+
updated: "資料已更新",
|
|
1495
|
+
connectedAccounts: "關聯帳號",
|
|
1496
|
+
connectedAccountsDesc: "管理您的登入方式。",
|
|
1497
|
+
createdAt: "建立時間",
|
|
1498
|
+
lastUsed: "上次使用",
|
|
1499
|
+
loginMethods: "登入方式",
|
|
1500
|
+
availableToConnect: "可關聯",
|
|
1501
|
+
mainAccount: "主帳號",
|
|
1502
|
+
walletAccount: "錢包帳號",
|
|
1503
|
+
notConnected: "未關聯",
|
|
1504
|
+
connect: "關聯",
|
|
1505
|
+
remove: "移除",
|
|
1506
|
+
addPasskey: "新增Passkey",
|
|
1507
|
+
connectWallet: "關聯 DID Wallet",
|
|
1508
|
+
openInWallet: "在 DID Wallet 中開啟",
|
|
1509
|
+
scanWithWallet: "用 DID Wallet 掃碼關聯",
|
|
1510
|
+
confirmInWallet: "在錢包中確認中...",
|
|
1511
|
+
binding: "關聯中...",
|
|
1512
|
+
connectTimeout: "超時,請重試",
|
|
1513
|
+
walletConnected: "DID Wallet 已關聯",
|
|
1514
|
+
walletAlreadyBound: "此錢包已綁定到其他帳號",
|
|
1515
|
+
removeConfirmTitle: "移除帳號",
|
|
1516
|
+
removeConfirmMsg: "確定要移除此關聯帳號嗎?",
|
|
1517
|
+
removePasskeyConfirmMsg: "確定要移除此Passkey嗎?",
|
|
1518
|
+
accountRemoved: "帳號已移除",
|
|
1519
|
+
accountConnected: "帳號已關聯",
|
|
1520
|
+
accountRelabeled: "帳號已關聯 —— 原有的 {0} 條目已併入此處",
|
|
1521
|
+
passkeyAdded: "Passkey已新增",
|
|
1522
|
+
passkeyRemoved: "Passkey已移除",
|
|
1523
|
+
passkeyRenamed: "Passkey已重新命名",
|
|
1524
|
+
renamePasskey: "重新命名",
|
|
1525
|
+
renamePasskeyTitle: "重新命名Passkey",
|
|
1526
|
+
passkeyNameLabel: "名稱",
|
|
1527
|
+
passkeyNamePlaceholder: "例如:我的 MacBook",
|
|
1528
|
+
cannotRemoveLast: "不能移除最後一個Passkey",
|
|
1529
|
+
alreadyConnected: "已關聯",
|
|
1530
|
+
alreadyRegistered: "此帳號已被其他使用者註冊",
|
|
1531
|
+
changeEmail: "修改",
|
|
1532
|
+
changeEmailTitle: "修改電子郵件",
|
|
1533
|
+
changeEmailMsg: "請輸入新的電子郵件地址。",
|
|
1534
|
+
emailPlaceholder: "new@example.com",
|
|
1535
|
+
emailUpdated: "電子郵件已更新",
|
|
1536
|
+
emailUnverified: "未驗證",
|
|
1537
|
+
emailVerified: "已驗證",
|
|
1538
|
+
verifyEmail: "驗證",
|
|
1539
|
+
emailSending: "正在傳送驗證碼...",
|
|
1540
|
+
emailSendFailed: "驗證碼傳送失敗",
|
|
1541
|
+
emailCodeSent: "驗證碼已傳送至您的電子郵件",
|
|
1542
|
+
verifyCode: "驗證電子郵件",
|
|
1543
|
+
verifyCodeMsg: "請輸入傳送至 {email} 的驗證碼。",
|
|
1544
|
+
emailVerifiedSuccess: "電子郵件已驗證",
|
|
1545
|
+
emailVerifyFailed: "驗證碼無效或已過期",
|
|
1546
|
+
emailResendBtn: "重新傳送",
|
|
1547
|
+
emailResendCountdown: "重新傳送 ({seconds}s)",
|
|
1548
|
+
mergeAccount: "合併另一個帳號",
|
|
1549
|
+
mergeAccountHint: "請用另一個帳號登入以將其登入方式遷到此處。DID Space 不會被複製。",
|
|
1550
|
+
mergeChooseMethod: "證明另一個帳號",
|
|
1551
|
+
mergeProveWallet: "用 DID Wallet 證明另一個帳號",
|
|
1552
|
+
mergeProvePasskey: "用Passkey證明另一個帳號",
|
|
1553
|
+
mergeProveOAuth: "用 {provider} 證明另一個帳號",
|
|
1554
|
+
mergeProveEmail: "用電子郵件證明另一個帳號",
|
|
1555
|
+
mergeEmailPlaceholder: "other@example.com",
|
|
1556
|
+
mergeEmailSendCode: "傳送驗證碼",
|
|
1557
|
+
mergeEmailCodePlaceholder: "00000000",
|
|
1558
|
+
mergePasskeyUnavailable: "當前瀏覽器不支援Passkey",
|
|
1559
|
+
mergePopupClosed: "登入視窗已關閉",
|
|
1560
|
+
mergeConfirmTitle: "確認合併帳號",
|
|
1561
|
+
mergeConfirmMsg: "憑證會遷到當前帳號。DID Space 仍在 /user/.archive/{did}/(不複製)。",
|
|
1562
|
+
mergeConfirmSurviving: "合併後您將保留 {intoDid}。{fromDid} 會被併入並停止獨立使用。",
|
|
1563
|
+
mergeConfirmKeepOther: "想保留另一個帳號?請先登出,用那個帳號登入,再發起合併。",
|
|
1564
|
+
mergeConfirmCredentials: "將要遷移的登入方式",
|
|
1565
|
+
mergeConfirmSkipped: "不會遷移的登入方式",
|
|
1566
|
+
mergeConfirmSkippedReason: "這個登入方式在兩個帳號上都有,因此仍會留在原帳號上。",
|
|
1567
|
+
mergeConfirmRoles: "權限變更",
|
|
1568
|
+
mergeConfirmRoleChange: "另一帳號的 {fromRole} 將變為 {keptRole}(當前帳號現為 {intoRoleBefore})。",
|
|
1569
|
+
mergeConfirmAccessKeysTitle: "存取金鑰",
|
|
1570
|
+
mergeConfirmAccessKeys: "{count} 個存取金鑰將遷到當前帳號。",
|
|
1571
|
+
mergeConfirmDidSpaceTitle: "DID Space",
|
|
1572
|
+
mergeDidSpace: "DID Space 不會被複製。合併後只讀可用於 {pointer}。",
|
|
1573
|
+
mergeConfirmHostWarnings: "其他影響",
|
|
1574
|
+
mergeHostBlockletOwnerClash: "另一帳號已發布的 blocklet 或域名在合併後可能衝突。",
|
|
1575
|
+
mergeHostExternalTokenRebind: "Slack、X 等外部授權仍綁在原 DID 上,需要重新授權。",
|
|
1576
|
+
mergeConfirmIrreversible: "此操作不可撤銷。",
|
|
1577
|
+
mergeConfirmTooLarge: "此次合併規模過大,無法自動完成。請拆分帳號或改為手動處理。",
|
|
1578
|
+
mergeSuccess: "帳號已合併",
|
|
1579
|
+
mergeFailed: "帳號合併失敗",
|
|
1580
|
+
mergeCancelled: "已取消合併",
|
|
1581
|
+
mergePromptTitle: "另一個帳號使用了此電子郵件",
|
|
1582
|
+
mergePromptBody: "另一個帳號與當前帳號共享同一已驗證電子郵件。您可以把它合併到當前帳號——當前登入的帳號會保留。",
|
|
1583
|
+
mergePromptAction: "立即合併",
|
|
1584
|
+
mergePromptDismiss: "暫不處理",
|
|
1585
|
+
},
|
|
1586
|
+
members: {
|
|
1587
|
+
title: "成員",
|
|
1588
|
+
desc: "管理團隊成員、角色和存取權限。",
|
|
1589
|
+
search: "搜尋成員...",
|
|
1590
|
+
currentInstance: "系統",
|
|
1591
|
+
allInstances: "所有執行個體",
|
|
1592
|
+
instance: "個執行個體",
|
|
1593
|
+
instances: "個執行個體",
|
|
1594
|
+
instanceMemberships: "執行個體成員關係",
|
|
1595
|
+
allRoles: "所有角色",
|
|
1596
|
+
allStatus: "所有狀態",
|
|
1597
|
+
allSources: "所有來源",
|
|
1598
|
+
noMembers: "未找到成員",
|
|
1599
|
+
noMembersHint: "嘗試調整搜尋條件或篩選器。",
|
|
1600
|
+
loadFailed: "載入成員失敗",
|
|
1601
|
+
aggregatedHint: "請先選擇具體執行個體以管理成員角色。",
|
|
1602
|
+
col: {
|
|
1603
|
+
member: "成員",
|
|
1604
|
+
role: "角色",
|
|
1605
|
+
instance: "執行個體",
|
|
1606
|
+
source: "來源",
|
|
1607
|
+
status: "狀態",
|
|
1608
|
+
joined: "加入時間",
|
|
1609
|
+
registeredFrom: "註冊地",
|
|
1610
|
+
lastLoginFrom: "最近登入地",
|
|
1611
|
+
},
|
|
1612
|
+
detail: "成員詳情",
|
|
1613
|
+
detailRole: "角色",
|
|
1614
|
+
detailStatus: "狀態",
|
|
1615
|
+
detailSource: "來源",
|
|
1616
|
+
detailEmail: "電子郵件",
|
|
1617
|
+
detailInvitedBy: "邀請人",
|
|
1618
|
+
detailJoined: "加入時間",
|
|
1619
|
+
detailLastLogin: "最近登入",
|
|
1620
|
+
detailRegisteredFrom: "註冊地",
|
|
1621
|
+
detailLastLoginFrom: "最近登入地",
|
|
1622
|
+
detailPasskeys: "Passkey",
|
|
1623
|
+
detailConnectedAccounts: "關聯帳號",
|
|
1624
|
+
changeRole: "更改角色",
|
|
1625
|
+
changeRoleFor: "更改 {name} 的角色",
|
|
1626
|
+
adminDesc: "管理員 — 可管理成員和邀請",
|
|
1627
|
+
memberDesc: "成員 — 僅限認證存取",
|
|
1628
|
+
guestDesc: "訪客 — 有限存取",
|
|
1629
|
+
roleUpdated: "角色已更新",
|
|
1630
|
+
block: "封禁",
|
|
1631
|
+
blockTitle: "封禁成員",
|
|
1632
|
+
blockMsg: "封禁 {name}?該使用者將被登出,在解封前無法存取。",
|
|
1633
|
+
blockBtn: "封禁使用者",
|
|
1634
|
+
blockSuccess: "成員已封禁",
|
|
1635
|
+
unblock: "解封",
|
|
1636
|
+
unblockTitle: "解封成員",
|
|
1637
|
+
unblockMsg: "解封 {name}?他們將重新獲得存取權限。",
|
|
1638
|
+
unblockSuccess: "成員已解封",
|
|
1639
|
+
remove: "移除",
|
|
1640
|
+
removeTitle: "移除成員",
|
|
1641
|
+
removeMsg: "移除 {name}?他們將失去存取權限,帳號將被刪除。",
|
|
1642
|
+
removeSuccess: "成員已移除",
|
|
1643
|
+
transfer: "所有權轉移",
|
|
1644
|
+
transferDesc: "將所有權轉移給另一個成員。您將被降級為管理員。",
|
|
1645
|
+
transferSelect: "選擇成員...",
|
|
1646
|
+
transferBtn: "轉移所有權",
|
|
1647
|
+
transferTitle: "轉移所有權",
|
|
1648
|
+
transferMsg: "將所有權轉移給 {name}?您將被降級為管理員。此操作不可撤銷。",
|
|
1649
|
+
transferConfirm: "轉移",
|
|
1650
|
+
transferSuccess: "所有權已轉移",
|
|
1651
|
+
selectMemberFirst: "請先選擇一個成員",
|
|
1652
|
+
providers: {
|
|
1653
|
+
wallet: "DID Wallet",
|
|
1654
|
+
passkey: "Passkey",
|
|
1655
|
+
email: "電子郵件",
|
|
1656
|
+
google: "Google",
|
|
1657
|
+
github: "GitHub",
|
|
1658
|
+
apple: "Apple",
|
|
1659
|
+
twitter: "Twitter",
|
|
1660
|
+
facebook: "Facebook",
|
|
1661
|
+
auth0: "Auth0",
|
|
1662
|
+
},
|
|
1663
|
+
},
|
|
1664
|
+
invitations: {
|
|
1665
|
+
title: "邀請",
|
|
1666
|
+
desc: "建立邀請連結以新增新成員。",
|
|
1667
|
+
create: "建立邀請",
|
|
1668
|
+
createDesc: "生成一個邀請連結以邀請新成員。",
|
|
1669
|
+
createBtn: "建立並複製連結",
|
|
1670
|
+
role: "角色",
|
|
1671
|
+
remark: "備註(可選)",
|
|
1672
|
+
remarkPlaceholder: "例如:給設計團隊",
|
|
1673
|
+
charCount: "/100 字元",
|
|
1674
|
+
expiresIn: "過期時間",
|
|
1675
|
+
maxUses: "最大使用次數",
|
|
1676
|
+
day1: "1 天",
|
|
1677
|
+
days7: "7 天",
|
|
1678
|
+
days30: "30 天",
|
|
1679
|
+
col: {
|
|
1680
|
+
role: "角色",
|
|
1681
|
+
remark: "備註",
|
|
1682
|
+
uses: "使用次數",
|
|
1683
|
+
expires: "過期時間",
|
|
1684
|
+
createdBy: "建立者",
|
|
1685
|
+
},
|
|
1686
|
+
closed: "已關閉",
|
|
1687
|
+
noRemark: "—",
|
|
1688
|
+
copyLink: "複製連結",
|
|
1689
|
+
noInvitations: "暫無邀請",
|
|
1690
|
+
noInvitationsHint: "建立一個邀請來新增新成員。",
|
|
1691
|
+
loadFailed: "載入邀請失敗",
|
|
1692
|
+
created: "邀請已建立!",
|
|
1693
|
+
deleteTitle: "刪除邀請",
|
|
1694
|
+
deleteMsg: "刪除此邀請?連結將不再有效。",
|
|
1695
|
+
deleted: "邀請已刪除",
|
|
1696
|
+
},
|
|
1697
|
+
audit: {
|
|
1698
|
+
title: "審計日誌",
|
|
1699
|
+
desc: "檢視團隊中執行的所有操作。",
|
|
1700
|
+
allActions: "所有操作",
|
|
1701
|
+
refresh: "重新整理",
|
|
1702
|
+
col: {
|
|
1703
|
+
time: "時間",
|
|
1704
|
+
action: "操作",
|
|
1705
|
+
operator: "操作者",
|
|
1706
|
+
target: "目標",
|
|
1707
|
+
},
|
|
1708
|
+
noLogs: "未找到審計日誌",
|
|
1709
|
+
noLogsHint: "執行操作時,活動記錄將顯示在這裡。",
|
|
1710
|
+
loadFailed: "載入審計日誌失敗",
|
|
1711
|
+
groups: {
|
|
1712
|
+
user: "使用者",
|
|
1713
|
+
invitation: "邀請",
|
|
1714
|
+
oauth: "OAuth",
|
|
1715
|
+
accessKey: "存取金鑰",
|
|
1716
|
+
membership: "成員關係",
|
|
1717
|
+
passkey: "Passkey",
|
|
1718
|
+
accessPolicy: "存取策略",
|
|
1719
|
+
securityRule: "安全規則",
|
|
1720
|
+
settings: "系統設定",
|
|
1721
|
+
merge: "帳號合併",
|
|
1722
|
+
},
|
|
1723
|
+
actions: {
|
|
1724
|
+
register: "註冊",
|
|
1725
|
+
login: "登入",
|
|
1726
|
+
acceptInvitation: "接受邀請",
|
|
1727
|
+
removeMember: "移除成員",
|
|
1728
|
+
blockMember: "封禁成員",
|
|
1729
|
+
unblockMember: "解封成員",
|
|
1730
|
+
roleChange: "角色變更",
|
|
1731
|
+
transferOwnership: "轉移所有權",
|
|
1732
|
+
profileUpdate: "更新資料",
|
|
1733
|
+
avatarUpdate: "更新頭像",
|
|
1734
|
+
avatarDelete: "刪除頭像",
|
|
1735
|
+
emailChange: "修改電子郵件",
|
|
1736
|
+
registerBlocked: "註冊被拒絕",
|
|
1737
|
+
createInvitation: "建立邀請",
|
|
1738
|
+
deleteInvitation: "刪除邀請",
|
|
1739
|
+
oauthBind: "綁定 OAuth 帳號",
|
|
1740
|
+
oauthUnbind: "解綁 OAuth 帳號",
|
|
1741
|
+
accessKeyCreate: "建立存取金鑰",
|
|
1742
|
+
accessKeyUpdate: "更新存取金鑰",
|
|
1743
|
+
accessKeyDelete: "刪除存取金鑰",
|
|
1744
|
+
membershipCreate: "新增成員",
|
|
1745
|
+
membershipUpdateRole: "更新成員角色",
|
|
1746
|
+
membershipRemove: "移除成員",
|
|
1747
|
+
passkeyConnect: "綁定 Passkey",
|
|
1748
|
+
passkeyDisconnect: "解綁 Passkey",
|
|
1749
|
+
accessPolicyCreate: "建立存取策略",
|
|
1750
|
+
accessPolicyUpdate: "更新存取策略",
|
|
1751
|
+
accessPolicyDelete: "刪除存取策略",
|
|
1752
|
+
securityRuleCreate: "建立安全規則",
|
|
1753
|
+
securityRuleUpdate: "更新安全規則",
|
|
1754
|
+
securityRuleDelete: "刪除安全規則",
|
|
1755
|
+
settingsOauthUpdate: "更新 OAuth 設定",
|
|
1756
|
+
settingsOauthDelete: "刪除 OAuth 設定",
|
|
1757
|
+
settingsBuiltinProvidersUpdate: "更新內建登入方式",
|
|
1758
|
+
settingsSessionUpdate: "更新會話設定",
|
|
1759
|
+
settingsEmailUpdate: "更新電子郵件設定",
|
|
1760
|
+
mergeStart: "發起帳號合併",
|
|
1761
|
+
mergeProof: "證明帳號合併",
|
|
1762
|
+
mergeDryRun: "預覽帳號合併",
|
|
1763
|
+
mergeCommit: "提交帳號合併",
|
|
1764
|
+
mergeRollback: "回滾帳號合併",
|
|
1765
|
+
},
|
|
1766
|
+
},
|
|
1767
|
+
accessKeys: {
|
|
1768
|
+
title: "存取金鑰",
|
|
1769
|
+
desc: "管理 API 存取金鑰,用於程式化存取(CI/CD、指令碼、CLI 工具)。",
|
|
1770
|
+
search: "按備註或 ID 搜尋...",
|
|
1771
|
+
createKey: "+ 建立金鑰",
|
|
1772
|
+
col: {
|
|
1773
|
+
keyId: "金鑰 ID",
|
|
1774
|
+
role: "角色",
|
|
1775
|
+
remark: "備註",
|
|
1776
|
+
createdBy: "建立者",
|
|
1777
|
+
expires: "過期時間",
|
|
1778
|
+
lastUsed: "最近使用",
|
|
1779
|
+
},
|
|
1780
|
+
noKeys: "暫無存取金鑰",
|
|
1781
|
+
noKeysHint: "建立一個存取金鑰以進行程式化 API 存取。",
|
|
1782
|
+
loadFailed: "載入存取金鑰失敗",
|
|
1783
|
+
createTitle: "建立存取金鑰",
|
|
1784
|
+
editTitle: "編輯存取金鑰",
|
|
1785
|
+
role: "角色",
|
|
1786
|
+
remark: "備註",
|
|
1787
|
+
remarkPlaceholder: "例如:CI 部署",
|
|
1788
|
+
expiration: "過期",
|
|
1789
|
+
neverExpires: "永不過期",
|
|
1790
|
+
customDate: "自訂日期",
|
|
1791
|
+
selectExpDate: "請選擇過期日期",
|
|
1792
|
+
expirations: {
|
|
1793
|
+
never: "永不",
|
|
1794
|
+
days7: "7 天",
|
|
1795
|
+
days30: "30 天",
|
|
1796
|
+
days90: "90 天",
|
|
1797
|
+
custom: "自訂...",
|
|
1798
|
+
},
|
|
1799
|
+
secretTitle: "存取金鑰已建立",
|
|
1800
|
+
secretWarning: "此金鑰僅顯示一次。請立即複製!",
|
|
1801
|
+
usage: "整合方式",
|
|
1802
|
+
tabCurl: "cURL",
|
|
1803
|
+
tabClaude: "Claude Code",
|
|
1804
|
+
tabCodex: "Codex CLI",
|
|
1805
|
+
tabCursor: "Cursor",
|
|
1806
|
+
addToConfig: "新增到 {file}:",
|
|
1807
|
+
done: "完成",
|
|
1808
|
+
keyUpdated: "金鑰已更新",
|
|
1809
|
+
keyDeleted: "金鑰已刪除",
|
|
1810
|
+
deleteTitle: "刪除存取金鑰",
|
|
1811
|
+
deleteMsg: "確定要刪除存取金鑰 {label} 嗎?",
|
|
1812
|
+
deleteWarning: "此操作不可撤銷。使用此金鑰的系統將失去存取權限。",
|
|
1813
|
+
loadKeyFailed: "載入金鑰詳情失敗",
|
|
1814
|
+
createFailed: "建立金鑰失敗",
|
|
1815
|
+
updateFailed: "更新金鑰失敗",
|
|
1816
|
+
},
|
|
1817
|
+
access: {
|
|
1818
|
+
title: "存取控制",
|
|
1819
|
+
desc: "控制誰可以存取您的門戶以及新使用者註冊。",
|
|
1820
|
+
defaultLabel: "預設",
|
|
1821
|
+
policies: "存取策略",
|
|
1822
|
+
builtinPolicies: "內建策略",
|
|
1823
|
+
customPolicies: "自訂策略",
|
|
1824
|
+
customPoliciesDesc: "建立基於角色白名單或黑名單的自訂策略,用於高階路徑規則。",
|
|
1825
|
+
addPolicy: "+ 新增策略",
|
|
1826
|
+
noCustomPolicies: "暫無自訂策略",
|
|
1827
|
+
rules: "存取規則",
|
|
1828
|
+
rulesDesc: "規則按優先級評估,未匹配到其他規則時應用預設規則。",
|
|
1829
|
+
addRule: "+ 新增規則",
|
|
1830
|
+
policyTitle: "新增自訂策略",
|
|
1831
|
+
editPolicyTitle: "編輯自訂策略",
|
|
1832
|
+
ruleTitle: "新增路徑規則",
|
|
1833
|
+
editRuleTitle: "編輯路徑規則",
|
|
1834
|
+
name: "名稱",
|
|
1835
|
+
namePlaceholder: "例如:僅限 VIP",
|
|
1836
|
+
accessType: "存取類型",
|
|
1837
|
+
description: "描述",
|
|
1838
|
+
roles: "角色",
|
|
1839
|
+
urlPattern: "URL 匹配模式",
|
|
1840
|
+
patternPlaceholder: "/admin/**",
|
|
1841
|
+
patternHint: "Glob:* = 單層,** = 任意深度",
|
|
1842
|
+
accessPolicy: "存取策略",
|
|
1843
|
+
priority: "優先級",
|
|
1844
|
+
priorityHint: "數字越小優先級越高",
|
|
1845
|
+
notes: "備註",
|
|
1846
|
+
notesPlaceholder: "可選描述",
|
|
1847
|
+
noPolicies: "暫無策略",
|
|
1848
|
+
noRules: "暫無自訂規則。預設規則將應用於所有路徑。",
|
|
1849
|
+
nameRequired: "名稱為必填項",
|
|
1850
|
+
roleRequired: "至少選擇一個角色",
|
|
1851
|
+
patternRequired: "URL 匹配模式為必填項",
|
|
1852
|
+
policySaved: "策略已儲存",
|
|
1853
|
+
policyDeleted: "策略已刪除",
|
|
1854
|
+
clickToEnable: "點選啟用",
|
|
1855
|
+
clickToDisable: "點選停用",
|
|
1856
|
+
ruleSaved: "規則已儲存",
|
|
1857
|
+
ruleDeleted: "規則已刪除",
|
|
1858
|
+
deletePolicy: "刪除策略",
|
|
1859
|
+
deletePolicyMsg: "此策略將被永久刪除。",
|
|
1860
|
+
deleteRule: "刪除規則",
|
|
1861
|
+
deleteRuleMsg: "此規則將被永久刪除。",
|
|
1862
|
+
types: {
|
|
1863
|
+
public: "所有人(無需登入)",
|
|
1864
|
+
invited: "任何已登入使用者",
|
|
1865
|
+
owner: "僅擁有者",
|
|
1866
|
+
admin: "擁有者和管理員",
|
|
1867
|
+
roles: "僅選定角色",
|
|
1868
|
+
rolesReverse: "除選定角色外的所有人",
|
|
1869
|
+
},
|
|
1870
|
+
typeLabels: {
|
|
1871
|
+
public: "所有人",
|
|
1872
|
+
invited: "已登入使用者",
|
|
1873
|
+
owner: "僅擁有者",
|
|
1874
|
+
admin: "擁有者 + 管理員",
|
|
1875
|
+
roles: "選定角色",
|
|
1876
|
+
rolesReverse: "除選定角色外",
|
|
1877
|
+
},
|
|
1878
|
+
typeDescs: {
|
|
1879
|
+
public: "任何人無需登入即可存取。新使用者可自由註冊。",
|
|
1880
|
+
invited: "僅已登入使用者可存取。新使用者需要邀請連結才能註冊。",
|
|
1881
|
+
admin: "僅擁有者和管理員可存取。新使用者需要邀請連結才能註冊。",
|
|
1882
|
+
owner: "僅擁有者可存取。新使用者需要邀請連結才能註冊。",
|
|
1883
|
+
},
|
|
1884
|
+
},
|
|
1885
|
+
settings: {
|
|
1886
|
+
title: "認證設定",
|
|
1887
|
+
desc: "管理認證方式、會話和郵件設定。",
|
|
1888
|
+
oauth: "OAuth 提供者",
|
|
1889
|
+
addProvider: "+ 新增提供者",
|
|
1890
|
+
builtin: "登入方式",
|
|
1891
|
+
builtinDesc: "啟用或停用內建的登入選項。",
|
|
1892
|
+
passkey: "Passkey",
|
|
1893
|
+
email: "電子郵件",
|
|
1894
|
+
emailNeedsConfig: "(請先設定郵件服務)",
|
|
1895
|
+
didWallet: "DID Wallet",
|
|
1896
|
+
session: "會話有效期",
|
|
1897
|
+
sessionDesc: "登入會話的過期天數。",
|
|
1898
|
+
jwtLifetime: "{days} 天",
|
|
1899
|
+
emailResend: "郵件服務(Resend)",
|
|
1900
|
+
emailResendDesc: "開啟電子郵件登入時需要設定,用於傳送驗證碼。",
|
|
1901
|
+
resendApiKey: "Resend API Key",
|
|
1902
|
+
fromAddress: "寄件地址",
|
|
1903
|
+
fromPlaceholder: "noreply@example.com",
|
|
1904
|
+
apiKeyPlaceholder: "re_...",
|
|
1905
|
+
noOAuth: "未設定 OAuth 提供者",
|
|
1906
|
+
addOAuthTitle: "新增 OAuth 提供者",
|
|
1907
|
+
editOAuthTitle: "編輯 OAuth 提供者",
|
|
1908
|
+
provider: "提供者",
|
|
1909
|
+
added: "已新增",
|
|
1910
|
+
clientId: "Client ID",
|
|
1911
|
+
clientSecret: "Client Secret",
|
|
1912
|
+
enabled: "啟用",
|
|
1913
|
+
sortOrder: "排序",
|
|
1914
|
+
callbackUrl: "回呼 URL",
|
|
1915
|
+
teamId: "Team ID",
|
|
1916
|
+
keyId: "Key ID",
|
|
1917
|
+
privateKey: "Private Key",
|
|
1918
|
+
serviceId: "Service ID",
|
|
1919
|
+
bundleId: "Bundle ID",
|
|
1920
|
+
domain: "域名",
|
|
1921
|
+
domainPlaceholder: "your-tenant.auth0.com",
|
|
1922
|
+
oauthSaved: "OAuth 提供者已儲存",
|
|
1923
|
+
sessionSaved: "會話設定已儲存",
|
|
1924
|
+
emailSaved: "郵件設定已儲存",
|
|
1925
|
+
providerDeleted: "提供者已刪除",
|
|
1926
|
+
deleteProvider: "刪除 {name}?",
|
|
1927
|
+
deleteProviderMsg: "這將移除該 OAuth 提供者的設定。",
|
|
1928
|
+
saved: "已儲存",
|
|
1929
|
+
},
|
|
1930
|
+
federation: {
|
|
1931
|
+
title: "統一登入",
|
|
1932
|
+
desc: "將多個站點組成統一登入組,使用者在任意站點登入後身份在所有成員站點間共享。",
|
|
1933
|
+
enableMaster: "啟用為主站",
|
|
1934
|
+
enableMasterDesc: "將此站點設為身份權威。OAuth/Email 使用者將使用此站點的金鑰進行 DID 派生。",
|
|
1935
|
+
enableConfirm: "確認將此站點設為統一登入主站?",
|
|
1936
|
+
joinMember: "加入為成員站",
|
|
1937
|
+
joinDesc: "輸入要加入的主站 URL。",
|
|
1938
|
+
masterUrl: "主站 URL",
|
|
1939
|
+
masterUrlPlaceholder: "https://master-site.example.com",
|
|
1940
|
+
targetNotEnabled: "目標站點未開啟統一登入。",
|
|
1941
|
+
refresh: "重新整理",
|
|
1942
|
+
currentSite: "當前",
|
|
1943
|
+
masterSite: "主站",
|
|
1944
|
+
masterDesc: "此站點是統一登入組的身份權威。",
|
|
1945
|
+
delegatedTo: "身份委託給主站:",
|
|
1946
|
+
delegationMissing: "未生成",
|
|
1947
|
+
sites: "站點列表",
|
|
1948
|
+
siteUrl: "站點 URL",
|
|
1949
|
+
master: "主站",
|
|
1950
|
+
member: "成員站",
|
|
1951
|
+
pending: "待審批",
|
|
1952
|
+
pendingApproval: "加入請求已傳送",
|
|
1953
|
+
pendingDesc: "加入請求已傳送,等待主站審批。",
|
|
1954
|
+
approve: "批准",
|
|
1955
|
+
approved: "已批准",
|
|
1956
|
+
reject: "拒絕",
|
|
1957
|
+
rejectTitle: "拒絕加入請求?",
|
|
1958
|
+
rejectDesc: "請求方站點將被移除,可以稍後重新發起請求。",
|
|
1959
|
+
enable: "啟用",
|
|
1960
|
+
disable: "停用",
|
|
1961
|
+
unbind: "解綁",
|
|
1962
|
+
unbindTitle: "解綁站點?",
|
|
1963
|
+
unbindDesc: "該站點將從統一登入組中移除。OAuth 和 Email 使用者下次登入時將獲得新身份。",
|
|
1964
|
+
remove: "移除",
|
|
1965
|
+
removeTitle: "移除站點?",
|
|
1966
|
+
removeDesc: "該站點上的 OAuth 和 Email 使用者下次登入時將獲得新身份。",
|
|
1967
|
+
delegation: "應用身份授權",
|
|
1968
|
+
delegationDesc: "成員站點使用此授權,在使用者以 DID Wallet 掃碼時展示主站的應用身份資訊。",
|
|
1969
|
+
generated: "已授權",
|
|
1970
|
+
regenerate: "重新整理",
|
|
1971
|
+
disband: "解散統一登入",
|
|
1972
|
+
disbandTitle: "解散統一登入?",
|
|
1973
|
+
disbandDesc: "所有成員站點將恢復為獨立登入。所有站點上的 OAuth 和 Email 使用者下次登入時將獲得新身份。",
|
|
1974
|
+
leave: "退出統一登入",
|
|
1975
|
+
leaveTitle: "退出統一登入?",
|
|
1976
|
+
leaveDesc: "此站點將恢復為獨立登入。OAuth 和 Email 使用者下次登入時將獲得新身份。",
|
|
1977
|
+
disableTitle: "關閉統一登入?",
|
|
1978
|
+
disableDesc: "透過 OAuth 或 Email 登入的使用者下次登入時將獲得新身份。",
|
|
1979
|
+
sessionWarning: "當前會話在過期前仍然有效。",
|
|
1980
|
+
walletSafe: "DID Wallet 和 Passkey 使用者不受影響。",
|
|
1981
|
+
enabled: "已啟用",
|
|
1982
|
+
disabled: "已關閉",
|
|
1983
|
+
aliases: "別名域名",
|
|
1984
|
+
noAliases: "未設定別名域名",
|
|
1985
|
+
},
|
|
1986
|
+
branding: {
|
|
1987
|
+
title: "品牌",
|
|
1988
|
+
desc: "管理應用標識、Logo 和語言支援。",
|
|
1989
|
+
appInfo: "應用資訊",
|
|
1990
|
+
name: "名稱",
|
|
1991
|
+
namePlaceholder: "應用名稱",
|
|
1992
|
+
description: "描述",
|
|
1993
|
+
descPlaceholder: "應用描述",
|
|
1994
|
+
url: "URL",
|
|
1995
|
+
urlPlaceholder: "https://example.com",
|
|
1996
|
+
passportColor: "通行證顏色",
|
|
1997
|
+
copyrightOwner: "版權擁有者",
|
|
1998
|
+
copyrightOwnerPlaceholder: "公司名稱",
|
|
1999
|
+
copyrightYear: "版權年份",
|
|
2000
|
+
copyrightYearPlaceholder: "2024",
|
|
2001
|
+
logos: "Logo",
|
|
2002
|
+
logoTypes: {
|
|
2003
|
+
square: "正方形",
|
|
2004
|
+
squareDark: "正方形(深色)",
|
|
2005
|
+
rect: "矩形",
|
|
2006
|
+
rectDark: "矩形(深色)",
|
|
2007
|
+
favicon: "Favicon",
|
|
2008
|
+
ogImage: "OG 圖片",
|
|
2009
|
+
splashPortrait: "啟動畫面(豎屏)",
|
|
2010
|
+
splashLandscape: "啟動畫面(橫屏)",
|
|
2011
|
+
},
|
|
2012
|
+
languages: "語言",
|
|
2013
|
+
updated: "品牌資訊已更新",
|
|
2014
|
+
logoUploaded: "Logo 已上傳",
|
|
2015
|
+
logoDeleted: "Logo 已刪除",
|
|
2016
|
+
deleteLogo: "刪除此 Logo?",
|
|
2017
|
+
uploadError: "上傳錯誤",
|
|
2018
|
+
deleteFailed: "刪除 Logo 失敗",
|
|
2019
|
+
languagesUpdated: "語言已更新",
|
|
2020
|
+
updateFailed: "更新品牌資訊失敗",
|
|
2021
|
+
langUpdateFailed: "更新語言失敗",
|
|
2022
|
+
cropTitle: "裁剪圖片",
|
|
2023
|
+
cropConfirm: "上傳",
|
|
2024
|
+
cropCancel: "取消",
|
|
2025
|
+
fileTooLarge: "檔案大小不能超過5MB",
|
|
2026
|
+
invalidFormat: "支援格式: PNG, JPG, WebP, SVG",
|
|
2027
|
+
cropperLoadFailed: "載入圖片編輯器失敗,將上傳原圖",
|
|
2028
|
+
discardChanges: "放棄更改",
|
|
2029
|
+
saveConfig: "儲存設定",
|
|
2030
|
+
draftHint: "所有更改在本地草稿中。",
|
|
2031
|
+
langSection: "支援語言",
|
|
2032
|
+
langCategory: "本地化",
|
|
2033
|
+
langDesc: "用於:訪客語言選擇",
|
|
2034
|
+
accentSection: "通行證主題色",
|
|
2035
|
+
accentCategory: "介面個性化",
|
|
2036
|
+
infoSection: "基本資訊",
|
|
2037
|
+
infoCategory: "後設資料",
|
|
2038
|
+
infoDesc: "用於 SEO、OpenGraph 和瀏覽器標籤頁的基本標識資訊。",
|
|
2039
|
+
nameHint: "用於:DID Connect 頁首、瀏覽器分頁、網站頁尾、SEO 和 OpenGraph 後設資料",
|
|
2040
|
+
urlHint: "用於:站點地圖和社交分享",
|
|
2041
|
+
descHint: "用於:SEO 後設資料、OpenGraph 後設資料和啟動載入屏",
|
|
2042
|
+
assetsSection: "品牌資產",
|
|
2043
|
+
assetsCategory: "視覺資源",
|
|
2044
|
+
logoSquareHint: "PNG, SVG · 512×512px",
|
|
2045
|
+
logoRectHint: "PNG · 400×120px",
|
|
2046
|
+
logoFaviconHint: "ICO, PNG · 32×32px",
|
|
2047
|
+
splashPortraitHint: "9:16 寬高比",
|
|
2048
|
+
splashLandscapeHint: "16:9 寬高比",
|
|
2049
|
+
ogImageHint: "1200×630px JPG/PNG",
|
|
2050
|
+
logoSquareDesc: "用於:認證對話方塊底部和 DID Wallet 應用列表",
|
|
2051
|
+
logoRectDesc: "用於:網站頁首和頁尾,未設定時改用應用 Logo",
|
|
2052
|
+
logoFaviconDesc: "用於:瀏覽器位址列和分頁",
|
|
2053
|
+
splashDesc: "僅在 ArcSphere 應用啟動畫面中展示",
|
|
2054
|
+
ogImageDesc: "用於:社交媒體分享背景圖",
|
|
2055
|
+
copyrightSection: "版權資訊",
|
|
2056
|
+
copyrightHint: "用於:網站頁尾",
|
|
2057
|
+
appleSection: "Apple 應用關聯",
|
|
2058
|
+
appleDesc: "設定 iOS 應用識別碼,用於 Passkey(webcredentials)關聯。",
|
|
2059
|
+
appleAppIds: "應用識別碼",
|
|
2060
|
+
appleAppIdsHint: "多個識別碼用英文逗號分隔,例如 K4NSWQ8457.com.example.app",
|
|
2061
|
+
appleAppIdsPlaceholder: "TeamID.BundleID, TeamID.BundleID2",
|
|
2062
|
+
replace: "替換",
|
|
2063
|
+
removeLogo: "刪除",
|
|
2064
|
+
accentHint: "此顏色用於生物識別提示和安全認證介面。",
|
|
2065
|
+
langEn: "英語",
|
|
2066
|
+
langZh: "簡體中文",
|
|
2067
|
+
langRequired: "至少需要一種語言",
|
|
2068
|
+
logoAppLight: "應用 Logo",
|
|
2069
|
+
logoAppDark: "應用 Logo",
|
|
2070
|
+
logoWebLight: "網站 Logo",
|
|
2071
|
+
logoWebDark: "網站 Logo",
|
|
2072
|
+
logoFavicon: "網站圖示",
|
|
2073
|
+
logoSplashP: "啟動屏",
|
|
2074
|
+
logoSplashL: "啟動屏",
|
|
2075
|
+
logoOg: "社交分享圖",
|
|
2076
|
+
subLight: "淺色主題",
|
|
2077
|
+
subDark: "深色主題",
|
|
2078
|
+
subBrowser: "瀏覽器圖示",
|
|
2079
|
+
subPortrait: "ArcSphere 豎屏",
|
|
2080
|
+
subLandscape: "ArcSphere 橫屏",
|
|
2081
|
+
subSocial: "社交預覽",
|
|
2082
|
+
},
|
|
2083
|
+
appearance: {
|
|
2084
|
+
title: "外觀",
|
|
2085
|
+
desc: "自訂主題顏色和導航連結。",
|
|
2086
|
+
theme: "主題",
|
|
2087
|
+
mode: "模式",
|
|
2088
|
+
system: "跟隨系統",
|
|
2089
|
+
light: "淺色",
|
|
2090
|
+
dark: "深色",
|
|
2091
|
+
lightMode: "淺色模式",
|
|
2092
|
+
darkMode: "深色模式",
|
|
2093
|
+
primary: "主色",
|
|
2094
|
+
secondary: "輔色",
|
|
2095
|
+
background: "背景",
|
|
2096
|
+
text: "文本",
|
|
2097
|
+
advanced: "高階:編輯完整主題 JSON",
|
|
2098
|
+
lockTheme: "鎖定主題(禁止編輯)",
|
|
2099
|
+
navigation: "導航",
|
|
2100
|
+
addItem: "+ 新增項目",
|
|
2101
|
+
noNavItems: "暫無導航項。",
|
|
2102
|
+
up: "上移",
|
|
2103
|
+
down: "下移",
|
|
2104
|
+
themeUpdated: "主題已更新",
|
|
2105
|
+
navUpdated: "導航已更新",
|
|
2106
|
+
invalidJson: "主題編輯器中的 JSON 無效",
|
|
2107
|
+
navTitlePrompt: "標題:",
|
|
2108
|
+
navLinkPrompt: "連結(URL):",
|
|
2109
|
+
deleteNavItem: "刪除此導航項?",
|
|
2110
|
+
},
|
|
2111
|
+
};
|
|
2112
|
+
const ja = {
|
|
2113
|
+
common: {
|
|
2114
|
+
save: "保存",
|
|
2115
|
+
saveChanges: "変更を保存",
|
|
2116
|
+
cancel: "キャンセル",
|
|
2117
|
+
close: "閉じる",
|
|
2118
|
+
delete: "削除",
|
|
2119
|
+
edit: "編集",
|
|
2120
|
+
add: "追加",
|
|
2121
|
+
confirm: "確認",
|
|
2122
|
+
owner: "オーナー",
|
|
2123
|
+
admin: "管理者",
|
|
2124
|
+
member: "メンバー",
|
|
2125
|
+
guest: "ゲスト",
|
|
2126
|
+
signOut: "ログアウト",
|
|
2127
|
+
portal: "← ポータル",
|
|
2128
|
+
copied: "コピーしました",
|
|
2129
|
+
copy: "コピー",
|
|
2130
|
+
upload: "アップロード",
|
|
2131
|
+
never: "なし",
|
|
2132
|
+
active: "アクティブ",
|
|
2133
|
+
blocked: "ブロック中",
|
|
2134
|
+
disabled: "無効",
|
|
2135
|
+
enabled: "有効",
|
|
2136
|
+
expired: "期限切れ",
|
|
2137
|
+
networkError: "ネットワークエラー",
|
|
2138
|
+
requestFailed: "リクエストに失敗しました",
|
|
2139
|
+
actions: "操作",
|
|
2140
|
+
status: "状態",
|
|
2141
|
+
default: "デフォルト",
|
|
2142
|
+
sessionExpired: "セッションの有効期限が切れました",
|
|
2143
|
+
accountBlocked: "アカウントはブロックされています",
|
|
2144
|
+
popupBlocked: "ポップアップがブロックされました。ポップアップを許可してから、もう一度お試しください",
|
|
2145
|
+
},
|
|
2146
|
+
time: {
|
|
2147
|
+
justNow: "たった今",
|
|
2148
|
+
dh: "{d}日 {h}時間",
|
|
2149
|
+
hm: "{h}時間 {m}分",
|
|
2150
|
+
min: "{m}分",
|
|
2151
|
+
in: "{label}後",
|
|
2152
|
+
ago: "{label}前",
|
|
2153
|
+
},
|
|
2154
|
+
header: {
|
|
2155
|
+
title: "管理コンソール",
|
|
2156
|
+
userTitle: "ユーザーセンター",
|
|
2157
|
+
billing: "請求",
|
|
2158
|
+
profile: "プロフィール",
|
|
2159
|
+
userCenter: "ユーザーセンター",
|
|
2160
|
+
teamAdmin: "管理コンソール",
|
|
2161
|
+
signOut: "ログアウト",
|
|
2162
|
+
theme: "テーマ",
|
|
2163
|
+
themeDark: "ダーク",
|
|
2164
|
+
themeLight: "ライト",
|
|
2165
|
+
themeAuto: "自動(システムに合わせる)",
|
|
2166
|
+
language: "言語",
|
|
2167
|
+
langEn: "English",
|
|
2168
|
+
langZh: "中国語",
|
|
2169
|
+
},
|
|
2170
|
+
tabs: {
|
|
2171
|
+
profile: "プロフィール",
|
|
2172
|
+
members: "メンバー",
|
|
2173
|
+
invitations: "招待",
|
|
2174
|
+
auditLogs: "監査ログ",
|
|
2175
|
+
accessKeys: "アクセスキー",
|
|
2176
|
+
access: "アクセス制御",
|
|
2177
|
+
branding: "ブランディング",
|
|
2178
|
+
appearance: "外観",
|
|
2179
|
+
auth: "認証",
|
|
2180
|
+
},
|
|
2181
|
+
pagination: {
|
|
2182
|
+
showing: "表示",
|
|
2183
|
+
of: "/",
|
|
2184
|
+
},
|
|
2185
|
+
profile: {
|
|
2186
|
+
title: "プロフィール",
|
|
2187
|
+
desc: "個人情報とアカウント設定を管理します。",
|
|
2188
|
+
personalInfo: "個人情報",
|
|
2189
|
+
account: "アカウント",
|
|
2190
|
+
displayName: "表示名",
|
|
2191
|
+
email: "メール",
|
|
2192
|
+
joined: "参加日時",
|
|
2193
|
+
passkeys: "Passkey",
|
|
2194
|
+
unnamed: "(名称未設定)",
|
|
2195
|
+
updated: "プロフィールを更新しました",
|
|
2196
|
+
connectedAccounts: "連携アカウント",
|
|
2197
|
+
connectedAccountsDesc: "連携しているログイン方法を管理します。",
|
|
2198
|
+
createdAt: "作成日時",
|
|
2199
|
+
lastUsed: "最終使用",
|
|
2200
|
+
loginMethods: "ログイン方法",
|
|
2201
|
+
availableToConnect: "連携可能",
|
|
2202
|
+
mainAccount: "メインアカウント",
|
|
2203
|
+
walletAccount: "ウォレットアカウント",
|
|
2204
|
+
notConnected: "未連携",
|
|
2205
|
+
connect: "連携",
|
|
2206
|
+
remove: "解除",
|
|
2207
|
+
addPasskey: "Passkey を追加",
|
|
2208
|
+
connectWallet: "DID Wallet を連携",
|
|
2209
|
+
openInWallet: "DID Wallet で開く",
|
|
2210
|
+
scanWithWallet: "DID Wallet でスキャンして連携",
|
|
2211
|
+
confirmInWallet: "ウォレットで確認しています...",
|
|
2212
|
+
binding: "連携しています...",
|
|
2213
|
+
connectTimeout: "タイムアウトしました。もう一度お試しください",
|
|
2214
|
+
walletConnected: "DID Wallet を連携しました",
|
|
2215
|
+
walletAlreadyBound: "このウォレットは別のアカウントに紐づいています",
|
|
2216
|
+
removeConfirmTitle: "アカウントを解除",
|
|
2217
|
+
removeConfirmMsg: "この連携アカウントを解除しますか?",
|
|
2218
|
+
removePasskeyConfirmMsg: "この Passkey を削除しますか?",
|
|
2219
|
+
accountRemoved: "アカウントを解除しました",
|
|
2220
|
+
accountConnected: "アカウントを連携しました",
|
|
2221
|
+
accountRelabeled: "アカウントを連携しました。既存の {0} はこちらに表示されます",
|
|
2222
|
+
passkeyAdded: "Passkey を追加しました",
|
|
2223
|
+
passkeyRemoved: "Passkey を削除しました",
|
|
2224
|
+
passkeyRenamed: "Passkey の名前を変更しました",
|
|
2225
|
+
renamePasskey: "名前を変更",
|
|
2226
|
+
renamePasskeyTitle: "Passkey の名前を変更",
|
|
2227
|
+
passkeyNameLabel: "名前",
|
|
2228
|
+
passkeyNamePlaceholder: "例:自分の MacBook",
|
|
2229
|
+
cannotRemoveLast: "最後の Passkey は削除できません",
|
|
2230
|
+
alreadyConnected: "連携済み",
|
|
2231
|
+
alreadyRegistered: "このアカウントは別のユーザーが登録しています",
|
|
2232
|
+
changeEmail: "変更",
|
|
2233
|
+
changeEmailTitle: "メールを変更",
|
|
2234
|
+
changeEmailMsg: "新しいメールアドレスを入力してください。",
|
|
2235
|
+
emailPlaceholder: "new@example.com",
|
|
2236
|
+
emailUpdated: "メールを更新しました",
|
|
2237
|
+
emailUnverified: "未確認",
|
|
2238
|
+
emailVerified: "確認済み",
|
|
2239
|
+
verifyEmail: "確認",
|
|
2240
|
+
emailSending: "確認コードを送信しています...",
|
|
2241
|
+
emailSendFailed: "確認コードを送信できませんでした",
|
|
2242
|
+
emailCodeSent: "確認コードをメールに送信しました",
|
|
2243
|
+
verifyCode: "メールを確認",
|
|
2244
|
+
verifyCodeMsg: "{email} に送信された確認コードを入力してください。",
|
|
2245
|
+
emailVerifiedSuccess: "メールを確認しました",
|
|
2246
|
+
emailVerifyFailed: "確認コードが無効か、有効期限が切れています",
|
|
2247
|
+
emailResendBtn: "再送信",
|
|
2248
|
+
emailResendCountdown: "再送信({seconds}秒)",
|
|
2249
|
+
mergeAccount: "別のアカウントを統合",
|
|
2250
|
+
mergeAccountHint: "もう一方のアカウントでログインし、そのログイン方法をこちらへ移します。DID Space はコピーされません。",
|
|
2251
|
+
mergeChooseMethod: "もう一方のアカウントを証明します",
|
|
2252
|
+
mergeProveWallet: "DID Wallet でもう一方のアカウントを証明します",
|
|
2253
|
+
mergeProvePasskey: "Passkey でもう一方のアカウントを証明します",
|
|
2254
|
+
mergeProveOAuth: "{provider} でもう一方のアカウントを証明します",
|
|
2255
|
+
mergeProveEmail: "メールでもう一方のアカウントを証明します",
|
|
2256
|
+
mergeEmailPlaceholder: "other@example.com",
|
|
2257
|
+
mergeEmailSendCode: "コードを送信",
|
|
2258
|
+
mergeEmailCodePlaceholder: "00000000",
|
|
2259
|
+
mergePasskeyUnavailable: "このブラウザでは Passkey を利用できません",
|
|
2260
|
+
mergePopupClosed: "ログインウィンドウが閉じられました",
|
|
2261
|
+
mergeConfirmTitle: "アカウント統合の確認",
|
|
2262
|
+
mergeConfirmMsg: "資格情報はこのアカウントへ移ります。DID Space は /user/.archive/{did}/ に残り、コピーされません。",
|
|
2263
|
+
mergeConfirmSurviving: "統合後は {intoDid} が残ります。{fromDid} は統合され、単独では使えなくなります。",
|
|
2264
|
+
mergeConfirmKeepOther: "もう一方のアカウントを残しますか?一度ログアウトし、そのアカウントでログインしてから、統合をやり直してください。",
|
|
2265
|
+
mergeConfirmCredentials: "移動するログイン方法",
|
|
2266
|
+
mergeConfirmSkipped: "移動しないログイン方法",
|
|
2267
|
+
mergeConfirmSkippedReason: "このログイン方法は両方のアカウントにあるため、元のアカウントに残ります。",
|
|
2268
|
+
mergeConfirmRoles: "権限の変更",
|
|
2269
|
+
mergeConfirmRoleChange: "もう一方のアカウントの {fromRole} は {keptRole} になります(このアカウントは現在 {intoRoleBefore} です)。",
|
|
2270
|
+
mergeConfirmAccessKeysTitle: "アクセスキー",
|
|
2271
|
+
mergeConfirmAccessKeys: "{count} 件のアクセスキーがこのアカウントへ移ります。",
|
|
2272
|
+
mergeConfirmDidSpaceTitle: "DID Space",
|
|
2273
|
+
mergeDidSpace: "DID Space はコピーされません。統合後は {pointer} で読み取り専用になります。",
|
|
2274
|
+
mergeConfirmHostWarnings: "その他の影響",
|
|
2275
|
+
mergeHostBlockletOwnerClash: "もう一方のアカウントが公開した blocklet やドメインは、統合後に競合することがあります。",
|
|
2276
|
+
mergeHostExternalTokenRebind: "Slack や X などの外部認可は元のアカウントに紐づいたままなので、再連携が必要です。",
|
|
2277
|
+
mergeConfirmIrreversible: "この操作は取り消せません。",
|
|
2278
|
+
mergeConfirmTooLarge: "この統合は規模が大きすぎて自動では完了できません。アカウントを分けるか、手動で対応してください。",
|
|
2279
|
+
mergeSuccess: "アカウントを統合しました",
|
|
2280
|
+
mergeFailed: "アカウントを統合できませんでした",
|
|
2281
|
+
mergeCancelled: "統合をキャンセルしました",
|
|
2282
|
+
mergePromptTitle: "同じメールの別アカウントがあります",
|
|
2283
|
+
mergePromptBody: "別のアカウントが同じ確認済みメールを使っています。このアカウントへ統合できます。残るのは現在のアカウントです。",
|
|
2284
|
+
mergePromptAction: "今すぐ統合",
|
|
2285
|
+
mergePromptDismiss: "後で",
|
|
2286
|
+
},
|
|
2287
|
+
members: {
|
|
2288
|
+
title: "メンバー",
|
|
2289
|
+
desc: "チームのメンバー、ロール、アクセスを管理します。",
|
|
2290
|
+
search: "メンバーを検索...",
|
|
2291
|
+
currentInstance: "システム",
|
|
2292
|
+
allInstances: "すべてのインスタンス",
|
|
2293
|
+
instance: "インスタンス",
|
|
2294
|
+
instances: "インスタンス",
|
|
2295
|
+
instanceMemberships: "インスタンスのメンバーシップ",
|
|
2296
|
+
allRoles: "すべてのロール",
|
|
2297
|
+
allStatus: "すべての状態",
|
|
2298
|
+
allSources: "すべてのソース",
|
|
2299
|
+
noMembers: "メンバーが見つかりません",
|
|
2300
|
+
noMembersHint: "検索条件やフィルターを変えてみてください。",
|
|
2301
|
+
loadFailed: "メンバーを読み込めませんでした",
|
|
2302
|
+
aggregatedHint: "メンバーのロールを管理するには、特定のインスタンスを選択してください。",
|
|
2303
|
+
col: {
|
|
2304
|
+
member: "メンバー",
|
|
2305
|
+
role: "ロール",
|
|
2306
|
+
instance: "インスタンス",
|
|
2307
|
+
source: "ソース",
|
|
2308
|
+
status: "状態",
|
|
2309
|
+
joined: "参加日時",
|
|
2310
|
+
registeredFrom: "登録元",
|
|
2311
|
+
lastLoginFrom: "最終ログイン元",
|
|
2312
|
+
},
|
|
2313
|
+
detail: "メンバー詳細",
|
|
2314
|
+
detailRole: "ロール",
|
|
2315
|
+
detailStatus: "状態",
|
|
2316
|
+
detailSource: "ソース",
|
|
2317
|
+
detailEmail: "メール",
|
|
2318
|
+
detailInvitedBy: "招待者",
|
|
2319
|
+
detailJoined: "参加日時",
|
|
2320
|
+
detailLastLogin: "最終ログイン",
|
|
2321
|
+
detailRegisteredFrom: "登録元",
|
|
2322
|
+
detailLastLoginFrom: "最終ログイン元",
|
|
2323
|
+
detailPasskeys: "Passkey",
|
|
2324
|
+
detailConnectedAccounts: "連携アカウント",
|
|
2325
|
+
changeRole: "ロールを変更",
|
|
2326
|
+
changeRoleFor: "{name} のロールを変更",
|
|
2327
|
+
adminDesc: "管理者 — メンバーと招待を管理できます",
|
|
2328
|
+
memberDesc: "メンバー — 認証済みのアクセスのみ",
|
|
2329
|
+
guestDesc: "ゲスト — 制限付きアクセス",
|
|
2330
|
+
roleUpdated: "ロールを更新しました",
|
|
2331
|
+
block: "ブロック",
|
|
2332
|
+
blockTitle: "メンバーをブロック",
|
|
2333
|
+
blockMsg: "{name} をブロックしますか?このユーザーはログアウトされ、解除されるまでポータルにアクセスできません。",
|
|
2334
|
+
blockBtn: "ユーザーをブロック",
|
|
2335
|
+
blockSuccess: "メンバーをブロックしました",
|
|
2336
|
+
unblock: "ブロック解除",
|
|
2337
|
+
unblockTitle: "メンバーのブロックを解除",
|
|
2338
|
+
unblockMsg: "{name} のブロックを解除しますか?ポータルへのアクセスが戻ります。",
|
|
2339
|
+
unblockSuccess: "メンバーのブロックを解除しました",
|
|
2340
|
+
remove: "削除",
|
|
2341
|
+
removeTitle: "メンバーを削除",
|
|
2342
|
+
removeMsg: "{name} を削除しますか?アクセスできなくなり、アカウントも削除されます。",
|
|
2343
|
+
removeSuccess: "メンバーを削除しました",
|
|
2344
|
+
transfer: "所有権の譲渡",
|
|
2345
|
+
transferDesc: "所有権を別のメンバーに譲渡します。ご自身のロールは管理者になります。",
|
|
2346
|
+
transferSelect: "メンバーを選択...",
|
|
2347
|
+
transferBtn: "所有権を譲渡",
|
|
2348
|
+
transferTitle: "所有権の譲渡",
|
|
2349
|
+
transferMsg: "所有権を {name} に譲渡しますか?ご自身のロールは管理者になり、この操作は取り消せません。",
|
|
2350
|
+
transferConfirm: "譲渡",
|
|
2351
|
+
transferSuccess: "所有権を譲渡しました",
|
|
2352
|
+
selectMemberFirst: "先にメンバーを選択してください",
|
|
2353
|
+
providers: {
|
|
2354
|
+
wallet: "DID Wallet",
|
|
2355
|
+
passkey: "Passkey",
|
|
2356
|
+
email: "メール",
|
|
2357
|
+
google: "Google",
|
|
2358
|
+
github: "GitHub",
|
|
2359
|
+
apple: "Apple",
|
|
2360
|
+
twitter: "Twitter",
|
|
2361
|
+
facebook: "Facebook",
|
|
2362
|
+
auth0: "Auth0",
|
|
2363
|
+
},
|
|
2364
|
+
},
|
|
2365
|
+
invitations: {
|
|
2366
|
+
title: "招待",
|
|
2367
|
+
desc: "招待リンクを作成して、チームに新しいメンバーを追加します。",
|
|
2368
|
+
create: "招待を作成",
|
|
2369
|
+
createDesc: "新しいメンバー向けの招待リンクを作成します。",
|
|
2370
|
+
createBtn: "作成してリンクをコピー",
|
|
2371
|
+
role: "ロール",
|
|
2372
|
+
remark: "メモ(任意)",
|
|
2373
|
+
remarkPlaceholder: "例:デザインチーム向け",
|
|
2374
|
+
charCount: "/100 文字",
|
|
2375
|
+
expiresIn: "有効期限",
|
|
2376
|
+
maxUses: "最大使用回数",
|
|
2377
|
+
day1: "1日",
|
|
2378
|
+
days7: "7日",
|
|
2379
|
+
days30: "30日",
|
|
2380
|
+
col: {
|
|
2381
|
+
role: "ロール",
|
|
2382
|
+
remark: "メモ",
|
|
2383
|
+
uses: "使用回数",
|
|
2384
|
+
expires: "有効期限",
|
|
2385
|
+
createdBy: "作成者",
|
|
2386
|
+
},
|
|
2387
|
+
closed: "終了",
|
|
2388
|
+
noRemark: "—",
|
|
2389
|
+
copyLink: "リンクをコピー",
|
|
2390
|
+
noInvitations: "招待はまだありません",
|
|
2391
|
+
noInvitationsHint: "招待を作成して、新しいメンバーを追加してください。",
|
|
2392
|
+
loadFailed: "招待を読み込めませんでした",
|
|
2393
|
+
created: "招待を作成しました",
|
|
2394
|
+
deleteTitle: "招待を削除",
|
|
2395
|
+
deleteMsg: "この招待を削除しますか?リンクは使えなくなります。",
|
|
2396
|
+
deleted: "招待を削除しました",
|
|
2397
|
+
},
|
|
2398
|
+
audit: {
|
|
2399
|
+
title: "監査ログ",
|
|
2400
|
+
desc: "チーム内で行われた操作を確認します。",
|
|
2401
|
+
allActions: "すべての操作",
|
|
2402
|
+
refresh: "更新",
|
|
2403
|
+
col: {
|
|
2404
|
+
time: "時刻",
|
|
2405
|
+
action: "操作",
|
|
2406
|
+
operator: "操作者",
|
|
2407
|
+
target: "対象",
|
|
2408
|
+
},
|
|
2409
|
+
noLogs: "監査ログはありません",
|
|
2410
|
+
noLogsHint: "操作が行われると、ここに記録されます。",
|
|
2411
|
+
loadFailed: "監査ログを読み込めませんでした",
|
|
2412
|
+
groups: {
|
|
2413
|
+
user: "ユーザー",
|
|
2414
|
+
invitation: "招待",
|
|
2415
|
+
oauth: "OAuth",
|
|
2416
|
+
accessKey: "アクセスキー",
|
|
2417
|
+
membership: "メンバーシップ",
|
|
2418
|
+
passkey: "Passkey",
|
|
2419
|
+
accessPolicy: "アクセスポリシー",
|
|
2420
|
+
securityRule: "セキュリティルール",
|
|
2421
|
+
settings: "設定",
|
|
2422
|
+
merge: "アカウント統合",
|
|
2423
|
+
},
|
|
2424
|
+
actions: {
|
|
2425
|
+
register: "登録",
|
|
2426
|
+
login: "ログイン",
|
|
2427
|
+
acceptInvitation: "招待を承諾",
|
|
2428
|
+
removeMember: "メンバーを削除",
|
|
2429
|
+
blockMember: "メンバーをブロック",
|
|
2430
|
+
unblockMember: "ブロックを解除",
|
|
2431
|
+
roleChange: "ロール変更",
|
|
2432
|
+
transferOwnership: "所有権を譲渡",
|
|
2433
|
+
profileUpdate: "プロフィールを更新",
|
|
2434
|
+
avatarUpdate: "アバターを更新",
|
|
2435
|
+
avatarDelete: "アバターを削除",
|
|
2436
|
+
emailChange: "メールを変更",
|
|
2437
|
+
registerBlocked: "登録を拒否",
|
|
2438
|
+
createInvitation: "招待を作成",
|
|
2439
|
+
deleteInvitation: "招待を削除",
|
|
2440
|
+
oauthBind: "OAuth アカウントを連携",
|
|
2441
|
+
oauthUnbind: "OAuth アカウントの連携を解除",
|
|
2442
|
+
accessKeyCreate: "アクセスキーを作成",
|
|
2443
|
+
accessKeyUpdate: "アクセスキーを更新",
|
|
2444
|
+
accessKeyDelete: "アクセスキーを削除",
|
|
2445
|
+
membershipCreate: "メンバーを追加",
|
|
2446
|
+
membershipUpdateRole: "メンバーのロールを更新",
|
|
2447
|
+
membershipRemove: "メンバーを削除",
|
|
2448
|
+
passkeyConnect: "Passkey を連携",
|
|
2449
|
+
passkeyDisconnect: "Passkey の連携を解除",
|
|
2450
|
+
accessPolicyCreate: "アクセスポリシーを作成",
|
|
2451
|
+
accessPolicyUpdate: "アクセスポリシーを更新",
|
|
2452
|
+
accessPolicyDelete: "アクセスポリシーを削除",
|
|
2453
|
+
securityRuleCreate: "セキュリティルールを作成",
|
|
2454
|
+
securityRuleUpdate: "セキュリティルールを更新",
|
|
2455
|
+
securityRuleDelete: "セキュリティルールを削除",
|
|
2456
|
+
settingsOauthUpdate: "OAuth 設定を更新",
|
|
2457
|
+
settingsOauthDelete: "OAuth 設定を削除",
|
|
2458
|
+
settingsBuiltinProvidersUpdate: "組み込みのログイン方法を更新",
|
|
2459
|
+
settingsSessionUpdate: "セッション設定を更新",
|
|
2460
|
+
settingsEmailUpdate: "メール設定を更新",
|
|
2461
|
+
mergeStart: "アカウント統合を開始",
|
|
2462
|
+
mergeProof: "アカウント統合を証明",
|
|
2463
|
+
mergeDryRun: "アカウント統合をプレビュー",
|
|
2464
|
+
mergeCommit: "アカウント統合を確定",
|
|
2465
|
+
mergeRollback: "アカウント統合をロールバック",
|
|
2466
|
+
},
|
|
2467
|
+
},
|
|
2468
|
+
accessKeys: {
|
|
2469
|
+
title: "アクセスキー",
|
|
2470
|
+
desc: "プログラムからのアクセス(CI/CD、スクリプト、CLI)に使う API アクセスキーを管理します。",
|
|
2471
|
+
search: "メモまたは ID で検索...",
|
|
2472
|
+
createKey: "+ キーを作成",
|
|
2473
|
+
col: {
|
|
2474
|
+
keyId: "キー ID",
|
|
2475
|
+
role: "ロール",
|
|
2476
|
+
remark: "メモ",
|
|
2477
|
+
createdBy: "作成者",
|
|
2478
|
+
expires: "有効期限",
|
|
2479
|
+
lastUsed: "最終使用",
|
|
2480
|
+
},
|
|
2481
|
+
noKeys: "アクセスキーはありません",
|
|
2482
|
+
noKeysHint: "プログラムから API にアクセスするアクセスキーを作成してください。",
|
|
2483
|
+
loadFailed: "アクセスキーを読み込めませんでした",
|
|
2484
|
+
createTitle: "アクセスキーを作成",
|
|
2485
|
+
editTitle: "アクセスキーを編集",
|
|
2486
|
+
role: "ロール",
|
|
2487
|
+
remark: "メモ",
|
|
2488
|
+
remarkPlaceholder: "例:CI デプロイ",
|
|
2489
|
+
expiration: "有効期限",
|
|
2490
|
+
neverExpires: "無期限",
|
|
2491
|
+
customDate: "日付を指定",
|
|
2492
|
+
selectExpDate: "有効期限の日付を選択してください",
|
|
2493
|
+
expirations: {
|
|
2494
|
+
never: "無期限",
|
|
2495
|
+
days7: "7日",
|
|
2496
|
+
days30: "30日",
|
|
2497
|
+
days90: "90日",
|
|
2498
|
+
custom: "カスタム...",
|
|
2499
|
+
},
|
|
2500
|
+
secretTitle: "アクセスキーを作成しました",
|
|
2501
|
+
secretWarning: "このシークレットは一度しか表示されません。今すぐコピーしてください。",
|
|
2502
|
+
usage: "連携方法",
|
|
2503
|
+
tabCurl: "cURL",
|
|
2504
|
+
tabClaude: "Claude Code",
|
|
2505
|
+
tabCodex: "Codex CLI",
|
|
2506
|
+
tabCursor: "Cursor",
|
|
2507
|
+
addToConfig: "{file} に追加します:",
|
|
2508
|
+
done: "完了",
|
|
2509
|
+
keyUpdated: "キーを更新しました",
|
|
2510
|
+
keyDeleted: "キーを削除しました",
|
|
2511
|
+
deleteTitle: "アクセスキーを削除",
|
|
2512
|
+
deleteMsg: "アクセスキー {label} を削除しますか?",
|
|
2513
|
+
deleteWarning: "この操作は取り消せません。このキーを使うシステムはアクセスできなくなります。",
|
|
2514
|
+
loadKeyFailed: "キーの詳細を読み込めませんでした",
|
|
2515
|
+
createFailed: "キーを作成できませんでした",
|
|
2516
|
+
updateFailed: "キーを更新できませんでした",
|
|
2517
|
+
},
|
|
2518
|
+
access: {
|
|
2519
|
+
title: "アクセス制御",
|
|
2520
|
+
desc: "ポータルにアクセスできる人と、新規ユーザーの登録を制御します。",
|
|
2521
|
+
defaultLabel: "デフォルト",
|
|
2522
|
+
policies: "アクセスポリシー",
|
|
2523
|
+
builtinPolicies: "組み込みポリシー",
|
|
2524
|
+
customPolicies: "カスタムポリシー",
|
|
2525
|
+
customPoliciesDesc: "ロールの許可リストまたは拒否リストを使ったカスタムポリシーを作成し、パス単位の詳細なルールに使います。",
|
|
2526
|
+
addPolicy: "+ ポリシーを追加",
|
|
2527
|
+
noCustomPolicies: "カスタムポリシーはありません",
|
|
2528
|
+
rules: "アクセスルール",
|
|
2529
|
+
rulesDesc: "ルールは優先度順に評価されます。他のルールに一致しない場合は、デフォルトルールが適用されます。",
|
|
2530
|
+
addRule: "+ ルールを追加",
|
|
2531
|
+
policyTitle: "カスタムポリシーを追加",
|
|
2532
|
+
editPolicyTitle: "カスタムポリシーを編集",
|
|
2533
|
+
ruleTitle: "パスルールを追加",
|
|
2534
|
+
editRuleTitle: "パスルールを編集",
|
|
2535
|
+
name: "名前",
|
|
2536
|
+
namePlaceholder: "例:VIP のみ",
|
|
2537
|
+
accessType: "アクセス種別",
|
|
2538
|
+
description: "説明",
|
|
2539
|
+
roles: "ロール",
|
|
2540
|
+
urlPattern: "URL パターン",
|
|
2541
|
+
patternPlaceholder: "/admin/**",
|
|
2542
|
+
patternHint: "Glob:* = 1 セグメント、** = 任意の深さ",
|
|
2543
|
+
accessPolicy: "アクセスポリシー",
|
|
2544
|
+
priority: "優先度",
|
|
2545
|
+
priorityHint: "数字が小さいほど優先度が高くなります",
|
|
2546
|
+
notes: "メモ",
|
|
2547
|
+
notesPlaceholder: "任意の説明",
|
|
2548
|
+
noPolicies: "ポリシーはありません",
|
|
2549
|
+
noRules: "カスタムルールはありません。デフォルトルールがすべてのパスに適用されます。",
|
|
2550
|
+
nameRequired: "名前は必須です",
|
|
2551
|
+
roleRequired: "ロールを 1 つ以上選択してください",
|
|
2552
|
+
patternRequired: "URL パターンは必須です",
|
|
2553
|
+
policySaved: "ポリシーを保存しました",
|
|
2554
|
+
policyDeleted: "ポリシーを削除しました",
|
|
2555
|
+
clickToEnable: "クリックして有効化",
|
|
2556
|
+
clickToDisable: "クリックして無効化",
|
|
2557
|
+
ruleSaved: "ルールを保存しました",
|
|
2558
|
+
ruleDeleted: "ルールを削除しました",
|
|
2559
|
+
deletePolicy: "ポリシーを削除",
|
|
2560
|
+
deletePolicyMsg: "このポリシーは完全に削除されます。",
|
|
2561
|
+
deleteRule: "ルールを削除",
|
|
2562
|
+
deleteRuleMsg: "このルールは完全に削除されます。",
|
|
2563
|
+
types: {
|
|
2564
|
+
public: "全員(ログイン不要)",
|
|
2565
|
+
invited: "ログイン済みのユーザー",
|
|
2566
|
+
owner: "オーナーのみ",
|
|
2567
|
+
admin: "オーナーと管理者",
|
|
2568
|
+
roles: "選択したロールのみ",
|
|
2569
|
+
rolesReverse: "選択したロール以外の全員",
|
|
2570
|
+
},
|
|
2571
|
+
typeLabels: {
|
|
2572
|
+
public: "全員",
|
|
2573
|
+
invited: "ログイン済みユーザー",
|
|
2574
|
+
owner: "オーナーのみ",
|
|
2575
|
+
admin: "オーナー + 管理者",
|
|
2576
|
+
roles: "選択したロール",
|
|
2577
|
+
rolesReverse: "選択したロール以外",
|
|
2578
|
+
},
|
|
2579
|
+
typeDescs: {
|
|
2580
|
+
public: "ログインしなくても誰でもアクセスできます。新規ユーザーは自由に登録できます。",
|
|
2581
|
+
invited: "ログイン済みのユーザーだけがアクセスできます。新規ユーザーの登録には招待が必要です。",
|
|
2582
|
+
admin: "オーナーと管理者だけがアクセスできます。新規ユーザーの登録には招待が必要です。",
|
|
2583
|
+
owner: "オーナーだけがアクセスできます。新規ユーザーの登録には招待が必要です。",
|
|
2584
|
+
},
|
|
2585
|
+
},
|
|
2586
|
+
settings: {
|
|
2587
|
+
title: "認証設定",
|
|
2588
|
+
desc: "認証プロバイダー、セッション、メールの設定を管理します。",
|
|
2589
|
+
oauth: "OAuth プロバイダー",
|
|
2590
|
+
addProvider: "+ プロバイダーを追加",
|
|
2591
|
+
builtin: "ログイン方法",
|
|
2592
|
+
builtinDesc: "組み込みのログイン方法を有効または無効にします。",
|
|
2593
|
+
passkey: "Passkey",
|
|
2594
|
+
email: "メール",
|
|
2595
|
+
emailNeedsConfig: "(先にメールサービスを設定してください)",
|
|
2596
|
+
didWallet: "DID Wallet",
|
|
2597
|
+
session: "セッション",
|
|
2598
|
+
sessionDesc: "ログインセッションが切れるまでの日数です。",
|
|
2599
|
+
jwtLifetime: "{days} 日",
|
|
2600
|
+
emailResend: "メールサービス(Resend)",
|
|
2601
|
+
emailResendDesc: "メールログインを有効にするときに必要です。確認コードを送る Resend アカウントを設定してください。",
|
|
2602
|
+
resendApiKey: "Resend API Key",
|
|
2603
|
+
fromAddress: "送信元アドレス",
|
|
2604
|
+
fromPlaceholder: "noreply@example.com",
|
|
2605
|
+
apiKeyPlaceholder: "re_...",
|
|
2606
|
+
noOAuth: "OAuth プロバイダーは未設定です",
|
|
2607
|
+
addOAuthTitle: "OAuth プロバイダーを追加",
|
|
2608
|
+
editOAuthTitle: "OAuth プロバイダーを編集",
|
|
2609
|
+
provider: "プロバイダー",
|
|
2610
|
+
added: "追加済み",
|
|
2611
|
+
clientId: "Client ID",
|
|
2612
|
+
clientSecret: "Client Secret",
|
|
2613
|
+
enabled: "有効",
|
|
2614
|
+
sortOrder: "並び順",
|
|
2615
|
+
callbackUrl: "コールバック URL",
|
|
2616
|
+
teamId: "Team ID",
|
|
2617
|
+
keyId: "Key ID",
|
|
2618
|
+
privateKey: "Private Key",
|
|
2619
|
+
serviceId: "Service ID",
|
|
2620
|
+
bundleId: "Bundle ID",
|
|
2621
|
+
domain: "ドメイン",
|
|
2622
|
+
domainPlaceholder: "your-tenant.auth0.com",
|
|
2623
|
+
oauthSaved: "OAuth プロバイダーを保存しました",
|
|
2624
|
+
sessionSaved: "セッション設定を保存しました",
|
|
2625
|
+
emailSaved: "メール設定を保存しました",
|
|
2626
|
+
providerDeleted: "プロバイダーを削除しました",
|
|
2627
|
+
deleteProvider: "{name} を削除しますか?",
|
|
2628
|
+
deleteProviderMsg: "この OAuth プロバイダーの設定を削除します。",
|
|
2629
|
+
saved: "保存しました",
|
|
2630
|
+
},
|
|
2631
|
+
federation: {
|
|
2632
|
+
title: "統合ログイン",
|
|
2633
|
+
desc: "複数のサイトを統合ログインのグループにまとめます。ユーザーは一度認証すれば、参加サイトのあいだで同じ ID を使えます。",
|
|
2634
|
+
enableMaster: "マスターとして有効化",
|
|
2635
|
+
enableMasterDesc: "このサイトを ID の権威にします。OAuth とメールのユーザーは、このサイトの鍵で DID を派生します。",
|
|
2636
|
+
enableConfirm: "このサイトを統合ログインのマスターにしますか?",
|
|
2637
|
+
joinMember: "メンバーとして参加",
|
|
2638
|
+
joinDesc: "参加するマスターサイトの URL を入力してください。",
|
|
2639
|
+
masterUrl: "マスターサイト URL",
|
|
2640
|
+
masterUrlPlaceholder: "https://master-site.example.com",
|
|
2641
|
+
targetNotEnabled: "対象サイトでは統合ログインが有効になっていません。",
|
|
2642
|
+
refresh: "更新",
|
|
2643
|
+
currentSite: "現在",
|
|
2644
|
+
masterSite: "マスターサイト",
|
|
2645
|
+
masterDesc: "このサイトはグループの ID の権威です。",
|
|
2646
|
+
delegatedTo: "ID の委任先マスター:",
|
|
2647
|
+
delegationMissing: "未生成",
|
|
2648
|
+
sites: "サイト",
|
|
2649
|
+
siteUrl: "サイト URL",
|
|
2650
|
+
master: "マスター",
|
|
2651
|
+
member: "メンバーサイト",
|
|
2652
|
+
pending: "承認待ち",
|
|
2653
|
+
pendingApproval: "参加リクエストを送信しました",
|
|
2654
|
+
pendingDesc: "参加リクエストを送信しました。マスターサイトの承認を待っています。",
|
|
2655
|
+
approve: "承認",
|
|
2656
|
+
approved: "承認済み",
|
|
2657
|
+
reject: "拒否",
|
|
2658
|
+
rejectTitle: "参加リクエストを拒否しますか?",
|
|
2659
|
+
rejectDesc: "リクエストしたサイトは削除されます。あとから再度リクエストできます。",
|
|
2660
|
+
enable: "有効化",
|
|
2661
|
+
disable: "無効化",
|
|
2662
|
+
unbind: "連携解除",
|
|
2663
|
+
unbindTitle: "サイトの連携を解除しますか?",
|
|
2664
|
+
unbindDesc: "このサイトは統合ログインから外れます。このサイトの OAuth とメールのユーザーは、次回ログイン時に新しい ID になります。",
|
|
2665
|
+
remove: "削除",
|
|
2666
|
+
removeTitle: "サイトを削除しますか?",
|
|
2667
|
+
removeDesc: "このサイトの OAuth とメールのユーザーは、次回ログイン時に新しい ID になります。",
|
|
2668
|
+
delegation: "アプリ ID の認可",
|
|
2669
|
+
delegationDesc: "メンバーサイトは、ユーザーが DID Wallet で QR コードをスキャンしたときに、この認可でアプリの ID を表示します。",
|
|
2670
|
+
generated: "認可済み",
|
|
2671
|
+
regenerate: "更新",
|
|
2672
|
+
disband: "統合ログインを解散",
|
|
2673
|
+
disbandTitle: "統合ログインを解散しますか?",
|
|
2674
|
+
disbandDesc: "すべてのメンバーサイトは単独ログインに戻ります。各サイトの OAuth とメールのユーザーは、次回ログイン時に新しい ID になります。",
|
|
2675
|
+
leave: "統合ログインから退出",
|
|
2676
|
+
leaveTitle: "統合ログインから退出しますか?",
|
|
2677
|
+
leaveDesc: "このサイトは単独ログインに戻ります。OAuth とメールのユーザーは、次回ログイン時に新しい ID になります。",
|
|
2678
|
+
disableTitle: "統合ログインを無効にしますか?",
|
|
2679
|
+
disableDesc: "OAuth またはメールでログインしたユーザーは、次回ログイン時に新しい ID になります。",
|
|
2680
|
+
sessionWarning: "現在のセッションは期限まで有効です。",
|
|
2681
|
+
walletSafe: "DID Wallet と Passkey のユーザーには影響ありません。",
|
|
2682
|
+
enabled: "有効",
|
|
2683
|
+
disabled: "無効",
|
|
2684
|
+
aliases: "エイリアスドメイン",
|
|
2685
|
+
noAliases: "エイリアスドメインは未設定です",
|
|
2686
|
+
},
|
|
2687
|
+
branding: {
|
|
2688
|
+
title: "ブランディング",
|
|
2689
|
+
desc: "アプリの識別情報、ロゴ、言語のサポートを管理します。",
|
|
2690
|
+
appInfo: "アプリ情報",
|
|
2691
|
+
name: "名前",
|
|
2692
|
+
namePlaceholder: "アプリ名",
|
|
2693
|
+
description: "説明",
|
|
2694
|
+
descPlaceholder: "アプリの説明",
|
|
2695
|
+
url: "URL",
|
|
2696
|
+
urlPlaceholder: "https://example.com",
|
|
2697
|
+
passportColor: "パスポートの色",
|
|
2698
|
+
copyrightOwner: "著作権者",
|
|
2699
|
+
copyrightOwnerPlaceholder: "会社名",
|
|
2700
|
+
copyrightYear: "著作権の年",
|
|
2701
|
+
copyrightYearPlaceholder: "2024",
|
|
2702
|
+
logos: "ロゴ",
|
|
2703
|
+
logoTypes: {
|
|
2704
|
+
square: "正方形",
|
|
2705
|
+
squareDark: "正方形(ダーク)",
|
|
2706
|
+
rect: "長方形",
|
|
2707
|
+
rectDark: "長方形(ダーク)",
|
|
2708
|
+
favicon: "Favicon",
|
|
2709
|
+
ogImage: "OG 画像",
|
|
2710
|
+
splashPortrait: "スプラッシュ(縦)",
|
|
2711
|
+
splashLandscape: "スプラッシュ(横)",
|
|
2712
|
+
},
|
|
2713
|
+
languages: "言語",
|
|
2714
|
+
updated: "ブランディングを更新しました",
|
|
2715
|
+
logoUploaded: "ロゴをアップロードしました",
|
|
2716
|
+
logoDeleted: "ロゴを削除しました",
|
|
2717
|
+
deleteLogo: "このロゴを削除しますか?",
|
|
2718
|
+
uploadError: "アップロードエラー",
|
|
2719
|
+
deleteFailed: "ロゴを削除できませんでした",
|
|
2720
|
+
languagesUpdated: "言語を更新しました",
|
|
2721
|
+
updateFailed: "ブランディングを更新できませんでした",
|
|
2722
|
+
langUpdateFailed: "言語を更新できませんでした",
|
|
2723
|
+
cropTitle: "画像を切り抜く",
|
|
2724
|
+
cropConfirm: "アップロード",
|
|
2725
|
+
cropCancel: "キャンセル",
|
|
2726
|
+
fileTooLarge: "ファイルは 5MB 未満にしてください",
|
|
2727
|
+
invalidFormat: "サポートする形式:PNG、JPG、WebP、SVG",
|
|
2728
|
+
cropperLoadFailed: "画像エディタを読み込めなかったため、元の画像をアップロードします",
|
|
2729
|
+
discardChanges: "変更を破棄",
|
|
2730
|
+
saveConfig: "設定を保存",
|
|
2731
|
+
draftHint: "変更はすべてローカルの下書きです。",
|
|
2732
|
+
langSection: "サポートする言語",
|
|
2733
|
+
langCategory: "ローカライズ",
|
|
2734
|
+
langDesc: "使用箇所:訪問者の言語選択",
|
|
2735
|
+
accentSection: "パスポートのアクセントカラー",
|
|
2736
|
+
accentCategory: "UI のカスタマイズ",
|
|
2737
|
+
infoSection: "基本情報",
|
|
2738
|
+
infoCategory: "メタデータ",
|
|
2739
|
+
infoDesc: "SEO、OpenGraph、ブラウザのタブ表示に使う識別情報です。",
|
|
2740
|
+
nameHint: "使用箇所:DID Connect のヘッダー、ブラウザのタブ、サイトのフッター、SEO と OpenGraph のメタデータ",
|
|
2741
|
+
urlHint: "使用箇所:サイトマップとソーシャル共有",
|
|
2742
|
+
descHint: "使用箇所:SEO のメタデータ、OpenGraph のメタデータ、スプラッシュの読み込み画面",
|
|
2743
|
+
assetsSection: "ブランドアセット",
|
|
2744
|
+
assetsCategory: "ビジュアル素材",
|
|
2745
|
+
logoSquareHint: "PNG, SVG · 512×512px",
|
|
2746
|
+
logoRectHint: "PNG · 400×120px",
|
|
2747
|
+
logoFaviconHint: "ICO, PNG · 32×32px",
|
|
2748
|
+
splashPortraitHint: "アスペクト比 9:16",
|
|
2749
|
+
splashLandscapeHint: "アスペクト比 16:9",
|
|
2750
|
+
ogImageHint: "1200×630px JPG/PNG",
|
|
2751
|
+
logoSquareDesc: "使用箇所:認証ダイアログのフッターと DID Wallet のアプリ一覧",
|
|
2752
|
+
logoRectDesc: "使用箇所:サイトのヘッダーとフッター。未設定のときはアプリのロゴに戻ります",
|
|
2753
|
+
logoFaviconDesc: "使用箇所:ブラウザのアドレスバーとタブ",
|
|
2754
|
+
splashDesc: "ArcSphere アプリの起動画面にのみ表示されます",
|
|
2755
|
+
ogImageDesc: "使用箇所:ソーシャルメディア共有時の背景",
|
|
2756
|
+
copyrightSection: "権利情報",
|
|
2757
|
+
copyrightHint: "使用箇所:サイトのフッター",
|
|
2758
|
+
appleSection: "Apple アプリの関連付け",
|
|
2759
|
+
appleDesc: "Passkey(webcredentials)の関連付け用に、iOS アプリの識別子を設定します。",
|
|
2760
|
+
appleAppIds: "アプリ識別子",
|
|
2761
|
+
appleAppIdsHint: "Apple のアプリ識別子をカンマ区切りで入力します。例:K4NSWQ8457.com.example.app",
|
|
2762
|
+
appleAppIdsPlaceholder: "TeamID.BundleID, TeamID.BundleID2",
|
|
2763
|
+
replace: "置き換え",
|
|
2764
|
+
removeLogo: "削除",
|
|
2765
|
+
accentHint: "この色は、生体認証のプロンプトと安全な認証 UI に使われます。",
|
|
2766
|
+
langEn: "英語",
|
|
2767
|
+
langZh: "簡体字中国語",
|
|
2768
|
+
langRequired: "少なくとも1つの言語が必要です",
|
|
2769
|
+
logoAppLight: "アプリのロゴ",
|
|
2770
|
+
logoAppDark: "アプリのロゴ",
|
|
2771
|
+
logoWebLight: "Web ロゴ",
|
|
2772
|
+
logoWebDark: "Web ロゴ",
|
|
2773
|
+
logoFavicon: "ファビコン",
|
|
2774
|
+
logoSplashP: "スプラッシュ画面",
|
|
2775
|
+
logoSplashL: "スプラッシュ画面",
|
|
2776
|
+
logoOg: "Open Graph",
|
|
2777
|
+
subLight: "ライトテーマ",
|
|
2778
|
+
subDark: "ダークテーマ",
|
|
2779
|
+
subBrowser: "ブラウザアイコン",
|
|
2780
|
+
subPortrait: "ArcSphere 縦向き",
|
|
2781
|
+
subLandscape: "ArcSphere 横向き",
|
|
2782
|
+
subSocial: "ソーシャルプレビュー",
|
|
2783
|
+
},
|
|
2784
|
+
appearance: {
|
|
2785
|
+
title: "外観",
|
|
2786
|
+
desc: "テーマカラーとナビゲーションリンクをカスタマイズします。",
|
|
2787
|
+
theme: "テーマ",
|
|
2788
|
+
mode: "モード",
|
|
2789
|
+
system: "システム",
|
|
2790
|
+
light: "ライト",
|
|
2791
|
+
dark: "ダーク",
|
|
2792
|
+
lightMode: "ライトモード",
|
|
2793
|
+
darkMode: "ダークモード",
|
|
2794
|
+
primary: "プライマリ",
|
|
2795
|
+
secondary: "セカンダリ",
|
|
2796
|
+
background: "背景",
|
|
2797
|
+
text: "テキスト",
|
|
2798
|
+
advanced: "詳細:テーマ JSON を編集",
|
|
2799
|
+
lockTheme: "テーマをロック(編集不可)",
|
|
2800
|
+
navigation: "ナビゲーション",
|
|
2801
|
+
addItem: "+ 項目を追加",
|
|
2802
|
+
noNavItems: "ナビゲーション項目はありません。",
|
|
2803
|
+
up: "上へ",
|
|
2804
|
+
down: "下へ",
|
|
2805
|
+
themeUpdated: "テーマを更新しました",
|
|
2806
|
+
navUpdated: "ナビゲーションを更新しました",
|
|
2807
|
+
invalidJson: "テーマエディタの JSON が無効です",
|
|
2808
|
+
navTitlePrompt: "タイトル:",
|
|
2809
|
+
navLinkPrompt: "リンク(URL):",
|
|
2810
|
+
deleteNavItem: "このナビゲーション項目を削除しますか?",
|
|
2811
|
+
},
|
|
2812
|
+
};
|
|
2813
|
+
const dictionaries = { en, zh, "zh-TW": zhTW, ja };
|
|
1410
2814
|
/**
|
|
1411
2815
|
* Flatten a nested message object into dot-path keys.
|
|
1412
2816
|
*
|
|
@@ -1431,7 +2835,8 @@ export function flattenMessages(obj, prefix = "") {
|
|
|
1431
2835
|
/** Pre-flattened caches keyed by locale. */
|
|
1432
2836
|
const flatCache = {};
|
|
1433
2837
|
function getFlatMessages(locale) {
|
|
1434
|
-
|
|
2838
|
+
// Exact internal code. zh-TW must not match zh; unknown codes use en.
|
|
2839
|
+
const lang = Object.hasOwn(dictionaries, locale) ? locale : "en";
|
|
1435
2840
|
if (!flatCache[lang]) {
|
|
1436
2841
|
flatCache[lang] = flattenMessages(dictionaries[lang]);
|
|
1437
2842
|
}
|