@oxy.so/core 4.5.0-oxy-one.1 → 4.5.0
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/README.md +1 -1
- package/dist/cjs/HttpService.js +63 -19
- package/dist/cjs/api/accounts.js +10 -3
- package/dist/cjs/api/agency.js +3 -1
- package/dist/cjs/api/apps.js +15 -4
- package/dist/cjs/api/assets.js +39 -11
- package/dist/cjs/api/auth.js +28 -8
- package/dist/cjs/api/billing.js +24 -7
- package/dist/cjs/api/civic.js +14 -4
- package/dist/cjs/api/follows.js +9 -2
- package/dist/cjs/api/identity.js +31 -9
- package/dist/cjs/api/nodes.js +3 -1
- package/dist/cjs/api/privacy.js +8 -2
- package/dist/cjs/api/session.js +15 -4
- package/dist/cjs/api/store.js +15 -5
- package/dist/cjs/api/topics.js +10 -3
- package/dist/cjs/api/users.js +16 -4
- package/dist/cjs/boot/sessionColdBoot.js +40 -13
- package/dist/cjs/constants/version.js +6 -6
- package/dist/cjs/crypto/identityMarker.js +3 -1
- package/dist/cjs/crypto/identityProof.js +6 -1
- package/dist/cjs/crypto/keyManager.js +87 -32
- package/dist/cjs/crypto/recoveryPhrase.js +2 -2
- package/dist/cjs/crypto/signatureService.js +3 -4
- package/dist/cjs/i18n/index.js +16 -3
- package/dist/cjs/i18n/locales/ar-SA.js +366 -366
- package/dist/cjs/i18n/locales/ca-ES.js +366 -366
- package/dist/cjs/i18n/locales/de-DE.js +366 -366
- package/dist/cjs/i18n/locales/en-US.js +1994 -1994
- package/dist/cjs/i18n/locales/es-ES.js +1994 -1994
- package/dist/cjs/i18n/locales/fr-FR.js +366 -366
- package/dist/cjs/i18n/locales/it-IT.js +366 -366
- package/dist/cjs/i18n/locales/ja-JP.js +366 -366
- package/dist/cjs/i18n/locales/ko-KR.js +366 -366
- package/dist/cjs/i18n/locales/pt-PT.js +366 -366
- package/dist/cjs/i18n/locales/zh-CN.js +366 -366
- package/dist/cjs/inference/OxyInferenceClient.js +12 -18
- package/dist/cjs/models/interfaces.js +11 -11
- package/dist/cjs/server/OxyServer.js +86 -28
- package/dist/cjs/server/agentAccount.js +6 -2
- package/dist/cjs/server/aliaMachineCredential.js +39 -14
- package/dist/cjs/server/auth.js +5 -4
- package/dist/cjs/server/capabilityTicket.js +5 -5
- package/dist/cjs/server/index.js +2 -1
- package/dist/cjs/server/liveCapabilityTicket.js +4 -1
- package/dist/cjs/server/middleware.js +61 -42
- package/dist/cjs/server/namespaces.js +28 -7
- package/dist/cjs/server/requesterAssertion.js +36 -30
- package/dist/cjs/server/serviceTokenLifetime.js +7 -4
- package/dist/cjs/server/traffic.js +53 -14
- package/dist/cjs/server/trafficNodeHttp.js +33 -8
- package/dist/cjs/server/workloadIdentity.client.js +4 -0
- package/dist/cjs/server/workloadIdentity.js +28 -1
- package/dist/cjs/session/SessionClient.js +54 -17
- package/dist/cjs/session/accountDelegationAccess.js +4 -6
- package/dist/cjs/session/accountDialogController.js +1 -1
- package/dist/cjs/session/authStateStore.js +18 -9
- package/dist/cjs/session/identityPin.js +6 -2
- package/dist/cjs/session/refresh.js +81 -23
- package/dist/cjs/session/sharedDeviceCredential.js +28 -15
- package/dist/cjs/shared/utils/errorUtils.js +1 -1
- package/dist/cjs/shared/utils/networkUtils.js +1 -1
- package/dist/cjs/shared/utils/themeUtils.js +1 -1
- package/dist/cjs/utils/accountCacheSweep.js +3 -1
- package/dist/cjs/utils/accountUtils.js +1 -3
- package/dist/cjs/utils/asyncUtils.js +1 -1
- package/dist/cjs/utils/authHelpers.js +2 -1
- package/dist/cjs/utils/avatarUtils.js +4 -2
- package/dist/cjs/utils/cache.js +1 -1
- package/dist/cjs/utils/cacheKey.js +3 -1
- package/dist/cjs/utils/deviceManager.js +4 -4
- package/dist/cjs/utils/errorUtils.js +6 -4
- package/dist/cjs/utils/languageUtils.js +404 -57
- package/dist/cjs/utils/profileLinks.js +1 -3
- package/dist/cjs/utils/requestUtils.js +7 -1
- package/dist/cjs/utils/userIdentity.js +1 -1
- package/dist/cjs/utils/validationUtils.js +5 -6
- package/dist/esm/HttpService.js +64 -20
- package/dist/esm/api/accounts.js +11 -4
- package/dist/esm/api/agency.js +3 -1
- package/dist/esm/api/apps.js +15 -4
- package/dist/esm/api/assets.js +39 -11
- package/dist/esm/api/auth.js +28 -8
- package/dist/esm/api/billing.js +25 -8
- package/dist/esm/api/civic.js +14 -4
- package/dist/esm/api/follows.js +9 -2
- package/dist/esm/api/identity.js +31 -9
- package/dist/esm/api/nodes.js +3 -1
- package/dist/esm/api/privacy.js +8 -2
- package/dist/esm/api/session.js +15 -4
- package/dist/esm/api/store.js +15 -5
- package/dist/esm/api/topics.js +10 -3
- package/dist/esm/api/users.js +16 -4
- package/dist/esm/boot/sessionColdBoot.js +41 -14
- package/dist/esm/constants/version.js +6 -6
- package/dist/esm/crypto/identityMarker.js +3 -1
- package/dist/esm/crypto/identityProof.js +6 -1
- package/dist/esm/crypto/internal.js +1 -1
- package/dist/esm/crypto/keyManager.js +87 -32
- package/dist/esm/crypto/recoveryPhrase.js +2 -2
- package/dist/esm/crypto/signatureService.js +3 -4
- package/dist/esm/i18n/index.js +16 -3
- package/dist/esm/i18n/locales/ar-SA.js +366 -366
- package/dist/esm/i18n/locales/ca-ES.js +366 -366
- package/dist/esm/i18n/locales/de-DE.js +366 -366
- package/dist/esm/i18n/locales/en-US.js +1994 -1994
- package/dist/esm/i18n/locales/es-ES.js +1994 -1994
- package/dist/esm/i18n/locales/fr-FR.js +366 -366
- package/dist/esm/i18n/locales/it-IT.js +366 -366
- package/dist/esm/i18n/locales/ja-JP.js +366 -366
- package/dist/esm/i18n/locales/ko-KR.js +366 -366
- package/dist/esm/i18n/locales/pt-PT.js +366 -366
- package/dist/esm/i18n/locales/zh-CN.js +366 -366
- package/dist/esm/index.js +1 -1
- package/dist/esm/inference/OxyInferenceClient.js +13 -19
- package/dist/esm/models/interfaces.js +11 -11
- package/dist/esm/server/OxyServer.js +87 -29
- package/dist/esm/server/agentAccount.js +6 -2
- package/dist/esm/server/aliaMachineCredential.js +39 -14
- package/dist/esm/server/auth.js +6 -5
- package/dist/esm/server/capabilityTicket.js +6 -6
- package/dist/esm/server/index.js +5 -5
- package/dist/esm/server/liveCapabilityTicket.js +6 -3
- package/dist/esm/server/middleware.js +62 -43
- package/dist/esm/server/namespaces.js +31 -10
- package/dist/esm/server/requesterAssertion.js +36 -30
- package/dist/esm/server/serviceTokenLifetime.js +7 -4
- package/dist/esm/server/traffic.js +55 -16
- package/dist/esm/server/trafficNodeHttp.js +34 -9
- package/dist/esm/server/userInvalidation.js +1 -1
- package/dist/esm/server/workloadIdentity.client.js +3 -0
- package/dist/esm/server/workloadIdentity.js +27 -1
- package/dist/esm/session/SessionClient.js +54 -17
- package/dist/esm/session/accountDelegationAccess.js +5 -7
- package/dist/esm/session/accountDialogController.js +1 -1
- package/dist/esm/session/authStateStore.js +18 -9
- package/dist/esm/session/identityPin.js +6 -2
- package/dist/esm/session/refresh.js +82 -24
- package/dist/esm/session/sharedDeviceCredential.js +28 -15
- package/dist/esm/shared/utils/errorUtils.js +1 -1
- package/dist/esm/shared/utils/networkUtils.js +1 -1
- package/dist/esm/shared/utils/themeUtils.js +1 -1
- package/dist/esm/utils/accountCacheSweep.js +3 -1
- package/dist/esm/utils/accountUtils.js +1 -3
- package/dist/esm/utils/asyncUtils.js +1 -1
- package/dist/esm/utils/authHelpers.js +2 -1
- package/dist/esm/utils/avatarUtils.js +4 -2
- package/dist/esm/utils/cache.js +1 -1
- package/dist/esm/utils/cacheKey.js +3 -1
- package/dist/esm/utils/deviceManager.js +4 -4
- package/dist/esm/utils/errorUtils.js +6 -4
- package/dist/esm/utils/languageUtils.js +404 -57
- package/dist/esm/utils/profileLinks.js +1 -3
- package/dist/esm/utils/requestUtils.js +7 -1
- package/dist/esm/utils/userIdentity.js +1 -1
- package/dist/esm/utils/validationUtils.js +5 -6
- package/dist/types/HttpService.d.ts +1 -1
- package/dist/types/api/accounts.d.ts +1 -1
- package/dist/types/api/apps.d.ts +4 -4
- package/dist/types/crypto/internal.d.ts +1 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/server/index.d.ts +6 -6
- package/dist/types/server/workloadIdentity.client.d.ts +5 -1
- package/dist/types/server/workloadIdentity.d.ts +26 -0
- package/dist/types/session/accountDelegationAccess.d.ts +1 -1
- package/dist/types/session/index.d.ts +1 -1
- package/dist/types/utils/userIdentity.d.ts +1 -1
- package/dist/types/utils/validationUtils.d.ts +4 -5
- package/package.json +2 -3
- package/src/HttpService.ts +183 -53
- package/src/OxyServices.errors.ts +7 -3
- package/src/OxyServices.ts +6 -2
- package/src/api/accounts.ts +76 -26
- package/src/api/agency.ts +24 -9
- package/src/api/appData.ts +12 -2
- package/src/api/apps.ts +81 -31
- package/src/api/assets.ts +113 -43
- package/src/api/auth.ts +145 -77
- package/src/api/billing.ts +112 -65
- package/src/api/civic.ts +61 -19
- package/src/api/contacts.ts +4 -1
- package/src/api/devices.ts +54 -21
- package/src/api/follows.ts +88 -31
- package/src/api/identity.ts +101 -33
- package/src/api/linkedAccounts.ts +26 -8
- package/src/api/nodes.ts +18 -6
- package/src/api/notifications.ts +26 -6
- package/src/api/privacy.ts +42 -8
- package/src/api/reputation.ts +18 -7
- package/src/api/session.ts +23 -5
- package/src/api/store.ts +81 -31
- package/src/api/topics.ts +18 -6
- package/src/api/users.ts +98 -35
- package/src/boot/sessionColdBoot.ts +60 -19
- package/src/civic/payloads.ts +1 -4
- package/src/client/context.ts +6 -1
- package/src/constants/version.ts +7 -6
- package/src/crypto/aead.ts +1 -5
- package/src/crypto/ecdh.ts +1 -4
- package/src/crypto/identityDerivations.ts +5 -1
- package/src/crypto/identityMarker.ts +3 -1
- package/src/crypto/identityProof.ts +6 -1
- package/src/crypto/index.ts +11 -11
- package/src/crypto/internal.ts +6 -1
- package/src/crypto/keyManager.ts +348 -98
- package/src/crypto/recoveryPhrase.ts +14 -9
- package/src/crypto/registrationPow.ts +1 -1
- package/src/crypto/signatureService.ts +14 -6
- package/src/i18n/accountCategoryLabels.ts +1 -4
- package/src/i18n/accountRoleLabels.ts +1 -4
- package/src/i18n/index.ts +25 -7
- package/src/i18n/locales/ar-SA.ts +375 -366
- package/src/i18n/locales/ca-ES.ts +382 -366
- package/src/i18n/locales/de-DE.ts +387 -366
- package/src/i18n/locales/en-US.ts +2034 -1994
- package/src/i18n/locales/es-ES.ts +2043 -1994
- package/src/i18n/locales/fr-FR.ts +387 -366
- package/src/i18n/locales/it-IT.ts +380 -366
- package/src/i18n/locales/ja-JP.ts +380 -366
- package/src/i18n/locales/ko-KR.ts +377 -366
- package/src/i18n/locales/pt-PT.ts +383 -366
- package/src/i18n/locales/zh-CN.ts +373 -366
- package/src/i18n/trustTierLabels.ts +1 -4
- package/src/index.ts +371 -349
- package/src/inference/OxyInferenceClient.ts +784 -780
- package/src/models/interfaces.ts +30 -27
- package/src/server/OxyServer.ts +227 -68
- package/src/server/agentAccount.ts +8 -2
- package/src/server/aliaMachineCredential.ts +57 -16
- package/src/server/auth.ts +9 -5
- package/src/server/capabilityTicket.ts +30 -21
- package/src/server/index.ts +29 -6
- package/src/server/liveCapabilityTicket.ts +31 -9
- package/src/server/middleware.ts +212 -121
- package/src/server/namespaces.ts +247 -94
- package/src/server/rateLimit.ts +2 -4
- package/src/server/requesterAssertion.ts +93 -54
- package/src/server/serviceTokenLifetime.ts +9 -4
- package/src/server/traffic.ts +117 -23
- package/src/server/trafficNodeHttp.ts +61 -14
- package/src/server/userInvalidation.ts +1 -4
- package/src/server/workloadIdentity.client.ts +12 -1
- package/src/server/workloadIdentity.ts +52 -5
- package/src/session/SessionClient.ts +170 -49
- package/src/session/accountDelegationAccess.ts +24 -31
- package/src/session/accountDialogController.ts +59 -14
- package/src/session/accountSwitchTargets.ts +10 -15
- package/src/session/authStateStore.ts +121 -81
- package/src/session/deviceDirectory.ts +1 -3
- package/src/session/identityPin.ts +10 -11
- package/src/session/identitySession.ts +3 -1
- package/src/session/index.ts +87 -82
- package/src/session/refresh.ts +138 -44
- package/src/session/sessionClientHost.ts +1 -3
- package/src/session/sharedDeviceCredential.ts +35 -14
- package/src/session/socketLoader.ts +9 -2
- package/src/shared/utils/errorUtils.ts +5 -2
- package/src/shared/utils/networkUtils.ts +5 -8
- package/src/shared/utils/themeUtils.ts +2 -6
- package/src/types/buffer.d.ts +66 -21
- package/src/types/expo-secure-store.d.ts +5 -1
- package/src/utils/accountCacheSweep.ts +4 -5
- package/src/utils/accountUtils.ts +107 -108
- package/src/utils/apiUtils.ts +3 -3
- package/src/utils/asyncUtils.ts +2 -2
- package/src/utils/authHelpers.ts +10 -5
- package/src/utils/avatarUtils.ts +11 -6
- package/src/utils/cache.ts +9 -10
- package/src/utils/cacheKey.ts +5 -1
- package/src/utils/coldBoot.ts +1 -3
- package/src/utils/commonsDelivery.ts +1 -4
- package/src/utils/deviceManager.ts +15 -14
- package/src/utils/errorUtils.ts +68 -86
- package/src/utils/languageUtils.ts +407 -58
- package/src/utils/oauthPkce.ts +1 -4
- package/src/utils/platform.ts +0 -1
- package/src/utils/profileLinks.ts +2 -5
- package/src/utils/requestUtils.ts +18 -14
- package/src/utils/sessionUtils.ts +34 -33
- package/src/utils/userHandle.ts +3 -1
- package/src/utils/userIdentity.ts +1 -1
- package/src/utils/validationUtils.ts +11 -9
|
@@ -1,388 +1,388 @@
|
|
|
1
1
|
const dict = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
2
|
+
signin: {
|
|
3
|
+
title: '登录',
|
|
4
|
+
subtitle: '使用你的 Oxy 账号',
|
|
5
|
+
addAccountTitle: '添加其他账号',
|
|
6
|
+
addAccountSubtitle: '使用另一个账户登录',
|
|
7
|
+
actions: {
|
|
8
|
+
continue: '继续',
|
|
9
|
+
back: '返回',
|
|
10
|
+
},
|
|
11
|
+
createAccountLink: '初次使用 Oxy?创建账户',
|
|
12
|
+
status: {
|
|
13
|
+
signingIn: '正在登录…',
|
|
14
|
+
},
|
|
15
|
+
subtitleToApp: '以继续前往 {{app}}',
|
|
16
|
+
orContinueWith: '或使用以下方式继续',
|
|
17
|
+
qr: {
|
|
18
|
+
caption: '使用 Commons 扫码登录',
|
|
19
|
+
renew: '显示新的二维码',
|
|
20
|
+
},
|
|
21
|
+
errors: {
|
|
22
|
+
rateLimited: '尝试次数过多。请在 {{seconds}} 秒后重试。',
|
|
23
|
+
invalidCredentials: '用户名、邮箱或密码不正确。',
|
|
24
|
+
codeInvalid: '验证码不正确或已过期。',
|
|
25
|
+
requestExpired: '此次登录已过期。请重新发送邮件。',
|
|
26
|
+
secondFactorInvalid: '验证码不正确。请使用当前的验证码。',
|
|
27
|
+
originNotAllowed: '此处无法登录。',
|
|
28
|
+
generic: '出了点问题,请重试。',
|
|
29
|
+
notConfigured: '无法登录',
|
|
30
|
+
notConfiguredDescription: '{{app}} 尚未配置登录功能。请联系该应用的开发者。',
|
|
31
|
+
failed: '无法开始登录',
|
|
32
|
+
failedDescription: '出了点问题,请重试。',
|
|
33
|
+
},
|
|
34
|
+
chooser: {
|
|
35
|
+
subtitleToApp: '以继续前往 {{app}}',
|
|
36
|
+
title: '选择账户',
|
|
37
|
+
subtitle: '使用下方的账户继续,或使用其他账户。',
|
|
38
|
+
useAnother: '使用其他账户',
|
|
39
|
+
continueAs: '以 {{name}} 的身份继续',
|
|
40
|
+
},
|
|
41
|
+
terms: {
|
|
42
|
+
before: '继续即表示你同意我们的',
|
|
43
|
+
termsLink: '服务条款',
|
|
44
|
+
and: '和',
|
|
45
|
+
privacyLink: '隐私政策',
|
|
46
|
+
},
|
|
47
|
+
noAccount: '还没有账号?',
|
|
48
|
+
createAccount: '创建账号',
|
|
49
|
+
identifier: {
|
|
50
|
+
label: '邮箱或用户名',
|
|
51
|
+
placeholder: 'you@example.com',
|
|
52
|
+
required: '请输入你的邮箱或用户名。',
|
|
53
|
+
},
|
|
54
|
+
checkEmail: {
|
|
55
|
+
title: '查看你的邮箱',
|
|
56
|
+
description: '如果有与 {{identifier}} 匹配的账户,我们已向其发送验证码和登录链接。',
|
|
57
|
+
codeLabel: '验证码',
|
|
58
|
+
codeHint: '输入邮件中的验证码,或在此浏览器中打开邮件里的链接。',
|
|
59
|
+
codeHasLetters: '验证码里有字母吗?',
|
|
60
|
+
codeDigitsOnly: '验证码只有数字吗?',
|
|
61
|
+
resend: '重新发送邮件',
|
|
62
|
+
resendIn: '{{seconds}} 秒后可重新发送邮件',
|
|
63
|
+
resent: '我们已发送新邮件。',
|
|
64
|
+
retryLater: '我们已发送了多封邮件。请等几分钟后再试。',
|
|
65
|
+
usePassword: '改用密码',
|
|
66
|
+
differentAccount: '使用其他账户',
|
|
67
|
+
},
|
|
68
|
+
password: {
|
|
69
|
+
title: '输入你的密码',
|
|
70
|
+
label: '密码',
|
|
71
|
+
required: '请输入你的密码。',
|
|
72
|
+
forgot: '忘记密码?通过邮件获取验证码',
|
|
73
|
+
},
|
|
74
|
+
secondFactor: {
|
|
75
|
+
title: '两步验证',
|
|
76
|
+
description: '输入身份验证器应用中的验证码。',
|
|
77
|
+
backupDescription: '输入一个备用验证码。每个只能使用一次。',
|
|
78
|
+
label: '身份验证器验证码',
|
|
79
|
+
backupLabel: '备用验证码',
|
|
80
|
+
useBackup: '使用备用验证码',
|
|
81
|
+
useAuthenticator: '使用身份验证器应用',
|
|
82
|
+
},
|
|
83
|
+
link: {
|
|
84
|
+
approvedTitle: '你已登录',
|
|
85
|
+
approvedDescription: '返回你请求登录的应用,它会自动继续。你可以关闭此标签页。',
|
|
86
|
+
otherDeviceTitle: '请在同一浏览器中打开链接',
|
|
87
|
+
otherDeviceDescription: '此链接只能在你请求登录的浏览器中使用。请在那里打开,或在应用中输入邮件里的验证码。',
|
|
88
|
+
invalidTitle: '此链接无法使用',
|
|
89
|
+
invalidDescription: '链接已过期或已被使用。请在应用中重新获取邮件,或输入最新一封邮件中的验证码。',
|
|
90
|
+
},
|
|
91
91
|
},
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
},
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
|
|
92
|
+
signup: {
|
|
93
|
+
title: '创建你的账户',
|
|
94
|
+
subtitle: '选择你的用户名,然后我们确认你的邮箱。',
|
|
95
|
+
createInCommons: '改为在 Commons 中创建',
|
|
96
|
+
backToSignInLink: '已有账户?登录',
|
|
97
|
+
username: {
|
|
98
|
+
label: '用户名',
|
|
99
|
+
placeholder: 'yourname',
|
|
100
|
+
required: '请选择用户名。',
|
|
101
|
+
taken: '该用户名已被占用。',
|
|
102
|
+
},
|
|
103
|
+
email: {
|
|
104
|
+
title: '你的邮箱是什么?',
|
|
105
|
+
subtitle: '你将用它登录:每次我们都会发送一个验证码。其他人看不到它。',
|
|
106
|
+
label: '邮箱',
|
|
107
|
+
placeholder: 'you@example.com',
|
|
108
|
+
invalid: '请输入有效的邮箱地址。',
|
|
109
|
+
},
|
|
110
|
+
commonsSubtitle: '或者在 Commons 中创建你的身份,自己保管密钥。',
|
|
111
|
+
laterNote: '你之后可以在账户的安全设置中添加密码或身份验证器应用。',
|
|
112
112
|
},
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
},
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
},
|
|
144
|
-
|
|
113
|
+
accountSwitcher: {
|
|
114
|
+
loading: '正在加载账户...',
|
|
115
|
+
qrHeadline: '使用您的 Oxy 身份登录',
|
|
116
|
+
signInWithOxy: '使用 Oxy 登录',
|
|
117
|
+
signUpWithOxy: '使用 Oxy 注册',
|
|
118
|
+
getCommons: '获取 Commons',
|
|
119
|
+
commonsNotInstalled: '没有 Commons?获取应用以使用您的 Oxy ID 登录。',
|
|
120
|
+
showQrAnyway: '我在另一台设备上有 Commons',
|
|
121
|
+
switchWhileSignedInAs: '切换账号,当前登录为 {{name}}',
|
|
122
|
+
manageOnDevice: '管理此设备上的账号',
|
|
123
|
+
continueWithOxy: '使用 Oxy 继续',
|
|
124
|
+
havingTrouble: '遇到问题?',
|
|
125
|
+
progress: {
|
|
126
|
+
preparing: '正在准备请求',
|
|
127
|
+
awaitingApproval: '正在等待批准',
|
|
128
|
+
scanWithCommons: '请用手机上的 Commons 扫描',
|
|
129
|
+
continueInCommons: '请在 Commons 中继续',
|
|
130
|
+
checkCommons: '请查看手机上的 Commons',
|
|
131
|
+
openedInCommons: '已在 Commons 中打开',
|
|
132
|
+
confirming: '正在确认身份',
|
|
133
|
+
confirmed: '身份已确认',
|
|
134
|
+
},
|
|
135
|
+
signInFailures: {
|
|
136
|
+
denied: '登录请求已在 Commons 中被拒绝。',
|
|
137
|
+
expired: '登录请求已过期,请重试。',
|
|
138
|
+
network: '无法连接到 Oxy。请检查网络连接后重试。',
|
|
139
|
+
notConfigured: '此应用尚未设置登录。',
|
|
140
|
+
unsupportedFlow: '此登录无法在这里完成。',
|
|
141
|
+
claimFailed: '登录已获批准,但未能完成。请重试。',
|
|
142
|
+
generic: '登录失败,请重试。',
|
|
143
|
+
},
|
|
144
|
+
linkOpenFailed: '无法打开链接,请重试。',
|
|
145
145
|
},
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
},
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
},
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
},
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
146
|
+
common: {
|
|
147
|
+
stepOf: '第 {{step}} 步,共 {{total}} 步',
|
|
148
|
+
actions: {
|
|
149
|
+
back: '返回',
|
|
150
|
+
continue: '继续',
|
|
151
|
+
next: '下一步',
|
|
152
|
+
getStarted: '开始',
|
|
153
|
+
createAccount: '创建账户',
|
|
154
|
+
signIn: '登录',
|
|
155
|
+
verify: '验证',
|
|
156
|
+
resetPassword: '重置密码',
|
|
157
|
+
signedOut: '已退出',
|
|
158
|
+
close: '关闭',
|
|
159
|
+
tryAgain: '重试',
|
|
160
|
+
},
|
|
161
|
+
links: {
|
|
162
|
+
recoverAccount: '恢复您的账户',
|
|
163
|
+
signUp: '注册',
|
|
164
|
+
},
|
|
165
|
+
labels: {
|
|
166
|
+
username: '用户名',
|
|
167
|
+
email: '电子邮件',
|
|
168
|
+
password: '密码',
|
|
169
|
+
confirmPassword: '确认密码',
|
|
170
|
+
},
|
|
171
|
+
revoke: 'Revoke',
|
|
172
|
+
errors: {
|
|
173
|
+
signOutAllFailed: '退出所有账户时出现问题。请重试。',
|
|
174
|
+
},
|
|
175
175
|
},
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
},
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
176
|
+
notifications: {
|
|
177
|
+
title: 'Notifications',
|
|
178
|
+
subtitle: 'Manage push, email, and security alerts',
|
|
179
|
+
updateError: 'Failed to update notification preferences',
|
|
180
|
+
sections: {
|
|
181
|
+
channels: 'Channels',
|
|
182
|
+
alerts: 'Alerts',
|
|
183
|
+
marketing: 'Marketing',
|
|
184
|
+
},
|
|
185
|
+
items: {
|
|
186
|
+
push: {
|
|
187
|
+
title: 'Push notifications',
|
|
188
|
+
subtitle: 'Real-time alerts on your devices',
|
|
189
|
+
},
|
|
190
|
+
emailDigest: {
|
|
191
|
+
title: 'Email digest',
|
|
192
|
+
subtitle: 'Periodic summary of your account activity',
|
|
189
193
|
},
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
194
|
+
securityAlerts: {
|
|
195
|
+
title: 'Security alerts',
|
|
196
|
+
subtitle: 'Sign-ins, recovery codes, and key changes',
|
|
193
197
|
},
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
marketingEmails: {
|
|
199
|
+
title: 'Marketing emails',
|
|
200
|
+
subtitle: 'Product news and occasional offers',
|
|
197
201
|
},
|
|
198
|
-
|
|
199
|
-
"title": "Marketing emails",
|
|
200
|
-
"subtitle": "Product news and occasional offers"
|
|
201
|
-
}
|
|
202
|
-
}
|
|
202
|
+
},
|
|
203
203
|
},
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
},
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
},
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
204
|
+
preferences: {
|
|
205
|
+
title: 'Preferences',
|
|
206
|
+
subtitle: 'Theme, motion, and regional settings',
|
|
207
|
+
sections: {
|
|
208
|
+
appearance: 'Appearance',
|
|
209
|
+
language: 'Language',
|
|
210
|
+
region: 'Region',
|
|
211
|
+
},
|
|
212
|
+
theme: {
|
|
213
|
+
light: 'Light',
|
|
214
|
+
dark: 'Dark',
|
|
215
|
+
system: 'System default',
|
|
216
|
+
},
|
|
217
|
+
items: {
|
|
218
|
+
theme: {
|
|
219
|
+
title: 'Theme',
|
|
220
220
|
},
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
221
|
+
reduceMotion: {
|
|
222
|
+
title: 'Reduce motion',
|
|
223
|
+
subtitle: 'Minimise animations across Oxy apps',
|
|
224
|
+
systemOn: 'Following system: reduce motion is on',
|
|
225
225
|
},
|
|
226
|
-
|
|
227
|
-
|
|
226
|
+
language: {
|
|
227
|
+
title: 'Language',
|
|
228
228
|
},
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
timezone: {
|
|
230
|
+
title: 'Timezone',
|
|
231
|
+
unknown: 'Unable to detect timezone',
|
|
232
232
|
},
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
}
|
|
233
|
+
about: {
|
|
234
|
+
title: 'About preferences',
|
|
235
|
+
subtitle: 'Preferences sync across every Oxy app you sign into',
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
238
|
},
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
},
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
},
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
},
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
239
|
+
connectedApps: {
|
|
240
|
+
title: 'Connected apps',
|
|
241
|
+
subtitle: 'Manage third-party app access',
|
|
242
|
+
empty: {
|
|
243
|
+
title: 'No connected apps',
|
|
244
|
+
subtitle: 'Apps you authorize to sign in with your Oxy account will appear here',
|
|
245
|
+
},
|
|
246
|
+
item: {
|
|
247
|
+
granted: '已于 {{relative}} 授权',
|
|
248
|
+
lastUsed: 'Last used {{relative}}',
|
|
249
|
+
},
|
|
250
|
+
confirm: {
|
|
251
|
+
title: 'Revoke access',
|
|
252
|
+
message: "Revoke {{name}}'s access to your Oxy account?",
|
|
253
|
+
},
|
|
254
|
+
toasts: {
|
|
255
|
+
revoked: 'Revoked access for {{name}}',
|
|
256
|
+
revokeFailed: 'Failed to revoke access',
|
|
257
|
+
},
|
|
258
258
|
},
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
},
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
259
|
+
accountMenu: {
|
|
260
|
+
label: '账户菜单',
|
|
261
|
+
manage: '管理您的 Oxy 账户',
|
|
262
|
+
viewProfile: '查看个人资料',
|
|
263
|
+
addAnother: '添加其他账户',
|
|
264
|
+
signOutAll: '退出所有账户',
|
|
265
|
+
open: '账户菜单',
|
|
266
|
+
openHint: '打开账户菜单',
|
|
267
|
+
openWithUser: '{{name}} 的账户菜单',
|
|
268
|
+
switching: '正在切换账户…',
|
|
269
|
+
signOutAccount: '退出 {{name}}',
|
|
270
|
+
greeting: '你好,{{name}}!',
|
|
271
|
+
switchAccount: '切换账号',
|
|
272
|
+
storage: {
|
|
273
|
+
title: 'Oxy 存储',
|
|
274
|
+
usage: '已使用 {{used}} / {{total}}',
|
|
275
|
+
used: '已用',
|
|
276
|
+
free: '可用',
|
|
277
|
+
unavailable: '无法获取用量详情',
|
|
278
|
+
upgrade: '升级方案',
|
|
279
|
+
manage: '管理存储',
|
|
280
|
+
},
|
|
281
|
+
data: '你在 Oxy 中的数据',
|
|
282
|
+
settings: 'Oxy 设置',
|
|
283
|
+
help: '帮助与反馈',
|
|
284
|
+
signOut: '退出登录',
|
|
285
|
+
privacy: '隐私政策',
|
|
286
|
+
terms: '服务条款',
|
|
287
287
|
},
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
}
|
|
288
|
+
emailCode: {
|
|
289
|
+
title: '查看你的邮箱',
|
|
290
|
+
sentTo: '我们已向 {{email}} 发送了 6 位验证码。',
|
|
291
|
+
label: '验证码',
|
|
292
|
+
resend: '发送新验证码',
|
|
293
|
+
resent: '我们已发送新验证码。',
|
|
294
|
+
changeEmail: '使用其他邮箱',
|
|
295
|
+
errors: {
|
|
296
|
+
codeInvalid: '验证码不正确或已过期。',
|
|
297
|
+
tooManyAttempts: '错误次数过多,请重新获取验证码。',
|
|
298
|
+
expired: '耗时过长,请重新开始。',
|
|
299
|
+
unavailable: 'Oxy 暂时无法发送邮件,请稍后再试。',
|
|
300
|
+
rateLimited: '验证码请求过多,请稍后再试。',
|
|
301
|
+
},
|
|
302
302
|
},
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
},
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
303
|
+
deleteAccount: {
|
|
304
|
+
keyless: {
|
|
305
|
+
subtitle: '@{{username}} 及其中的一切将被永久删除。请输入你的用户名,然后用我们发到你邮箱的验证码确认。',
|
|
306
|
+
action: '删除账户',
|
|
307
|
+
done: '你的账户已删除。',
|
|
308
|
+
doneDescription: '你已退出登录。',
|
|
309
|
+
keyed: '此账户使用 Commons:请在 Oxy Commons 的“设置 > 删除账户”中用其密钥删除。',
|
|
310
|
+
},
|
|
311
|
+
handoff: {
|
|
312
|
+
elsewhereMessage: '删除账户需要你的身份密钥,而它不在此设备上。请在保存密钥的设备上打开 Oxy Commons,前往“设置 > 删除账户”。',
|
|
313
|
+
},
|
|
314
314
|
},
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
315
|
+
linkCommons: {
|
|
316
|
+
title: '关联 Commons',
|
|
317
|
+
subtitle: '自己保管密钥:关联 Commons 后,此账户只属于你。它的邮箱会被删除,今后用 Commons 中的恢复短语找回账户。',
|
|
318
|
+
scan: '在手机上打开 Commons,选择“我在网页上有 Oxy 账户”,然后扫描此码。',
|
|
319
|
+
waiting: '正在等待 Commons…',
|
|
320
|
+
compareTitle: '核对代码',
|
|
321
|
+
compare: 'Commons 会显示相同的代码。如果不同,请取消。',
|
|
322
|
+
confirm: '是的,关联 Commons',
|
|
323
|
+
cancel: '取消',
|
|
324
|
+
doneTitle: 'Commons 已关联',
|
|
325
|
+
done: '此账户现在由你自己保管。它的邮箱已删除:今后用 Commons 中的恢复短语找回账户。',
|
|
326
|
+
already: '此账户已在使用 Commons。',
|
|
327
|
+
expired: '此代码已过期。',
|
|
328
|
+
renew: '显示新代码',
|
|
329
|
+
failed: '无法关联 Commons,请重试。',
|
|
330
|
+
confirmTitle: '确认关联',
|
|
331
|
+
confirmDescription: '最后,请用我们发到你邮箱的验证码确认是你本人。',
|
|
332
|
+
row: '用 Commons 自己保管密钥',
|
|
333
333
|
},
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
}
|
|
334
|
+
reauth: {
|
|
335
|
+
title: '确认是你本人',
|
|
336
|
+
emailDescription: '我们会向你的邮箱发送验证码,以确认此项更改。',
|
|
337
|
+
sendCode: '发送验证码',
|
|
338
|
+
codeSent: '我们已向你的邮箱发送了 6 位验证码。',
|
|
339
|
+
codeLabel: '邮件中的验证码',
|
|
340
|
+
passwordLabel: '当前密码',
|
|
341
|
+
usePassword: '改用密码',
|
|
342
|
+
useEmail: '改为通过邮件获取验证码',
|
|
343
|
+
errors: {
|
|
344
|
+
invalid: '验证失败。请检查输入内容后重试。',
|
|
345
|
+
totpRequired: '还需输入身份验证器应用中的验证码。',
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
signInSecurity: {
|
|
349
|
+
password: {
|
|
350
|
+
title: '密码',
|
|
351
|
+
setTitle: '设置密码',
|
|
352
|
+
changeTitle: '更改密码',
|
|
353
|
+
description: '用密码登录,而不是通过邮件验证码。至少使用 {{min}} 个字符。',
|
|
354
|
+
newLabel: '新密码',
|
|
355
|
+
repeatLabel: '再次输入密码',
|
|
356
|
+
tooShort: '至少使用 {{min}} 个字符。',
|
|
357
|
+
mismatch: '两次输入的密码不一致。',
|
|
358
|
+
signOutOthers: '在其他所有地方退出登录',
|
|
359
|
+
save: '保存密码',
|
|
360
|
+
saved: '你的密码已保存。',
|
|
361
|
+
row: '可选:使用密码登录',
|
|
362
|
+
},
|
|
363
|
+
totp: {
|
|
364
|
+
title: '身份验证器应用',
|
|
365
|
+
description: '在邮件验证码或密码之后,Oxy 还会要求输入来自 Google Authenticator 或 1Password 等应用的验证码。',
|
|
366
|
+
setUp: '设置',
|
|
367
|
+
scan: '用你的身份验证器应用扫描此二维码,或输入设置密钥。',
|
|
368
|
+
secretLabel: '设置密钥',
|
|
369
|
+
codeLabel: '应用中的验证码',
|
|
370
|
+
enable: '开启',
|
|
371
|
+
enabled: '身份验证器应用已开启。',
|
|
372
|
+
disable: '关闭身份验证器应用',
|
|
373
|
+
disabled: '身份验证器应用已关闭。',
|
|
374
|
+
on: '已开启',
|
|
375
|
+
off: '已关闭',
|
|
376
|
+
backupTitle: '保存你的备用验证码',
|
|
377
|
+
backupDescription: '如果你丢失了手机,每个验证码可让你登录一次。请妥善保管:它们不会再次显示。',
|
|
378
|
+
copy: '复制验证码',
|
|
379
|
+
copied: '备用验证码已复制。',
|
|
380
|
+
savedThem: '我已保存',
|
|
381
|
+
regenerate: '获取新的备用验证码',
|
|
382
|
+
regenerateDescription: '你以前的备用验证码将失效。',
|
|
383
|
+
remaining: '剩余 {{count}} 个备用验证码',
|
|
384
|
+
row: '登录时的第二步验证',
|
|
385
|
+
},
|
|
347
386
|
},
|
|
348
|
-
"signInSecurity": {
|
|
349
|
-
"password": {
|
|
350
|
-
"title": "密码",
|
|
351
|
-
"setTitle": "设置密码",
|
|
352
|
-
"changeTitle": "更改密码",
|
|
353
|
-
"description": "用密码登录,而不是通过邮件验证码。至少使用 {{min}} 个字符。",
|
|
354
|
-
"newLabel": "新密码",
|
|
355
|
-
"repeatLabel": "再次输入密码",
|
|
356
|
-
"tooShort": "至少使用 {{min}} 个字符。",
|
|
357
|
-
"mismatch": "两次输入的密码不一致。",
|
|
358
|
-
"signOutOthers": "在其他所有地方退出登录",
|
|
359
|
-
"save": "保存密码",
|
|
360
|
-
"saved": "你的密码已保存。",
|
|
361
|
-
"row": "可选:使用密码登录"
|
|
362
|
-
},
|
|
363
|
-
"totp": {
|
|
364
|
-
"title": "身份验证器应用",
|
|
365
|
-
"description": "在邮件验证码或密码之后,Oxy 还会要求输入来自 Google Authenticator 或 1Password 等应用的验证码。",
|
|
366
|
-
"setUp": "设置",
|
|
367
|
-
"scan": "用你的身份验证器应用扫描此二维码,或输入设置密钥。",
|
|
368
|
-
"secretLabel": "设置密钥",
|
|
369
|
-
"codeLabel": "应用中的验证码",
|
|
370
|
-
"enable": "开启",
|
|
371
|
-
"enabled": "身份验证器应用已开启。",
|
|
372
|
-
"disable": "关闭身份验证器应用",
|
|
373
|
-
"disabled": "身份验证器应用已关闭。",
|
|
374
|
-
"on": "已开启",
|
|
375
|
-
"off": "已关闭",
|
|
376
|
-
"backupTitle": "保存你的备用验证码",
|
|
377
|
-
"backupDescription": "如果你丢失了手机,每个验证码可让你登录一次。请妥善保管:它们不会再次显示。",
|
|
378
|
-
"copy": "复制验证码",
|
|
379
|
-
"copied": "备用验证码已复制。",
|
|
380
|
-
"savedThem": "我已保存",
|
|
381
|
-
"regenerate": "获取新的备用验证码",
|
|
382
|
-
"regenerateDescription": "你以前的备用验证码将失效。",
|
|
383
|
-
"remaining": "剩余 {{count}} 个备用验证码",
|
|
384
|
-
"row": "登录时的第二步验证"
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
387
|
};
|
|
388
388
|
export default dict;
|