@lobehub/lobehub 2.0.0-next.343 → 2.0.0-next.345

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 (169) hide show
  1. package/.cursor/rules/i18n.mdc +1 -1
  2. package/.cursor/rules/modal-imperative.mdc +162 -0
  3. package/.cursor/rules/rules-index.mdc +1 -0
  4. package/.env.example +0 -14
  5. package/.eslintrc.js +8 -1
  6. package/CHANGELOG.md +66 -0
  7. package/Dockerfile +3 -13
  8. package/README.md +3 -5
  9. package/README.zh-CN.md +3 -5
  10. package/changelog/v1.json +24 -0
  11. package/docs/self-hosting/advanced/auth/clerk-to-betterauth.mdx +11 -42
  12. package/docs/self-hosting/advanced/auth/clerk-to-betterauth.zh-CN.mdx +10 -41
  13. package/e2e/src/support/webServer.ts +2 -0
  14. package/locales/ar/error.json +0 -4
  15. package/locales/bg-BG/error.json +0 -4
  16. package/locales/de-DE/error.json +0 -4
  17. package/locales/en-US/error.json +0 -4
  18. package/locales/es-ES/error.json +0 -4
  19. package/locales/fa-IR/error.json +0 -4
  20. package/locales/fr-FR/error.json +0 -4
  21. package/locales/it-IT/error.json +0 -4
  22. package/locales/ja-JP/error.json +0 -4
  23. package/locales/ko-KR/error.json +0 -4
  24. package/locales/nl-NL/error.json +0 -4
  25. package/locales/pl-PL/error.json +0 -4
  26. package/locales/pt-BR/error.json +0 -4
  27. package/locales/ru-RU/error.json +0 -4
  28. package/locales/tr-TR/error.json +0 -4
  29. package/locales/vi-VN/error.json +0 -4
  30. package/locales/zh-CN/error.json +0 -4
  31. package/locales/zh-TW/error.json +0 -4
  32. package/package.json +7 -9
  33. package/packages/builtin-agents/package.json +2 -0
  34. package/packages/builtin-agents/src/agents/agent-builder/index.ts +4 -2
  35. package/packages/builtin-agents/src/agents/group-agent-builder/index.ts +4 -2
  36. package/packages/builtin-agents/src/agents/page-agent/index.ts +5 -2
  37. package/packages/builtin-tool-cloud-sandbox/src/ExecutionRuntime/index.ts +161 -12
  38. package/packages/context-engine/src/engine/messages/MessagesEngine.ts +9 -9
  39. package/packages/context-engine/src/providers/GroupContextInjector.ts +19 -33
  40. package/packages/context-engine/src/providers/__tests__/GroupContextInjector.test.ts +79 -43
  41. package/packages/context-engine/src/providers/__tests__/__snapshots__/GroupContextInjector.test.ts.snap +5 -15
  42. package/packages/database/src/repositories/userMemory/__tests__/UserMemoryTopicRepository.test.ts +24 -3
  43. package/packages/model-bank/src/modelProviders/comfyui.ts +0 -1
  44. package/packages/model-bank/src/modelProviders/fal.ts +0 -1
  45. package/packages/types/src/fetch.ts +1 -2
  46. package/packages/utils/src/server/__tests__/auth.test.ts +0 -47
  47. package/packages/utils/src/server/auth.ts +1 -9
  48. package/scripts/_shared/checkDeprecatedClerkEnv.js +42 -0
  49. package/scripts/changelogWorkflow/buildStaticChangelog.ts +2 -1
  50. package/scripts/clerk-to-betterauth/_internal/types.ts +53 -20
  51. package/scripts/clerk-to-betterauth/export-clerk-users-with-api.ts +43 -36
  52. package/scripts/countEnWord.ts +1 -1
  53. package/scripts/electronWorkflow/modifiers/appCode.mts +2 -131
  54. package/scripts/i18nWorkflow/protectedPatterns.ts +1 -2
  55. package/scripts/prebuild.mts +10 -8
  56. package/scripts/serverLauncher/startServer.js +23 -5
  57. package/src/app/(backend)/middleware/auth/index.test.ts +8 -4
  58. package/src/app/(backend)/middleware/auth/index.ts +0 -15
  59. package/src/app/(backend)/middleware/auth/utils.test.ts +0 -28
  60. package/src/app/(backend)/middleware/auth/utils.ts +2 -17
  61. package/src/app/(backend)/webapi/chat/[provider]/route.test.ts +3 -51
  62. package/src/app/(backend)/webapi/models/[provider]/route.test.ts +8 -4
  63. package/src/app/[variants]/(auth)/next-auth/signin/AuthSignInBox.tsx +7 -6
  64. package/src/app/[variants]/(auth)/signup/[[...signup]]/page.tsx +1 -16
  65. package/src/app/[variants]/(main)/home/_layout/Body/Agent/List/index.tsx +1 -1
  66. package/src/app/[variants]/(main)/home/features/InputArea/SkillInstallBanner.tsx +13 -13
  67. package/src/app/[variants]/(main)/home/features/RecentPage/Item.tsx +2 -2
  68. package/src/app/[variants]/(main)/settings/hooks/useCategory.tsx +3 -21
  69. package/src/app/[variants]/(main)/settings/profile/features/AvatarRow.tsx +1 -2
  70. package/src/app/[variants]/(main)/settings/security/index.tsx +1 -22
  71. package/src/app/[variants]/(main)/settings/skill/features/KlavisSkillItem.tsx +12 -14
  72. package/src/app/[variants]/(main)/settings/skill/features/LobehubSkillItem.tsx +8 -14
  73. package/src/app/[variants]/(main)/settings/skill/index.tsx +7 -5
  74. package/src/app/[variants]/(mobile)/me/(home)/__tests__/UserBanner.test.tsx +2 -35
  75. package/src/app/[variants]/(mobile)/me/(home)/__tests__/useCategory.test.tsx +0 -20
  76. package/src/app/[variants]/(mobile)/me/(home)/features/UserBanner.tsx +1 -2
  77. package/src/app/[variants]/(mobile)/me/profile/features/Category.tsx +3 -13
  78. package/src/app/[variants]/(mobile)/settings/_layout/Header.tsx +2 -3
  79. package/src/app/[variants]/share/t/[id]/_layout/index.tsx +1 -1
  80. package/src/app/[variants]/share/t/[id]/index.tsx +1 -1
  81. package/src/app/robots.tsx +1 -1
  82. package/src/envs/auth.ts +2 -27
  83. package/src/envs/llm.ts +2 -2
  84. package/src/features/AgentSetting/AgentPlugin/index.tsx +9 -12
  85. package/src/features/ChatInput/ActionBar/Tools/index.tsx +7 -5
  86. package/src/features/ChatMiniMap/utils.ts +1 -1
  87. package/src/features/CommandMenu/SearchResults.tsx +1 -1
  88. package/src/features/Conversation/ChatList/components/AutoScroll/DebugInspector.tsx +166 -0
  89. package/src/features/Conversation/ChatList/components/AutoScroll/index.tsx +86 -0
  90. package/src/features/Conversation/ChatList/components/VirtualizedList.tsx +11 -17
  91. package/src/features/Conversation/Messages/AgentCouncil/components/AutoScrollShadow.tsx +25 -14
  92. package/src/features/Conversation/Messages/AgentCouncil/components/CouncilMember.tsx +1 -1
  93. package/src/features/IntegrationDetailModal/IntegrationDetailContent.tsx +305 -0
  94. package/src/features/IntegrationDetailModal/index.tsx +21 -283
  95. package/src/features/MCPPluginDetail/Deployment/index.tsx +1 -1
  96. package/src/features/MCPPluginDetail/Schema/Prompts.tsx +1 -1
  97. package/src/features/MCPPluginDetail/Schema/Tools.tsx +1 -1
  98. package/src/features/ProfileEditor/AgentTool.tsx +14 -20
  99. package/src/features/ResourceManager/components/Explorer/MasonryView/MasonryFileItem/NoteFileItem.tsx +1 -1
  100. package/src/features/SkillStore/LobeHubList/index.tsx +50 -87
  101. package/src/features/SkillStore/Search/index.tsx +1 -1
  102. package/src/features/SkillStore/{Content.tsx → SkillStoreContent.tsx} +3 -8
  103. package/src/features/SkillStore/index.tsx +15 -33
  104. package/src/features/User/UserPanel/PanelContent.tsx +0 -8
  105. package/src/features/User/__tests__/PanelContent.test.tsx +1 -35
  106. package/src/features/User/__tests__/UserAvatar.test.tsx +30 -57
  107. package/src/features/User/__tests__/useMenu.test.tsx +2 -43
  108. package/src/layout/AuthProvider/index.tsx +0 -5
  109. package/src/libs/next/config/define-config.ts +6 -0
  110. package/src/libs/next/proxy/createRouteMatcher.test.ts +121 -0
  111. package/src/libs/next/proxy/createRouteMatcher.ts +18 -0
  112. package/src/libs/next/proxy/define-config.ts +4 -53
  113. package/src/libs/next-auth/adapter/index.ts +1 -2
  114. package/src/libs/oidc-provider/provider.test.ts +5 -316
  115. package/src/libs/trpc/lambda/context.test.ts +0 -13
  116. package/src/libs/trpc/lambda/context.ts +3 -22
  117. package/src/libs/trpc/middleware/userAuth.ts +2 -4
  118. package/src/libs/trusted-client/getSessionUser.ts +2 -17
  119. package/src/locales/default/error.ts +0 -6
  120. package/src/locales/default/index.ts +0 -2
  121. package/src/proxy.ts +0 -1
  122. package/src/server/routers/lambda/__tests__/user.test.ts +0 -71
  123. package/src/server/routers/lambda/user.ts +6 -63
  124. package/src/server/services/changelog/index.test.ts +3 -2
  125. package/src/server/services/changelog/index.ts +1 -1
  126. package/src/server/services/user/index.ts +0 -83
  127. package/src/services/chat/index.ts +1 -2
  128. package/src/services/chat/mecha/agentConfigResolver.test.ts +43 -0
  129. package/src/services/chat/mecha/agentConfigResolver.ts +3 -1
  130. package/src/store/chat/slices/aiChat/actions/__tests__/streamingExecutor.test.ts +58 -14
  131. package/src/store/chat/slices/aiChat/actions/streamingExecutor.ts +10 -2
  132. package/src/store/user/slices/auth/action.test.ts +1 -81
  133. package/src/store/user/slices/auth/action.ts +3 -28
  134. package/src/store/user/slices/auth/initialState.ts +1 -18
  135. package/src/store/user/slices/auth/selectors.test.ts +2 -127
  136. package/src/store/user/slices/auth/selectors.ts +1 -21
  137. package/src/utils/errorResponse.ts +1 -4
  138. package/src/utils/markdownToTxt.ts +20 -0
  139. package/locales/ar/clerk.json +0 -545
  140. package/locales/bg-BG/clerk.json +0 -545
  141. package/locales/de-DE/clerk.json +0 -545
  142. package/locales/en-US/clerk.json +0 -545
  143. package/locales/es-ES/clerk.json +0 -545
  144. package/locales/fa-IR/clerk.json +0 -545
  145. package/locales/fr-FR/clerk.json +0 -545
  146. package/locales/it-IT/clerk.json +0 -545
  147. package/locales/ja-JP/clerk.json +0 -545
  148. package/locales/ko-KR/clerk.json +0 -545
  149. package/locales/nl-NL/clerk.json +0 -545
  150. package/locales/pl-PL/clerk.json +0 -545
  151. package/locales/pt-BR/clerk.json +0 -545
  152. package/locales/ru-RU/clerk.json +0 -545
  153. package/locales/tr-TR/clerk.json +0 -545
  154. package/locales/vi-VN/clerk.json +0 -545
  155. package/locales/zh-CN/clerk.json +0 -545
  156. package/locales/zh-TW/clerk.json +0 -545
  157. package/src/app/(backend)/api/webhooks/clerk/__tests__/fixtures/createUser.json +0 -73
  158. package/src/app/(backend)/api/webhooks/clerk/route.ts +0 -95
  159. package/src/app/(backend)/api/webhooks/clerk/validateRequest.ts +0 -22
  160. package/src/app/[variants]/(auth)/login/[[...login]]/page.tsx +0 -27
  161. package/src/app/[variants]/(main)/settings/security/features/ClerkProfile.tsx +0 -67
  162. package/src/features/Conversation/ChatList/components/AutoScroll.tsx +0 -25
  163. package/src/layout/AuthProvider/Clerk/UserUpdater.tsx +0 -40
  164. package/src/layout/AuthProvider/Clerk/index.tsx +0 -54
  165. package/src/layout/AuthProvider/Clerk/useAppearance.ts +0 -133
  166. package/src/libs/clerk-auth/index.test.ts +0 -216
  167. package/src/libs/clerk-auth/index.ts +0 -80
  168. package/src/locales/default/clerk.ts +0 -677
  169. package/src/server/services/user/index.test.ts +0 -220
