@logto/phrases-experience 1.7.0 → 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.
Files changed (102) hide show
  1. package/lib/index.d.ts +5 -5
  2. package/lib/index.js +3 -0
  3. package/lib/locales/ar/action.d.ts +35 -0
  4. package/lib/locales/ar/action.js +35 -0
  5. package/lib/locales/ar/description.d.ts +90 -0
  6. package/lib/locales/ar/description.js +90 -0
  7. package/lib/locales/ar/development-tenant.d.ts +4 -0
  8. package/lib/locales/ar/development-tenant.js +4 -0
  9. package/lib/locales/ar/error/index.d.ts +34 -0
  10. package/lib/locales/ar/error/index.js +22 -0
  11. package/lib/locales/ar/error/password-rejected.d.ts +15 -0
  12. package/lib/locales/ar/error/password-rejected.js +15 -0
  13. package/lib/locales/ar/index.d.ts +232 -0
  14. package/lib/locales/ar/index.js +23 -0
  15. package/lib/locales/ar/input.d.ts +10 -0
  16. package/lib/locales/ar/input.js +10 -0
  17. package/lib/locales/ar/list.d.ts +6 -0
  18. package/lib/locales/ar/list.js +6 -0
  19. package/lib/locales/ar/mfa.d.ts +44 -0
  20. package/lib/locales/ar/mfa.js +44 -0
  21. package/lib/locales/ar/secondary.d.ts +4 -0
  22. package/lib/locales/ar/secondary.js +4 -0
  23. package/lib/locales/ar/user-scopes.d.ts +14 -0
  24. package/lib/locales/ar/user-scopes.js +14 -0
  25. package/lib/locales/de/action.js +1 -1
  26. package/lib/locales/de/description.d.ts +6 -0
  27. package/lib/locales/de/description.js +7 -1
  28. package/lib/locales/de/error/index.js +1 -1
  29. package/lib/locales/de/index.d.ts +6 -0
  30. package/lib/locales/en/action.js +1 -1
  31. package/lib/locales/en/description.d.ts +6 -0
  32. package/lib/locales/en/description.js +7 -1
  33. package/lib/locales/en/error/index.js +1 -1
  34. package/lib/locales/en/index.d.ts +6 -0
  35. package/lib/locales/es/action.js +1 -1
  36. package/lib/locales/es/description.d.ts +6 -0
  37. package/lib/locales/es/description.js +7 -1
  38. package/lib/locales/es/error/index.js +1 -1
  39. package/lib/locales/es/index.d.ts +6 -0
  40. package/lib/locales/fr/action.js +1 -1
  41. package/lib/locales/fr/description.d.ts +6 -0
  42. package/lib/locales/fr/description.js +7 -1
  43. package/lib/locales/fr/error/index.js +1 -1
  44. package/lib/locales/fr/index.d.ts +6 -0
  45. package/lib/locales/it/action.js +1 -1
  46. package/lib/locales/it/description.d.ts +6 -0
  47. package/lib/locales/it/description.js +7 -1
  48. package/lib/locales/it/error/index.js +1 -1
  49. package/lib/locales/it/index.d.ts +6 -0
  50. package/lib/locales/ja/action.js +1 -1
  51. package/lib/locales/ja/description.d.ts +6 -0
  52. package/lib/locales/ja/description.js +7 -1
  53. package/lib/locales/ja/error/index.js +1 -1
  54. package/lib/locales/ja/index.d.ts +6 -0
  55. package/lib/locales/ko/action.js +1 -1
  56. package/lib/locales/ko/description.d.ts +6 -0
  57. package/lib/locales/ko/description.js +7 -1
  58. package/lib/locales/ko/index.d.ts +6 -0
  59. package/lib/locales/pl-pl/action.js +1 -1
  60. package/lib/locales/pl-pl/description.d.ts +10 -0
  61. package/lib/locales/pl-pl/description.js +11 -1
  62. package/lib/locales/pl-pl/error/index.js +1 -1
  63. package/lib/locales/pl-pl/index.d.ts +10 -0
  64. package/lib/locales/pt-br/action.js +1 -1
  65. package/lib/locales/pt-br/description.d.ts +6 -0
  66. package/lib/locales/pt-br/description.js +7 -1
  67. package/lib/locales/pt-br/error/index.js +1 -1
  68. package/lib/locales/pt-br/index.d.ts +6 -0
  69. package/lib/locales/pt-pt/action.js +1 -1
  70. package/lib/locales/pt-pt/description.d.ts +6 -0
  71. package/lib/locales/pt-pt/description.js +7 -1
  72. package/lib/locales/pt-pt/index.d.ts +6 -0
  73. package/lib/locales/ru/action.js +1 -1
  74. package/lib/locales/ru/description.d.ts +10 -0
  75. package/lib/locales/ru/description.js +11 -1
  76. package/lib/locales/ru/error/index.js +1 -1
  77. package/lib/locales/ru/index.d.ts +10 -0
  78. package/lib/locales/tr-tr/action.js +1 -1
  79. package/lib/locales/tr-tr/description.d.ts +6 -0
  80. package/lib/locales/tr-tr/description.js +7 -1
  81. package/lib/locales/tr-tr/error/index.js +1 -1
  82. package/lib/locales/tr-tr/index.d.ts +6 -0
  83. package/lib/locales/zh-cn/action.d.ts +0 -2
  84. package/lib/locales/zh-cn/action.js +3 -5
  85. package/lib/locales/zh-cn/description.d.ts +6 -3
  86. package/lib/locales/zh-cn/description.js +12 -9
  87. package/lib/locales/zh-cn/error/index.js +1 -1
  88. package/lib/locales/zh-cn/index.d.ts +6 -0
  89. package/lib/locales/zh-cn/user-scopes.d.ts +0 -9
  90. package/lib/locales/zh-cn/user-scopes.js +9 -18
  91. package/lib/locales/zh-hk/action.js +1 -1
  92. package/lib/locales/zh-hk/description.d.ts +6 -0
  93. package/lib/locales/zh-hk/description.js +7 -1
  94. package/lib/locales/zh-hk/error/index.js +1 -1
  95. package/lib/locales/zh-hk/index.d.ts +6 -0
  96. package/lib/locales/zh-tw/action.js +1 -1
  97. package/lib/locales/zh-tw/description.d.ts +6 -0
  98. package/lib/locales/zh-tw/description.js +7 -1
  99. package/lib/locales/zh-tw/error/index.js +1 -1
  100. package/lib/locales/zh-tw/index.d.ts +6 -0
  101. package/lib/types.d.ts +2 -2
  102. package/package.json +3 -4
