Fixes: 1) Addressed line-break inconsistencies in multi-line strings across various language files to ensure proper display; 2) Fixed minor spacing in `django.po` entries for Italian, Swedish, and Turkish locales. Extra: Optimized file headers and metadata in all updated locale files by syncing timestamps and project information for uniform tracking.
580 lines
20 KiB
Text
580 lines
20 KiB
Text
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: EVIBES 3.0.0\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2025-10-25 20:41+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:39 vibes_auth/admin.py:40
|
||
#: vibes_auth/graphene/object_types.py:46
|
||
msgid "balance"
|
||
msgstr "Cân bằng"
|
||
|
||
#: vibes_auth/admin.py:48
|
||
msgid "order"
|
||
msgstr "Đặt hàng"
|
||
|
||
#: vibes_auth/admin.py:49 vibes_auth/graphene/object_types.py:44
|
||
msgid "orders"
|
||
msgstr "Đơn hàng"
|
||
|
||
#: vibes_auth/admin.py:59
|
||
msgid "personal info"
|
||
msgstr "Thông tin cá nhân"
|
||
|
||
#: vibes_auth/admin.py:63 vibes_auth/graphene/object_types.py:43
|
||
msgid "permissions"
|
||
msgstr "Quyền"
|
||
|
||
#: vibes_auth/admin.py:76
|
||
msgid "important dates"
|
||
msgstr "Các ngày quan trọng"
|
||
|
||
#: vibes_auth/admin.py:77
|
||
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:78
|
||
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:320
|
||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:109
|
||
#: vibes_auth/viewsets.py:84
|
||
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:110
|
||
#, python-brace-format
|
||
msgid "{name} does not exist: {uuid}"
|
||
msgstr "{name} không tồn tại: {uuid}!"
|
||
|
||
#: vibes_auth/graphene/mutations.py:120
|
||
msgid "malformed email"
|
||
msgstr "Email không hợp lệ"
|
||
|
||
#: vibes_auth/graphene/mutations.py:127 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:149
|
||
#, 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:273 vibes_auth/viewsets.py:127
|
||
#: vibes_auth/viewsets.py:146
|
||
msgid "activation link is invalid!"
|
||
msgstr "Liên kết kích hoạt không hợp lệ!"
|
||
|
||
#: vibes_auth/graphene/mutations.py:276
|
||
msgid "account already activated..."
|
||
msgstr "Tài khoản đã được kích hoạt..."
|
||
|
||
#: vibes_auth/graphene/mutations.py:283 vibes_auth/graphene/mutations.py:339
|
||
msgid "something went wrong: {e!s}"
|
||
msgstr "Có sự cố xảy ra: {e!s}"
|
||
|
||
#: vibes_auth/graphene/mutations.py:327 vibes_auth/viewsets.py:95
|
||
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:132
|
||
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:58
|
||
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/messaging/admin.py:36
|
||
msgid "Close selected threads"
|
||
msgstr "Đóng các chủ đề đã chọn"
|
||
|
||
#: vibes_auth/messaging/admin.py:40
|
||
msgid "Open selected threads"
|
||
msgstr "Mở các chủ đề đã chọn"
|
||
|
||
#: vibes_auth/messaging/models.py:24
|
||
msgid "Open"
|
||
msgstr "Mở"
|
||
|
||
#: vibes_auth/messaging/models.py:25
|
||
msgid "Closed"
|
||
msgstr "Đóng"
|
||
|
||
#: vibes_auth/messaging/models.py:29
|
||
msgid "User"
|
||
msgstr "Người dùng"
|
||
|
||
#: vibes_auth/messaging/models.py:30
|
||
msgid "Staff"
|
||
msgstr "Nhân viên"
|
||
|
||
#: vibes_auth/messaging/models.py:31
|
||
msgid "System"
|
||
msgstr "Hệ thống"
|
||
|
||
#: vibes_auth/messaging/models.py:36
|
||
msgid "For anonymous threads"
|
||
msgstr "Đối với các chủ đề ẩn danh"
|
||
|
||
#: vibes_auth/messaging/models.py:50
|
||
msgid "Chat thread"
|
||
msgstr "Dòng trò chuyện"
|
||
|
||
#: vibes_auth/messaging/models.py:51
|
||
msgid "Chat threads"
|
||
msgstr "Các chuỗi trò chuyện"
|
||
|
||
#: vibes_auth/messaging/models.py:56
|
||
msgid "Provide user or email for anonymous thread."
|
||
msgstr ""
|
||
"Cung cấp tên người dùng hoặc địa chỉ email cho chuỗi thảo luận ẩn danh."
|
||
|
||
#: vibes_auth/messaging/models.py:58 vibes_auth/messaging/services.py:136
|
||
msgid "Assignee must be a staff user."
|
||
msgstr "Người được giao nhiệm vụ phải là người dùng nhân viên."
|
||
|
||
#: vibes_auth/messaging/models.py:74
|
||
msgid "Chat message"
|
||
msgstr "Tin nhắn trò chuyện"
|
||
|
||
#: vibes_auth/messaging/models.py:75
|
||
msgid "Chat messages"
|
||
msgstr "Tin nhắn trò chuyện"
|
||
|
||
#: vibes_auth/messaging/services.py:48
|
||
msgid "Valid email is required for anonymous chats."
|
||
msgstr "Địa chỉ email hợp lệ là bắt buộc cho các cuộc trò chuyện ẩn danh."
|
||
|
||
#: vibes_auth/messaging/services.py:56
|
||
msgid "Message must be 1..1028 characters."
|
||
msgstr "Thông điệp phải có độ dài từ 1 đến 1028 ký tự."
|
||
|
||
#: vibes_auth/messaging/services.py:92
|
||
msgid "We're searching for the operator to answer you already, hold by!"
|
||
msgstr ""
|
||
"Chúng tôi đang tìm kiếm nhân viên tổng đài để trả lời cho bạn, xin vui lòng "
|
||
"chờ một lát!"
|
||
|
||
#: vibes_auth/models.py:30
|
||
msgid ""
|
||
"Represents a User entity with customized fields and methods for extended "
|
||
"functionality. This class extends the AbstractUser model and integrates "
|
||
"additional features like custom email login, validation methods, "
|
||
"subscription status, verification, and attributes storage. It also provides "
|
||
"utilities for managing recently viewed items and token-based activation for "
|
||
"verifying accounts. The User model is designed to handle specific use cases "
|
||
"for enhanced user management."
|
||
msgstr ""
|
||
"Đại diện cho thực thể Người dùng với các trường và phương thức tùy chỉnh để "
|
||
"mở rộng chức năng. Lớp này kế thừa từ mô hình AbstractUser và tích hợp các "
|
||
"tính năng bổ sung như đăng nhập bằng email tùy chỉnh, phương thức xác thực, "
|
||
"trạng thái đăng ký, xác minh và lưu trữ thuộc tính. Nó cũng cung cấp các "
|
||
"công cụ để quản lý các mục đã xem gần đây và kích hoạt dựa trên token để xác "
|
||
"minh tài khoản. Mô hình Người dùng được thiết kế để xử lý các trường hợp sử "
|
||
"dụng cụ thể nhằm nâng cao quản lý người dùng."
|
||
|
||
#: vibes_auth/models.py:41
|
||
msgid "email"
|
||
msgstr "Email"
|
||
|
||
#: vibes_auth/models.py:41
|
||
msgid "user email address"
|
||
msgstr "Địa chỉ email của người dùng"
|
||
|
||
#: vibes_auth/models.py:43
|
||
msgid "phone_number"
|
||
msgstr "Số điện thoại"
|
||
|
||
#: vibes_auth/models.py:48
|
||
msgid "user phone number"
|
||
msgstr "Số điện thoại của người dùng"
|
||
|
||
#: vibes_auth/models.py:54
|
||
msgid "first_name"
|
||
msgstr "Họ"
|
||
|
||
#: vibes_auth/models.py:55
|
||
msgid "last_name"
|
||
msgstr "Họ"
|
||
|
||
#: vibes_auth/models.py:61
|
||
msgid "user profile image"
|
||
msgstr "Hình ảnh hồ sơ người dùng"
|
||
|
||
#: vibes_auth/models.py:66
|
||
msgid "is verified"
|
||
msgstr "Đã được xác minh"
|
||
|
||
#: vibes_auth/models.py:67
|
||
msgid "user verification status"
|
||
msgstr "Trạng thái xác minh của người dùng"
|
||
|
||
#: vibes_auth/models.py:70
|
||
msgid "is_active"
|
||
msgstr "Đang hoạt động"
|
||
|
||
#: vibes_auth/models.py:72
|
||
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:75
|
||
msgid "is_subscribed"
|
||
msgstr "Đã đăng ký"
|
||
|
||
#: vibes_auth/models.py:75
|
||
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:78
|
||
msgid "activation token"
|
||
msgstr "Mã kích hoạt"
|
||
|
||
#: vibes_auth/models.py:80
|
||
msgid "attributes"
|
||
msgstr "Thuộc tính"
|
||
|
||
#: vibes_auth/models.py:110
|
||
msgid "user"
|
||
msgstr "Người dùng"
|
||
|
||
#: vibes_auth/models.py:111
|
||
msgid "users"
|
||
msgstr "Người dùng"
|
||
|
||
#: vibes_auth/models.py:131
|
||
msgid "group"
|
||
msgstr "Nhóm"
|
||
|
||
#: vibes_auth/models.py:148
|
||
msgid "outstanding token"
|
||
msgstr "Token xuất sắc"
|
||
|
||
#: vibes_auth/models.py:149
|
||
msgid "outstanding tokens"
|
||
msgstr "Token xuất sắc"
|
||
|
||
#: vibes_auth/models.py:167
|
||
msgid "blacklisted token"
|
||
msgstr "Token bị đưa vào danh sách đen"
|
||
|
||
#: vibes_auth/models.py:168
|
||
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:23
|
||
#, 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:62
|
||
#, 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:30
|
||
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:48
|
||
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:67
|
||
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:80
|
||
msgid "the token is invalid"
|
||
msgstr "Token không hợp lệ"
|
||
|
||
#: vibes_auth/viewsets.py:45
|
||
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:99
|
||
msgid "password reset successfully"
|
||
msgstr "Mật khẩu đã được đặt lại thành công!"
|
||
|
||
#: vibes_auth/viewsets.py:132
|
||
msgid "account already activated!"
|
||
msgstr "Bạn đã kích hoạt tài khoản..."
|