diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index 8c7586c5018..fc1bff8e784 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -10,387 +10,466 @@ * ===================================================================================== */ -import type { LocalizationResource } from '@clerk/types'; +import type { LocalizationResource } from '@clerk/types' export const viVN: LocalizationResource = { locale: 'vi-VN', + apiKeys: { + action__add: 'Thêm khoá mới', + action__search: 'Tìm kiếm khoá', + formFieldOption__expiration__1d: '1 Ngày', + formFieldOption__expiration__7d: '7 Ngày', + formFieldOption__expiration__30d: '30 Ngày', + formFieldOption__expiration__60d: '60 Ngày', + formFieldOption__expiration__90d: '90 Ngày', + formFieldOption__expiration__180d: '180 Ngày', + formFieldOption__expiration__1y: '1 Năm', + formFieldOption__expiration__never: 'Không hết hạn', + lastUsed__seconds: '{{seconds}} giây trước', + lastUsed__minutes: '{{minutes}} phút trước', + lastUsed__hours: '{{hours}} giờ trước', + lastUsed__days: '{{days}} ngày trước', + lastUsed__months: '{{months}} tháng trước', + lastUsed__years: '{{years}} năm trước', + detailsTitle__emptyRow: 'Không tìm thấy khoá API', + formButtonPrimary__add: 'Tạo khoá', + formHint: 'Nhập tên để tạo khoá mới. Bạn sẽ có thể hủy bỏ bất kỳ lúc nào.', + formTitle: 'Thêm khoá API mới', + menuAction__revoke: 'Hủy khoá', + revokeConfirmation: { + formButtonPrimary__revoke: 'Hủy khoá', + formHint: 'Bạn có chắc chắn muốn xóa khoá này không?', + formTitle: 'Hủy khoá "{{apiKeyName}}" không?', + confirmationText: 'Hủy' + }, + createdAndExpirationStatus__never: "Tạo {{ createdDate | shortDate('vi-VN') }} • Không hết hạn", + createdAndExpirationStatus__expiresOn: + "Tạo {{ createdDate | shortDate('vi-VN') }} • Hết hạn {{ expiresDate | longDate('vi-VN') }}", + formFieldCaption__expiration__never: 'Khoá này sẽ không hết hạn', + formFieldCaption__expiration__expiresOn: 'Hết hạn {{ date }}' + }, backButton: 'Quay lại', - badge__activePlan: undefined, - badge__canceledEndsAt: undefined, - badge__currentPlan: undefined, + badge__activePlan: 'Đang hoạt động', + badge__canceledEndsAt: "Đã hủy • Kết thúc {{ date | shortDate('vi-VN') }}", + badge__currentPlan: 'Gói hiện tại', badge__default: 'Mặc định', - badge__endsAt: undefined, - badge__expired: undefined, - badge__otherImpersonatorDevice: 'Thiết bị nhân danh khác', + badge__endsAt: "Kết thúc {{ date | shortDate('vi-VN') }}", + badge__expired: 'Đã hết hạn', + badge__otherImpersonatorDevice: 'Thiết bị giả mạo khác', badge__primary: 'Chính', - badge__renewsAt: undefined, + badge__renewsAt: "Gia hạn {{ date | shortDate('vi-VN') }}", badge__requiresAction: 'Yêu cầu hành động', - badge__startsAt: undefined, + badge__startsAt: "Bắt đầu {{ date | shortDate('vi-VN') }}", badge__thisDevice: 'Thiết bị này', badge__unverified: 'Chưa xác minh', - badge__upcomingPlan: undefined, + badge__upcomingPlan: 'Sắp tới', badge__userDevice: 'Thiết bị người dùng', badge__you: 'Bạn', commerce: { - addPaymentMethod: undefined, - alwaysFree: undefined, - annually: undefined, - availableFeatures: undefined, - billedAnnually: undefined, - billedMonthlyOnly: undefined, - cancelSubscription: undefined, - cancelSubscriptionAccessUntil: undefined, - cancelSubscriptionNoCharge: undefined, - cancelSubscriptionTitle: undefined, - cannotSubscribeMonthly: undefined, + addPaymentMethod: 'Thêm phương thức thanh toán', + alwaysFree: 'Miễn phí mãi mãi', + annually: 'Hàng năm', + availableFeatures: 'Tính năng có sẵn', + billedAnnually: 'Tính phí hàng năm', + billedMonthlyOnly: 'Chỉ tính phí hàng tháng', + cancelSubscription: 'Hủy đăng ký', + cancelSubscriptionAccessUntil: + "Bạn có thể tiếp tục sử dụng tính năng '{{plan}}' cho đến {{ date | longDate('vi-VN') }}, sau đó bạn sẽ không còn quyền truy cập.", + cancelSubscriptionNoCharge: 'Bạn sẽ không bị tính phí cho đăng ký này.', + cancelSubscriptionTitle: 'Hủy đăng ký {{plan}}?', + cannotSubscribeMonthly: + 'Bạn không thể đăng ký gói này bằng cách thanh toán hàng tháng. Để đăng ký gói này, bạn cần chọn thanh toán hàng năm.', checkout: { - description__paymentSuccessful: undefined, - description__subscriptionSuccessful: undefined, - downgradeNotice: undefined, + description__paymentSuccessful: 'Thanh toán của bạn đã thành công.', + description__subscriptionSuccessful: 'Đăng ký mới của bạn đã được thiết lập.', + downgradeNotice: + 'Bạn sẽ giữ đăng ký hiện tại và các tính năng của nó cho đến cuối chu kỳ thanh toán, sau đó bạn sẽ được chuyển sang đăng ký này.', + pastDueNotice: 'Đăng ký trước của bạn đã quá hạn và chưa thanh toán.', emailForm: { - subtitle: undefined, - title: undefined, + subtitle: + 'Trước khi bạn có thể hoàn thành việc mua hàng, bạn phải thêm địa chỉ email nơi gửi hóa đơn.', + title: 'Thêm địa chỉ email' }, lineItems: { - title__paymentMethod: undefined, - title__statementId: undefined, - title__subscriptionBegins: undefined, - title__totalPaid: undefined, - }, - perMonth: undefined, - title: undefined, - title__paymentSuccessful: undefined, - title__subscriptionSuccessful: undefined, - }, - creditRemainder: undefined, - defaultFreePlanActive: undefined, - free: undefined, - getStarted: undefined, - keepSubscription: undefined, - manage: undefined, - manageSubscription: undefined, - month: undefined, - monthly: undefined, - pastDue: undefined, - pay: undefined, - paymentMethods: undefined, + title__paymentMethod: 'Phương thức thanh toán', + title__statementId: 'ID hóa đơn', + title__subscriptionBegins: 'Đăng ký bắt đầu', + title__totalPaid: 'Tổng thanh toán' + }, + perMonth: 'hàng tháng', + title: 'Thanh toán', + title__paymentSuccessful: 'Thanh toán thành công!', + title__subscriptionSuccessful: 'Thành công!' + }, + credit: 'Tín dụng', + creditRemainder: 'Tín dụng cho phần còn lại của đăng ký hiện tại.', + defaultFreePlanActive: 'Bạn hiện đang trên gói Miễn phí', + free: 'Miễn phí', + getStarted: 'Bắt đầu', + keepSubscription: 'Giữ đăng ký', + manage: 'Quản lý', + manageSubscription: 'Quản lý đăng ký', + month: 'Tháng', + monthly: 'Hàng tháng', + pastDue: 'Quá hạn', + pay: 'Thanh toán {{amount}}', + paymentMethods: 'Phương thức thanh toán', paymentSource: { applePayDescription: { - annual: undefined, - monthly: undefined, + annual: 'Thanh toán hàng năm', + monthly: 'Thanh toán hàng tháng' }, dev: { - anyNumbers: undefined, - cardNumber: undefined, - cvcZip: undefined, - developmentMode: undefined, - expirationDate: undefined, - testCardInfo: undefined, - }, - }, - popular: undefined, + anyNumbers: 'Bất kỳ số nào', + cardNumber: 'Số thẻ', + cvcZip: 'CVC, ZIP', + developmentMode: 'Chế độ phát triển', + expirationDate: 'Ngày hết hạn', + testCardInfo: 'Thông tin thử nghiệm' + } + }, + popular: 'Phổ biến', pricingTable: { - billingCycle: undefined, - included: undefined, - }, - reSubscribe: undefined, - seeAllFeatures: undefined, - subscribe: undefined, - subtotal: undefined, - switchPlan: undefined, - switchToAnnual: undefined, - switchToMonthly: undefined, - totalDueToday: undefined, - viewFeatures: undefined, - year: undefined, + billingCycle: 'Chu kỳ thanh toán', + included: 'Bao gồm' + }, + reSubscribe: 'Đăng ký lại', + seeAllFeatures: 'Xem tất cả tính năng', + subscribe: 'Đăng ký', + subtotal: 'Tổng cộng', + switchPlan: 'Chuyển sang gói này', + switchToAnnual: 'Chuyển sang hàng năm', + switchToMonthly: 'Chuyển sang hàng tháng', + totalDue: 'Tổng cần thanh toán', + totalDueToday: 'Tổng cần thanh toán hôm nay', + viewFeatures: 'Xem tính năng', + year: 'Năm' }, createOrganization: { formButtonSubmit: 'Tạo tổ chức', invitePage: { - formButtonReset: 'Bỏ qua', + formButtonReset: 'Bỏ qua' }, - title: 'Tạo Tổ chức', + title: 'Tạo tổ chức' }, dates: { lastDay: "Hôm qua lúc {{ date | timeString('vi-VN') }}", - next6Days: "Vào {{ date | weekday('vi-VN','long') }} tới lúc {{ date | timeString('vi-VN') }}", + next6Days: "{{ date | weekday('vi-VN','long') }} lúc {{ date | timeString('vi-VN') }}", nextDay: "Ngày mai lúc {{ date | timeString('vi-VN') }}", numeric: "{{ date | numeric('vi-VN') }}", - previous6Days: "Vào {{ date | weekday('vi-VN','long') }} trước đó lúc {{ date | timeString('vi-VN') }}", - sameDay: "Hôm nay lúc {{ date | timeString('vi-VN') }}", + previous6Days: "{{ date | weekday('vi-VN','long') }} lúc {{ date | timeString('vi-VN') }}", + sameDay: "Hôm nay lúc {{ date | timeString('vi-VN') }}" }, dividerText: 'hoặc', - footerActionLink__alternativePhoneCodeProvider: undefined, - footerActionLink__useAnotherMethod: 'Sử dụng phương pháp khác', + footerActionLink__alternativePhoneCodeProvider: 'Gửi mã qua SMS thay vì email', + footerActionLink__useAnotherMethod: 'Sử dụng phương thức khác', footerPageLink__help: 'Trợ giúp', footerPageLink__privacy: 'Quyền riêng tư', footerPageLink__terms: 'Điều khoản', formButtonPrimary: 'Tiếp tục', - formButtonPrimary__verify: 'Verify', + formButtonPrimary__verify: 'Xác minh', formFieldAction__forgotPassword: 'Quên mật khẩu?', - formFieldError__matchingPasswords: 'Mật khẩu khớp.', - formFieldError__notMatchingPasswords: 'Mật khẩu không khớp.', - formFieldError__verificationLinkExpired: 'The verification link expired. Please request a new link.', + formFieldError__matchingPasswords: 'Mật khẩu trùng khớp.', + formFieldError__notMatchingPasswords: 'Mật khẩu không trùng khớp.', + 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.', formFieldHintText__optional: 'Tùy chọn', - formFieldHintText__slug: 'A slug is a human-readable ID that must be unique. It’s often used in URLs.', - formFieldInputPlaceholder__backupCode: undefined, - formFieldInputPlaceholder__confirmDeletionUserAccount: 'Delete account', - formFieldInputPlaceholder__emailAddress: undefined, - formFieldInputPlaceholder__emailAddress_username: undefined, - formFieldInputPlaceholder__emailAddresses: - 'Nhập hoặc dán một hoặc nhiều địa chỉ email, cách nhau bằng khoảng trắng hoặc dấu phẩy', - formFieldInputPlaceholder__firstName: undefined, - formFieldInputPlaceholder__lastName: undefined, - formFieldInputPlaceholder__organizationDomain: undefined, - formFieldInputPlaceholder__organizationDomainEmailAddress: undefined, - formFieldInputPlaceholder__organizationName: undefined, - formFieldInputPlaceholder__organizationSlug: undefined, - formFieldInputPlaceholder__password: undefined, - formFieldInputPlaceholder__phoneNumber: undefined, + formFieldHintText__slug: + 'Một slug là một ID dễ đọc bởi con người mà phải độc nhất. Nó thường được sử dụng trong URL.', + formFieldInputPlaceholder__apiKeyName: 'Nhập tên khoá bí mật', + formFieldInputPlaceholder__apiKeyExpirationDate: 'Chọn ngày', + formFieldInputPlaceholder__apiKeyDescription: 'Giải thích tại sao bạn đang tạo khoá này', + formFieldInputPlaceholder__backupCode: 'Nhập mã dự phòng', + formFieldInputPlaceholder__confirmDeletionUserAccount: 'Xóa tài khoản', + formFieldInputPlaceholder__emailAddress: 'Nhập địa chỉ email của bạn', + formFieldInputPlaceholder__emailAddress_username: 'Nhập email hoặc tên người dùng', + formFieldInputPlaceholder__emailAddresses: 'example@email.com, example2@email.com', + formFieldInputPlaceholder__firstName: 'Tên', + formFieldInputPlaceholder__lastName: 'Họ', + formFieldInputPlaceholder__organizationDomain: 'example.com', + formFieldInputPlaceholder__organizationDomainEmailAddress: 'you@example.com', + formFieldInputPlaceholder__organizationName: 'Tên tổ chức', + formFieldInputPlaceholder__organizationSlug: 'my-org', + formFieldInputPlaceholder__password: 'Nhập mật khẩu của bạn', + formFieldInputPlaceholder__phoneNumber: 'Nhập số điện thoại của bạn', formFieldInputPlaceholder__username: undefined, - formFieldLabel__automaticInvitations: 'Enable automatic invitations for this domain', - formFieldLabel__backupCode: 'Mã sao lưu', - formFieldLabel__confirmDeletion: 'Confirmation', + formFieldLabel__apiKeyDescription: 'Mô tả', + formFieldLabel__apiKeyExpiration: 'Hết hạn', + formFieldLabel__apiKeyName: 'Tên khoá bí mật', + formFieldLabel__automaticInvitations: 'Cho phép tự động mời cho tên miền này', + formFieldLabel__backupCode: 'Mã dự phòng', + formFieldLabel__confirmDeletion: 'Xác nhận', formFieldLabel__confirmPassword: 'Xác nhận mật khẩu', formFieldLabel__currentPassword: 'Mật khẩu hiện tại', formFieldLabel__emailAddress: 'Địa chỉ email', - formFieldLabel__emailAddress_username: 'Địa chỉ email hoặc tên người dùng', - formFieldLabel__emailAddresses: 'Các địa chỉ email', + formFieldLabel__emailAddress_username: 'Email hoặc tên người dùng', + formFieldLabel__emailAddresses: 'Địa chỉ email', formFieldLabel__firstName: 'Tên', formFieldLabel__lastName: 'Họ', formFieldLabel__newPassword: 'Mật khẩu mới', - formFieldLabel__organizationDomain: 'Domain', - formFieldLabel__organizationDomainDeletePending: 'Delete pending invitations and suggestions', - formFieldLabel__organizationDomainEmailAddress: 'Verification email address', + formFieldLabel__organizationDomain: 'Tên miền', + formFieldLabel__organizationDomainDeletePending: 'Xóa mời và gợi ý đang chờ', + formFieldLabel__organizationDomainEmailAddress: 'Địa chỉ email xác minh', formFieldLabel__organizationDomainEmailAddressDescription: - 'Enter an email address under this domain to receive a code and verify this domain.', - formFieldLabel__organizationName: 'Tên tổ chức', - formFieldLabel__organizationSlug: 'Đường dẫn rút gọn', - formFieldLabel__passkeyName: undefined, + 'Nhập địa chỉ email dưới tên miền này để nhận mã và xác minh tên miền này.', + formFieldLabel__organizationName: 'Tên', + formFieldLabel__organizationSlug: 'Slug', + formFieldLabel__passkeyName: 'Tên của passkey', formFieldLabel__password: 'Mật khẩu', formFieldLabel__phoneNumber: 'Số điện thoại', formFieldLabel__role: 'Vai trò', - formFieldLabel__signOutOfOtherSessions: 'Đăng xuất khỏi tất cả các thiết bị khác', + formFieldLabel__signOutOfOtherSessions: 'Đăng xuất khỏi tất cả thiết bị khác', formFieldLabel__username: 'Tên người dùng', impersonationFab: { action__signOut: 'Đăng xuất', - title: 'Đăng nhập với tư cách {{identifier}}', + title: 'Đăng nhập với {{identifier}}' }, - maintenanceMode: undefined, + maintenanceMode: + 'Chúng tôi đang trong quá trình bảo trì, nhưng đừng lo lắng, nó không nên mất quá nhiều thời gian.', membershipRole__admin: 'Quản trị viên', membershipRole__basicMember: 'Thành viên', membershipRole__guestMember: 'Khách', organizationList: { - action__createOrganization: 'Create organization', - action__invitationAccept: 'Join', - action__suggestionsAccept: 'Request to join', - createOrganization: 'Create Organization', - invitationAcceptedLabel: 'Joined', - subtitle: 'to continue to {{applicationName}}', - suggestionsAcceptedLabel: 'Pending approval', - title: 'Choose an account', - titleWithoutPersonal: 'Choose an organization', + action__createOrganization: 'Tạo tổ chức', + action__invitationAccept: 'Tham gia', + action__suggestionsAccept: 'Yêu cầu tham gia', + createOrganization: 'Tạo tổ chức', + invitationAcceptedLabel: 'Tham gia', + subtitle: 'để tiếp tục đến {{applicationName}}', + suggestionsAcceptedLabel: 'Đang chờ phê duyệt', + title: 'Chọn tài khoản', + titleWithoutPersonal: 'Chọn tổ chức' }, organizationProfile: { - badge__automaticInvitation: 'Automatic invitations', - badge__automaticSuggestion: 'Automatic suggestions', - badge__manualInvitation: 'No automatic enrollment', - badge__unverified: 'Unverified', + apiKeysPage: { + title: 'Khoá API' + }, + badge__automaticInvitation: 'Tự động mời', + badge__automaticSuggestion: 'Tự động gợi ý', + badge__manualInvitation: 'Không tự động đăng ký', + badge__unverified: 'Chưa xác minh', billingPage: { + paymentHistorySection: { + empty: 'Không có lịch sử thanh toán', + tableHeader__date: 'Ngày', + tableHeader__amount: 'Số tiền', + tableHeader__status: 'Trạng thái', + notFound: 'Không tìm thấy lịch sử thanh toán' + }, paymentSourcesSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: 'Làm mặc định', + actionLabel__remove: 'Xóa', + add: 'Thêm phương thức thanh toán mới', + addSubtitle: 'Thêm phương thức thanh toán mới vào tài khoản của bạn.', + cancelButton: 'Hủy', + formButtonPrimary__add: 'Thêm phương thức thanh toán', + formButtonPrimary__pay: 'Thanh toán {{amount}}', + payWithTestCardButton: 'Thanh toán với thẻ thử nghiệm', removeResource: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: '{{identifier}} sẽ bị xóa khỏi tài khoản này.', + messageLine2: + 'Bạn sẽ không còn thể sử dụng nguồn thanh toán này và bất kỳ đăng ký lặp lại nào phụ thuộc vào nó sẽ không còn hoạt động.', + successMessage: '{{paymentSource}} đã bị xóa khỏi tài khoản của bạn.', + title: 'Xóa phương thức thanh toán' }, - title: undefined, + title: 'Phương thức thanh toán' }, start: { - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__payments: 'Thanh toán', + headerTitle__plans: 'Gói', + headerTitle__statements: 'Hóa đơn', + headerTitle__subscriptions: 'Đăng ký' + }, + statementsSection: { + empty: 'Không có hóa đơn để hiển thị', + itemCaption__paidForPlan: 'Thanh toán cho gói {{plan}} {{period}}', + itemCaption__proratedCredit: 'Tín dụng phân chia cho sử dụng một phần của đăng ký trước', + itemCaption__subscribedAndPaidForPlan: 'Đăng ký và thanh toán cho gói {{plan}} {{period}}', + notFound: 'Không tìm thấy hóa đơn', + tableHeader__date: 'Ngày', + tableHeader__amount: 'Số tiền', + title: 'Hóa đơn', + totalPaid: 'Tổng thanh toán' }, subscriptionsListSection: { - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - title: undefined, + actionLabel__newSubscription: 'Đăng ký gói', + actionLabel__switchPlan: 'Chuyển gói', + tableHeader__plan: 'Gói', + tableHeader__startDate: 'Ngày bắt đầu', + tableHeader__edit: 'Sửa', + title: 'Đăng ký' }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: 'Quản lý' }, switchPlansSection: { - title: undefined, + title: 'Chuyển gói' }, - title: undefined, + title: 'Thanh toán' }, createDomainPage: { subtitle: - 'Add the domain to verify. Users with email addresses at this domain can join the organization automatically or request to join.', - title: 'Add domain', + 'Thêm tên miền để xác minh. Người dùng với địa chỉ email ở tên miền này có thể tham gia tổ chức tự động hoặc yêu cầu tham gia.', + title: 'Thêm tên miền' }, invitePage: { - detailsTitle__inviteFailed: 'Không thể gửi lời mời. Sửa các lỗi sau và thử lại:', - formButtonPrimary__continue: 'Gửi lời mời', - selectDropdown__role: 'Select role', - subtitle: 'Mời thành viên mới vào tổ chức này', + detailsTitle__inviteFailed: + 'Mời không thể được gửi. Đã có mời đang chờ cho các địa chỉ email sau: {{email_addresses}}.', + formButtonPrimary__continue: 'Gửi mời', + selectDropdown__role: 'Chọn vai trò', + 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.', successMessage: 'Mời đã được gửi thành công', - title: 'Mời thành viên', + title: 'Mời thành viên mới' }, membersPage: { action__invite: 'Mời', - action__search: undefined, + action__search: 'Tìm kiếm', activeMembersTab: { - menuAction__remove: 'Gỡ bỏ thành viên', - tableHeader__actions: undefined, + menuAction__remove: 'Xóa thành viên', + tableHeader__actions: 'Hành động', tableHeader__joined: 'Tham gia', tableHeader__role: 'Vai trò', - tableHeader__user: 'Người dùng', + tableHeader__user: 'Người dùng' }, detailsTitle__emptyRow: 'Không có thành viên để hiển thị', invitationsTab: { autoInvitations: { headerSubtitle: - 'Invite users by connecting an email domain with your organization. Anyone who signs up with a matching email domain will be able to join the organization anytime.', - headerTitle: 'Automatic invitations', - primaryButton: 'Manage verified domains', + 'Mời người dùng bằng cách kết nối tên miền email với tổ chức của bạn. Bất kỳ ai đăng ký với tên miền email khớp sẽ có thể tham gia tổ chức bất cứ lúc nào.', + headerTitle: 'Tự động mời', + primaryButton: 'Quản lý tên miền đã xác minh' }, - table__emptyRow: 'No invitations to display', + table__emptyRow: 'Không có mời để hiển thị' }, invitedMembersTab: { - menuAction__revoke: 'Thu hồi lời mời', - tableHeader__invited: 'Đã mời', + menuAction__revoke: 'Hủy mời', + tableHeader__invited: 'Đã mời' }, requestsTab: { autoSuggestions: { headerSubtitle: - 'Users who sign up with a matching email domain, will be able to see a suggestion to request to join your organization.', - headerTitle: 'Automatic suggestions', - primaryButton: 'Manage verified domains', + 'Người dùng đăng ký với tên miền email khớp sẽ có thể thấy gợi ý để yêu cầu tham gia tổ chức của bạn.', + headerTitle: 'Tự động gợi ý', + primaryButton: 'Quản lý tên miền đã xác minh' }, - menuAction__approve: 'Approve', - menuAction__reject: 'Reject', - tableHeader__requested: 'Requested access', - table__emptyRow: 'No requests to display', + menuAction__approve: 'Phê duyệt', + menuAction__reject: 'Từ chối', + tableHeader__requested: 'Yêu cầu truy cập', + table__emptyRow: 'Không có yêu cầu để hiển thị' }, start: { - headerTitle__invitations: 'Invitations', - headerTitle__members: 'Members', - headerTitle__requests: 'Requests', - }, + headerTitle__invitations: 'Mời', + headerTitle__members: 'Thành viên', + headerTitle__requests: 'Yêu cầu' + } }, navbar: { - billing: undefined, - description: 'Manage your organization.', - general: 'General', - members: 'Members', - title: 'Organization', + apiKeys: 'Khoá API', + billing: 'Thanh toán', + description: 'Quản lý tổ chức của bạn.', + general: 'Tổng quan', + members: 'Thành viên', + title: 'Tổ chức' }, plansPage: { alerts: { - noPermissionsToManageBilling: undefined, + noPermissionsToManageBilling: 'Bạn không có quyền quản lý thanh toán cho tổ chức này.' }, - title: undefined, + title: 'Gói' }, profilePage: { dangerSection: { deleteOrganization: { - actionDescription: 'Type "{{organizationName}}" below to continue.', - messageLine1: 'Bạn có chắc chắn muốn xóa tổ chức này không?', + actionDescription: 'Nhập "{{organizationName}}" dưới để tiếp tục.', + messageLine1: 'Bạn có chắc chắn muốn xóa tổ chức này?', messageLine2: 'Hành động này là vĩnh viễn và không thể hoàn tác.', successMessage: 'Bạn đã xóa tổ chức.', - title: 'Xóa tổ chức', + title: 'Xóa tổ chức' }, leaveOrganization: { - actionDescription: 'Type "{{organizationName}}" below to continue.', + actionDescription: 'Nhập "{{organizationName}}" dưới để tiếp tục.', messageLine1: - 'Bạn có chắc chắn muốn rời khỏi tổ chức này? Bạn sẽ mất quyền truy cập vào tổ chức này và các ứng dụng của nó.', + 'Bạn có chắc chắn muốn rời khỏi tổ chức này? Bạn sẽ mất quyền truy cập vào tổ chức này và ứng dụng của nó.', messageLine2: 'Hành động này là vĩnh viễn và không thể hoàn tác.', successMessage: 'Bạn đã rời khỏi tổ chức.', - title: 'Rời khỏi tổ chức', + title: 'Rời khỏi tổ chức' }, - title: 'Nguy hiểm', + title: 'Nguy hiểm' }, domainSection: { - menuAction__manage: 'Manage', - menuAction__remove: 'Delete', - menuAction__verify: 'Verify', - primaryButton: 'Add domain', + menuAction__manage: 'Quản lý', + menuAction__remove: 'Xóa', + menuAction__verify: 'Xác minh', + primaryButton: 'Thêm tên miền', subtitle: - 'Allow users to join the organization automatically or request to join based on a verified email domain.', - title: 'Verified domains', + 'Cho phép người dùng tham gia tổ chức tự động hoặc yêu cầu tham gia dựa trên tên miền email đã xác minh.', + title: 'Tên miền đã xác minh' }, successMessage: 'Tổ chức đã được cập nhật.', - title: 'Hồ sơ Tổ chức', + title: 'Cập nhật hồ sơ' }, removeDomainPage: { - messageLine1: 'The email domain {{domain}} will be removed.', - messageLine2: 'Users won’t be able to join the organization automatically after this.', - successMessage: '{{domain}} has been removed.', - title: 'Remove domain', + messageLine1: 'Tên miền email {{domain}} sẽ bị xóa.', + messageLine2: 'Người dùng sẽ không thể tham gia tổ chức tự động sau đây.', + successMessage: '{{domain}} đã bị xóa.', + title: 'Xóa tên miền' }, start: { - headerTitle__general: 'General', + headerTitle__general: 'Tổng quan', headerTitle__members: 'Thành viên', profileSection: { - primaryButton: undefined, - title: 'Organization Profile', - uploadAction__title: 'Logo', - }, + primaryButton: 'Cập nhật hồ sơ', + title: 'Hồ sơ tổ chức', + uploadAction__title: 'Logo' + } }, verifiedDomainPage: { dangerTab: { - calloutInfoLabel: 'Removing this domain will affect invited users.', - removeDomainActionLabel__remove: 'Remove domain', - removeDomainSubtitle: 'Remove this domain from your verified domains', - removeDomainTitle: 'Remove domain', + calloutInfoLabel: 'Xóa tên miền này sẽ ảnh hưởng đến người dùng đã mời.', + removeDomainActionLabel__remove: 'Xóa tên miền', + removeDomainSubtitle: 'Xóa tên miền này khỏi tên miền đã xác minh', + removeDomainTitle: 'Xóa tên miền' }, enrollmentTab: { automaticInvitationOption__description: - 'Users are automatically invited to join the organization when they sign-up and can join anytime.', - automaticInvitationOption__label: 'Automatic invitations', + 'Người dùng sẽ tự động được mời tham gia tổ chức khi đăng ký và có thể tham gia bất cứ lúc nào.', + automaticInvitationOption__label: 'Tự động mời', automaticSuggestionOption__description: - 'Users receive a suggestion to request to join, but must be approved by an admin before they are able to join the organization.', - automaticSuggestionOption__label: 'Automatic suggestions', - calloutInfoLabel: 'Changing the enrollment mode will only affect new users.', - calloutInvitationCountLabel: 'Pending invitations sent to users: {{count}}', - calloutSuggestionCountLabel: 'Pending suggestions sent to users: {{count}}', - manualInvitationOption__description: 'Users can only be invited manually to the organization.', - manualInvitationOption__label: 'No automatic enrollment', - subtitle: 'Choose how users from this domain can join the organization.', + 'Người dùng sẽ nhận được gợi ý để yêu cầu tham gia, nhưng phải được phê duyệt bởi quản trị viên trước khi họ có thể tham gia tổ chức.', + automaticSuggestionOption__label: 'Tự động gợi ý', + calloutInfoLabel: 'Thay đổi chế độ đăng ký sẽ chỉ ảnh hưởng đến người dùng mới.', + calloutInvitationCountLabel: 'Mời đang chờ gửi đến người dùng: {{count}}', + calloutSuggestionCountLabel: 'Gợi ý đang chờ gửi đến người dùng: {{count}}', + manualInvitationOption__description: 'Người dùng chỉ có thể được mời thủ công đến tổ chức.', + manualInvitationOption__label: 'Không tự động đăng ký', + subtitle: 'Chọn cách người dùng từ tên miền này có thể tham gia tổ chức.' }, start: { - headerTitle__danger: 'Danger', - headerTitle__enrollment: 'Enrollment options', + headerTitle__danger: 'Nguy hiểm', + headerTitle__enrollment: 'Chế độ đăng ký' }, - subtitle: 'The domain {{domain}} is now verified. Continue by selecting enrollment mode.', - title: 'Update {{domain}}', + subtitle: 'Tên miền {{domain}} đã được xác minh. Tiếp tục bằng cách chọn chế độ đăng ký.', + title: 'Cập nhật {{domain}}' }, verifyDomainPage: { - formSubtitle: 'Enter the verification code sent to your email address', - formTitle: 'Verification code', - resendButton: "Didn't receive a code? Resend", - subtitle: 'The domain {{domainName}} needs to be verified via email.', - subtitleVerificationCodeScreen: 'A verification code was sent to {{emailAddress}}. Enter the code to continue.', - title: 'Verify domain', - }, + formSubtitle: 'Nhập mã xác minh đã gửi đến địa chỉ email của bạn', + formTitle: 'Mã xác minh', + resendButton: 'Không nhận được mã? Gửi lại', + subtitle: 'Tên miền {{domainName}} cần được xác minh qua email.', + subtitleVerificationCodeScreen: + 'Một mã xác minh đã được gửi đến {{emailAddress}}. Nhập mã để tiếp tục.', + title: 'Xác minh tên miền' + } }, organizationSwitcher: { - action__createOrganization: 'Tạo Tổ chức', - action__invitationAccept: 'Join', - action__manageOrganization: 'Quản lý Tổ chức', - action__suggestionsAccept: 'Request to join', - notSelected: 'Chưa chọn tổ chức', - personalWorkspace: 'Không gian Cá nhân', - suggestionsAcceptedLabel: 'Pending approval', + action__createOrganization: 'Tạo tổ chức', + action__invitationAccept: 'Tham gia', + action__manageOrganization: 'Quản lý', + action__suggestionsAccept: 'Yêu cầu tham gia', + notSelected: 'Không có tổ chức được chọn', + personalWorkspace: 'Tài khoản cá nhân', + suggestionsAcceptedLabel: 'Đang chờ phê duyệt' }, paginationButton__next: 'Tiếp', paginationButton__previous: 'Trước', @@ -398,734 +477,783 @@ export const viVN: LocalizationResource = { paginationRowText__of: 'của', reverification: { alternativeMethods: { - actionLink: undefined, - actionText: undefined, - blockButton__backupCode: undefined, - blockButton__emailCode: undefined, - blockButton__passkey: undefined, - blockButton__password: undefined, - blockButton__phoneCode: undefined, - blockButton__totp: undefined, + actionLink: 'Liên hệ hỗ trợ', + actionText: 'Không có bất kỳ phương thức nào?', + blockButton__backupCode: 'Sử dụng mã dự phòng', + blockButton__emailCode: 'Email mã đến {{identifier}}', + blockButton__passkey: 'Đăng nhập với mã passkey', + blockButton__password: 'Tiếp tục với mật khẩu của bạn', + blockButton__phoneCode: 'Gửi mã SMS đến {{identifier}}', + blockButton__totp: 'Sử dụng ứng dụng xác thực', getHelp: { - blockButton__emailSupport: undefined, - content: undefined, - title: undefined, + blockButton__emailSupport: 'Email hỗ trợ', + content: + 'Nếu bạn gặp vấn đề khi xác minh tài khoản của mình, email 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ể.', + title: 'Liên hệ hỗ trợ' }, - subtitle: undefined, - title: undefined, + subtitle: 'Gặp vấn đề? Bạn có thể sử dụng bất kỳ phương thức nào để xác minh.', + title: 'Sử dụng phương thức khác' }, backupCodeMfa: { - subtitle: undefined, - title: undefined, + subtitle: 'Nhập mã dự phòng bạn nhận được khi thiết lập xác thực hai bước', + title: 'Nhập mã dự phòng' }, emailCode: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Mã xác minh', + resendButton: 'Không nhận được mã? Gửi lại', + subtitle: 'Nhập mã đã gửi đến email của bạn để tiếp tục', + title: 'Xác minh yêu cầu' }, noAvailableMethods: { - message: undefined, - subtitle: undefined, - title: undefined, + message: 'Không thể tiếp tục với xác minh. Không có yếu tố xác thực phù hợp được cấu hình', + subtitle: 'Đã xảy ra lỗi', + title: 'Không thể xác minh tài khoản của bạn' }, passkey: { - blockButton__passkey: undefined, - subtitle: undefined, - title: undefined, + blockButton__passkey: 'Sử dụng mã passkey', + subtitle: + 'Sử dụng mã passkey xác minh danh tính của bạn. Thiết bị của bạn có thể yêu cầu vân tay, khuôn mặt hoặc khóa màn hình.', + title: 'Sử dụng mã passkey' }, password: { - actionLink: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Sử dụng phương thức khác', + subtitle: 'Nhập mật khẩu hiện tại để tiếp tục', + title: 'Xác minh yêu cầu' }, phoneCode: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Mã xác minh', + resendButton: 'Không nhận được mã? Gửi lại', + subtitle: 'Nhập mã đã gửi đến điện thoại của bạn để tiếp tục', + title: 'Xác minh yêu cầu' }, phoneCodeMfa: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Mã xác minh', + resendButton: 'Không nhận được mã? Gửi lại', + subtitle: 'Nhập mã đã gửi đến điện thoại của bạn để tiếp tục', + title: 'Xác minh yêu cầu' }, totpMfa: { - formTitle: undefined, - subtitle: undefined, - title: undefined, - }, + formTitle: 'Mã xác minh', + subtitle: 'Nhập mã đã được tạo bởi ứng dụng xác thực của bạn để tiếp tục', + title: 'Xác minh yêu cầu' + } }, signIn: { accountSwitcher: { - action__addAccount: 'Add account', - action__signOutAll: 'Sign out of all accounts', - subtitle: 'Select the account with which you wish to continue.', - title: 'Choose an account', + action__addAccount: 'Thêm tài khoản', + action__signOutAll: 'Đăng xuất khỏi tất cả tài khoản', + subtitle: 'Chọn tài khoản với đó bạn muốn tiếp tục.', + title: 'Chọn tài khoản' }, alternativeMethods: { - actionLink: 'Nhận trợ giúp', - actionText: 'Don’t have any of these?', - blockButton__backupCode: 'Sử dụng mã sao lưu', - blockButton__emailCode: 'Gửi mã qua email cho {{identifier}}', - blockButton__emailLink: 'Gửi liên kết qua email cho {{identifier}}', - blockButton__passkey: undefined, - blockButton__password: 'Đăng nhập bằng mật khẩu của bạn', - blockButton__phoneCode: 'Gửi mã SMS cho {{identifier}}', - blockButton__totp: 'Sử dụng ứng dụng xác thực của bạn', + actionLink: 'Liên hệ hỗ trợ', + actionText: 'Không có bất kỳ phương thức nào?', + blockButton__backupCode: 'Sử dụng mã dự phòng', + blockButton__emailCode: 'Email mã đến {{identifier}}', + blockButton__emailLink: 'Email liên kết đến {{identifier}}', + blockButton__passkey: 'Đăng nhập với mã passkey', + blockButton__password: 'Đăng nhập với mật khẩu', + blockButton__phoneCode: 'Gửi mã SMS đến {{identifier}}', + blockButton__totp: 'Sử dụng ứng dụng xác thực', getHelp: { - blockButton__emailSupport: 'Hỗ trợ qua email', + blockButton__emailSupport: 'Email hỗ trợ', content: - 'Nếu bạn gặp khó khăn khi đăng nhập vào tài khoản của mình, hãy gửi email cho chúng tôi và chúng tôi sẽ cùng bạn khôi phục quyền truy cập trong thời gian ngắn nhất.', - title: 'Nhận trợ giúp', + 'Nếu bạn gặp vấn đề khi đăng nhập vào tài khoản của mình, email 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ể.', + title: 'Liên hệ hỗ trợ' }, - subtitle: 'Facing issues? You can use any of these methods to sign in.', - title: 'Sử dụng phương pháp khác', + subtitle: 'Gặp vấn đề? Bạn có thể sử dụng bất kỳ phương thức nào để đăng nhập.', + title: 'Sử dụng phương thức khác' }, alternativePhoneCodeProvider: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Mã xác minh', + resendButton: 'Không nhận được mã? Gửi lại', + subtitle: 'để tiếp tục đến {{applicationName}}', + title: 'Kiểm tra {{provider}}' }, backupCodeMfa: { - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Nhập mã sao lưu', + subtitle: 'Mã dự phòng của bạn là mã bạn nhận được khi thiết lập xác thực hai bước.', + title: 'Nhập mã dự phòng' }, emailCode: { formTitle: 'Mã xác minh', resendButton: 'Không nhận được mã? Gửi lại', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Kiểm tra email của bạn', + subtitle: 'để tiếp tục đến {{applicationName}}', + title: 'Kiểm tra email' }, emailLink: { clientMismatch: { - subtitle: undefined, - title: undefined, + subtitle: + 'Để tiếp tục, mở liên kết xác minh trên thiết bị và trình duyệt từ đó bạn đã khởi động đăng nhập', + title: 'Liên kết xác minh không hợp lệ cho thiết bị này' }, expired: { - subtitle: 'Quay trở lại cửa sổ gốc để tiếp tục.', - title: 'Liên kết xác minh này đã hết hạn', + subtitle: 'Quay lại tab gốc để tiếp tục.', + title: 'Liên kết xác minh đã hết hạn' }, failed: { - subtitle: 'Quay trở lại cửa sổ gốc để tiếp tục.', - title: 'Liên kết xác minh này không hợp lệ', + subtitle: 'Quay lại tab gốc để tiếp tục.', + title: 'Liên kết xác minh không hợp lệ' }, - formSubtitle: 'Sử dụng liên kết xác minh được gửi đến email của bạn', + formSubtitle: 'Sử dụng liên kết xác minh đã gửi đến email của bạn', formTitle: 'Liên kết xác minh', loading: { subtitle: 'Bạn sẽ được chuyển hướng sớm', - title: 'Đang đăng nhập...', + title: 'Đang đăng nhập...' }, resendButton: 'Không nhận được liên kết? Gửi lại', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Kiểm tra email của bạn', + subtitle: 'để tiếp tục đến {{applicationName}}', + title: 'Kiểm tra email', unusedTab: { - title: 'Bạn có thể đóng cửa sổ này', + title: 'Bạn có thể đóng tab này' }, verified: { subtitle: 'Bạn sẽ được chuyển hướng sớm', - title: 'Đăng nhập thành công', + title: 'Đăng nhập thành công' }, verifiedSwitchTab: { - subtitle: 'Quay trở lại cửa sổ gốc để tiếp tục', - subtitleNewTab: 'Quay trở lại cửa sổ mới mở để tiếp tục', - titleNewTab: 'Đăng nhập trên cửa sổ khác', - }, + subtitle: 'Quay lại tab gốc để tiếp tục', + subtitleNewTab: 'Quay lại tab mới được mở để tiếp tục', + titleNewTab: 'Đăng nhập trên tab khác' + } }, forgotPassword: { - formTitle: 'Mã đặt lại mật khẩu', + formTitle: 'Mã xác minh mật khẩu', resendButton: 'Không nhận được mã? Gửi lại', - subtitle: 'to reset your password', - subtitle_email: 'First, enter the code sent to your email ID', - subtitle_phone: 'First, enter the code sent to your phone', - title: 'Reset password', + subtitle: 'để đặt lại mật khẩu của bạn', + subtitle_email: 'Đầu tiên, nhập mã đã gửi đến email của bạn', + subtitle_phone: 'Đầu tiên, nhập mã đã gửi đến điện thoại của bạn', + title: 'Đặt lại mật khẩu' }, forgotPasswordAlternativeMethods: { blockButton__resetPassword: 'Đặt lại mật khẩu', - label__alternativeMethods: 'Hoặc, đăng nhập bằng phương pháp khác.', - title: 'Quên mật khẩu?', + label__alternativeMethods: 'Hoặc, đăng nhập với phương thức khác', + title: 'Quên mật khẩu?' }, noAvailableMethods: { - message: 'Không thể tiếp tục đăng nhập. Không có phương thức xác thực nào khả dụng.', + message: 'Không thể tiếp tục đăng nhập. Không có yếu tố xác thực phù hợp được cấu hình', subtitle: 'Đã xảy ra lỗi', - title: 'Không thể đăng nhập', + title: 'Không thể đăng nhập' }, passkey: { - subtitle: undefined, - title: undefined, + subtitle: + 'Sử dụng mã passkey xác minh danh tính của bạn. Thiết bị của bạn có thể yêu cầu vân tay, khuôn mặt hoặc khóa màn hình.', + title: 'Sử dụng mã passkey' }, password: { - actionLink: 'Sử dụng phương pháp khác', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Nhập mật khẩu của bạn', + actionLink: 'Sử dụng phương thức khác', + subtitle: 'Nhập mật khẩu được liên kết với tài khoản của bạn', + title: 'Nhập mật khẩu' }, passwordPwned: { - title: undefined, + title: 'Mật khẩu bị rò rỉ' }, phoneCode: { - formTitle: 'Mã xác nhận', + formTitle: 'Mã xác minh', resendButton: 'Không nhận được mã? Gửi lại', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Kiểm tra điện thoại của bạn', + subtitle: 'để tiếp tục đến {{applicationName}}', + title: 'Kiểm tra điện thoại' }, phoneCodeMfa: { - formTitle: 'Mã xác nhận', + formTitle: 'Mã xác minh', resendButton: 'Không nhận được mã? Gửi lại', - subtitle: undefined, - title: 'Kiểm tra điện thoại của bạn', + subtitle: 'để tiếp tục đến {{applicationName}}', + title: 'Kiểm tra điện thoại' }, resetPassword: { formButtonPrimary: 'Đặt lại mật khẩu', - requiredMessage: 'For security reasons, it is required to reset your password.', - successMessage: 'Mật khẩu của bạn đã được thay đổi thành công. Đang đăng nhập, vui lòng chờ một chút.', - title: 'Đặt lại mật khẩu', + requiredMessage: 'Vì lý do bảo mật, việc đặt lại mật khẩu là bắt buộc.', + successMessage: + 'Mật khẩu của bạn đã được thay đổi thành công. Đang đăng nhập, vui lòng chờ một lát.', + title: 'Đặt mật khẩu mới' }, 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.', + 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.' }, start: { actionLink: 'Đăng ký', - actionLink__join_waitlist: undefined, + actionLink__join_waitlist: 'Tham gia danh sách chờ', actionLink__use_email: 'Sử dụng email', - actionLink__use_email_username: 'Sử dụng email hoặc tên đăng nhập', - actionLink__use_passkey: undefined, - actionLink__use_phone: 'Sử dụng số điện thoại', - actionLink__use_username: 'Sử dụng tên đăng nhập', - actionText: 'Chưa có tài khoản?', - actionText__join_waitlist: undefined, + actionLink__use_email_username: 'Sử dụng email hoặc tên người dùng', + actionLink__use_passkey: 'Sử dụng mã passkey thay vì', + actionLink__use_phone: 'Sử dụng điện thoại', + actionLink__use_username: 'Sử dụng tên người dùng', + actionText: 'Không có tài khoản?', + actionText__join_waitlist: 'Muốn trải nghiệm sớm?', alternativePhoneCodeProvider: { - actionLink: undefined, - label: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Sử dụng phương thức khác', + label: '{{provider}} số điện thoại', + subtitle: 'Nhập số điện thoại của bạn để nhận mã xác minh trên {{provider}}.', + title: 'Đăng nhập vào {{applicationName}} với {{provider}}' }, - subtitle: 'để tiếp tục với {{applicationName}}', + subtitle: 'Chào mừng trở lại! Vui lòng đăng nhập để tiếp tục', subtitleCombined: undefined, - title: 'Đăng nhập', - titleCombined: undefined, + title: 'Đăng nhập vào {{applicationName}}', + titleCombined: 'Tiếp tục đến {{applicationName}}' }, totpMfa: { formTitle: 'Mã xác minh', - subtitle: undefined, - title: 'Xác minh hai bước', - }, + 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', + title: 'Xác thực hai bước' + } }, - signInEnterPasswordTitle: 'Nhập mật khẩu của bạn', + signInEnterPasswordTitle: 'Nhập mật khẩu', signUp: { alternativePhoneCodeProvider: { - resendButton: undefined, - subtitle: undefined, - title: undefined, + resendButton: 'Không nhận được mã? Gửi lại', + subtitle: 'Nhập mã xác minh đã gửi đến {{provider}}', + title: 'Xác minh {{provider}}' }, continue: { actionLink: 'Đăng nhập', actionText: 'Đã có tài khoản?', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Điền các trường bị thiếu', + subtitle: 'Vui lòng điền các chi tiết còn lại để tiếp tục.', + title: 'Điền các trường còn thiếu' }, emailCode: { - formSubtitle: 'Nhập mã xác minh đã được gửi đến địa chỉ email của bạn', + formSubtitle: 'Nhập mã xác minh đã gửi đến email của bạn', formTitle: 'Mã xác minh', resendButton: 'Không nhận được mã? Gửi lại', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Xác minh email của bạn', + subtitle: 'Nhập mã xác minh đã gửi đến email của bạn', + title: 'Xác minh email' }, emailLink: { clientMismatch: { - subtitle: undefined, - title: undefined, + subtitle: + 'Để tiếp tục, mở liên kết xác minh trên thiết bị và trình duyệt từ đó bạn đã khởi động đăng ký', + title: 'Liên kết xác minh không hợp lệ cho thiết bị này' }, - formSubtitle: 'Sử dụng liên kết xác minh đã được gửi đến địa chỉ email của bạn', + formSubtitle: 'Sử dụng liên kết xác minh đã gửi đến email của bạn', formTitle: 'Liên kết xác minh', loading: { - title: 'Đang đăng ký...', + title: 'Đang đăng ký...' }, resendButton: 'Không nhận được liên kết? Gửi lại', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Xác minh email của bạn', + subtitle: 'để tiếp tục đến {{applicationName}}', + title: 'Xác minh email', verified: { - title: 'Đăng ký thành công', + title: 'Đăng ký thành công' }, verifiedSwitchTab: { - subtitle: 'Quay lại cửa sổ mới được mở để tiếp tục', - subtitleNewTab: 'Quay lại cửa sổ trước để tiếp tục', - title: 'Xác minh email thành công', - }, + subtitle: 'Quay lại tab mới được mở để tiếp tục', + subtitleNewTab: 'Quay lại tab trước để tiếp tục', + title: 'Xác minh email thành công' + } }, legalConsent: { checkbox: { - label__onlyPrivacyPolicy: undefined, - label__onlyTermsOfService: undefined, - label__termsOfServiceAndPrivacyPolicy: undefined, + label__onlyPrivacyPolicy: + 'Tôi đồng ý với {{ privacyPolicyLink || link("Chính sách bảo mật") }}', + label__onlyTermsOfService: + 'Tôi đồng ý với {{ termsOfServiceLink || link("Điều khoản dịch vụ") }}', + label__termsOfServiceAndPrivacyPolicy: + 'Tôi đồng ý với {{ termsOfServiceLink || link("Điều khoản dịch vụ") }} và {{ privacyPolicyLink || link("Chính sách bảo mật") }}' }, continue: { - subtitle: undefined, - title: undefined, - }, + subtitle: 'Vui lòng đọc và đồng ý với các điều khoản để tiếp tục', + title: 'Đồng ý với điều khoản' + } }, phoneCode: { - formSubtitle: 'Nhập mã xác minh đã được gửi đến số điện thoại của bạn', + formSubtitle: 'Nhập mã xác minh đã gửi đến số điện thoại của bạn', formTitle: 'Mã xác minh', resendButton: 'Không nhận được mã? Gửi lại', - subtitle: 'để tiếp tục với {{applicationName}}', - title: 'Xác minh số điện thoại của bạn', + subtitle: 'Nhập mã xác minh đã gửi đến số điện thoại của bạn', + title: 'Xác minh điện thoại' }, restrictedAccess: { - actionLink: undefined, - actionText: undefined, - blockButton__emailSupport: undefined, - blockButton__joinWaitlist: undefined, - subtitle: undefined, - subtitleWaitlist: undefined, - title: undefined, + actionLink: 'Đăng nhập', + actionText: 'Đã có tài khoản?', + blockButton__emailSupport: 'Email hỗ trợ', + blockButton__joinWaitlist: 'Tham gia danh sách chờ', + subtitle: + 'Đăng ký hiện không khả dụng. Nếu bạn tin rằng bạn có quyền truy cập, vui lòng liên hệ hỗ trợ.', + subtitleWaitlist: + 'Đăng ký hiện không khả dụng. Để biết thông tin sớm nhất khi chúng tôi khởi chạy, hãy tham gia danh sách chờ.', + title: 'Quyền truy cập bị giới hạn' }, start: { actionLink: 'Đăng nhập', - actionLink__use_email: undefined, - actionLink__use_phone: undefined, + actionLink__use_email: 'Sử dụng email thay vì', + actionLink__use_phone: 'Sử dụng điện thoại thay vì', actionText: 'Đã có tài khoản?', alternativePhoneCodeProvider: { - actionLink: undefined, - label: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Sử dụng phương thức khác', + label: '{{provider}} số điện thoại', + subtitle: 'Nhập số điện thoại của bạn để nhận mã xác minh trên {{provider}}.', + title: 'Đăng ký vào {{applicationName}} với {{provider}}' }, - subtitle: 'để tiếp tục với {{applicationName}}', - subtitleCombined: 'để tiếp tục với {{applicationName}}', + subtitle: 'Chào mừng! Vui lòng điền các chi tiết để bắt đầu.', + subtitleCombined: 'Chào mừng! Vui lòng điền các chi tiết để bắt đầu.', title: 'Tạo tài khoản của bạn', - titleCombined: 'Tạo tài khoản của bạn', - }, + titleCombined: 'Tạo tài khoản của bạn' + } }, socialButtonsBlockButton: 'Tiếp tục với {{provider|titleize}}', - socialButtonsBlockButtonManyInView: undefined, + socialButtonsBlockButtonManyInView: '{{provider|titleize}}', unstable__errors: { - already_a_member_in_organization: undefined, - captcha_invalid: - 'Đăng ký không thành công do không vượt qua các xác thực bảo mật. Vui lòng làm mới trang và thử lại hoặc liên hệ hỗ trợ để được trợ giúp thêm.', + already_a_member_in_organization: '{{email}} đã là thành viên của tổ chức.', + captcha_invalid: undefined, captcha_unavailable: - 'Sign up unsuccessful due to failed bot validation. Please refresh the page to try again or reach out to support for more assistance.', + 'Đăng ký không thành công do lỗi bot. Vui lòng tải lại trang để thử lại hoặc liên hệ hỗ trợ để được hỗ trợ.', form_code_incorrect: undefined, form_identifier_exists__email_address: undefined, form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, - form_identifier_not_found: 'Không tìm thấy tài khoản với thông tin này.', + form_identifier_not_found: undefined, form_param_format_invalid: undefined, - form_param_format_invalid__email_address: 'Địa chỉ email phải là một địa chỉ email hợp lệ', - form_param_format_invalid__phone_number: 'Phone number must be in a valid international format', - form_param_max_length_exceeded__first_name: 'First name should not exceed 256 characters.', - form_param_max_length_exceeded__last_name: 'Last name should not exceed 256 characters.', - form_param_max_length_exceeded__name: 'Name should not exceed 256 characters.', + form_param_format_invalid__email_address: undefined, + form_param_format_invalid__phone_number: undefined, + form_param_max_length_exceeded__first_name: undefined, + form_param_max_length_exceeded__last_name: undefined, + form_param_max_length_exceeded__name: undefined, form_param_nil: undefined, form_param_value_invalid: undefined, form_password_incorrect: undefined, - form_password_length_too_short: undefined, + form_password_length_too_short: 'Mật khẩu của bạn quá ngắn. Nó phải có ít nhất 8 ký tự.', form_password_not_strong_enough: 'Mật khẩu của bạn không đủ mạnh.', form_password_pwned: - 'Mật khẩu này đã được phát hiện trong một cuộc tấn công và không thể sử dụng, vui lòng thử mật khẩu khác.', - form_password_pwned__sign_in: undefined, - form_password_size_in_bytes_exceeded: - 'Mật khẩu của bạn đã vượt quá số byte tối đa cho phép, vui lòng rút ngắn hoặc loại bỏ một số ký tự đặc biệt.', - form_password_validation_failed: 'Mật khẩu không đúng', + 'Mật khẩu này đã được tìm thấy trong một rò rỉ và không thể được sử dụng, vui lòng thử một mật khẩu khác.', + form_password_pwned__sign_in: + 'Mật khẩu này đã được tìm thấy trong một rò rỉ và không thể được sử dụng, vui lòng đặt lại mật khẩu của bạn.', + form_password_size_in_bytes_exceeded: undefined, + form_password_validation_failed: undefined, form_username_invalid_character: undefined, - form_username_invalid_length: undefined, - identification_deletion_failed: 'Bạn không thể xóa thông tin nhận dạng cuối cùng của bạn.', - not_allowed_access: - "Địa chỉ email hoặc số điện thoại bạn đang sử dụng cho đăng ký không được phép. Điều này có thể do việc sử dụng '+', '=', '#' hoặc '.' trong địa chỉ email của bạn, sử dụng một miền được kết nối với dịch vụ email tạm thời hoặc một loại loại trừ rõ ràng.", + form_username_invalid_length: + 'Tên người dùng của bạn phải có giữa {{min_length}} và {{max_length}} ký tự.', + identification_deletion_failed: undefined, + not_allowed_access: undefined, organization_domain_blocked: undefined, organization_domain_common: undefined, organization_domain_exists_for_enterprise_connection: undefined, organization_membership_quota_exceeded: undefined, organization_minimum_permissions_needed: undefined, - passkey_already_exists: undefined, - passkey_not_supported: undefined, - passkey_pa_not_supported: undefined, - passkey_registration_cancelled: undefined, - passkey_retrieval_cancelled: undefined, + passkey_already_exists: 'Mã passkey đã được đăng ký với thiết bị này.', + passkey_not_supported: 'Mã passkey không được hỗ trợ trên thiết bị này.', + passkey_pa_not_supported: + 'Đăng ký yêu cầu một bộ xác thực nền tảng nhưng thiết bị không hỗ trợ nó.', + passkey_registration_cancelled: 'Đăng ký mã passkey đã bị hủy hoặc hết hạn.', + passkey_retrieval_cancelled: 'Xác minh mã passkey đã bị hủy hoặc hết hạn.', passwordComplexity: { maximumLength: 'ít hơn {{length}} ký tự', - minimumLength: '{{length}} hoặc nhiều ký tự', + minimumLength: '{{length}} hoặc nhiều hơn ký tự', requireLowercase: 'một chữ cái viết thường', requireNumbers: 'một số', requireSpecialCharacter: 'một ký tự đặc biệt', requireUppercase: 'một chữ cái viết hoa', - sentencePrefix: 'Mật khẩu của bạn phải chứa', + sentencePrefix: 'Mật khẩu của bạn phải chứa' }, - phone_number_exists: 'Số điện thoại này đã được sử dụng. Vui lòng thử số khác.', - session_exists: 'Bạn đã đăng nhập rồi.', - web3_missing_identifier: undefined, + phone_number_exists: undefined, + session_exists: undefined, + web3_missing_identifier: + 'Không tìm thấy phần mở rộng Web3 Wallet. Vui lòng cài đặt một phần mở rộng để tiếp tục.', zxcvbn: { - couldBeStronger: 'Mật khẩu của bạn đủ mạnh, nhưng có thể mạnh hơn. Hãy thêm nhiều ký tự hơn.', + 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ự.', goodPassword: 'Mật khẩu của bạn đáp ứng tất cả các yêu cầu cần thiết.', notEnough: 'Mật khẩu của bạn không đủ mạnh.', suggestions: { - allUppercase: 'Viết hoa một số ký tự, nhưng không phải tất cả.', - anotherWord: 'Thêm nhiều từ ít phổ biến hơn.', - associatedYears: 'Tránh các năm liên quan đến bạn.', - capitalization: 'Viết hoa nhiều hơn chỉ chữ cái đầu tiên.', - dates: 'Tránh sử dụng ngày tháng năm liên quan đến bạn.', - l33t: "Tránh việc thay thế chữ cái dễ đoán bằng các ký tự như '@' thay cho 'a'.", - longerKeyboardPattern: 'Sử dụng các mẫu bàn phím dài hơn và thay đổi hướng gõ nhiều lần.', - noNeed: 'Bạn có thể tạo mật khẩu mạnh mà không cần sử dụng ký tự đặc biệt, số hoặc chữ cái viết hoa.', - pwned: 'Nếu bạn sử dụng mật khẩu này ở những nơi khác, bạn nên thay đổi nó.', - recentYears: 'Tránh các năm gần đây.', - repeated: 'Tránh việc lặp lại từ và ký tự.', - reverseWords: 'Tránh việc viết ngược các từ thông thường.', - sequences: 'Tránh các chuỗi ký tự thông thường.', - useWords: 'Sử dụng nhiều từ, nhưng tránh các cụm từ thông thường.', + allUppercase: 'Viết hoa một số chữ cái, nhưng không phải tất cả.', + anotherWord: 'Thêm nhiều từ khác nhau hơn.', + associatedYears: 'Tránh năm mà bạn liên quan đến.', + capitalization: 'Viết hoa nhiều hơn chữ cái đầu tiên.', + dates: 'Tránh ngày và năm mà bạn liên quan đến.', + l33t: "Tránh các thay thế chữ cái dễ dự đoán như '@' thay vì 'a'.", + longerKeyboardPattern: + 'Sử dụng các khuôn mẫu bàn phím dài hơn và thay đổi hướng gõ nhiều lần.', + noNeed: + 'Bạn có thể tạo mật khẩu mạnh mà không sử dụng các ký tự đặc biệt, số hoặc chữ cái viết hoa.', + 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ó.', + recentYears: 'Tránh năm gần đây.', + repeated: 'Tránh các từ và ký tự lặp lại.', + reverseWords: 'Tránh các từ viết ngược của các từ thông dụng.', + sequences: 'Tránh các chuỗi ký tự thông dụng.', + useWords: 'Sử dụng nhiều từ, nhưng tránh các cụm từ thông dụng.' }, warnings: { - common: 'Đây là một mật khẩu phổ biến.', - commonNames: 'Các tên riêng và họ phổ biến dễ đoán.', - dates: 'Ngày tháng dễ đoán.', - extendedRepeat: 'Các mẫu ký tự lặp lại như "abcabcabc" dễ đoán.', - keyPattern: 'Mẫu bàn phím ngắn dễ đoán.', - namesByThemselves: 'Các tên riêng hoặc họ riêng dễ đoán.', - pwned: 'Mật khẩu của bạn đã bị rò rỉ qua một cuộc tấn công dữ liệu trên Internet.', - recentYears: 'Các năm gần đây dễ đoán.', - sequences: 'Các chuỗi ký tự phổ biến như "abc" dễ đoán.', - similarToCommon: 'Đây giống với một mật khẩu phổ biến.', - simpleRepeat: 'Các ký tự lặp lại như "aaa" dễ đoán.', - straightRow: 'Các hàng phím trên bàn phím của bạn dễ đoán.', - topHundred: 'Đây là một mật khẩu được sử dụng thường xuyên.', - topTen: 'Đây là một mật khẩu được sử dụng rất nhiều.', - userInputs: 'Không nên có bất kỳ dữ liệu cá nhân hoặc liên quan đến trang web.', - wordByItself: 'Một từ đơn dễ đoán.', - }, - }, + common: 'Đây là một mật khẩu thường được sử dụng.', + commonNames: 'Tên và họ thường được sử dụng.', + dates: 'Ngày thường được sử dụng.', + extendedRepeat: 'Các mẫu ký tự lặp lại như "abcabcabc" dễ dự đoán.', + keyPattern: 'Các mẫu bàn phím ngắn dễ dự đoán.', + namesByThemselves: 'Tên hoặc họ dễ dự đoán.', + pwned: 'Mật khẩu của bạn đã bị rò rỉ qua một rò rỉ dữ liệu trên Internet.', + recentYears: 'Năm gần đây dễ dự đoán.', + sequences: 'Các chuỗi ký tự thông dụng như "abc" dễ dự đoán.', + similarToCommon: 'Đây là tương tự như một mật khẩu thường được sử dụng.', + simpleRepeat: 'Các ký tự lặp lại như "aaa" dễ dự đoán.', + straightRow: 'Các hàng ký tự trên bàn phím của bạn dễ dự đoán.', + topHundred: 'Đây là một mật khẩu thường được sử dụng.', + topTen: 'Đây là một mật khẩu thường được sử dụng.', + userInputs: 'Không nên có bất kỳ dữ liệu cá nhân hoặc liên quan đến trang nào.', + wordByItself: 'Các từ đơn dễ dự đoán.' + } + } }, userButton: { action__addAccount: 'Thêm tài khoản', action__manageAccount: 'Quản lý tài khoản', action__signOut: 'Đăng xuất', - action__signOutAll: 'Đăng xuất khỏi tất cả các tài khoản', + action__signOutAll: 'Đăng xuất tất cả tài khoản' }, userProfile: { + apiKeysPage: { + title: 'Khoá API' + }, backupCodePage: { actionLabel__copied: 'Đã sao chép!', actionLabel__copy: 'Sao chép tất cả', actionLabel__download: 'Tải xuống .txt', actionLabel__print: 'In', - infoText1: 'Các mã sao lưu sẽ được kích hoạt cho tài khoản này.', + infoText1: 'Mã sao lưu sẽ được bật cho tài khoản này.', infoText2: - 'Giữ các mã sao lưu bí mật và lưu chúng một cách an toàn. Bạn có thể tạo lại các mã sao lưu nếu bạn nghi ngờ chúng đã bị xâm phạm.', - subtitle__codelist: 'Lưu chúng một cách an toàn và giữ chúng bí mật.', + 'Giữ mã sao lưu bí mật và lưu trữ chúng một cách an toàn. Bạn có thể tạo lại mã sao lưu nếu bạn nghi ngờ chúng đã bị rò rỉ.', + subtitle__codelist: 'Lưu trữ chúng một cách an toàn và giữ bí mật.', successMessage: - 'Mã sao lưu đã được kích hoạt. Bạn có thể sử dụng một trong các mã này để đăng nhập vào tài khoản của mình, nếu bạn mất quyền truy cập vào thiết bị xác thực của mình. Mỗi mã chỉ có thể sử dụng một lần.', + 'Mã sao lưu đã được bật. Bạn có thể sử dụng một trong số chúng để đăng nhập vào tài khoản của bạn, nếu bạn mất quyền truy cập vào thiết bị xác thực của bạn. Mỗi mã chỉ có thể được sử dụng một lần.', successSubtitle: - 'Bạn có thể sử dụng một trong các mã này để đăng nhập vào tài khoản của mình, nếu bạn mất quyền truy cập vào thiết bị xác thực của mình.', - title: 'Thêm mã xác thực sao lưu', - title__codelist: 'Các mã sao lưu', + 'Bạn có thể sử dụng một trong số chúng để đăng nhập vào tài khoản của bạn, nếu bạn mất quyền truy cập vào thiết bị xác thực của bạn.', + title: 'Thêm xác minh mã sao lưu', + title__codelist: 'Mã sao lưu' }, billingPage: { + paymentHistorySection: { + empty: 'Không có lịch sử thanh toán', + tableHeader__date: 'Ngày', + tableHeader__amount: 'Số tiền', + tableHeader__status: 'Trạng thái', + notFound: 'Không tìm thấy lịch sử thanh toán' + }, paymentSourcesSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: 'Làm mặc định', + actionLabel__remove: 'Xóa', + add: 'Thêm phương thức thanh toán mới', + addSubtitle: 'Thêm một phương thức thanh toán mới vào tài khoản của bạn.', + cancelButton: 'Hủy', + formButtonPrimary__add: 'Thêm phương thức thanh toán', + formButtonPrimary__pay: 'Thanh toán {{amount}}', + payWithTestCardButton: 'Thanh toán với thẻ thử', removeResource: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: '{{identifier}} sẽ bị xóa khỏi tài khoản này.', + messageLine2: + 'Bạn sẽ không còn thể sử dụng nguồn thanh toán này và bất kỳ đăng ký lặp lại nào phụ thuộc vào nó sẽ không còn hoạt động.', + successMessage: '{{paymentSource}} đã bị xóa khỏi tài khoản của bạn.', + title: 'Xóa phương thức thanh toán' }, - title: undefined, + title: 'Phương thức thanh toán' }, start: { - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__payments: 'Thanh toán', + headerTitle__plans: 'Gói', + headerTitle__statements: 'Báo cáo', + headerTitle__subscriptions: 'Đăng ký' + }, + statementsSection: { + empty: 'Không có báo cáo để hiển thị', + itemCaption__paidForPlan: 'Thanh toán cho {{plan}} {{period}} gói', + itemCaption__proratedCredit: 'Tín dụng phân chia cho sử dụng một phần của đăng ký trước', + itemCaption__subscribedAndPaidForPlan: 'Đăng ký và thanh toán cho {{plan}} {{period}} gói', + notFound: 'Không tìm thấy báo cáo', + tableHeader__date: 'Ngày', + tableHeader__amount: 'Số tiền', + title: 'Báo cáo', + totalPaid: 'Tổng thanh toán' }, subscriptionsListSection: { - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - title: undefined, + actionLabel__newSubscription: 'Đăng ký gói', + actionLabel__switchPlan: 'Chuyển gói', + tableHeader__plan: 'Gói', + tableHeader__startDate: 'Ngày bắt đầu', + tableHeader__edit: 'Sửa', + title: 'Đăng ký' }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: 'Quản lý' }, switchPlansSection: { - title: undefined, + title: 'Chuyển gói' }, - title: undefined, + title: 'Thanh toán' }, connectedAccountPage: { - formHint: 'Chọn một nhà cung cấp để kết nối tài khoản của bạn.', - formHint__noAccounts: 'Không có nhà cung cấp tài khoản bên ngoài khả dụng.', + formHint: 'Chọn nhà cung cấp để kết nối tài khoản của bạn.', + formHint__noAccounts: 'Không có nhà cung cấp tài khoản bên ngoài.', removeResource: { messageLine1: '{{identifier}} sẽ bị xóa khỏi tài khoản này.', messageLine2: - 'Bạn sẽ không thể sử dụng tài khoản liên kết này và bất kỳ tính năng phụ thuộc nào sẽ không còn hoạt động.', - successMessage: '{{connectedAccount}} đã được xóa khỏi tài khoản của bạn.', - title: 'Xóa tài khoản liên kết', + 'Bạn sẽ không còn thể sử dụng tài khoản kết nối này và bất kỳ tính năng phụ thuộc nào sẽ không còn hoạt động.', + successMessage: '{{connectedAccount}} đã bị xóa khỏi tài khoản của bạn.', + title: 'Xóa tài khoản kết nối' }, - socialButtonsBlockButton: 'Kết nối tài khoản {{provider|titleize}}', + socialButtonsBlockButton: '{{provider|titleize}}', successMessage: 'Nhà cung cấp đã được thêm vào tài khoản của bạn', - title: 'Thêm tài khoản liên kết', + title: 'Thêm tài khoản kết nối' }, deletePage: { - actionDescription: 'Type "Delete account" below to continue.', + actionDescription: 'Nhập "Xóa tài khoản" dưới đây để tiếp tục.', confirm: 'Xóa tài khoản', - messageLine1: 'Bạn có chắc chắn muốn xóa tài khoản của mình không?', + messageLine1: 'Bạn có chắc chắn muốn xóa tài khoản của bạn?', messageLine2: 'Hành động này là vĩnh viễn và không thể hoàn tác.', - title: 'Xóa tài khoản', + title: 'Xóa tài khoản' }, emailAddressPage: { emailCode: { - formHint: 'Một email chứa mã xác minh sẽ được gửi đến địa chỉ email này.', - formSubtitle: 'Nhập mã xác minh được gửi đến {{identifier}}', - formTitle: 'Mã xác minh', + formHint: 'Một email chứa mã xác thực sẽ được gửi đến địa chỉ email này.', + formSubtitle: 'Nhập mã xác thực được gửi đến {{identifier}}', + formTitle: 'Mã xác thực', resendButton: 'Không nhận được mã? Gửi lại', - successMessage: 'Email {{identifier}} đã được thêm vào tài khoản của bạn.', + successMessage: 'Email {{identifier}} đã được thêm vào tài khoản của bạn.' }, emailLink: { - formHint: 'Một email chứa liên kết xác minh sẽ được gửi đến địa chỉ email này.', - formSubtitle: 'Nhấp vào liên kết xác minh trong email được gửi đến {{identifier}}', - formTitle: 'Liên kết xác minh', + formHint: 'Một email chứa liên kết xác thực sẽ được gửi đến địa chỉ email này.', + formSubtitle: 'Nhấp vào liên kết xác thực trong email được gửi đến {{identifier}}', + formTitle: 'Liên kết xác thực', resendButton: 'Không nhận được liên kết? Gửi lại', - successMessage: 'Email {{identifier}} đã được thêm vào tài khoản của bạn.', + successMessage: 'Email {{identifier}} đã được thêm vào tài khoản của bạn.' }, enterpriseSSOLink: { - formButton: undefined, - formSubtitle: undefined, + formButton: 'Nhấp để đăng nhập', + formSubtitle: 'Hoàn thành đăng nhập với {{identifier}}' }, - formHint: undefined, + formHint: + 'Bạn cần xác thực địa chỉ email này trước khi nó có thể được thêm vào tài khoản của bạn.', removeResource: { messageLine1: '{{identifier}} sẽ bị xóa khỏi tài khoản này.', - messageLine2: 'Bạn sẽ không thể đăng nhập bằng địa chỉ email này nữa.', - successMessage: '{{emailAddress}} đã được xóa khỏi tài khoản của bạn.', - title: 'Xóa địa chỉ email', + messageLine2: 'Bạn sẽ không còn thể đăng nhập bằng địa chỉ email này.', + successMessage: '{{emailAddress}} đã bị xóa khỏi tài khoản của bạn.', + title: 'Xóa địa chỉ email' }, title: 'Thêm địa chỉ email', - verifyTitle: 'Verify email address', + verifyTitle: 'Xác thực địa chỉ email' }, - formButtonPrimary__add: 'Add', + formButtonPrimary__add: 'Thêm', formButtonPrimary__continue: 'Tiếp tục', formButtonPrimary__finish: 'Hoàn thành', - formButtonPrimary__remove: 'Remove', - formButtonPrimary__save: 'Save', + formButtonPrimary__remove: 'Xóa', + formButtonPrimary__save: 'Lưu', formButtonReset: 'Hủy', mfaPage: { - formHint: 'Chọn một phương pháp để thêm.', - title: 'Thêm xác minh hai bước', + formHint: 'Chọn phương thức để thêm.', + title: 'Thêm xác thực hai bước' }, mfaPhoneCodePage: { - backButton: 'Use existing number', + backButton: 'Sử dụng số điện thoại hiện có', primaryButton__addPhoneNumber: 'Thêm số điện thoại', removeResource: { messageLine1: '{{identifier}} sẽ không còn nhận được mã xác thực khi đăng nhập.', - messageLine2: 'Tài khoản của bạn có thể không an toàn. Bạn có chắc chắn muốn tiếp tục không?', - successMessage: 'Xác thực hai bước bằng mã SMS đã được gỡ bỏ cho {{mfaPhoneCode}}', - title: 'Gỡ bỏ xác thực hai bước', + messageLine2: 'Tài khoản của bạn có thể không an toàn hơn. Bạn có chắc chắn muốn tiếp tục?', + successMessage: 'Xác thực mã SMS hai bước đã bị xóa cho {{mfaPhoneCode}}', + title: 'Xóa xác thực hai bước' }, - subtitle__availablePhoneNumbers: 'Chọn một số điện thoại để đăng ký xác thực hai bước bằng mã SMS.', + subtitle__availablePhoneNumbers: + 'Chọn số điện thoại hiện có để đăng ký xác thực mã SMS hai bước hoặc thêm số điện thoại mới.', subtitle__unavailablePhoneNumbers: - 'Không có số điện thoại nào khả dụng để đăng ký xác thực hai bước bằng mã SMS.', + 'Không có số điện thoại nào để đăng ký xác thực mã SMS hai bước, vui lòng thêm số điện thoại mới.', successMessage1: - 'When signing in, you will need to enter a verification code sent to this phone number as an additional step.', + 'Khi đăng nhập, bạn sẽ cần nhập mã xác thực được gửi đến số điện thoại này làm bước thêm.', successMessage2: - 'Save these backup codes and store them somewhere safe. If you lose access to your authentication device, you can use backup codes to sign in.', - successTitle: 'SMS code verification enabled', - title: 'Thêm mã xác thực SMS', + 'Lưu các mã sao lưu này và lưu trữ chúng ở một 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 của bạn, bạn có thể sử dụng mã sao lưu để đăng nhập.', + successTitle: 'Xác thực mã SMS đã được bật', + title: 'Thêm xác thực mã SMS' }, mfaTOTPPage: { authenticatorApp: { - buttonAbleToScan__nonPrimary: 'Quét mã QR thay vì đó', + buttonAbleToScan__nonPrimary: 'Quét mã QR thay vì', buttonUnableToScan__nonPrimary: 'Không thể quét mã QR?', infoText__ableToScan: - 'Thiết lập một phương thức đăng nhập mới trong ứng dụng xác thực của bạn và quét mã QR dưới đây để liên kết nó với tài khoản của bạn.', + 'Thiết lập phương thức đăng nhập mới trong ứng dụng xác thực của bạn và quét mã QR sau để kết nối với tài khoản của bạn.', infoText__unableToScan: - 'Thiết lập một phương thức đăng nhập mới trong ứng dụng xác thực và nhập Khóa được cung cấp bên dưới.', + 'Thiết lập phương thức đăng nhập mới trong ứng dụng xác thực của bạn và nhập khóa được cung cấp dưới đây.', inputLabel__unableToScan1: - 'Đảm bảo đã kích hoạt mật khẩu dựa trên thời gian hoặc mật khẩu một lần, sau đó hoàn thành việc liên kết tài khoản của bạn.', + 'Đảm bảo mã thời gian hoặc mã một lần đã được bật, sau đó hoàn thành việc kết nối tài khoản của bạn.', inputLabel__unableToScan2: - 'Hoặc nếu ứng dụng xác thực của bạn hỗ trợ TOTP URIs, bạn cũng có thể sao chép toàn bộ URI.', + 'Ngoài ra, nếu ứng dụng xác thực của bạn hỗ trợ TOTP URIs, bạn cũng có thể sao chép URI đầy đủ.' }, removeResource: { - messageLine1: 'Mã xác thực từ ứng dụng xác thực này sẽ không còn được yêu cầu khi đăng nhập.', - messageLine2: 'Tài khoản của bạn có thể không an toàn. Bạn có chắc chắn muốn tiếp tục không?', - successMessage: 'Xác thực hai bước qua ứng dụng xác thực đã được gỡ bỏ.', - title: 'Gỡ bỏ xác thực hai bước', + messageLine1: + 'Mã xác thực từ ứng dụng xác thực này sẽ không còn được yêu cầu khi đăng nhập.', + messageLine2: 'Tài khoản của bạn có thể không an toàn hơn. Bạn có chắc chắn muốn tiếp tục?', + successMessage: 'Xác thực hai bước qua ứng dụng xác thực đã bị xóa.', + title: 'Xóa xác thực hai bước' }, successMessage: - 'Xác thực hai bước đã được kích hoạt. Khi đăng nhập, bạn sẽ cần nhập mã xác thực từ ứng dụng xác thực này như một bước bổ sung.', + 'Xác thực hai bước đã được bật. Khi đăng nhập, bạn sẽ cần nhập mã xác thực từ ứng dụng xác thực này làm bước thêm.', title: 'Thêm ứng dụng xác thực', verifySubtitle: 'Nhập mã xác thực được tạo bởi ứng dụng xác thực của bạn', - verifyTitle: 'Mã xác thực', + verifyTitle: 'Mã xác thực' }, mobileButton__menu: 'Menu', navbar: { - account: 'Profile', - billing: undefined, - description: 'Manage your account info.', - security: 'Security', - title: 'Account', + account: 'Tài khoản', + apiKeys: 'Khoá API', + billing: 'Thanh toán', + description: 'Quản lý thông tin tài khoản của bạn.', + security: 'Bảo mật', + title: 'Tài khoản' }, passkeyScreen: { removeResource: { - messageLine1: undefined, - title: undefined, + messageLine1: '{{name}} sẽ bị xóa khỏi tài khoản này.', + title: 'Xóa passkey' }, - subtitle__rename: undefined, - title__rename: undefined, + subtitle__rename: 'Bạn có thể thay đổi tên passkey để dễ dàng tìm kiếm.', + title__rename: 'Đổi tên Passkey' }, passwordPage: { checkboxInfoText__signOutOfOtherSessions: - 'It is recommended to sign out of all other devices which may have used your old password.', - 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.', + 'Được khuyến nghị đăng xuất khỏi tất cả các thiết bị khác có thể đã sử dụng mật khẩu cũ của bạn.', + readonly: + 'Mật khẩu của bạn hiện không thể được chỉnh sửa vì bạn chỉ có thể đăng nhập thông qua kết nối doanh nghiệp.', successMessage__set: 'Mật khẩu của bạn đã được thiết lập.', successMessage__signOutOfOtherSessions: 'Tất cả các thiết bị khác đã được đăng xuất.', successMessage__update: 'Mật khẩu của bạn đã được cập nhật.', title__set: 'Thiết lập mật khẩu', - title__update: 'Thay đổi mật khẩu', + title__update: 'Cập nhật mật khẩu' }, phoneNumberPage: { - infoText: 'Một tin nhắn chứa liên kết xác minh sẽ được gửi đến số điện thoại này.', + infoText: + 'Một tin nhắn văn bản chứa mã xác thực sẽ được gửi đến số điện thoại này. Có thể áp dụng tỷ lệ phí tin nhắn và dữ liệu.', removeResource: { messageLine1: '{{identifier}} sẽ bị xóa khỏi tài khoản này.', - messageLine2: 'Bạn sẽ không thể đăng nhập bằng số điện thoại này nữa.', - successMessage: '{{phoneNumber}} đã được xóa khỏi tài khoản của bạn.', - title: 'Xóa số điện thoại', + messageLine2: 'Bạn sẽ không còn thể đăng nhập bằng số điện thoại này.', + successMessage: '{{phoneNumber}} đã bị xóa khỏi tài khoản của bạn.', + title: 'Xóa số điện thoại' }, successMessage: '{{identifier}} đã được thêm vào tài khoản của bạn.', title: 'Thêm số điện thoại', - verifySubtitle: 'Enter the verification code sent to {{identifier}}', - verifyTitle: 'Verify phone number', + verifySubtitle: 'Nhập mã xác thực được gửi đến {{identifier}}', + verifyTitle: 'Xác thực số điện thoại' }, plansPage: { - title: undefined, + title: 'Gói' }, profilePage: { - fileDropAreaHint: 'Tải lên ảnh JPG, PNG, GIF, hoặc WEBP có dung lượng nhỏ hơn 10 MB', - imageFormDestructiveActionSubtitle: 'Xóa ảnh', - imageFormSubtitle: 'Tải ảnh lên', - imageFormTitle: 'Hình ảnh hồ sơ', - 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.', + fileDropAreaHint: 'Kích thước khuyến nghị 1:1, tối đa 10MB.', + imageFormDestructiveActionSubtitle: 'Xóa', + imageFormSubtitle: 'Tải lên', + imageFormTitle: 'Ảnh hồ sơ', + readonly: + 'Thông tin hồ sơ của bạn đã được cung cấp thông qua kết nối doanh nghiệp và không thể được chỉnh sửa.', successMessage: 'Hồ sơ của bạn đã được cập nhật.', - title: 'Cập nhật hồ sơ', + title: 'Cập nhật hồ sơ' }, start: { activeDevicesSection: { destructiveAction: 'Đăng xuất khỏi thiết bị', - title: 'Thiết bị hoạt động', + title: 'Thiết bị hoạt động' }, connectedAccountsSection: { - actionLabel__connectionFailed: 'Thử lại', + actionLabel__connectionFailed: 'Kết nối lại', actionLabel__reauthorize: 'Xác thực ngay', destructiveActionTitle: 'Xóa', primaryButton: 'Kết nối tài khoản', - subtitle__disconnected: undefined, + subtitle__disconnected: 'Tài khoản này đã bị ngắt kết nối.', subtitle__reauthorize: - 'The required scopes have been updated, and you may be experiencing limited functionality. Please re-authorize this application to avoid any issues', - title: 'Tài khoản đã kết nối', + 'Các phạm vi được yêu cầu đã được cập nhật, và bạn có thể đang gặp phải chức năng giới hạn. Vui lòng xác thực lại ứng dụng này để tránh bất kỳ vấn đề nào', + title: 'Tài khoản kết nối' }, dangerSection: { - deleteAccountButton: 'Xóa Tài khoản', - title: 'Nguy hiểm', + deleteAccountButton: 'Xóa tài khoản', + title: 'Xóa tài khoản' }, emailAddressesSection: { - destructiveAction: 'Xóa địa chỉ email', + destructiveAction: 'Xóa email', detailsAction__nonPrimary: 'Đặt làm chính', - detailsAction__primary: 'Hoàn tất xác minh', - detailsAction__unverified: 'Hoàn tất xác minh', + detailsAction__primary: 'Hoàn thành xác thực', + detailsAction__unverified: 'Xác thực', primaryButton: 'Thêm địa chỉ email', - title: 'Địa chỉ email', + title: 'Địa chỉ email' }, enterpriseAccountsSection: { - title: 'Tài khoản doanh nghiệp', + title: 'Tài khoản doanh nghiệp' }, - headerTitle__account: 'Tài khoản', + headerTitle__account: 'Chi tiết hồ sơ', headerTitle__security: 'Bảo mật', mfaSection: { backupCodes: { - actionLabel__regenerate: 'Tạo lại mã', + actionLabel__regenerate: 'Tạo lại', headerTitle: 'Mã sao lưu', subtitle__regenerate: - 'Nhận một bộ mã sao lưu an toàn mới. Các mã sao lưu trước đó sẽ bị xóa và không thể sử dụng được.', - title__regenerate: 'Tạo lại mã sao lưu', + 'Lấy một bộ mã sao lưu mới và an toàn. Các mã sao lưu trước đó sẽ bị xóa và không thể được sử dụng.', + title__regenerate: 'Tạo lại mã sao lưu' }, phoneCode: { - actionLabel__setDefault: 'Đặt làm mặc định', - destructiveActionLabel: 'Xóa số điện thoại', + actionLabel__setDefault: 'Đặt làm chính', + destructiveActionLabel: 'Xóa' }, primaryButton: 'Thêm xác thực hai bước', title: 'Xác thực hai bước', totp: { destructiveActionTitle: 'Xóa', - headerTitle: 'Ứng dụng xác thực', - }, + headerTitle: 'Ứng dụng xác thực' + } }, passkeysSection: { - menuAction__destructive: undefined, - menuAction__rename: undefined, - primaryButton: undefined, - title: undefined, + menuAction__destructive: 'Xóa', + menuAction__rename: 'Đổi tên', + primaryButton: 'Thêm passkey', + title: 'Passkeys' }, passwordSection: { - primaryButton__setPassword: 'Đặt mật khẩu', - primaryButton__updatePassword: 'Thay đổi mật khẩu', - title: 'Mật khẩu', + primaryButton__setPassword: 'Thiết lập mật khẩu', + primaryButton__updatePassword: 'Cập nhật mật khẩu', + title: 'Mật khẩu' }, phoneNumbersSection: { destructiveAction: 'Xóa số điện thoại', detailsAction__nonPrimary: 'Đặt làm chính', - detailsAction__primary: 'Hoàn tất xác minh', - detailsAction__unverified: 'Hoàn tất xác minh', + detailsAction__primary: 'Hoàn thành xác thực', + detailsAction__unverified: 'Xác thực số điện thoại', primaryButton: 'Thêm số điện thoại', - title: 'Số điện thoại', + title: 'Số điện thoại' }, profileSection: { - primaryButton: undefined, - title: 'Hồ sơ', + primaryButton: 'Cập nhật hồ sơ', + title: 'Hồ sơ' }, usernameSection: { - primaryButton__setUsername: 'Đặt tên người dùng', - primaryButton__updateUsername: 'Thay đổi tên người dùng', - title: 'Tên người dùng', + primaryButton__setUsername: 'Thiết lập tên người dùng', + primaryButton__updateUsername: 'Cập nhật tên người dùng', + title: 'Tên người dùng' }, web3WalletsSection: { destructiveAction: 'Xóa ví', - detailsAction__nonPrimary: undefined, - primaryButton: 'Ví Web3', - title: 'Ví Web3', - }, + detailsAction__nonPrimary: 'Đặt làm chính', + primaryButton: 'Kết nối ví', + title: 'Ví Web3' + } }, usernamePage: { successMessage: 'Tên người dùng của bạn đã được cập nhật.', - title__set: 'Cập nhật tên người dùng', - title__update: 'Cập nhật tên người dùng', + title__set: 'Thiết lập tên người dùng', + title__update: 'Cập nhật tên người dùng' }, web3WalletPage: { removeResource: { messageLine1: '{{identifier}} sẽ bị xóa khỏi tài khoản này.', - messageLine2: 'Bạn sẽ không thể đăng nhập bằng ví web3 này nữa.', - successMessage: '{{web3Wallet}} đã được xóa khỏi tài khoản của bạn.', - title: 'Xóa ví web3', + messageLine2: 'Bạn sẽ không còn thể đăng nhập bằng ví web3 này.', + successMessage: '{{web3Wallet}} đã bị xóa khỏi tài khoản của bạn.', + title: 'Xóa ví web3' }, subtitle__availableWallets: 'Chọn một ví web3 để kết nối với tài khoản của bạn.', - subtitle__unavailableWallets: 'Không có ví web3 khả dụng.', + subtitle__unavailableWallets: 'Không có ví web3 nào có sẵn.', successMessage: 'Ví đã được thêm vào tài khoản của bạn.', title: 'Thêm ví web3', - web3WalletButtonsBlockButton: undefined, - }, + web3WalletButtonsBlockButton: '{{provider|titleize}}' + } }, waitlist: { start: { - actionLink: undefined, - actionText: undefined, - formButton: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Đăng nhập', + actionText: 'Đã có quyền truy cập?', + formButton: 'Tham gia danh sách chờ', + subtitle: + 'Nhập địa chỉ email của bạn và chúng tôi sẽ thông báo khi vị trí của bạn đã sẵn sàng', + title: 'Tham gia danh sách chờ' }, success: { - message: undefined, - subtitle: undefined, - title: undefined, - }, - }, -} as const; + message: 'Bạn sẽ được chuyển hướng sớm...', + subtitle: 'Chúng tôi sẽ liên hệ khi vị trí của bạn đã sẵn sàng', + title: 'Cảm ơn bạn đã tham gia danh sách chờ!' + } + } +} as const