@@ -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: '应至少有 {{count}} 个字符',
57
- length_other: '应至少有 {{count}} 个字符',
58
- character_types_one: '应包含至少 {{count}} 种大写字母、小写字母、数字和符号',
59
- character_types_other: '应包含至少 {{count}} 种大写字母、小写字母、数字和符号',
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,18 +66,20 @@ const description = {
65
66
  authorize_title: '授权给 {{name}}',
66
67
  request_permission: '{{name}} 需要权限:',
67
68
  grant_organization_access: '授予组织访问权限:',
68
- /** UNTRANSLATED */
69
- authorize_personal_data_usage: 'Authorize the use of your personal data:',
70
- /** UNTRANSLATED */
69
+ authorize_personal_data_usage: '你将授权该应用使用你的以下个人数据:',
71
70
  authorize_organization_access: 'Authorize access to the specific organization:',
72
71
  user_scopes: '用户个人信息',
73
72
  organization_scopes: '组织权限',
74
73
  authorize_agreement: `你将同意授权给 {{name}} <link></link>.`,
75
- /** UNTRANSLATED */
76
74
  authorize_agreement_with_redirect: `你将同意授权给 {{name}} <link></link>,然后你将被重定向到 {{uri}}。`,
77
75
  not_you: '不是你本人吗?',
78
76
  user_id: '用户 ID: {{id}}',
79
77
  redirect_to: '你将被重定向到 {{name}}。',
80
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: '返回登录',
81
84
  };
82
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;
@@ -123,6 +124,11 @@ declare const _default: Readonly<{
123
124
  user_id: string;
124
125
  redirect_to: string;
125
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;
126
132
  }>;
127
133
  error: Readonly<{
128
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
- /** UNTRANSLATED */
4
- custom_data: 'Your custom data',
5
- /** UNTRANSLATED */
6
- email: 'Your email address',
7
- /** UNTRANSLATED */
8
- phone: 'Your phone number',
9
- /** UNTRANSLATED */
10
- profile: 'Your name, username, avatar, and other profile info',
11
- /** UNTRANSLATED */
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);
@@ -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: '確認',
@@ -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;
@@ -87,5 +88,10 @@ declare const _default: Readonly<{
87
88
  /** UNTRANSLATED */
88
89
  redirect_to: string;
89
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;
90
96
  }>;
91
97
  export default _default;
@@ -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: '新密碼',
@@ -87,5 +88,10 @@ const description = {
87
88
  /** UNTRANSLATED */
88
89
  redirect_to: 'You will be redirected to {{name}}.',
89
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: '返回登入',
90
96
  };
91
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;
@@ -123,6 +124,11 @@ declare const _default: Readonly<{
123
124
  user_id: string;
124
125
  redirect_to: string;
125
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;
126
132
  }>;
127
133
  error: Readonly<{
128
134
  general_required: string;
@@ -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: '確認',
@@ -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;
@@ -87,5 +88,10 @@ declare const _default: Readonly<{
87
88
  /** UNTRANSLATED */
88
89
  redirect_to: string;
89
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;
90
96
  }>;
91
97
  export default _default;
@@ -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: '新密碼',
@@ -87,5 +88,10 @@ const description = {
87
88
  /** UNTRANSLATED */
88
89
  redirect_to: 'You will be redirected to {{name}}.',
89
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: '返回登入',
90
96
  };
91
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;
@@ -123,6 +124,11 @@ declare const _default: Readonly<{
123
124
  user_id: string;
124
125
  redirect_to: string;
125
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;
126
132
  }>;
127
133
  error: Readonly<{
128
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, Prefix extends string = ''> = {
3
- [K in keyof T]: T[K] extends Record<string, unknown> ? `${Prefix}${string & K}.${FlattenKeys<T[K]>}` : `${Prefix}${string & K}`;
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.7.0",
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",
@@ -29,16 +29,15 @@
29
29
  "@silverhand/essentials": "^2.9.1"
30
30
  },
31
31
  "peerDependencies": {
32
- "zod": "^3.22.4"
32
+ "zod": "^3.23.8"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@silverhand/eslint-config": "6.0.1",
36
36
  "@silverhand/ts-config": "6.0.0",
37
- "buffer": "^6.0.0",
38
37
  "eslint": "^8.56.0",
39
38
  "lint-staged": "^15.0.0",
40
39
  "prettier": "^3.0.0",
41
- "typescript": "^5.3.3"
40
+ "typescript": "^5.5.3"
42
41
  },
43
42
  "engines": {
44
43
  "node": "^20.9.0"