schon/vibes_auth/locale/vi_VN/LC_MESSAGES/django.po
Egor fureunoir Gorbunov c8aaae4946 Features: 1) Add last_processing_response field to vendor model with FileField support.
Fixes: 1) Update translation strings for multiple locales to correct formatting issues.

Extra: 1) Update POT creation date across locale files; 2) Minor adjustments to translations for consistency.
2025-10-13 16:11:37 +03:00

491 lines
16 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
msgid ""
msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-13 13:56+0300\n"
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
"Language: vi-vn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
#: vibes_auth/graphene/object_types.py:46
msgid "balance"
msgstr "Cân bằng"
#: vibes_auth/admin.py:45
msgid "order"
msgstr "Đặt hàng"
#: vibes_auth/admin.py:46 vibes_auth/graphene/object_types.py:44
msgid "orders"
msgstr "Đơn hàng"
#: vibes_auth/admin.py:56
msgid "personal info"
msgstr "Thông tin cá nhân"
#: vibes_auth/admin.py:60 vibes_auth/graphene/object_types.py:43
msgid "permissions"
msgstr "Quyền"
#: vibes_auth/admin.py:73
msgid "important dates"
msgstr "Các ngày quan trọng"
#: vibes_auth/admin.py:74
msgid "additional info"
msgstr "Thông tin bổ sung"
#: vibes_auth/apps.py:8
msgid "authentication"
msgstr "Xác thực"
#: vibes_auth/docs/drf/views.py:15
msgid "obtain a token pair"
msgstr "Nhận cặp token"
#: vibes_auth/docs/drf/views.py:16
msgid "obtain a token pair (refresh and access) for authentication."
msgstr "Nhận cặp token (refresh và access) để xác thực."
#: vibes_auth/docs/drf/views.py:35
msgid "refresh a token pair"
msgstr "Cập nhật cặp token"
#: vibes_auth/docs/drf/views.py:36
msgid "refresh a token pair (refresh and access)."
msgstr "Cập nhật cặp token (cập nhật và truy cập)."
#: vibes_auth/docs/drf/views.py:55
msgid "verify a token"
msgstr "Xác minh token"
#: vibes_auth/docs/drf/views.py:56
msgid "Verify a token (refresh or access)."
msgstr "Xác minh token (cập nhật hoặc truy cập)."
#: vibes_auth/docs/drf/views.py:62 vibes_auth/views.py:77
msgid "the token is valid"
msgstr "Token này hợp lệ"
#: vibes_auth/docs/drf/viewsets.py:16
msgid "create a new user"
msgstr "Tạo một người dùng mới"
#: vibes_auth/docs/drf/viewsets.py:21
msgid "retrieve a user's details"
msgstr "Lấy thông tin chi tiết của người dùng"
#: vibes_auth/docs/drf/viewsets.py:25
msgid "update a user's details"
msgstr "Cập nhật thông tin của người dùng"
#: vibes_auth/docs/drf/viewsets.py:30
msgid "delete a user"
msgstr "Xóa người dùng"
#: vibes_auth/docs/drf/viewsets.py:34
msgid "reset a user's password by sending a reset password email"
msgstr "Đặt lại mật khẩu của người dùng bằng cách gửi email đặt lại mật khẩu."
#: vibes_auth/docs/drf/viewsets.py:39
msgid "handle avatar upload for a user"
msgstr "Xử lý việc tải lên avatar cho người dùng"
#: vibes_auth/docs/drf/viewsets.py:54
msgid "confirm a user's password reset"
msgstr "Xác nhận việc đặt lại mật khẩu của người dùng"
#: vibes_auth/docs/drf/viewsets.py:58 vibes_auth/graphene/mutations.py:311
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:109
#: vibes_auth/viewsets.py:82
msgid "passwords do not match"
msgstr "Mật khẩu không khớp."
#: vibes_auth/docs/drf/viewsets.py:63
msgid "activate a user's account"
msgstr "Kích hoạt tài khoản của người dùng"
#: vibes_auth/docs/drf/viewsets.py:67
msgid "activation link is invalid or account already activated"
msgstr "Liên kết kích hoạt không hợp lệ hoặc tài khoản đã được kích hoạt."
#: vibes_auth/docs/drf/viewsets.py:72
msgid "merge client-stored recently viewed products"
msgstr ""
"Ghép các sản phẩm đã xem gần đây được lưu trữ trên thiết bị của khách hàng"
#: vibes_auth/graphene/mutations.py:41
msgid "the user's b64-encoded uuid who referred the new user to us."
msgstr ""
"Mã UUID được mã hóa bằng B64 của người dùng đã giới thiệu người dùng mới cho "
"chúng tôi."
#: vibes_auth/graphene/mutations.py:61
msgid "password too weak"
msgstr "Mật khẩu quá yếu."
#: vibes_auth/graphene/mutations.py:107
#, python-brace-format
msgid "{name} does not exist: {uuid}"
msgstr "{name} không tồn tại: {uuid}!"
#: vibes_auth/graphene/mutations.py:117
msgid "malformed email"
msgstr "Email không hợp lệ"
#: vibes_auth/graphene/mutations.py:124 vibes_auth/serializers.py:115
#, python-brace-format
msgid "malformed phone number: {phone_number}"
msgstr "Số điện thoại không hợp lệ: {phone_number}!"
#: vibes_auth/graphene/mutations.py:146
#, python-brace-format
msgid "Invalid attribute format: {attribute_pair}"
msgstr "Định dạng thuộc tính không hợp lệ: {attribute_pair}!"
#: vibes_auth/graphene/mutations.py:267 vibes_auth/viewsets.py:125
#: vibes_auth/viewsets.py:144
msgid "activation link is invalid!"
msgstr "Liên kết kích hoạt không hợp lệ!"
#: vibes_auth/graphene/mutations.py:270
msgid "account already activated..."
msgstr "Tài khoản đã được kích hoạt..."
#: vibes_auth/graphene/mutations.py:277 vibes_auth/graphene/mutations.py:329
msgid "something went wrong: {e!s}"
msgstr "Có sự cố xảy ra: {e!s}"
#: vibes_auth/graphene/mutations.py:318 vibes_auth/viewsets.py:93
msgid "token is invalid!"
msgstr "Token không hợp lệ!"
#: vibes_auth/graphene/object_types.py:40
msgid ""
"the products this user has viewed most recently (max 48), in reverse"
"chronological order"
msgstr ""
"Các sản phẩm mà người dùng này đã xem gần đây nhất (tối đa 48), theo thứ tự "
"thời gian ngược."
#: vibes_auth/graphene/object_types.py:42 vibes_auth/models.py:180
msgid "groups"
msgstr "Nhóm"
#: vibes_auth/graphene/object_types.py:45
msgid "wishlist"
msgstr "Danh sách mong muốn"
#: vibes_auth/graphene/object_types.py:47 vibes_auth/models.py:102
msgid "avatar"
msgstr "Avatar"
#: vibes_auth/graphene/object_types.py:48
msgid "attributes may be used to store custom data"
msgstr "Các thuộc tính có thể được sử dụng để lưu trữ dữ liệu tùy chỉnh."
#: vibes_auth/graphene/object_types.py:49
#, python-brace-format
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
msgstr "Ngôn ngữ là một trong những {LANGUAGES} với mặc định {LANGUAGE_CODE}"
#: vibes_auth/graphene/object_types.py:50
msgid "address set"
msgstr "Địa chỉ"
#: vibes_auth/models.py:85
msgid "email"
msgstr "Email"
#: vibes_auth/models.py:85
msgid "user email address"
msgstr "Địa chỉ email của người dùng"
#: vibes_auth/models.py:87
msgid "phone_number"
msgstr "Số điện thoại"
#: vibes_auth/models.py:92
msgid "user phone number"
msgstr "Số điện thoại của người dùng"
#: vibes_auth/models.py:98
msgid "first_name"
msgstr "Họ"
#: vibes_auth/models.py:99
msgid "last_name"
msgstr "Họ"
#: vibes_auth/models.py:105
msgid "user profile image"
msgstr "Hình ảnh hồ sơ người dùng"
#: vibes_auth/models.py:110
msgid "is verified"
msgstr "Đã được xác minh"
#: vibes_auth/models.py:111
msgid "user verification status"
msgstr "Trạng thái xác minh của người dùng"
#: vibes_auth/models.py:114
msgid "is_active"
msgstr "Đang hoạt động"
#: vibes_auth/models.py:116
msgid "unselect this instead of deleting accounts"
msgstr "Hủy chọn tùy chọn này thay vì xóa tài khoản."
#: vibes_auth/models.py:119
msgid "is_subscribed"
msgstr "Đã đăng ký"
#: vibes_auth/models.py:119
msgid "user's newsletter subscription status"
msgstr "Tình trạng đăng ký bản tin của người dùng"
#: vibes_auth/models.py:122
msgid "activation token"
msgstr "Mã kích hoạt"
#: vibes_auth/models.py:124
msgid "attributes"
msgstr "Thuộc tính"
#: vibes_auth/models.py:158
msgid "user"
msgstr "Người dùng"
#: vibes_auth/models.py:159
msgid "users"
msgstr "Người dùng"
#: vibes_auth/models.py:179
msgid "group"
msgstr "Nhóm"
#: vibes_auth/models.py:196
msgid "outstanding token"
msgstr "Token xuất sắc"
#: vibes_auth/models.py:197
msgid "outstanding tokens"
msgstr "Token xuất sắc"
#: vibes_auth/models.py:215
msgid "blacklisted token"
msgstr "Token bị đưa vào danh sách đen"
#: vibes_auth/models.py:216
msgid "blacklisted tokens"
msgstr "Các token bị đưa vào danh sách đen"
#: vibes_auth/serializers.py:99
msgid "attributes must be a dictionary"
msgstr "`attributes` phải là một từ điển."
#: vibes_auth/serializers.py:101
msgid "business identificator is required when registering as a business"
msgstr "Mã định danh doanh nghiệp là bắt buộc khi đăng ký kinh doanh."
#: vibes_auth/serializers.py:121
#, python-brace-format
msgid "malformed email: {email}"
msgstr "Email không hợp lệ: {email}"
#: vibes_auth/serializers.py:142 vibes_auth/serializers.py:164
#: vibes_auth/serializers.py:186 vibes_auth/serializers.py:198
msgid "no active account"
msgstr "Không tìm thấy tài khoản hoạt động."
#: vibes_auth/serializers.py:174
msgid "must set token_class attribute on class."
msgstr "Phải đặt thuộc tính token_class cho lớp!"
#: vibes_auth/serializers.py:246
msgid "token_blacklisted"
msgstr "Token bị đưa vào danh sách đen"
#: vibes_auth/serializers.py:251
msgid "invalid token"
msgstr "Token không hợp lệ"
#: vibes_auth/serializers.py:257
msgid "no user uuid claim present in token"
msgstr "Không có yêu cầu UUID của người dùng trong token."
#: vibes_auth/serializers.py:259
msgid "user does not exist"
msgstr "Người dùng không tồn tại"
#: vibes_auth/templates/user_reset_password_email.html:7
msgid "reset your password"
msgstr "Đặt lại mật khẩu của bạn"
#: vibes_auth/templates/user_reset_password_email.html:85
#: vibes_auth/templates/user_verification_email.html:85
msgid "logo"
msgstr "Biểu trưng"
#: vibes_auth/templates/user_reset_password_email.html:90
msgid "password reset confirmation"
msgstr "Xác nhận đặt lại mật khẩu"
#: vibes_auth/templates/user_reset_password_email.html:91
#: vibes_auth/templates/user_verification_email.html:91
#, python-format
msgid "hello %(user_first_name)s,"
msgstr "Xin chào %(user_first_name)s,"
#: vibes_auth/templates/user_reset_password_email.html:92
msgid ""
"we have received a request to reset your password. please reset your "
"password\n"
" by clicking the button below:"
msgstr ""
"Chúng tôi đã nhận được yêu cầu đặt lại mật khẩu của bạn. Vui lòng đặt lại "
"mật khẩu bằng cách nhấp vào nút bên dưới:"
#: vibes_auth/templates/user_reset_password_email.html:95
msgid "reset password"
msgstr "Đặt lại mật khẩu"
#: vibes_auth/templates/user_reset_password_email.html:97
#: vibes_auth/templates/user_verification_email.html:99
msgid ""
"if the button above does not work, please copy and paste the following URL\n"
" into your web browser:"
msgstr ""
"Nếu nút ở trên không hoạt động, vui lòng sao chép và dán URL sau vào trình "
"duyệt web của bạn:"
#: vibes_auth/templates/user_reset_password_email.html:100
msgid ""
"if you did not send this request, please ignore this\n"
" email."
msgstr "Nếu bạn không gửi yêu cầu này, vui lòng bỏ qua email này."
#: vibes_auth/templates/user_reset_password_email.html:102
#, python-format
msgid "best regards,<br>The %(project_name)s team"
msgstr "Trân trọng,<br>Đội ngũ %(project_name)s"
#: vibes_auth/templates/user_reset_password_email.html:108
#: vibes_auth/templates/user_verification_email.html:108
msgid "all rights reserved"
msgstr "Tất cả các quyền được bảo lưu."
#: vibes_auth/templates/user_verification_email.html:7
#: vibes_auth/templates/user_verification_email.html:90
msgid "activate your account"
msgstr "Kích hoạt tài khoản của bạn"
#: vibes_auth/templates/user_verification_email.html:92
#, python-format
msgid ""
"thank you for signing up for %(project_name)s. please activate your account\n"
" by clicking the button below:"
msgstr ""
"Cảm ơn bạn đã đăng ký cho %(project_name)s. Vui lòng kích hoạt tài khoản của "
"bạn bằng cách nhấp vào nút bên dưới:"
#: vibes_auth/templates/user_verification_email.html:96
msgid ""
"activate\n"
" account"
msgstr "Kích hoạt tài khoản"
#: vibes_auth/templates/user_verification_email.html:102
#, python-format
msgid "best regards,<br>the %(project_name)s team"
msgstr "Trân trọng,<br>Đội ngũ %(project_name)s"
#: vibes_auth/utils/emailing.py:27
#, python-brace-format
msgid "{config.PROJECT_NAME} | Activate Account"
msgstr "{config.PROJECT_NAME} | Kích hoạt tài khoản"
#: vibes_auth/utils/emailing.py:69
#, python-brace-format
msgid "{config.PROJECT_NAME} | Reset Password"
msgstr "{config.PROJECT_NAME} | Đặt lại mật khẩu"
#: vibes_auth/validators.py:13
msgid ""
"invalid phone number format. the number must be entered in the format: "
"\"+999999999\". up to 15 digits allowed."
msgstr ""
"Định dạng số điện thoại không hợp lệ. Số điện thoại phải được nhập theo định "
"dạng: \"+999999999\". Cho phép tối đa 15 chữ số."
#: vibes_auth/views.py:29
msgid ""
"Represents a view for getting a pair of access and refresh tokens and user's "
"data. This view manages the process of handling token-based authentication "
"where clients can get a pair of JWT tokens (access and refresh) using "
"provided credentials. It is built on top of a base token view and ensures "
"proper rate limiting to protect against brute force attacks."
msgstr ""
"Đại diện cho một giao diện để lấy cặp token truy cập và token làm mới cùng "
"với dữ liệu người dùng. Giao diện này quản lý quá trình xác thực dựa trên "
"token, cho phép các client lấy cặp token JWT (truy cập và làm mới) bằng cách "
"sử dụng thông tin đăng nhập được cung cấp. Nó được xây dựng dựa trên một "
"giao diện token cơ sở và đảm bảo giới hạn tốc độ thích hợp để bảo vệ khỏi "
"các cuộc tấn công dò mật khẩu."
#: vibes_auth/views.py:47
msgid ""
"Handles refreshing of tokens for authentication purposes. This class is used "
"to provide functionality for token refresh operations as part of an "
"authentication system. It ensures that clients can request a refreshed token "
"within defined rate limits. The view relies on the associated serializer to "
"validate token refresh inputs and produce appropriate outputs."
msgstr ""
"Xử lý việc làm mới token cho mục đích xác thực. Lớp này được sử dụng để cung "
"cấp chức năng cho các hoạt động làm mới token như một phần của hệ thống xác "
"thực. Nó đảm bảo rằng các client có thể yêu cầu token đã được làm mới trong "
"giới hạn tỷ lệ được định nghĩa. Giao diện người dùng dựa vào trình "
"serializer liên quan để xác thực các đầu vào làm mới token và tạo ra các đầu "
"ra phù hợp."
#: vibes_auth/views.py:66
msgid ""
"Represents a view for verifying JSON Web Tokens (JWT) using specific "
"serialization and validation logic. "
msgstr ""
"Đại diện cho một giao diện dùng để xác minh JSON Web Tokens (JWT) bằng cách "
"sử dụng logic serialization và xác thực cụ thể."
#: vibes_auth/views.py:79
msgid "the token is invalid"
msgstr "Token không hợp lệ"
#: vibes_auth/viewsets.py:43
msgid ""
"User view set implementation.\n"
"Provides a set of actions that manage user-related data such as creation, "
"retrieval, updates, deletion, and custom actions including password reset, "
"avatar upload, account activation, and recently viewed items merging. This "
"class extends the mixins and GenericViewSet for robust API handling."
msgstr ""
"Thực hiện bộ xem người dùng. Cung cấp một tập hợp các hành động quản lý dữ "
"liệu liên quan đến người dùng như tạo, truy xuất, cập nhật, xóa và các hành "
"động tùy chỉnh bao gồm đặt lại mật khẩu, tải lên avatar, kích hoạt tài khoản "
"và hợp nhất các mục đã xem gần đây. Lớp này mở rộng các mixin và "
"GenericViewSet để xử lý API một cách mạnh mẽ."
#: vibes_auth/viewsets.py:97
msgid "password reset successfully"
msgstr "Mật khẩu đã được đặt lại thành công!"
#: vibes_auth/viewsets.py:130
msgid "account already activated!"
msgstr "Bạn đã kích hoạt tài khoản..."