@logto/phrases-experience 1.6.1 → 1.8.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/lib/index.d.ts +5 -5
- package/lib/index.js +3 -0
- package/lib/locales/ar/action.d.ts +35 -0
- package/lib/locales/ar/action.js +35 -0
- package/lib/locales/ar/description.d.ts +90 -0
- package/lib/locales/ar/description.js +90 -0
- package/lib/locales/ar/development-tenant.d.ts +4 -0
- package/lib/locales/ar/development-tenant.js +4 -0
- package/lib/locales/ar/error/index.d.ts +34 -0
- package/lib/locales/ar/error/index.js +22 -0
- package/lib/locales/ar/error/password-rejected.d.ts +15 -0
- package/lib/locales/ar/error/password-rejected.js +15 -0
- package/lib/locales/ar/index.d.ts +232 -0
- package/lib/locales/ar/index.js +23 -0
- package/lib/locales/ar/input.d.ts +10 -0
- package/lib/locales/ar/input.js +10 -0
- package/lib/locales/ar/list.d.ts +6 -0
- package/lib/locales/ar/list.js +6 -0
- package/lib/locales/ar/mfa.d.ts +44 -0
- package/lib/locales/ar/mfa.js +44 -0
- package/lib/locales/ar/secondary.d.ts +4 -0
- package/lib/locales/ar/secondary.js +4 -0
- package/lib/locales/ar/user-scopes.d.ts +14 -0
- package/lib/locales/ar/user-scopes.js +14 -0
- package/lib/locales/de/action.js +1 -1
- package/lib/locales/de/description.d.ts +13 -0
- package/lib/locales/de/description.js +17 -4
- package/lib/locales/de/error/index.js +1 -1
- package/lib/locales/de/index.d.ts +10 -0
- package/lib/locales/en/action.js +1 -1
- package/lib/locales/en/description.d.ts +10 -0
- package/lib/locales/en/description.js +14 -4
- package/lib/locales/en/error/index.js +1 -1
- package/lib/locales/en/index.d.ts +10 -0
- package/lib/locales/es/action.js +1 -1
- package/lib/locales/es/description.d.ts +13 -0
- package/lib/locales/es/description.js +17 -4
- package/lib/locales/es/error/index.js +1 -1
- package/lib/locales/es/index.d.ts +10 -0
- package/lib/locales/fr/action.js +1 -1
- package/lib/locales/fr/description.d.ts +13 -0
- package/lib/locales/fr/description.js +17 -4
- package/lib/locales/fr/error/index.js +1 -1
- package/lib/locales/fr/index.d.ts +10 -0
- package/lib/locales/it/action.js +1 -1
- package/lib/locales/it/description.d.ts +13 -0
- package/lib/locales/it/description.js +17 -4
- package/lib/locales/it/error/index.js +1 -1
- package/lib/locales/it/index.d.ts +10 -0
- package/lib/locales/ja/action.js +1 -1
- package/lib/locales/ja/description.d.ts +13 -0
- package/lib/locales/ja/description.js +17 -4
- package/lib/locales/ja/error/index.js +1 -1
- package/lib/locales/ja/index.d.ts +10 -0
- package/lib/locales/ko/action.js +1 -1
- package/lib/locales/ko/description.d.ts +13 -0
- package/lib/locales/ko/description.js +17 -4
- package/lib/locales/ko/index.d.ts +10 -0
- package/lib/locales/pl-pl/action.js +1 -1
- package/lib/locales/pl-pl/description.d.ts +17 -0
- package/lib/locales/pl-pl/description.js +21 -4
- package/lib/locales/pl-pl/error/index.js +1 -1
- package/lib/locales/pl-pl/index.d.ts +14 -0
- package/lib/locales/pt-br/action.js +1 -1
- package/lib/locales/pt-br/description.d.ts +13 -0
- package/lib/locales/pt-br/description.js +17 -4
- package/lib/locales/pt-br/error/index.js +1 -1
- package/lib/locales/pt-br/index.d.ts +10 -0
- package/lib/locales/pt-pt/action.js +1 -1
- package/lib/locales/pt-pt/description.d.ts +13 -0
- package/lib/locales/pt-pt/description.js +17 -4
- package/lib/locales/pt-pt/index.d.ts +10 -0
- package/lib/locales/ru/action.js +1 -1
- package/lib/locales/ru/description.d.ts +17 -0
- package/lib/locales/ru/description.js +21 -4
- package/lib/locales/ru/error/index.js +1 -1
- package/lib/locales/ru/index.d.ts +14 -0
- package/lib/locales/tr-tr/action.js +1 -1
- package/lib/locales/tr-tr/description.d.ts +13 -0
- package/lib/locales/tr-tr/description.js +17 -4
- package/lib/locales/tr-tr/error/index.js +1 -1
- package/lib/locales/tr-tr/index.d.ts +10 -0
- package/lib/locales/zh-cn/action.d.ts +0 -2
- package/lib/locales/zh-cn/action.js +3 -5
- package/lib/locales/zh-cn/description.d.ts +10 -0
- package/lib/locales/zh-cn/description.js +17 -7
- package/lib/locales/zh-cn/error/index.js +1 -1
- package/lib/locales/zh-cn/index.d.ts +10 -0
- package/lib/locales/zh-cn/user-scopes.d.ts +0 -9
- package/lib/locales/zh-cn/user-scopes.js +9 -18
- package/lib/locales/zh-hk/action.js +1 -1
- package/lib/locales/zh-hk/description.d.ts +13 -0
- package/lib/locales/zh-hk/description.js +17 -4
- package/lib/locales/zh-hk/error/index.js +1 -1
- package/lib/locales/zh-hk/index.d.ts +10 -0
- package/lib/locales/zh-tw/action.js +1 -1
- package/lib/locales/zh-tw/description.d.ts +13 -0
- package/lib/locales/zh-tw/description.js +17 -4
- package/lib/locales/zh-tw/error/index.js +1 -1
- package/lib/locales/zh-tw/index.d.ts +10 -0
- package/lib/types.d.ts +2 -2
- package/package.json +7 -8
|
@@ -2,7 +2,7 @@ const action = {
|
|
|
2
2
|
sign_in: '登录',
|
|
3
3
|
continue: '继续',
|
|
4
4
|
create_account: '注册',
|
|
5
|
-
create_account_without_linking: '
|
|
5
|
+
create_account_without_linking: '创建新帐户',
|
|
6
6
|
create: '注册',
|
|
7
7
|
enter_passcode: '输入验证码',
|
|
8
8
|
confirm: '确认',
|
|
@@ -29,9 +29,7 @@ const action = {
|
|
|
29
29
|
verify_via_passkey: '通过 Passkey 验证',
|
|
30
30
|
download: '下载',
|
|
31
31
|
single_sign_on: '单点登录',
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
/** UNTRANSLATED */
|
|
35
|
-
use_another_account: 'Use another account',
|
|
32
|
+
authorize: '授权',
|
|
33
|
+
use_another_account: '使用另一个账号',
|
|
36
34
|
};
|
|
37
35
|
export default Object.freeze(action);
|
|
@@ -28,6 +28,7 @@ declare const _default: Readonly<{
|
|
|
28
28
|
social_link_phone: string;
|
|
29
29
|
social_link_email_or_phone: string;
|
|
30
30
|
social_bind_with_existing: string;
|
|
31
|
+
skip_social_linking: string;
|
|
31
32
|
reset_password: string;
|
|
32
33
|
reset_password_description: string;
|
|
33
34
|
new_password: string;
|
|
@@ -65,11 +66,20 @@ declare const _default: Readonly<{
|
|
|
65
66
|
authorize_title: string;
|
|
66
67
|
request_permission: string;
|
|
67
68
|
grant_organization_access: string;
|
|
69
|
+
authorize_personal_data_usage: string;
|
|
70
|
+
authorize_organization_access: string;
|
|
68
71
|
user_scopes: string;
|
|
69
72
|
organization_scopes: string;
|
|
70
73
|
authorize_agreement: string;
|
|
74
|
+
authorize_agreement_with_redirect: string;
|
|
71
75
|
not_you: string;
|
|
72
76
|
user_id: string;
|
|
73
77
|
redirect_to: string;
|
|
78
|
+
auto_agreement: string;
|
|
79
|
+
identifier_sign_in_description: string;
|
|
80
|
+
all_sign_in_options: string;
|
|
81
|
+
identifier_register_description: string;
|
|
82
|
+
all_account_creation_options: string;
|
|
83
|
+
back_to_sign_in: string;
|
|
74
84
|
}>;
|
|
75
85
|
export default _default;
|
|
@@ -14,8 +14,8 @@ const description = {
|
|
|
14
14
|
and: '和',
|
|
15
15
|
enter_passcode: '验证码已经发送至你的{{ address }} {{target}}',
|
|
16
16
|
passcode_sent: '验证码已经发送',
|
|
17
|
-
resend_after_seconds: '
|
|
18
|
-
resend_passcode: '
|
|
17
|
+
resend_after_seconds: '还没收到? <span>{{seconds}}</span> 秒后重发',
|
|
18
|
+
resend_passcode: '还没收到? <a>重发验证码</a>',
|
|
19
19
|
create_account_id_exists: '{{type}}为 {{value}} 的帐号已存在,你要登录吗?',
|
|
20
20
|
link_account_id_exists: ' {{type}}为 {{value}} 的账号已注册,你要绑定至这个账号吗?',
|
|
21
21
|
sign_in_id_does_not_exist: '{{type}}为 {{value}} 的帐号不存在,你要创建一个新帐号吗?',
|
|
@@ -27,7 +27,8 @@ const description = {
|
|
|
27
27
|
social_link_email: '你可以绑定其他邮箱',
|
|
28
28
|
social_link_phone: '你可以绑定其他手机号',
|
|
29
29
|
social_link_email_or_phone: '你可以绑定其他邮箱或手机号',
|
|
30
|
-
social_bind_with_existing: '
|
|
30
|
+
social_bind_with_existing: '我们发现一个已注册的相关帐户,您可以直接链接它。',
|
|
31
|
+
skip_social_linking: '跳过链接现有帐户?',
|
|
31
32
|
reset_password: '忘记密码',
|
|
32
33
|
reset_password_description: '输入{{types, list(type: disjunction;)}},获取验证码以重设密码。',
|
|
33
34
|
new_password: '新密码',
|
|
@@ -53,10 +54,10 @@ const description = {
|
|
|
53
54
|
verify_phone: '验证你的手机号',
|
|
54
55
|
password_requirements: '密码 {{items, list}}。',
|
|
55
56
|
password_requirement: {
|
|
56
|
-
length_one: '
|
|
57
|
-
length_other: '
|
|
58
|
-
character_types_one: '
|
|
59
|
-
character_types_other: '
|
|
57
|
+
length_one: '至少应有 {{count}} 个字符',
|
|
58
|
+
length_other: '至少应有 {{count}} 个字符',
|
|
59
|
+
character_types_one: '至少应包含大写字母、小写字母、数字和符号中的 {{count}} 种',
|
|
60
|
+
character_types_other: '至少应包含大写字母、小写字母、数字和符号中的 {{count}} 种',
|
|
60
61
|
},
|
|
61
62
|
use: '使用',
|
|
62
63
|
single_sign_on_email_form: '输入你的企业电子邮件地址',
|
|
@@ -65,11 +66,20 @@ const description = {
|
|
|
65
66
|
authorize_title: '授权给 {{name}}',
|
|
66
67
|
request_permission: '{{name}} 需要权限:',
|
|
67
68
|
grant_organization_access: '授予组织访问权限:',
|
|
69
|
+
authorize_personal_data_usage: '你将授权该应用使用你的以下个人数据:',
|
|
70
|
+
authorize_organization_access: 'Authorize access to the specific organization:',
|
|
68
71
|
user_scopes: '用户个人信息',
|
|
69
72
|
organization_scopes: '组织权限',
|
|
70
73
|
authorize_agreement: `你将同意授权给 {{name}} <link></link>.`,
|
|
74
|
+
authorize_agreement_with_redirect: `你将同意授权给 {{name}} <link></link>,然后你将被重定向到 {{uri}}。`,
|
|
71
75
|
not_you: '不是你本人吗?',
|
|
72
76
|
user_id: '用户 ID: {{id}}',
|
|
73
77
|
redirect_to: '你将被重定向到 {{name}}。',
|
|
78
|
+
auto_agreement: '继续即表示您同意<link></link>。',
|
|
79
|
+
identifier_sign_in_description: '输入您的{{types, list(type: disjunction;)}}以登录。',
|
|
80
|
+
all_sign_in_options: '所有登录选项',
|
|
81
|
+
identifier_register_description: '输入您的{{types, list(type: disjunction;)}}以创建新账户。',
|
|
82
|
+
all_account_creation_options: '所有账户创建选项',
|
|
83
|
+
back_to_sign_in: '返回登录',
|
|
74
84
|
};
|
|
75
85
|
export default Object.freeze(description);
|
|
@@ -10,7 +10,7 @@ const error = {
|
|
|
10
10
|
invalid_email: '无效的邮箱',
|
|
11
11
|
invalid_phone: '无效的手机号',
|
|
12
12
|
passwords_do_not_match: '两次输入的密码不一致,请重试。',
|
|
13
|
-
invalid_passcode: '
|
|
13
|
+
invalid_passcode: '无效的验证码。',
|
|
14
14
|
invalid_connector_auth: '登录失败',
|
|
15
15
|
invalid_connector_request: '无效的登录请求',
|
|
16
16
|
unknown: '未知错误,请稍后重试。',
|
|
@@ -76,6 +76,7 @@ declare const _default: Readonly<{
|
|
|
76
76
|
social_link_phone: string;
|
|
77
77
|
social_link_email_or_phone: string;
|
|
78
78
|
social_bind_with_existing: string;
|
|
79
|
+
skip_social_linking: string;
|
|
79
80
|
reset_password: string;
|
|
80
81
|
reset_password_description: string;
|
|
81
82
|
new_password: string;
|
|
@@ -113,12 +114,21 @@ declare const _default: Readonly<{
|
|
|
113
114
|
authorize_title: string;
|
|
114
115
|
request_permission: string;
|
|
115
116
|
grant_organization_access: string;
|
|
117
|
+
authorize_personal_data_usage: string;
|
|
118
|
+
authorize_organization_access: string;
|
|
116
119
|
user_scopes: string;
|
|
117
120
|
organization_scopes: string;
|
|
118
121
|
authorize_agreement: string;
|
|
122
|
+
authorize_agreement_with_redirect: string;
|
|
119
123
|
not_you: string;
|
|
120
124
|
user_id: string;
|
|
121
125
|
redirect_to: string;
|
|
126
|
+
auto_agreement: string;
|
|
127
|
+
identifier_sign_in_description: string;
|
|
128
|
+
all_sign_in_options: string;
|
|
129
|
+
identifier_register_description: string;
|
|
130
|
+
all_account_creation_options: string;
|
|
131
|
+
back_to_sign_in: string;
|
|
122
132
|
}>;
|
|
123
133
|
error: Readonly<{
|
|
124
134
|
general_required: string;
|
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
declare const _default: Readonly<{
|
|
2
2
|
descriptions: {
|
|
3
|
-
/** UNTRANSLATED */
|
|
4
3
|
custom_data: string;
|
|
5
|
-
/** UNTRANSLATED */
|
|
6
4
|
email: string;
|
|
7
|
-
/** UNTRANSLATED */
|
|
8
5
|
phone: string;
|
|
9
|
-
/** UNTRANSLATED */
|
|
10
6
|
profile: string;
|
|
11
|
-
/** UNTRANSLATED */
|
|
12
7
|
roles: string;
|
|
13
|
-
/** UNTRANSLATED */
|
|
14
8
|
identities: string;
|
|
15
|
-
/** UNTRANSLATED */
|
|
16
9
|
'urn:logto:scope:organizations': string;
|
|
17
|
-
/** UNTRANSLATED */
|
|
18
10
|
'urn:logto:scope:organization_roles': string;
|
|
19
|
-
/** UNTRANSLATED */
|
|
20
11
|
address: string;
|
|
21
12
|
};
|
|
22
13
|
}>;
|
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
const user_scopes = {
|
|
2
2
|
descriptions: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
roles: 'Your roles',
|
|
13
|
-
/** UNTRANSLATED */
|
|
14
|
-
identities: 'Your linked social identities',
|
|
15
|
-
/** UNTRANSLATED */
|
|
16
|
-
'urn:logto:scope:organizations': 'Your organizations info',
|
|
17
|
-
/** UNTRANSLATED */
|
|
18
|
-
'urn:logto:scope:organization_roles': 'Your organization roles',
|
|
19
|
-
/** UNTRANSLATED */
|
|
20
|
-
address: 'Your address',
|
|
3
|
+
custom_data: '你的自定义数据',
|
|
4
|
+
email: '你的电子邮箱地址',
|
|
5
|
+
phone: '你的电话号码',
|
|
6
|
+
profile: '你的名称,用户名,头像和其他个人资料信息',
|
|
7
|
+
roles: '你的角色',
|
|
8
|
+
identities: '你已连接的第三方账号',
|
|
9
|
+
'urn:logto:scope:organizations': '你的组织信息',
|
|
10
|
+
'urn:logto:scope:organization_roles': '你的组织角色',
|
|
11
|
+
address: '你的地址',
|
|
21
12
|
},
|
|
22
13
|
};
|
|
23
14
|
export default Object.freeze(user_scopes);
|
|
@@ -28,6 +28,7 @@ declare const _default: Readonly<{
|
|
|
28
28
|
social_link_phone: string;
|
|
29
29
|
social_link_email_or_phone: string;
|
|
30
30
|
social_bind_with_existing: string;
|
|
31
|
+
skip_social_linking: string;
|
|
31
32
|
reset_password: string;
|
|
32
33
|
reset_password_description: string;
|
|
33
34
|
new_password: string;
|
|
@@ -69,16 +70,28 @@ declare const _default: Readonly<{
|
|
|
69
70
|
/** UNTRANSLATED */
|
|
70
71
|
grant_organization_access: string;
|
|
71
72
|
/** UNTRANSLATED */
|
|
73
|
+
authorize_personal_data_usage: string;
|
|
74
|
+
/** UNTRANSLATED */
|
|
75
|
+
authorize_organization_access: string;
|
|
76
|
+
/** UNTRANSLATED */
|
|
72
77
|
user_scopes: string;
|
|
73
78
|
/** UNTRANSLATED */
|
|
74
79
|
organization_scopes: string;
|
|
75
80
|
/** UNTRANSLATED */
|
|
76
81
|
authorize_agreement: string;
|
|
77
82
|
/** UNTRANSLATED */
|
|
83
|
+
authorize_agreement_with_redirect: string;
|
|
84
|
+
/** UNTRANSLATED */
|
|
78
85
|
not_you: string;
|
|
79
86
|
/** UNTRANSLATED */
|
|
80
87
|
user_id: string;
|
|
81
88
|
/** UNTRANSLATED */
|
|
82
89
|
redirect_to: string;
|
|
90
|
+
auto_agreement: string;
|
|
91
|
+
identifier_sign_in_description: string;
|
|
92
|
+
all_sign_in_options: string;
|
|
93
|
+
identifier_register_description: string;
|
|
94
|
+
all_account_creation_options: string;
|
|
95
|
+
back_to_sign_in: string;
|
|
83
96
|
}>;
|
|
84
97
|
export default _default;
|
|
@@ -14,8 +14,8 @@ const description = {
|
|
|
14
14
|
and: '和',
|
|
15
15
|
enter_passcode: '驗證碼已經發送至你的{{ address }} {{target}}',
|
|
16
16
|
passcode_sent: '驗證碼已經發送',
|
|
17
|
-
resend_after_seconds: '
|
|
18
|
-
resend_passcode: '
|
|
17
|
+
resend_after_seconds: '還沒收到? <span>{{seconds}}</span> 秒後重發',
|
|
18
|
+
resend_passcode: '還沒收到? <a>重發驗證碼</a>',
|
|
19
19
|
create_account_id_exists: '{{type}}為 {{value}} 的帳號已存在,你要登錄嗎?',
|
|
20
20
|
link_account_id_exists: ' {{type}}為 {{value}} 的帳號已註冊,你要綁定至這個帳號嗎?',
|
|
21
21
|
sign_in_id_does_not_exist: '{{type}}為 {{value}} 的帳號不存在,你要創建一個新帳號嗎?',
|
|
@@ -27,7 +27,8 @@ const description = {
|
|
|
27
27
|
social_link_email: '你可以綁定其他郵箱',
|
|
28
28
|
social_link_phone: '你可以綁定其他手機號',
|
|
29
29
|
social_link_email_or_phone: '你可以綁定其他郵箱或手機號',
|
|
30
|
-
social_bind_with_existing: '
|
|
30
|
+
social_bind_with_existing: '我們發現一個已註冊的相關帳戶,您可以直接連接它。',
|
|
31
|
+
skip_social_linking: '跳過連接現有帳戶?',
|
|
31
32
|
reset_password: '忘記密碼',
|
|
32
33
|
reset_password_description: '輸入{{types, list(type: disjunction;)}},獲取驗證碼以重設密碼。',
|
|
33
34
|
new_password: '新密碼',
|
|
@@ -69,16 +70,28 @@ const description = {
|
|
|
69
70
|
/** UNTRANSLATED */
|
|
70
71
|
grant_organization_access: 'Grant the organization access:',
|
|
71
72
|
/** UNTRANSLATED */
|
|
73
|
+
authorize_personal_data_usage: 'Authorize the use of your personal data:',
|
|
74
|
+
/** UNTRANSLATED */
|
|
75
|
+
authorize_organization_access: 'Authorize access to the specific organization:',
|
|
76
|
+
/** UNTRANSLATED */
|
|
72
77
|
user_scopes: 'Personal user data',
|
|
73
78
|
/** UNTRANSLATED */
|
|
74
79
|
organization_scopes: 'Organization access',
|
|
75
80
|
/** UNTRANSLATED */
|
|
76
|
-
authorize_agreement: `By
|
|
81
|
+
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
|
|
82
|
+
/** UNTRANSLATED */
|
|
83
|
+
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
|
|
77
84
|
/** UNTRANSLATED */
|
|
78
85
|
not_you: 'Not you?',
|
|
79
86
|
/** UNTRANSLATED */
|
|
80
87
|
user_id: 'User ID: {{id}}',
|
|
81
88
|
/** UNTRANSLATED */
|
|
82
89
|
redirect_to: 'You will be redirected to {{name}}.',
|
|
90
|
+
auto_agreement: '繼續即表示您同意<link></link>。',
|
|
91
|
+
identifier_sign_in_description: '輸入您的{{types, list(type: disjunction;)}}以登入。',
|
|
92
|
+
all_sign_in_options: '所有登入選項',
|
|
93
|
+
identifier_register_description: '輸入您的{{types, list(type: disjunction;)}}以建立新帳戶。',
|
|
94
|
+
all_account_creation_options: '所有帳戶創建選項',
|
|
95
|
+
back_to_sign_in: '返回登入',
|
|
83
96
|
};
|
|
84
97
|
export default Object.freeze(description);
|
|
@@ -10,7 +10,7 @@ const error = {
|
|
|
10
10
|
invalid_email: '無效的電子郵件',
|
|
11
11
|
invalid_phone: '無效的手機號碼',
|
|
12
12
|
passwords_do_not_match: '兩次輸入的密碼不一致,請重試。',
|
|
13
|
-
invalid_passcode: '
|
|
13
|
+
invalid_passcode: '無效的驗證碼。',
|
|
14
14
|
invalid_connector_auth: '登錄失敗',
|
|
15
15
|
invalid_connector_request: '無效的登錄請求',
|
|
16
16
|
unknown: '未知錯誤,請稍後重試。',
|
|
@@ -76,6 +76,7 @@ declare const _default: Readonly<{
|
|
|
76
76
|
social_link_phone: string;
|
|
77
77
|
social_link_email_or_phone: string;
|
|
78
78
|
social_bind_with_existing: string;
|
|
79
|
+
skip_social_linking: string;
|
|
79
80
|
reset_password: string;
|
|
80
81
|
reset_password_description: string;
|
|
81
82
|
new_password: string;
|
|
@@ -113,12 +114,21 @@ declare const _default: Readonly<{
|
|
|
113
114
|
authorize_title: string;
|
|
114
115
|
request_permission: string;
|
|
115
116
|
grant_organization_access: string;
|
|
117
|
+
authorize_personal_data_usage: string;
|
|
118
|
+
authorize_organization_access: string;
|
|
116
119
|
user_scopes: string;
|
|
117
120
|
organization_scopes: string;
|
|
118
121
|
authorize_agreement: string;
|
|
122
|
+
authorize_agreement_with_redirect: string;
|
|
119
123
|
not_you: string;
|
|
120
124
|
user_id: string;
|
|
121
125
|
redirect_to: string;
|
|
126
|
+
auto_agreement: string;
|
|
127
|
+
identifier_sign_in_description: string;
|
|
128
|
+
all_sign_in_options: string;
|
|
129
|
+
identifier_register_description: string;
|
|
130
|
+
all_account_creation_options: string;
|
|
131
|
+
back_to_sign_in: string;
|
|
122
132
|
}>;
|
|
123
133
|
error: Readonly<{
|
|
124
134
|
general_required: string;
|
|
@@ -28,6 +28,7 @@ declare const _default: Readonly<{
|
|
|
28
28
|
social_link_phone: string;
|
|
29
29
|
social_link_email_or_phone: string;
|
|
30
30
|
social_bind_with_existing: string;
|
|
31
|
+
skip_social_linking: string;
|
|
31
32
|
reset_password: string;
|
|
32
33
|
reset_password_description: string;
|
|
33
34
|
new_password: string;
|
|
@@ -69,16 +70,28 @@ declare const _default: Readonly<{
|
|
|
69
70
|
/** UNTRANSLATED */
|
|
70
71
|
grant_organization_access: string;
|
|
71
72
|
/** UNTRANSLATED */
|
|
73
|
+
authorize_personal_data_usage: string;
|
|
74
|
+
/** UNTRANSLATED */
|
|
75
|
+
authorize_organization_access: string;
|
|
76
|
+
/** UNTRANSLATED */
|
|
72
77
|
user_scopes: string;
|
|
73
78
|
/** UNTRANSLATED */
|
|
74
79
|
organization_scopes: string;
|
|
75
80
|
/** UNTRANSLATED */
|
|
76
81
|
authorize_agreement: string;
|
|
77
82
|
/** UNTRANSLATED */
|
|
83
|
+
authorize_agreement_with_redirect: string;
|
|
84
|
+
/** UNTRANSLATED */
|
|
78
85
|
not_you: string;
|
|
79
86
|
/** UNTRANSLATED */
|
|
80
87
|
user_id: string;
|
|
81
88
|
/** UNTRANSLATED */
|
|
82
89
|
redirect_to: string;
|
|
90
|
+
auto_agreement: string;
|
|
91
|
+
identifier_sign_in_description: string;
|
|
92
|
+
all_sign_in_options: string;
|
|
93
|
+
identifier_register_description: string;
|
|
94
|
+
all_account_creation_options: string;
|
|
95
|
+
back_to_sign_in: string;
|
|
83
96
|
}>;
|
|
84
97
|
export default _default;
|
|
@@ -14,8 +14,8 @@ const description = {
|
|
|
14
14
|
and: '和',
|
|
15
15
|
enter_passcode: '驗證碼已經發送至你的{{address}} {{target}}',
|
|
16
16
|
passcode_sent: '驗證碼已經發送',
|
|
17
|
-
resend_after_seconds: '
|
|
18
|
-
resend_passcode: '
|
|
17
|
+
resend_after_seconds: '還沒收到? <span>{{seconds}}</span> 秒後重發',
|
|
18
|
+
resend_passcode: '還沒收到? <a>重發驗證碼</a>',
|
|
19
19
|
create_account_id_exists: '{{type}} 為 {{value}} 的帳號已存在,你要登錄嗎?',
|
|
20
20
|
link_account_id_exists: ' {{type}} 為 {{value}} 的帳號已註冊,你要綁定至這個帳號嗎?',
|
|
21
21
|
sign_in_id_does_not_exist: '{{type}} 為 {{value}} 的帳號不存在,你要創建一個新帳號嗎?',
|
|
@@ -27,7 +27,8 @@ const description = {
|
|
|
27
27
|
social_link_email: '你可以綁定其他郵箱',
|
|
28
28
|
social_link_phone: '你可以綁定其他手機號碼',
|
|
29
29
|
social_link_email_or_phone: '你可以綁定其他郵箱或手機號碼',
|
|
30
|
-
social_bind_with_existing: '
|
|
30
|
+
social_bind_with_existing: '我們發現一個已註冊的相關帳戶,您可以直接連接它。',
|
|
31
|
+
skip_social_linking: '跳過連接現有帳戶?',
|
|
31
32
|
reset_password: '忘記密碼',
|
|
32
33
|
reset_password_description: '輸入{{types, list(type: disjunction;)}},獲取驗證碼以重設密碼。',
|
|
33
34
|
new_password: '新密碼',
|
|
@@ -69,16 +70,28 @@ const description = {
|
|
|
69
70
|
/** UNTRANSLATED */
|
|
70
71
|
grant_organization_access: 'Grant the organization access:',
|
|
71
72
|
/** UNTRANSLATED */
|
|
73
|
+
authorize_personal_data_usage: 'Authorize the use of your personal data:',
|
|
74
|
+
/** UNTRANSLATED */
|
|
75
|
+
authorize_organization_access: 'Authorize access to the specific organization:',
|
|
76
|
+
/** UNTRANSLATED */
|
|
72
77
|
user_scopes: 'Personal user data',
|
|
73
78
|
/** UNTRANSLATED */
|
|
74
79
|
organization_scopes: 'Organization access',
|
|
75
80
|
/** UNTRANSLATED */
|
|
76
|
-
authorize_agreement: `By
|
|
81
|
+
authorize_agreement: `By authorizing the access, you agree to the {{name}}'s <link></link>.`,
|
|
82
|
+
/** UNTRANSLATED */
|
|
83
|
+
authorize_agreement_with_redirect: `By authorizing the access, you agree to the {{name}}'s <link></link>, and will be redirected to {{uri}}.`,
|
|
77
84
|
/** UNTRANSLATED */
|
|
78
85
|
not_you: 'Not you?',
|
|
79
86
|
/** UNTRANSLATED */
|
|
80
87
|
user_id: 'User ID: {{id}}',
|
|
81
88
|
/** UNTRANSLATED */
|
|
82
89
|
redirect_to: 'You will be redirected to {{name}}.',
|
|
90
|
+
auto_agreement: '繼續即表示您同意<link></link>。',
|
|
91
|
+
identifier_sign_in_description: '輸入您的{{types, list(type: disjunction;)}}以登入。',
|
|
92
|
+
all_sign_in_options: '所有登入選項',
|
|
93
|
+
identifier_register_description: '輸入您的{{types, list(type: disjunction;)}}以建立新帳戶。',
|
|
94
|
+
all_account_creation_options: '所有帳戶創建選項',
|
|
95
|
+
back_to_sign_in: '返回登入',
|
|
83
96
|
};
|
|
84
97
|
export default Object.freeze(description);
|
|
@@ -10,7 +10,7 @@ const error = {
|
|
|
10
10
|
invalid_email: '無效的郵箱',
|
|
11
11
|
invalid_phone: '無效的手機號',
|
|
12
12
|
passwords_do_not_match: '兩次輸入的密碼不一致,請重試。',
|
|
13
|
-
invalid_passcode: '
|
|
13
|
+
invalid_passcode: '無效的驗證碼。',
|
|
14
14
|
invalid_connector_auth: '登錄失敗',
|
|
15
15
|
invalid_connector_request: '無效的登錄請求',
|
|
16
16
|
unknown: '未知錯誤,請稍後重試。',
|
|
@@ -76,6 +76,7 @@ declare const _default: Readonly<{
|
|
|
76
76
|
social_link_phone: string;
|
|
77
77
|
social_link_email_or_phone: string;
|
|
78
78
|
social_bind_with_existing: string;
|
|
79
|
+
skip_social_linking: string;
|
|
79
80
|
reset_password: string;
|
|
80
81
|
reset_password_description: string;
|
|
81
82
|
new_password: string;
|
|
@@ -113,12 +114,21 @@ declare const _default: Readonly<{
|
|
|
113
114
|
authorize_title: string;
|
|
114
115
|
request_permission: string;
|
|
115
116
|
grant_organization_access: string;
|
|
117
|
+
authorize_personal_data_usage: string;
|
|
118
|
+
authorize_organization_access: string;
|
|
116
119
|
user_scopes: string;
|
|
117
120
|
organization_scopes: string;
|
|
118
121
|
authorize_agreement: string;
|
|
122
|
+
authorize_agreement_with_redirect: string;
|
|
119
123
|
not_you: string;
|
|
120
124
|
user_id: string;
|
|
121
125
|
redirect_to: string;
|
|
126
|
+
auto_agreement: string;
|
|
127
|
+
identifier_sign_in_description: string;
|
|
128
|
+
all_sign_in_options: string;
|
|
129
|
+
identifier_register_description: string;
|
|
130
|
+
all_account_creation_options: string;
|
|
131
|
+
back_to_sign_in: string;
|
|
122
132
|
}>;
|
|
123
133
|
error: Readonly<{
|
|
124
134
|
general_required: string;
|
package/lib/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type en from './locales/en/index.js';
|
|
2
|
-
type FlattenKeys<T
|
|
3
|
-
[K in keyof T]: T[K] extends Record<string, unknown> ? `${
|
|
2
|
+
type FlattenKeys<T> = {
|
|
3
|
+
[K in keyof T]: K extends string ? T[K] extends Record<string, unknown> ? `${K}.${FlattenKeys<T[K]>}` : `${K}` : never;
|
|
4
4
|
}[keyof T];
|
|
5
5
|
export type LocalePhrase = typeof en;
|
|
6
6
|
export type LocalePhraseGroupKey = keyof LocalePhrase['translation'];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@logto/phrases-experience",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Logto shared phrases (i18n) for experience.",
|
|
5
5
|
"author": "Silverhand Inc. <contact@silverhand.io>",
|
|
6
6
|
"homepage": "https://github.com/logto-io/logto#readme",
|
|
@@ -26,19 +26,18 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@logto/core-kit": "^2.4.0",
|
|
28
28
|
"@logto/language-kit": "^1.1.0",
|
|
29
|
-
"@silverhand/essentials": "^2.9.
|
|
29
|
+
"@silverhand/essentials": "^2.9.1"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"zod": "^3.
|
|
32
|
+
"zod": "^3.23.8"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@silverhand/eslint-config": "
|
|
36
|
-
"@silverhand/ts-config": "
|
|
37
|
-
"
|
|
38
|
-
"eslint": "^8.44.0",
|
|
35
|
+
"@silverhand/eslint-config": "6.0.1",
|
|
36
|
+
"@silverhand/ts-config": "6.0.0",
|
|
37
|
+
"eslint": "^8.56.0",
|
|
39
38
|
"lint-staged": "^15.0.0",
|
|
40
39
|
"prettier": "^3.0.0",
|
|
41
|
-
"typescript": "^5.
|
|
40
|
+
"typescript": "^5.5.3"
|
|
42
41
|
},
|
|
43
42
|
"engines": {
|
|
44
43
|
"node": "^20.9.0"
|