@@ -1,545 +0,0 @@
1
- {
2
- "backButton": "Quay lại",
3
- "badge__default": "Mặc định",
4
- "badge__otherImpersonatorDevice": "Thiết bị giả mạo khác",
5
- "badge__primary": "Chính",
6
- "badge__requiresAction": "Cần hành động",
7
- "badge__thisDevice": "Thiết bị này",
8
- "badge__unverified": "Chưa xác minh",
9
- "badge__userDevice": "Thiết bị người dùng",
10
- "badge__you": "Bạn",
11
- "createOrganization.formButtonSubmit": "Tạo tổ chức",
12
- "createOrganization.invitePage.formButtonReset": "Bỏ qua",
13
- "createOrganization.title": "Tạo tổ chức",
14
- "dates.lastDay": "Hôm qua lúc {{ date | timeString('vi-VN') }}",
15
- "dates.next6Days": "{{ date | weekday('vi-VN','long') }} lúc {{ date | timeString('vi-VN') }}",
16
- "dates.nextDay": "Ngày mai lúc {{ date | timeString('vi-VN') }}",
17
- "dates.numeric": "{{ date | numeric('vi-VN') }}",
18
- "dates.previous6Days": "{{ date | weekday('vi-VN','long') }} tuần trước lúc {{ date | timeString('vi-VN') }}",
19
- "dates.sameDay": "Hôm nay lúc {{ date | timeString('vi-VN') }}",
20
- "dividerText": "hoặc",
21
- "footerActionLink__useAnotherMethod": "Sử dụng phương thức khác",
22
- "footerPageLink__help": "Trợ giúp",
23
- "footerPageLink__privacy": "Quyền riêng tư",
24
- "footerPageLink__terms": "Điều khoản",
25
- "formButtonPrimary": "Tiếp tục",
26
- "formButtonPrimary__verify": "Xác minh",
27
- "formFieldAction__forgotPassword": "Quên mật khẩu?",
28
- "formFieldError__matchingPasswords": "Mật khẩu khớp.",
29
- "formFieldError__notMatchingPasswords": "Mật khẩu không khớp.",
30
- "formFieldError__verificationLinkExpired": "Liên kết xác minh đã hết hạn. Vui lòng yêu cầu liên kết mới.",
31
- "formFieldHintText__optional": "Không bắt buộc",
32
- "formFieldHintText__slug": "Slug là một ID dễ đọc, phải là duy nhất. Thường được sử dụng trong URL.",
33
- "formFieldInputPlaceholder__backupCode": "",
34
- "formFieldInputPlaceholder__confirmDeletionUserAccount": "Xóa tài khoản",
35
- "formFieldInputPlaceholder__emailAddress": "",
36
- "formFieldInputPlaceholder__emailAddress_username": "",
37
- "formFieldInputPlaceholder__emailAddresses": "vidu@email.com, vidu2@email.com",
38
- "formFieldInputPlaceholder__firstName": "",
39
- "formFieldInputPlaceholder__lastName": "",
40
- "formFieldInputPlaceholder__organizationDomain": "",
41
- "formFieldInputPlaceholder__organizationDomainEmailAddress": "",
42
- "formFieldInputPlaceholder__organizationName": "",
43
- "formFieldInputPlaceholder__organizationSlug": "to-chuc-cua-toi",
44
- "formFieldInputPlaceholder__password": "",
45
- "formFieldInputPlaceholder__phoneNumber": "",
46
- "formFieldInputPlaceholder__username": "",
47
- "formFieldLabel__automaticInvitations": "Bật lời mời tự động cho miền này",
48
- "formFieldLabel__backupCode": "Mã dự phòng",
49
- "formFieldLabel__confirmDeletion": "Xác nhận",
50
- "formFieldLabel__confirmPassword": "Xác nhận mật khẩu",
51
- "formFieldLabel__currentPassword": "Mật khẩu hiện tại",
52
- "formFieldLabel__emailAddress": "Địa chỉ email",
53
- "formFieldLabel__emailAddress_username": "Email hoặc tên người dùng",
54
- "formFieldLabel__emailAddresses": "Địa chỉ email",
55
- "formFieldLabel__firstName": "Tên",
56
- "formFieldLabel__lastName": "Họ",
57
- "formFieldLabel__newPassword": "Mật khẩu mới",
58
- "formFieldLabel__organizationDomain": "Miền",
59
- "formFieldLabel__organizationDomainDeletePending": "Xóa lời mời và đề xuất đang chờ",
60
- "formFieldLabel__organizationDomainEmailAddress": "Email xác minh",
61
- "formFieldLabel__organizationDomainEmailAddressDescription": "Nhập địa chỉ email thuộc miền này để nhận mã xác minh và xác thực miền.",
62
- "formFieldLabel__organizationName": "Tên",
63
- "formFieldLabel__organizationSlug": "Slug",
64
- "formFieldLabel__passkeyName": "Tên khóa truy cập",
65
- "formFieldLabel__password": "Mật khẩu",
66
- "formFieldLabel__phoneNumber": "Số điện thoại",
67
- "formFieldLabel__role": "Vai trò",
68
- "formFieldLabel__signOutOfOtherSessions": "Đăng xuất khỏi tất cả thiết bị khác",
69
- "formFieldLabel__username": "Tên người dùng",
70
- "impersonationFab.action__signOut": "Đăng xuất",
71
- "impersonationFab.title": "Đăng nhập với tư cách {{identifier}}",
72
- "locale": "vi-VN",
73
- "maintenanceMode": "Chúng tôi đang bảo trì hệ thống, vui lòng chờ trong vài phút.",
74
- "membershipRole__admin": "Quản trị viên",
75
- "membershipRole__basicMember": "Thành viên",
76
- "membershipRole__guestMember": "Khách",
77
- "organizationList.action__createOrganization": "Tạo tổ chức",
78
- "organizationList.action__invitationAccept": "Tham gia",
79
- "organizationList.action__suggestionsAccept": "Yêu cầu tham gia",
80
- "organizationList.createOrganization": "Tạo tổ chức",
81
- "organizationList.invitationAcceptedLabel": "Đã tham gia",
82
- "organizationList.subtitle": "để tiếp tục đến {{applicationName}}",
83
- "organizationList.suggestionsAcceptedLabel": "Đang chờ phê duyệt",
84
- "organizationList.title": "Chọn tài khoản",
85
- "organizationList.titleWithoutPersonal": "Chọn tổ chức",
86
- "organizationProfile.badge__automaticInvitation": "Lời mời tự động",
87
- "organizationProfile.badge__automaticSuggestion": "Đề xuất tự động",
88
- "organizationProfile.badge__manualInvitation": "Không tự động tham gia",
89
- "organizationProfile.badge__unverified": "Chưa xác minh",
90
- "organizationProfile.createDomainPage.subtitle": "Thêm miền để xác minh. Người dùng có email thuộc miền này có thể tự động tham gia hoặc yêu cầu tham gia tổ chức.",
91
- "organizationProfile.createDomainPage.title": "Thêm miền",
92
- "organizationProfile.invitePage.detailsTitle__inviteFailed": "Không thể gửi lời mời. Đã có lời mời đang chờ cho các địa chỉ email sau: {{email_addresses}}.",
93
- "organizationProfile.invitePage.formButtonPrimary__continue": "Gửi lời mời",
94
- "organizationProfile.invitePage.selectDropdown__role": "Chọn vai trò",
95
- "organizationProfile.invitePage.subtitle": "Nhập hoặc dán một hoặc nhiều địa chỉ email, cách nhau bằng dấu cách hoặc dấu phẩy.",
96
- "organizationProfile.invitePage.successMessage": "Đã gửi lời mời thành công",
97
- "organizationProfile.invitePage.title": "Mời thành viên mới",
98
- "organizationProfile.membersPage.action__invite": "Mời",
99
- "organizationProfile.membersPage.activeMembersTab.menuAction__remove": "Xóa thành viên",
100
- "organizationProfile.membersPage.activeMembersTab.tableHeader__actions": "",
101
- "organizationProfile.membersPage.activeMembersTab.tableHeader__joined": "Đã tham gia",
102
- "organizationProfile.membersPage.activeMembersTab.tableHeader__role": "Vai trò",
103
- "organizationProfile.membersPage.activeMembersTab.tableHeader__user": "Người dùng",
104
- "organizationProfile.membersPage.detailsTitle__emptyRow": "Không có thành viên để hiển thị",
105
- "organizationProfile.membersPage.invitationsTab.autoInvitations.headerSubtitle": "Mời người dùng bằng cách kết nối miền email với tổ chức của bạn. Bất kỳ ai đăng ký với miền email phù hợp sẽ có thể tham gia tổ chức bất cứ lúc nào.",
106
- "organizationProfile.membersPage.invitationsTab.autoInvitations.headerTitle": "Lời mời tự động",
107
- "organizationProfile.membersPage.invitationsTab.autoInvitations.primaryButton": "Quản lý miền đã xác minh",
108
- "organizationProfile.membersPage.invitationsTab.table__emptyRow": "Không có lời mời để hiển thị",
109
- "organizationProfile.membersPage.invitedMembersTab.menuAction__revoke": "Thu hồi lời mời",
110
- "organizationProfile.membersPage.invitedMembersTab.tableHeader__invited": "Đã mời",
111
- "organizationProfile.membersPage.requestsTab.autoSuggestions.headerSubtitle": "Người dùng đăng ký với miền email phù hợp sẽ thấy đề xuất yêu cầu tham gia tổ chức của bạn.",
112
- "organizationProfile.membersPage.requestsTab.autoSuggestions.headerTitle": "Đề xuất tự động",
113
- "organizationProfile.membersPage.requestsTab.autoSuggestions.primaryButton": "Quản lý miền đã xác minh",
114
- "organizationProfile.membersPage.requestsTab.menuAction__approve": "Phê duyệt",
115
- "organizationProfile.membersPage.requestsTab.menuAction__reject": "Từ chối",
116
- "organizationProfile.membersPage.requestsTab.tableHeader__requested": "Yêu cầu truy cập",
117
- "organizationProfile.membersPage.requestsTab.table__emptyRow": "Không có yêu cầu để hiển thị",
118
- "organizationProfile.membersPage.start.headerTitle__invitations": "Lời mời",
119
- "organizationProfile.membersPage.start.headerTitle__members": "Thành viên",
120
- "organizationProfile.membersPage.start.headerTitle__requests": "Yêu cầu",
121
- "organizationProfile.navbar.description": "Quản lý tổ chức của bạn.",
122
- "organizationProfile.navbar.general": "Chung",
123
- "organizationProfile.navbar.members": "Thành viên",
124
- "organizationProfile.navbar.title": "Tổ chức",
125
- "organizationProfile.profilePage.dangerSection.deleteOrganization.actionDescription": "Nhập \"{{organizationName}}\" bên dưới để tiếp tục.",
126
- "organizationProfile.profilePage.dangerSection.deleteOrganization.messageLine1": "Bạn có chắc chắn muốn xóa tổ chức này không?",
127
- "organizationProfile.profilePage.dangerSection.deleteOrganization.messageLine2": "Hành động này là vĩnh viễn và không thể hoàn tác.",
128
- "organizationProfile.profilePage.dangerSection.deleteOrganization.successMessage": "Bạn đã xóa tổ chức.",
129
- "organizationProfile.profilePage.dangerSection.deleteOrganization.title": "Xóa tổ chức",
130
- "organizationProfile.profilePage.dangerSection.leaveOrganization.actionDescription": "Nhập \"{{organizationName}}\" bên dưới để tiếp tục.",
131
- "organizationProfile.profilePage.dangerSection.leaveOrganization.messageLine1": "Bạn có chắc chắn muốn rời khỏi tổ chức này không? Bạn sẽ mất quyền truy cập vào tổ chức và các ứng dụng của nó.",
132
- "organizationProfile.profilePage.dangerSection.leaveOrganization.messageLine2": "Hành động này là vĩnh viễn và không thể hoàn tác.",
133
- "organizationProfile.profilePage.dangerSection.leaveOrganization.successMessage": "Bạn đã rời khỏi tổ chức.",
134
- "organizationProfile.profilePage.dangerSection.leaveOrganization.title": "Rời khỏi tổ chức",
135
- "organizationProfile.profilePage.dangerSection.title": "Nguy hiểm",
136
- "organizationProfile.profilePage.domainSection.menuAction__manage": "Quản lý",
137
- "organizationProfile.profilePage.domainSection.menuAction__remove": "Xóa",
138
- "organizationProfile.profilePage.domainSection.menuAction__verify": "Xác minh",
139
- "organizationProfile.profilePage.domainSection.primaryButton": "Thêm tên miền",
140
- "organizationProfile.profilePage.domainSection.subtitle": "Cho phép người dùng tự động tham gia tổ chức hoặc yêu cầu tham gia dựa trên tên miền email đã được xác minh.",
141
- "organizationProfile.profilePage.domainSection.title": "Tên miền đã xác minh",
142
- "organizationProfile.profilePage.successMessage": "Tổ chức đã được cập nhật.",
143
- "organizationProfile.profilePage.title": "Cập nhật hồ sơ",
144
- "organizationProfile.removeDomainPage.messageLine1": "Tên miền email {{domain}} sẽ bị xóa.",
145
- "organizationProfile.removeDomainPage.messageLine2": "Người dùng sẽ không thể tự động tham gia tổ chức sau đó.",
146
- "organizationProfile.removeDomainPage.successMessage": "{{domain}} đã bị xóa.",
147
- "organizationProfile.removeDomainPage.title": "Xóa tên miền",
148
- "organizationProfile.start.headerTitle__general": "Chung",
149
- "organizationProfile.start.headerTitle__members": "Thành viên",
150
- "organizationProfile.start.profileSection.primaryButton": "Cập nhật hồ sơ",
151
- "organizationProfile.start.profileSection.title": "Hồ sơ tổ chức",
152
- "organizationProfile.start.profileSection.uploadAction__title": "Logo",
153
- "organizationProfile.verifiedDomainPage.dangerTab.calloutInfoLabel": "Việc xóa tên miền này sẽ ảnh hưởng đến người dùng được mời.",
154
- "organizationProfile.verifiedDomainPage.dangerTab.removeDomainActionLabel__remove": "Xóa tên miền",
155
- "organizationProfile.verifiedDomainPage.dangerTab.removeDomainSubtitle": "Xóa tên miền này khỏi danh sách tên miền đã xác minh của bạn",
156
- "organizationProfile.verifiedDomainPage.dangerTab.removeDomainTitle": "Xóa tên miền",
157
- "organizationProfile.verifiedDomainPage.enrollmentTab.automaticInvitationOption__description": "Người dùng sẽ được mời tự động tham gia tổ chức khi đăng ký và có thể tham gia bất cứ lúc nào.",
158
- "organizationProfile.verifiedDomainPage.enrollmentTab.automaticInvitationOption__label": "Lời mời tự động",
159
- "organizationProfile.verifiedDomainPage.enrollmentTab.automaticSuggestionOption__description": "Người dùng sẽ nhận được đề xuất yêu cầu tham gia, nhưng phải được quản trị viên phê duyệt trước khi có thể tham gia tổ chức.",
160
- "organizationProfile.verifiedDomainPage.enrollmentTab.automaticSuggestionOption__label": "Đề xuất tự động",
161
- "organizationProfile.verifiedDomainPage.enrollmentTab.calloutInfoLabel": "Việc thay đổi chế độ ghi danh chỉ ảnh hưởng đến người dùng mới.",
162
- "organizationProfile.verifiedDomainPage.enrollmentTab.calloutInvitationCountLabel": "Lời mời đang chờ gửi đến người dùng: {{count}}",
163
- "organizationProfile.verifiedDomainPage.enrollmentTab.calloutSuggestionCountLabel": "Đề xuất đang chờ gửi đến người dùng: {{count}}",
164
- "organizationProfile.verifiedDomainPage.enrollmentTab.manualInvitationOption__description": "Người dùng chỉ có thể được mời tham gia tổ chức một cách thủ công.",
165
- "organizationProfile.verifiedDomainPage.enrollmentTab.manualInvitationOption__label": "Không ghi danh tự động",
166
- "organizationProfile.verifiedDomainPage.enrollmentTab.subtitle": "Chọn cách người dùng từ tên miền này có thể tham gia tổ chức.",
167
- "organizationProfile.verifiedDomainPage.start.headerTitle__danger": "Nguy hiểm",
168
- "organizationProfile.verifiedDomainPage.start.headerTitle__enrollment": "Tùy chọn ghi danh",
169
- "organizationProfile.verifiedDomainPage.subtitle": "Tên miền {{domain}} đã được xác minh. Tiếp tục bằng cách chọn chế độ ghi danh.",
170
- "organizationProfile.verifiedDomainPage.title": "Cập nhật {{domain}}",
171
- "organizationProfile.verifyDomainPage.formSubtitle": "Nhập mã xác minh được gửi đến địa chỉ email của bạn",
172
- "organizationProfile.verifyDomainPage.formTitle": "Mã xác minh",
173
- "organizationProfile.verifyDomainPage.resendButton": "Không nhận được mã? Gửi lại",
174
- "organizationProfile.verifyDomainPage.subtitle": "Tên miền {{domainName}} cần được xác minh qua email.",
175
- "organizationProfile.verifyDomainPage.subtitleVerificationCodeScreen": "Mã xác minh đã được gửi đến {{emailAddress}}. Nhập mã để tiếp tục.",
176
- "organizationProfile.verifyDomainPage.title": "Xác minh tên miền",
177
- "organizationSwitcher.action__createOrganization": "Tạo tổ chức",
178
- "organizationSwitcher.action__invitationAccept": "Tham gia",
179
- "organizationSwitcher.action__manageOrganization": "Quản lý",
180
- "organizationSwitcher.action__suggestionsAccept": "Yêu cầu tham gia",
181
- "organizationSwitcher.notSelected": "Chưa chọn tổ chức nào",
182
- "organizationSwitcher.personalWorkspace": "Tài khoản cá nhân",
183
- "organizationSwitcher.suggestionsAcceptedLabel": "Đang chờ phê duyệt",
184
- "paginationButton__next": "Tiếp",
185
- "paginationButton__previous": "Trước",
186
- "paginationRowText__displaying": "Hiển thị",
187
- "paginationRowText__of": "trên",
188
- "signIn.accountSwitcher.action__addAccount": "Thêm tài khoản",
189
- "signIn.accountSwitcher.action__signOutAll": "Đăng xuất khỏi tất cả tài khoản",
190
- "signIn.accountSwitcher.subtitle": "Chọn tài khoản bạn muốn tiếp tục.",
191
- "signIn.accountSwitcher.title": "Chọn tài khoản",
192
- "signIn.alternativeMethods.actionLink": "Cần trợ giúp",
193
- "signIn.alternativeMethods.actionText": "Không có phương thức nào trong số này?",
194
- "signIn.alternativeMethods.blockButton__backupCode": "Sử dụng mã dự phòng",
195
- "signIn.alternativeMethods.blockButton__emailCode": "Gửi mã đến {{identifier}}",
196
- "signIn.alternativeMethods.blockButton__emailLink": "Gửi liên kết đến {{identifier}}",
197
- "signIn.alternativeMethods.blockButton__passkey": "Đăng nhập bằng khóa bảo mật",
198
- "signIn.alternativeMethods.blockButton__password": "Đăng nhập bằng mật khẩu",
199
- "signIn.alternativeMethods.blockButton__phoneCode": "Gửi mã SMS đến {{identifier}}",
200
- "signIn.alternativeMethods.blockButton__totp": "Sử dụng ứng dụng xác thực",
201
- "signIn.alternativeMethods.getHelp.blockButton__emailSupport": "Gửi email hỗ trợ",
202
- "signIn.alternativeMethods.getHelp.content": "Nếu bạn gặp khó khăn khi đăng nhập vào tài khoản, hãy gửi email cho chúng tôi và chúng tôi sẽ hỗ trợ bạn khôi phục quyền truy cập sớm nhất có thể.",
203
- "signIn.alternativeMethods.getHelp.title": "Cần trợ giúp",
204
- "signIn.alternativeMethods.subtitle": "Gặp sự cố? Bạn có thể sử dụng bất kỳ phương thức nào sau đây để đăng nhập.",
205
- "signIn.alternativeMethods.title": "Sử dụng phương thức khác",
206
- "signIn.backupCodeMfa.subtitle": "Mã dự phòng là mã bạn đã nhận được khi thiết lập xác thực hai bước.",
207
- "signIn.backupCodeMfa.title": "Nhập mã dự phòng",
208
- "signIn.emailCode.formTitle": "Mã xác minh",
209
- "signIn.emailCode.resendButton": "Không nhận được mã? Gửi lại",
210
- "signIn.emailCode.subtitle": "để tiếp tục đến {{applicationName}}",
211
- "signIn.emailCode.title": "Kiểm tra email của bạn",
212
- "signIn.emailLink.expired.subtitle": "Quay lại tab gốc để tiếp tục.",
213
- "signIn.emailLink.expired.title": "Liên kết xác minh đã hết hạn",
214
- "signIn.emailLink.failed.subtitle": "Quay lại tab gốc để tiếp tục.",
215
- "signIn.emailLink.failed.title": "Liên kết xác minh không hợp lệ",
216
- "signIn.emailLink.formSubtitle": "Sử dụng liên kết xác minh được gửi đến email của bạn",
217
- "signIn.emailLink.formTitle": "Liên kết xác minh",
218
- "signIn.emailLink.loading.subtitle": "Bạn sẽ được chuyển hướng ngay",
219
- "signIn.emailLink.loading.title": "Đang đăng nhập...",
220
- "signIn.emailLink.resendButton": "Không nhận được liên kết? Gửi lại",
221
- "signIn.emailLink.subtitle": "để tiếp tục đến {{applicationName}}",
222
- "signIn.emailLink.title": "Kiểm tra email của bạn",
223
- "signIn.emailLink.unusedTab.title": "Bạn có thể đóng tab này",
224
- "signIn.emailLink.verified.subtitle": "Bạn sẽ được chuyển hướng ngay",
225
- "signIn.emailLink.verified.title": "Đăng nhập thành công",
226
- "signIn.emailLink.verifiedSwitchTab.subtitle": "Quay lại tab gốc để tiếp tục",
227
- "signIn.emailLink.verifiedSwitchTab.subtitleNewTab": "Quay lại tab mới mở để tiếp tục",
228
- "signIn.emailLink.verifiedSwitchTab.titleNewTab": "Đã đăng nhập ở tab khác",
229
- "signIn.forgotPassword.formTitle": "Mã đặt lại mật khẩu",
230
- "signIn.forgotPassword.resendButton": "Không nhận được mã? Gửi lại",
231
- "signIn.forgotPassword.subtitle": "để đặt lại mật khẩu của bạn",
232
- "signIn.forgotPassword.subtitle_email": "Trước tiên, nhập mã được gửi đến email của bạn",
233
- "signIn.forgotPassword.subtitle_phone": "Trước tiên, nhập mã được gửi đến điện thoại của bạn",
234
- "signIn.forgotPassword.title": "Đặt lại mật khẩu",
235
- "signIn.forgotPasswordAlternativeMethods.blockButton__resetPassword": "Đặt lại mật khẩu",
236
- "signIn.forgotPasswordAlternativeMethods.label__alternativeMethods": "Hoặc, đăng nhập bằng phương thức khác",
237
- "signIn.forgotPasswordAlternativeMethods.title": "Quên mật khẩu?",
238
- "signIn.noAvailableMethods.message": "Không thể tiếp tục đăng nhập. Không có yếu tố xác thực nào khả dụng.",
239
- "signIn.noAvailableMethods.subtitle": "Đã xảy ra lỗi",
240
- "signIn.noAvailableMethods.title": "Không thể đăng nhập",
241
- "signIn.passkey.subtitle": "Sử dụng khóa bảo mật xác nhận bạn là chủ tài khoản. Thiết bị của bạn có thể yêu cầu vân tay, khuôn mặt hoặc mã khóa màn hình.",
242
- "signIn.passkey.title": "Sử dụng khóa bảo mật",
243
- "signIn.password.actionLink": "Sử dụng phương thức khác",
244
- "signIn.password.subtitle": "Nhập mật khẩu liên kết với tài khoản của bạn",
245
- "signIn.password.title": "Nhập mật khẩu",
246
- "signIn.passwordPwned.title": "Mật khẩu đã bị lộ",
247
- "signIn.phoneCode.formTitle": "Mã xác minh",
248
- "signIn.phoneCode.resendButton": "Không nhận được mã? Gửi lại",
249
- "signIn.phoneCode.subtitle": "để tiếp tục đến {{applicationName}}",
250
- "signIn.phoneCode.title": "Kiểm tra điện thoại của bạn",
251
- "signIn.phoneCodeMfa.formTitle": "Mã xác minh",
252
- "signIn.phoneCodeMfa.resendButton": "Không nhận được mã? Gửi lại",
253
- "signIn.phoneCodeMfa.subtitle": "Để tiếp tục, vui lòng nhập mã xác minh được gửi đến điện thoại của bạn",
254
- "signIn.phoneCodeMfa.title": "Kiểm tra điện thoại của bạn",
255
- "signIn.resetPassword.formButtonPrimary": "Đặt lại mật khẩu",
256
- "signIn.resetPassword.requiredMessage": "Vì lý do bảo mật, bạn cần đặt lại mật khẩu.",
257
- "signIn.resetPassword.successMessage": "Mật khẩu của bạn đã được thay đổi thành công. Đang đăng nhập, vui lòng chờ giây lát.",
258
- "signIn.resetPassword.title": "Thiết lập mật khẩu mới",
259
- "signIn.resetPasswordMfa.detailsLabel": "Chúng tôi cần xác minh danh tính của bạn trước khi đặt lại mật khẩu.",
260
- "signIn.start.actionLink": "Đăng ký",
261
- "signIn.start.actionLink__use_email": "Sử dụng email",
262
- "signIn.start.actionLink__use_email_username": "Sử dụng email hoặc tên người dùng",
263
- "signIn.start.actionLink__use_passkey": "Sử dụng khóa bảo mật",
264
- "signIn.start.actionLink__use_phone": "Sử dụng số điện thoại",
265
- "signIn.start.actionLink__use_username": "Sử dụng tên người dùng",
266
- "signIn.start.actionText": "Chưa có tài khoản?",
267
- "signIn.start.subtitle": "Chào mừng trở lại! Vui lòng đăng nhập để tiếp tục",
268
- "signIn.start.title": "Đăng nhập vào {{applicationName}}",
269
- "signIn.totpMfa.formTitle": "Mã xác minh",
270
- "signIn.totpMfa.subtitle": "Để tiếp tục, vui lòng nhập mã xác minh được tạo bởi ứng dụng xác thực của bạn",
271
- "signIn.totpMfa.title": "Xác minh hai bước",
272
- "signInEnterPasswordTitle": "Nhập mật khẩu của bạn",
273
- "signUp.continue.actionLink": "Đăng nhập",
274
- "signUp.continue.actionText": "Đã có tài khoản?",
275
- "signUp.continue.subtitle": "Vui lòng điền các thông tin còn thiếu để tiếp tục.",
276
- "signUp.continue.title": "Điền thông tin còn thiếu",
277
- "signUp.emailCode.formSubtitle": "Nhập mã xác minh được gửi đến địa chỉ email của bạn",
278
- "signUp.emailCode.formTitle": "Mã xác minh",
279
- "signUp.emailCode.resendButton": "Không nhận được mã? Gửi lại",
280
- "signUp.emailCode.subtitle": "Nhập mã xác minh được gửi đến email của bạn",
281
- "signUp.emailCode.title": "Xác minh email của bạn",
282
- "signUp.emailLink.formSubtitle": "Sử dụng liên kết xác minh được gửi đến địa chỉ email của bạn",
283
- "signUp.emailLink.formTitle": "Liên kết xác minh",
284
- "signUp.emailLink.loading.title": "Đang đăng ký...",
285
- "signUp.emailLink.resendButton": "Không nhận được liên kết? Gửi lại",
286
- "signUp.emailLink.subtitle": "để tiếp tục đến {{applicationName}}",
287
- "signUp.emailLink.title": "Xác minh email của bạn",
288
- "signUp.emailLink.verified.title": "Đăng ký thành công",
289
- "signUp.emailLink.verifiedSwitchTab.subtitle": "Quay lại tab mới mở để tiếp tục",
290
- "signUp.emailLink.verifiedSwitchTab.subtitleNewTab": "Quay lại tab trước để tiếp tục",
291
- "signUp.emailLink.verifiedSwitchTab.title": "Xác minh email thành công",
292
- "signUp.phoneCode.formSubtitle": "Nhập mã xác minh được gửi đến số điện thoại của bạn",
293
- "signUp.phoneCode.formTitle": "Mã xác minh",
294
- "signUp.phoneCode.resendButton": "Không nhận được mã? Gửi lại",
295
- "signUp.phoneCode.subtitle": "Nhập mã xác minh được gửi đến điện thoại của bạn",
296
- "signUp.phoneCode.title": "Xác minh số điện thoại",
297
- "signUp.start.actionLink": "Đăng nhập",
298
- "signUp.start.actionText": "Đã có tài khoản?",
299
- "signUp.start.subtitle": "Chào mừng! Vui lòng điền thông tin để bắt đầu.",
300
- "signUp.start.title": "Tạo tài khoản của bạn",
301
- "socialButtonsBlockButton": "Tiếp tục với {{provider|titleize}}",
302
- "unstable__errors.captcha_invalid": "Đăng ký không thành công do xác minh bảo mật thất bại. Vui lòng làm mới trang để thử lại hoặc liên hệ bộ phận hỗ trợ để được trợ giúp.",
303
- "unstable__errors.captcha_unavailable": "Đăng ký không thành công do xác minh bot thất bại. Vui lòng làm mới trang để thử lại hoặc liên hệ bộ phận hỗ trợ để được trợ giúp.",
304
- "unstable__errors.form_code_incorrect": "",
305
- "unstable__errors.form_identifier_exists": "",
306
- "unstable__errors.form_identifier_exists__email_address": "Địa chỉ email này đã được sử dụng. Vui lòng thử địa chỉ khác.",
307
- "unstable__errors.form_identifier_exists__phone_number": "Số điện thoại này đã được sử dụng. Vui lòng thử số khác.",
308
- "unstable__errors.form_identifier_exists__username": "Tên người dùng này đã được sử dụng. Vui lòng thử tên khác.",
309
- "unstable__errors.form_identifier_not_found": "",
310
- "unstable__errors.form_param_format_invalid": "",
311
- "unstable__errors.form_param_format_invalid__email_address": "Địa chỉ email phải là một địa chỉ hợp lệ.",
312
- "unstable__errors.form_param_format_invalid__phone_number": "Số điện thoại phải ở định dạng quốc tế hợp lệ.",
313
- "unstable__errors.form_param_max_length_exceeded__first_name": "Tên không được vượt quá 256 ký tự.",
314
- "unstable__errors.form_param_max_length_exceeded__last_name": "Họ không được vượt quá 256 ký tự.",
315
- "unstable__errors.form_param_max_length_exceeded__name": "Tên không được vượt quá 256 ký tự.",
316
- "unstable__errors.form_param_nil": "",
317
- "unstable__errors.form_password_incorrect": "",
318
- "unstable__errors.form_password_length_too_short": "",
319
- "unstable__errors.form_password_not_strong_enough": "Mật khẩu của bạn chưa đủ mạnh.",
320
- "unstable__errors.form_password_pwned": "Mật khẩu này đã bị lộ trong một vụ rò rỉ dữ liệu và không thể sử dụng. Vui lòng thử mật khẩu khác.",
321
- "unstable__errors.form_password_pwned__sign_in": "Mật khẩu này đã bị lộ trong một vụ rò rỉ dữ liệu và không thể sử dụng. Vui lòng đặt lại mật khẩu của bạn.",
322
- "unstable__errors.form_password_size_in_bytes_exceeded": "Mật khẩu của bạn vượt quá số byte cho phép, vui lòng rút ngắn hoặc loại bỏ một số ký tự đặc biệt.",
323
- "unstable__errors.form_password_validation_failed": "Mật khẩu không chính xác",
324
- "unstable__errors.form_username_invalid_character": "",
325
- "unstable__errors.form_username_invalid_length": "",
326
- "unstable__errors.identification_deletion_failed": "Bạn không thể xóa danh tính cuối cùng của mình.",
327
- "unstable__errors.not_allowed_access": "",
328
- "unstable__errors.passkey_already_exists": "Khóa bảo mật đã được đăng ký với thiết bị này.",
329
- "unstable__errors.passkey_not_supported": "Thiết bị này không hỗ trợ khóa bảo mật.",
330
- "unstable__errors.passkey_pa_not_supported": "Đăng ký yêu cầu trình xác thực nền tảng nhưng thiết bị không hỗ trợ.",
331
- "unstable__errors.passkey_registration_cancelled": "Đăng ký khóa bảo mật đã bị hủy hoặc hết thời gian.",
332
- "unstable__errors.passkey_retrieval_cancelled": "Xác minh khóa bảo mật đã bị hủy hoặc hết thời gian.",
333
- "unstable__errors.passwordComplexity.maximumLength": "ít hơn {{length}} ký tự",
334
- "unstable__errors.passwordComplexity.minimumLength": "từ {{length}} ký tự trở lên",
335
- "unstable__errors.passwordComplexity.requireLowercase": "một chữ thường",
336
- "unstable__errors.passwordComplexity.requireNumbers": "một chữ số",
337
- "unstable__errors.passwordComplexity.requireSpecialCharacter": "một ký tự đặc biệt",
338
- "unstable__errors.passwordComplexity.requireUppercase": "một chữ hoa",
339
- "unstable__errors.passwordComplexity.sentencePrefix": "Mật khẩu của bạn phải chứa",
340
- "unstable__errors.phone_number_exists": "Số điện thoại này đã được sử dụng. Vui lòng thử số khác.",
341
- "unstable__errors.zxcvbn.couldBeStronger": "Mật khẩu của bạn hoạt động, nhưng có thể mạnh hơn. Hãy thử thêm nhiều ký tự hơn.",
342
- "unstable__errors.zxcvbn.goodPassword": "Mật khẩu của bạn đáp ứng tất cả yêu cầu cần thiết.",
343
- "unstable__errors.zxcvbn.notEnough": "Mật khẩu của bạn chưa đủ mạnh.",
344
- "unstable__errors.zxcvbn.suggestions.allUppercase": "Chỉ viết hoa một số chữ cái, không phải tất cả.",
345
- "unstable__errors.zxcvbn.suggestions.anotherWord": "Thêm các từ ít phổ biến hơn.",
346
- "unstable__errors.zxcvbn.suggestions.associatedYears": "Tránh các năm liên quan đến bạn.",
347
- "unstable__errors.zxcvbn.suggestions.capitalization": "Viết hoa nhiều hơn chữ cái đầu tiên.",
348
- "unstable__errors.zxcvbn.suggestions.dates": "Tránh các ngày và năm liên quan đến bạn.",
349
- "unstable__errors.zxcvbn.suggestions.l33t": "Tránh thay thế chữ cái có thể đoán được như '@' cho 'a'.",
350
- "unstable__errors.zxcvbn.suggestions.longerKeyboardPattern": "Sử dụng mẫu bàn phím dài hơn và thay đổi hướng gõ nhiều lần.",
351
- "unstable__errors.zxcvbn.suggestions.noNeed": "Bạn có thể tạo mật khẩu mạnh mà không cần dùng ký hiệu, số hoặc chữ hoa.",
352
- "unstable__errors.zxcvbn.suggestions.pwned": "Nếu bạn sử dụng mật khẩu này ở nơi khác, bạn nên thay đổi nó.",
353
- "unstable__errors.zxcvbn.suggestions.recentYears": "Tránh các năm gần đây.",
354
- "unstable__errors.zxcvbn.suggestions.repeated": "Tránh lặp lại từ và ký tự.",
355
- "unstable__errors.zxcvbn.suggestions.reverseWords": "Tránh viết ngược các từ phổ biến.",
356
- "unstable__errors.zxcvbn.suggestions.sequences": "Tránh các chuỗi ký tự phổ biến.",
357
- "unstable__errors.zxcvbn.suggestions.useWords": "Sử dụng nhiều từ, nhưng tránh cụm từ phổ biến.",
358
- "unstable__errors.zxcvbn.warnings.common": "Đây là mật khẩu thường được sử dụng.",
359
- "unstable__errors.zxcvbn.warnings.commonNames": "Tên và họ phổ biến rất dễ đoán.",
360
- "unstable__errors.zxcvbn.warnings.dates": "Ngày tháng rất dễ đoán.",
361
- "unstable__errors.zxcvbn.warnings.extendedRepeat": "Mẫu ký tự lặp lại như \"abcabcabc\" rất dễ đoán.",
362
- "unstable__errors.zxcvbn.warnings.keyPattern": "Mẫu bàn phím ngắn rất dễ đoán.",
363
- "unstable__errors.zxcvbn.warnings.namesByThemselves": "Tên hoặc họ đơn lẻ rất dễ đoán.",
364
- "unstable__errors.zxcvbn.warnings.pwned": "Mật khẩu của bạn đã bị lộ trong một vụ rò rỉ dữ liệu trên Internet.",
365
- "unstable__errors.zxcvbn.warnings.recentYears": "Các năm gần đây rất dễ đoán.",
366
- "unstable__errors.zxcvbn.warnings.sequences": "Chuỗi ký tự phổ biến như \"abc\" rất dễ đoán.",
367
- "unstable__errors.zxcvbn.warnings.similarToCommon": "Mật khẩu này tương tự với mật khẩu thường được sử dụng.",
368
- "unstable__errors.zxcvbn.warnings.simpleRepeat": "Ký tự lặp lại như \"aaa\" rất dễ đoán.",
369
- "unstable__errors.zxcvbn.warnings.straightRow": "Hàng phím thẳng trên bàn phím rất dễ đoán.",
370
- "unstable__errors.zxcvbn.warnings.topHundred": "Đây là một trong những mật khẩu được sử dụng nhiều nhất.",
371
- "unstable__errors.zxcvbn.warnings.topTen": "Đây là một trong những mật khẩu được sử dụng nhiều nhất.",
372
- "unstable__errors.zxcvbn.warnings.userInputs": "Không nên chứa thông tin cá nhân hoặc liên quan đến trang.",
373
- "unstable__errors.zxcvbn.warnings.wordByItself": "Từ đơn rất dễ đoán.",
374
- "userButton.action__addAccount": "Thêm tài khoản",
375
- "userButton.action__manageAccount": "Quản lý tài khoản",
376
- "userButton.action__signOut": "Đăng xuất",
377
- "userButton.action__signOutAll": "Đăng xuất khỏi tất cả tài khoản",
378
- "userProfile.backupCodePage.actionLabel__copied": "Đã sao chép!",
379
- "userProfile.backupCodePage.actionLabel__copy": "Sao chép tất cả",
380
- "userProfile.backupCodePage.actionLabel__download": "Tải xuống .txt",
381
- "userProfile.backupCodePage.actionLabel__print": "In",
382
- "userProfile.backupCodePage.infoText1": "Mã dự phòng sẽ được kích hoạt cho tài khoản này.",
383
- "userProfile.backupCodePage.infoText2": "Giữ bí mật và lưu trữ mã dự phòng một cách an toàn. Bạn có thể tạo lại mã nếu nghi ngờ chúng đã bị lộ.",
384
- "userProfile.backupCodePage.subtitle__codelist": "Lưu trữ an toàn và giữ bí mật.",
385
- "userProfile.backupCodePage.successMessage": "Mã dự phòng đã được kích hoạt. Bạn có thể sử dụng một trong số chúng để đăng nhập nếu mất quyền truy cập vào thiết bị xác thực. Mỗi mã chỉ sử dụng được một lần.",
386
- "userProfile.backupCodePage.successSubtitle": "Bạn có thể sử dụng một trong số chúng để đăng nhập nếu mất quyền truy cập vào thiết bị xác thực.",
387
- "userProfile.backupCodePage.title": "Thêm xác minh bằng mã dự phòng",
388
- "userProfile.backupCodePage.title__codelist": "Mã dự phòng",
389
- "userProfile.connectedAccountPage.formHint": "Chọn nhà cung cấp để kết nối tài khoản của bạn.",
390
- "userProfile.connectedAccountPage.formHint__noAccounts": "Không có nhà cung cấp tài khoản bên ngoài nào khả dụng.",
391
- "userProfile.connectedAccountPage.removeResource.messageLine1": "{{identifier}} sẽ bị xóa khỏi tài khoản này.",
392
- "userProfile.connectedAccountPage.removeResource.messageLine2": "Bạn sẽ không thể sử dụng tài khoản được kết nối này và các tính năng phụ thuộc sẽ không hoạt động.",
393
- "userProfile.connectedAccountPage.removeResource.successMessage": "{{connectedAccount}} đã được xóa khỏi tài khoản của bạn.",
394
- "userProfile.connectedAccountPage.removeResource.title": "Xóa tài khoản được kết nối",
395
- "userProfile.connectedAccountPage.socialButtonsBlockButton": "{{provider|titleize}}",
396
- "userProfile.connectedAccountPage.successMessage": "Nhà cung cấp đã được thêm vào tài khoản của bạn",
397
- "userProfile.connectedAccountPage.title": "Thêm tài khoản được kết nối",
398
- "userProfile.deletePage.actionDescription": "Nhập \"Xóa tài khoản\" bên dưới để tiếp tục.",
399
- "userProfile.deletePage.confirm": "Xóa tài khoản",
400
- "userProfile.deletePage.messageLine1": "Bạn có chắc chắn muốn xóa tài khoản của mình không?",
401
- "userProfile.deletePage.messageLine2": "Hành động này là vĩnh viễn và không thể hoàn tác.",
402
- "userProfile.deletePage.title": "Xóa tài khoản",
403
- "userProfile.emailAddressPage.emailCode.formHint": "Một email chứa mã xác minh sẽ được gửi đến địa chỉ email này.",
404
- "userProfile.emailAddressPage.emailCode.formSubtitle": "Nhập mã xác minh được gửi đến {{identifier}}",
405
- "userProfile.emailAddressPage.emailCode.formTitle": "Mã xác minh",
406
- "userProfile.emailAddressPage.emailCode.resendButton": "Không nhận được mã? Gửi lại",
407
- "userProfile.emailAddressPage.emailCode.successMessage": "Email {{identifier}} đã được thêm vào tài khoản của bạn.",
408
- "userProfile.emailAddressPage.emailLink.formHint": "Một email chứa liên kết xác minh sẽ được gửi đến địa chỉ email này.",
409
- "userProfile.emailAddressPage.emailLink.formSubtitle": "Nhấp vào liên kết xác minh trong email được gửi đến {{identifier}}",
410
- "userProfile.emailAddressPage.emailLink.formTitle": "Liên kết xác minh",
411
- "userProfile.emailAddressPage.emailLink.resendButton": "Không nhận được liên kết? Gửi lại",
412
- "userProfile.emailAddressPage.emailLink.successMessage": "Email {{identifier}} đã được thêm vào tài khoản của bạn.",
413
- "userProfile.emailAddressPage.removeResource.messageLine1": "{{identifier}} sẽ bị xóa khỏi tài khoản này.",
414
- "userProfile.emailAddressPage.removeResource.messageLine2": "Bạn sẽ không thể đăng nhập bằng địa chỉ email này nữa.",
415
- "userProfile.emailAddressPage.removeResource.successMessage": "{{emailAddress}} đã được xóa khỏi tài khoản của bạn.",
416
- "userProfile.emailAddressPage.removeResource.title": "Xóa địa chỉ email",
417
- "userProfile.emailAddressPage.title": "Thêm địa chỉ email",
418
- "userProfile.emailAddressPage.verifyTitle": "Xác minh địa chỉ email",
419
- "userProfile.formButtonPrimary__add": "Thêm",
420
- "userProfile.formButtonPrimary__continue": "Tiếp tục",
421
- "userProfile.formButtonPrimary__finish": "Hoàn tất",
422
- "userProfile.formButtonPrimary__remove": "Xóa",
423
- "userProfile.formButtonPrimary__save": "Lưu",
424
- "userProfile.formButtonReset": "Hủy",
425
- "userProfile.mfaPage.formHint": "Chọn phương thức để thêm.",
426
- "userProfile.mfaPage.title": "Thêm xác minh hai bước",
427
- "userProfile.mfaPhoneCodePage.backButton": "Sử dụng số hiện có",
428
- "userProfile.mfaPhoneCodePage.primaryButton__addPhoneNumber": "Thêm số điện thoại",
429
- "userProfile.mfaPhoneCodePage.removeResource.messageLine1": "{{identifier}} sẽ không còn nhận mã xác minh khi đăng nhập.",
430
- "userProfile.mfaPhoneCodePage.removeResource.messageLine2": "Tài khoản của bạn có thể không còn an toàn. Bạn có chắc muốn tiếp tục?",
431
- "userProfile.mfaPhoneCodePage.removeResource.successMessage": "Xác minh hai bước bằng mã SMS đã được xóa cho {{mfaPhoneCode}}",
432
- "userProfile.mfaPhoneCodePage.removeResource.title": "Xóa xác minh hai bước",
433
- "userProfile.mfaPhoneCodePage.subtitle__availablePhoneNumbers": "Chọn số điện thoại hiện có để đăng ký xác minh hai bước bằng mã SMS hoặc thêm số mới.",
434
- "userProfile.mfaPhoneCodePage.subtitle__unavailablePhoneNumbers": "Không có số điện thoại nào khả dụng để đăng ký xác minh hai bước bằng mã SMS, vui lòng thêm số mới.",
435
- "userProfile.mfaPhoneCodePage.successMessage1": "Khi đăng nhập, bạn sẽ cần nhập mã xác minh được gửi đến số điện thoại này như một bước bổ sung.",
436
- "userProfile.mfaPhoneCodePage.successMessage2": "Lưu các mã dự phòng này và cất giữ ở nơi an toàn. Nếu bạn mất quyền truy cập vào thiết bị xác thực, bạn có thể sử dụng mã dự phòng để đăng nhập.",
437
- "userProfile.mfaPhoneCodePage.successTitle": "Đã bật xác minh bằng mã SMS",
438
- "userProfile.mfaPhoneCodePage.title": "Thêm xác minh bằng mã SMS",
439
- "userProfile.mfaTOTPPage.authenticatorApp.buttonAbleToScan__nonPrimary": "Quét mã QR thay thế",
440
- "userProfile.mfaTOTPPage.authenticatorApp.buttonUnableToScan__nonPrimary": "Không thể quét mã QR?",
441
- "userProfile.mfaTOTPPage.authenticatorApp.infoText__ableToScan": "Thiết lập phương thức đăng nhập mới trong ứng dụng xác thực và quét mã QR sau để liên kết với tài khoản của bạn.",
442
- "userProfile.mfaTOTPPage.authenticatorApp.infoText__unableToScan": "Thiết lập phương thức đăng nhập mới trong ứng dụng xác thực và nhập Mã được cung cấp bên dưới.",
443
- "userProfile.mfaTOTPPage.authenticatorApp.inputLabel__unableToScan1": "Đảm bảo đã bật Mật khẩu một lần hoặc theo thời gian, sau đó hoàn tất liên kết tài khoản của bạn.",
444
- "userProfile.mfaTOTPPage.authenticatorApp.inputLabel__unableToScan2": "Ngoài ra, nếu ứng dụng xác thực của bạn hỗ trợ URI TOTP, bạn cũng có thể sao chép toàn bộ URI.",
445
- "userProfile.mfaTOTPPage.removeResource.messageLine1": "Mã xác minh từ ứng dụng xác thực này sẽ không còn được yêu cầu khi đăng nhập.",
446
- "userProfile.mfaTOTPPage.removeResource.messageLine2": "Tài khoản của bạn có thể không còn an toàn. Bạn có chắc muốn tiếp tục?",
447
- "userProfile.mfaTOTPPage.removeResource.successMessage": "Xác minh hai bước qua ứng dụng xác thực đã được xóa.",
448
- "userProfile.mfaTOTPPage.removeResource.title": "Xóa xác minh hai bước",
449
- "userProfile.mfaTOTPPage.successMessage": "Xác minh hai bước đã được bật. Khi đăng nhập, bạn sẽ cần nhập mã xác minh từ ứng dụng xác thực này như một bước bổ sung.",
450
- "userProfile.mfaTOTPPage.title": "Thêm ứng dụng xác thực",
451
- "userProfile.mfaTOTPPage.verifySubtitle": "Nhập mã xác minh được tạo bởi ứng dụng xác thực của bạn",
452
- "userProfile.mfaTOTPPage.verifyTitle": "Mã xác minh",
453
- "userProfile.mobileButton__menu": "Menu",
454
- "userProfile.navbar.account": "Hồ sơ",
455
- "userProfile.navbar.description": "Quản lý thông tin tài khoản của bạn.",
456
- "userProfile.navbar.security": "Bảo mật",
457
- "userProfile.navbar.title": "Tài khoản",
458
- "userProfile.passkeyScreen.removeResource.messageLine1": "{{name}} sẽ bị xóa khỏi tài khoản này.",
459
- "userProfile.passkeyScreen.removeResource.title": "Xóa khóa truy cập",
460
- "userProfile.passkeyScreen.subtitle__rename": "Bạn có thể đổi tên khóa truy cập để dễ nhận biết hơn.",
461
- "userProfile.passkeyScreen.title__rename": "Đổi tên khóa truy cập",
462
- "userProfile.passwordPage.checkboxInfoText__signOutOfOtherSessions": "Khuyến nghị đăng xuất khỏi tất cả thiết bị khác đã sử dụng mật khẩu cũ của bạn.",
463
- "userProfile.passwordPage.readonly": "Hiện tại bạn không thể chỉnh sửa mật khẩu vì bạn chỉ có thể đăng nhập qua kết nối doanh nghiệp.",
464
- "userProfile.passwordPage.successMessage__set": "Mật khẩu của bạn đã được thiết lập.",
465
- "userProfile.passwordPage.successMessage__signOutOfOtherSessions": "Tất cả thiết bị khác đã được đăng xuất.",
466
- "userProfile.passwordPage.successMessage__update": "Mật khẩu của bạn đã được cập nhật.",
467
- "userProfile.passwordPage.title__set": "Thiết lập mật khẩu",
468
- "userProfile.passwordPage.title__update": "Cập nhật mật khẩu",
469
- "userProfile.phoneNumberPage.infoText": "Một tin nhắn chứa mã xác minh sẽ được gửi đến số điện thoại này. Có thể áp dụng phí tin nhắn và dữ liệu.",
470
- "userProfile.phoneNumberPage.removeResource.messageLine1": "{{identifier}} sẽ bị xóa khỏi tài khoản này.",
471
- "userProfile.phoneNumberPage.removeResource.messageLine2": "Bạn sẽ không thể đăng nhập bằng số điện thoại này nữa.",
472
- "userProfile.phoneNumberPage.removeResource.successMessage": "{{phoneNumber}} đã được xóa khỏi tài khoản của bạn.",
473
- "userProfile.phoneNumberPage.removeResource.title": "Xóa số điện thoại",
474
- "userProfile.phoneNumberPage.successMessage": "{{identifier}} đã được thêm vào tài khoản của bạn.",
475
- "userProfile.phoneNumberPage.title": "Thêm số điện thoại",
476
- "userProfile.phoneNumberPage.verifySubtitle": "Nhập mã xác minh được gửi đến {{identifier}}",
477
- "userProfile.phoneNumberPage.verifyTitle": "Xác minh số điện thoại",
478
- "userProfile.profilePage.fileDropAreaHint": "Kích thước khuyến nghị 1:1, tối đa 10MB.",
479
- "userProfile.profilePage.imageFormDestructiveActionSubtitle": "Xóa",
480
- "userProfile.profilePage.imageFormSubtitle": "Tải lên",
481
- "userProfile.profilePage.imageFormTitle": "Ảnh hồ sơ",
482
- "userProfile.profilePage.readonly": "Thông tin hồ sơ của bạn được cung cấp bởi kết nối doanh nghiệp và không thể chỉnh sửa.",
483
- "userProfile.profilePage.successMessage": "Hồ sơ của bạn đã được cập nhật.",
484
- "userProfile.profilePage.title": "Cập nhật hồ sơ",
485
- "userProfile.start.activeDevicesSection.destructiveAction": "Đăng xuất khỏi thiết bị",
486
- "userProfile.start.activeDevicesSection.title": "Thiết bị đang hoạt động",
487
- "userProfile.start.connectedAccountsSection.actionLabel__connectionFailed": "Thử lại",
488
- "userProfile.start.connectedAccountsSection.actionLabel__reauthorize": "Ủy quyền ngay",
489
- "userProfile.start.connectedAccountsSection.destructiveActionTitle": "Gỡ bỏ",
490
- "userProfile.start.connectedAccountsSection.primaryButton": "Kết nối tài khoản",
491
- "userProfile.start.connectedAccountsSection.subtitle__reauthorize": "Phạm vi quyền truy cập đã được cập nhật, bạn có thể gặp phải một số hạn chế. Vui lòng ủy quyền lại ứng dụng này để tránh sự cố.",
492
- "userProfile.start.connectedAccountsSection.title": "Tài khoản đã kết nối",
493
- "userProfile.start.dangerSection.deleteAccountButton": "Xóa tài khoản",
494
- "userProfile.start.dangerSection.title": "Xóa tài khoản",
495
- "userProfile.start.emailAddressesSection.destructiveAction": "Gỡ bỏ email",
496
- "userProfile.start.emailAddressesSection.detailsAction__nonPrimary": "Đặt làm chính",
497
- "userProfile.start.emailAddressesSection.detailsAction__primary": "Hoàn tất xác minh",
498
- "userProfile.start.emailAddressesSection.detailsAction__unverified": "Xác minh",
499
- "userProfile.start.emailAddressesSection.primaryButton": "Thêm địa chỉ email",
500
- "userProfile.start.emailAddressesSection.title": "Địa chỉ email",
501
- "userProfile.start.enterpriseAccountsSection.title": "Tài khoản doanh nghiệp",
502
- "userProfile.start.headerTitle__account": "Chi tiết hồ sơ",
503
- "userProfile.start.headerTitle__security": "Bảo mật",
504
- "userProfile.start.mfaSection.backupCodes.actionLabel__regenerate": "Tạo lại",
505
- "userProfile.start.mfaSection.backupCodes.headerTitle": "Mã dự phòng",
506
- "userProfile.start.mfaSection.backupCodes.subtitle__regenerate": "Nhận bộ mã dự phòng mới an toàn. Các mã cũ sẽ bị xóa và không thể sử dụng lại.",
507
- "userProfile.start.mfaSection.backupCodes.title__regenerate": "Tạo lại mã dự phòng",
508
- "userProfile.start.mfaSection.phoneCode.actionLabel__setDefault": "Đặt làm mặc định",
509
- "userProfile.start.mfaSection.phoneCode.destructiveActionLabel": "Gỡ bỏ",
510
- "userProfile.start.mfaSection.primaryButton": "Thêm xác minh hai bước",
511
- "userProfile.start.mfaSection.title": "Xác minh hai bước",
512
- "userProfile.start.mfaSection.totp.destructiveActionTitle": "Gỡ bỏ",
513
- "userProfile.start.mfaSection.totp.headerTitle": "Ứng dụng xác thực",
514
- "userProfile.start.passkeysSection.menuAction__destructive": "Gỡ bỏ",
515
- "userProfile.start.passkeysSection.menuAction__rename": "Đổi tên",
516
- "userProfile.start.passkeysSection.title": "Khóa đăng nhập",
517
- "userProfile.start.passwordSection.primaryButton__setPassword": "Đặt mật khẩu",
518
- "userProfile.start.passwordSection.primaryButton__updatePassword": "Cập nhật mật khẩu",
519
- "userProfile.start.passwordSection.title": "Mật khẩu",
520
- "userProfile.start.phoneNumbersSection.destructiveAction": "Gỡ bỏ số điện thoại",
521
- "userProfile.start.phoneNumbersSection.detailsAction__nonPrimary": "Đặt làm chính",
522
- "userProfile.start.phoneNumbersSection.detailsAction__primary": "Hoàn tất xác minh",
523
- "userProfile.start.phoneNumbersSection.detailsAction__unverified": "Xác minh số điện thoại",
524
- "userProfile.start.phoneNumbersSection.primaryButton": "Thêm số điện thoại",
525
- "userProfile.start.phoneNumbersSection.title": "Số điện thoại",
526
- "userProfile.start.profileSection.primaryButton": "Cập nhật hồ sơ",
527
- "userProfile.start.profileSection.title": "Hồ sơ",
528
- "userProfile.start.usernameSection.primaryButton__setUsername": "Đặt tên người dùng",
529
- "userProfile.start.usernameSection.primaryButton__updateUsername": "Cập nhật tên người dùng",
530
- "userProfile.start.usernameSection.title": "Tên người dùng",
531
- "userProfile.start.web3WalletsSection.destructiveAction": "Gỡ bỏ ví",
532
- "userProfile.start.web3WalletsSection.primaryButton": "Ví Web3",
533
- "userProfile.start.web3WalletsSection.title": "Ví Web3",
534
- "userProfile.usernamePage.successMessage": "Tên người dùng của bạn đã được cập nhật.",
535
- "userProfile.usernamePage.title__set": "Đặt tên người dùng",
536
- "userProfile.usernamePage.title__update": "Cập nhật tên người dùng",
537
- "userProfile.web3WalletPage.removeResource.messageLine1": "{{identifier}} sẽ bị gỡ khỏi tài khoản này.",
538
- "userProfile.web3WalletPage.removeResource.messageLine2": "Bạn sẽ không thể đăng nhập bằng ví Web3 này nữa.",
539
- "userProfile.web3WalletPage.removeResource.successMessage": "{{web3Wallet}} đã được gỡ khỏi tài khoản của bạn.",
540
- "userProfile.web3WalletPage.removeResource.title": "Gỡ bỏ ví Web3",
541
- "userProfile.web3WalletPage.subtitle__availableWallets": "Chọn một ví Web3 để kết nối với tài khoản của bạn.",
542
- "userProfile.web3WalletPage.subtitle__unavailableWallets": "Không có ví Web3 nào khả dụng.",
543
- "userProfile.web3WalletPage.successMessage": "Ví đã được thêm vào tài khoản của bạn.",
544
- "userProfile.web3WalletPage.title": "Thêm ví Web3"
545
- }