Fixes: n/a; Extra: 1) Update locale files for Portuguese and French translations; 2) Correct PO creation date for alignment with new translations; 3) Translated strings for transaction view operations (list and retrieve).
559 lines
17 KiB
Text
559 lines
17 KiB
Text
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: EVIBES 3.0.0\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2025-10-26 18:45+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: zh-hans\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 "平衡"
|
||
|
||
#: vibes_auth/admin.py:48
|
||
msgid "order"
|
||
msgstr "订购"
|
||
|
||
#: vibes_auth/admin.py:49 vibes_auth/graphene/object_types.py:44
|
||
msgid "orders"
|
||
msgstr "订单"
|
||
|
||
#: vibes_auth/admin.py:59
|
||
msgid "personal info"
|
||
msgstr "个人信息"
|
||
|
||
#: vibes_auth/admin.py:63 vibes_auth/graphene/object_types.py:43
|
||
msgid "permissions"
|
||
msgstr "权限"
|
||
|
||
#: vibes_auth/admin.py:76
|
||
msgid "important dates"
|
||
msgstr "重要日期"
|
||
|
||
#: vibes_auth/admin.py:77
|
||
msgid "additional info"
|
||
msgstr "其他信息"
|
||
|
||
#: vibes_auth/apps.py:8
|
||
msgid "authentication"
|
||
msgstr "认证"
|
||
|
||
#: vibes_auth/docs/drf/views.py:15
|
||
msgid "obtain a token pair"
|
||
msgstr "获取令牌对"
|
||
|
||
#: vibes_auth/docs/drf/views.py:16
|
||
msgid "obtain a token pair (refresh and access) for authentication."
|
||
msgstr "获取用于身份验证的令牌对(刷新和访问)。"
|
||
|
||
#: vibes_auth/docs/drf/views.py:35
|
||
msgid "refresh a token pair"
|
||
msgstr "刷新令牌对"
|
||
|
||
#: vibes_auth/docs/drf/views.py:36
|
||
msgid "refresh a token pair (refresh and access)."
|
||
msgstr "刷新令牌对(刷新和访问)。"
|
||
|
||
#: vibes_auth/docs/drf/views.py:55
|
||
msgid "verify a token"
|
||
msgstr "验证令牌"
|
||
|
||
#: vibes_auth/docs/drf/views.py:56
|
||
msgid "Verify a token (refresh or access)."
|
||
msgstr "验证令牌(刷新或访问)。"
|
||
|
||
#: vibes_auth/docs/drf/views.py:62 vibes_auth/views.py:78
|
||
msgid "the token is valid"
|
||
msgstr "令牌有效"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:16
|
||
msgid "create a new user"
|
||
msgstr "创建新用户"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:21
|
||
msgid "retrieve a user's details"
|
||
msgstr "读取用户详细信息"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:25
|
||
msgid "update a user's details"
|
||
msgstr "更新用户信息"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:30
|
||
msgid "delete a user"
|
||
msgstr "删除用户"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:34
|
||
msgid "reset a user's password by sending a reset password email"
|
||
msgstr "通过发送重置密码电子邮件重置用户密码"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:39
|
||
msgid "handle avatar upload for a user"
|
||
msgstr "处理用户的头像上传"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:54
|
||
msgid "confirm a user's password reset"
|
||
msgstr "确认用户密码重置"
|
||
|
||
#: 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 "密码不匹配"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:63
|
||
msgid "activate a user's account"
|
||
msgstr "激活用户帐户"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:67
|
||
msgid "activation link is invalid or account already activated"
|
||
msgstr "激活链接无效或账户已激活"
|
||
|
||
#: vibes_auth/docs/drf/viewsets.py:72
|
||
msgid "merge client-stored recently viewed products"
|
||
msgstr "合并客户存储的最近查看的产品"
|
||
|
||
#: vibes_auth/graphene/mutations.py:41
|
||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||
msgstr "将新用户推荐给我们的用户的 b64-encoded uuid。"
|
||
|
||
#: vibes_auth/graphene/mutations.py:61
|
||
msgid "password too weak"
|
||
msgstr "密码太弱"
|
||
|
||
#: vibes_auth/graphene/mutations.py:110
|
||
#, python-brace-format
|
||
msgid "{name} does not exist: {uuid}"
|
||
msgstr "{name} 不存在:{uuid}!"
|
||
|
||
#: vibes_auth/graphene/mutations.py:120
|
||
msgid "malformed email"
|
||
msgstr "畸形电子邮件"
|
||
|
||
#: vibes_auth/graphene/mutations.py:127 vibes_auth/serializers.py:115
|
||
#, python-brace-format
|
||
msgid "malformed phone number: {phone_number}"
|
||
msgstr "畸形电话号码:{phone_number}!"
|
||
|
||
#: vibes_auth/graphene/mutations.py:149
|
||
#, python-brace-format
|
||
msgid "Invalid attribute format: {attribute_pair}"
|
||
msgstr "属性格式无效:{attribute_pair}!"
|
||
|
||
#: vibes_auth/graphene/mutations.py:273 vibes_auth/viewsets.py:127
|
||
#: vibes_auth/viewsets.py:146
|
||
msgid "activation link is invalid!"
|
||
msgstr "激活链接无效!"
|
||
|
||
#: vibes_auth/graphene/mutations.py:276
|
||
msgid "account already activated..."
|
||
msgstr "帐户已激活..."
|
||
|
||
#: vibes_auth/graphene/mutations.py:283 vibes_auth/graphene/mutations.py:339
|
||
msgid "something went wrong: {e!s}"
|
||
msgstr "出了问题:{e!s}"
|
||
|
||
#: vibes_auth/graphene/mutations.py:327 vibes_auth/viewsets.py:95
|
||
msgid "token is invalid!"
|
||
msgstr "令牌无效!"
|
||
|
||
#: vibes_auth/graphene/object_types.py:40
|
||
msgid ""
|
||
"the products this user has viewed most recently (max 48), in reverse‐"
|
||
"chronological order"
|
||
msgstr "该用户最近查看过的产品(最多 48 个),按倒序排列。"
|
||
|
||
#: vibes_auth/graphene/object_types.py:42 vibes_auth/models.py:132
|
||
msgid "groups"
|
||
msgstr "组别"
|
||
|
||
#: vibes_auth/graphene/object_types.py:45
|
||
msgid "wishlist"
|
||
msgstr "愿望清单"
|
||
|
||
#: vibes_auth/graphene/object_types.py:47 vibes_auth/models.py:58
|
||
msgid "avatar"
|
||
msgstr "阿凡达"
|
||
|
||
#: vibes_auth/graphene/object_types.py:48
|
||
msgid "attributes may be used to store custom data"
|
||
msgstr "属性可用于存储自定义数据"
|
||
|
||
#: vibes_auth/graphene/object_types.py:49
|
||
#, python-brace-format
|
||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||
msgstr "语言是{LANGUAGES}之一,默认为{LANGUAGE_CODE}。"
|
||
|
||
#: vibes_auth/graphene/object_types.py:50
|
||
msgid "address set"
|
||
msgstr "地址"
|
||
|
||
#: vibes_auth/messaging/admin.py:36
|
||
msgid "Close selected threads"
|
||
msgstr "关闭选定的线程"
|
||
|
||
#: vibes_auth/messaging/admin.py:40
|
||
msgid "Open selected threads"
|
||
msgstr "打开选定的线程"
|
||
|
||
#: vibes_auth/messaging/models.py:24
|
||
msgid "Open"
|
||
msgstr "开放"
|
||
|
||
#: vibes_auth/messaging/models.py:25
|
||
msgid "Closed"
|
||
msgstr "关闭"
|
||
|
||
#: vibes_auth/messaging/models.py:29
|
||
msgid "User"
|
||
msgstr "用户"
|
||
|
||
#: vibes_auth/messaging/models.py:30
|
||
msgid "Staff"
|
||
msgstr "工作人员"
|
||
|
||
#: vibes_auth/messaging/models.py:31
|
||
msgid "System"
|
||
msgstr "系统"
|
||
|
||
#: vibes_auth/messaging/models.py:36
|
||
msgid "For anonymous threads"
|
||
msgstr "匿名主题"
|
||
|
||
#: vibes_auth/messaging/models.py:50
|
||
msgid "Chat thread"
|
||
msgstr "聊天主题"
|
||
|
||
#: vibes_auth/messaging/models.py:51
|
||
msgid "Chat threads"
|
||
msgstr "聊天主题"
|
||
|
||
#: vibes_auth/messaging/models.py:56
|
||
msgid "Provide user or email for anonymous thread."
|
||
msgstr "为匿名主题提供用户或电子邮件。"
|
||
|
||
#: vibes_auth/messaging/models.py:58 vibes_auth/messaging/services.py:133
|
||
msgid "Assignee must be a staff user."
|
||
msgstr "受让人必须是工作人员用户。"
|
||
|
||
#: vibes_auth/messaging/models.py:74
|
||
msgid "Chat message"
|
||
msgstr "聊天信息"
|
||
|
||
#: vibes_auth/messaging/models.py:75
|
||
msgid "Chat messages"
|
||
msgstr "聊天信息"
|
||
|
||
#: vibes_auth/messaging/services.py:48
|
||
msgid "Valid email is required for anonymous chats."
|
||
msgstr "匿名聊天需要有效的电子邮件。"
|
||
|
||
#: vibes_auth/messaging/services.py:56
|
||
msgid "Message must be 1..1028 characters."
|
||
msgstr "信息必须为 1...1028 个字符。"
|
||
|
||
#: vibes_auth/messaging/services.py:90
|
||
msgid "We're searching for the operator to answer you already, hold by!"
|
||
msgstr "我们正在寻找接线员,请稍候!"
|
||
|
||
#: 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 ""
|
||
"代表具有自定义字段和方法以扩展功能的用户实体。该类扩展了 AbstractUser 模型,"
|
||
"并集成了其他功能,如自定义电子邮件登录、验证方法、订阅状态、验证和属性存储。"
|
||
"它还为管理最近查看的项目和基于令牌的激活提供了实用工具,以便验证账户。用户模"
|
||
"型旨在处理增强用户管理的特定用例。"
|
||
|
||
#: vibes_auth/models.py:41
|
||
msgid "email"
|
||
msgstr "电子邮件"
|
||
|
||
#: vibes_auth/models.py:41
|
||
msgid "user email address"
|
||
msgstr "用户电子邮件地址"
|
||
|
||
#: vibes_auth/models.py:43
|
||
msgid "phone_number"
|
||
msgstr "电话号码"
|
||
|
||
#: vibes_auth/models.py:48
|
||
msgid "user phone number"
|
||
msgstr "用户电话号码"
|
||
|
||
#: vibes_auth/models.py:54
|
||
msgid "first_name"
|
||
msgstr "姓名"
|
||
|
||
#: vibes_auth/models.py:55
|
||
msgid "last_name"
|
||
msgstr "姓氏"
|
||
|
||
#: vibes_auth/models.py:61
|
||
msgid "user profile image"
|
||
msgstr "用户配置文件图像"
|
||
|
||
#: vibes_auth/models.py:66
|
||
msgid "is verified"
|
||
msgstr "已核实"
|
||
|
||
#: vibes_auth/models.py:67
|
||
msgid "user verification status"
|
||
msgstr "用户验证状态"
|
||
|
||
#: vibes_auth/models.py:70
|
||
msgid "is_active"
|
||
msgstr "处于活动状态"
|
||
|
||
#: vibes_auth/models.py:72
|
||
msgid "unselect this instead of deleting accounts"
|
||
msgstr "取消选择此选项,而不是删除账户"
|
||
|
||
#: vibes_auth/models.py:75
|
||
msgid "is_subscribed"
|
||
msgstr "已订阅"
|
||
|
||
#: vibes_auth/models.py:75
|
||
msgid "user's newsletter subscription status"
|
||
msgstr "用户的通讯订阅状态"
|
||
|
||
#: vibes_auth/models.py:78
|
||
msgid "activation token"
|
||
msgstr "激活令牌"
|
||
|
||
#: vibes_auth/models.py:80
|
||
msgid "attributes"
|
||
msgstr "属性"
|
||
|
||
#: vibes_auth/models.py:110
|
||
msgid "user"
|
||
msgstr "用户"
|
||
|
||
#: vibes_auth/models.py:111
|
||
msgid "users"
|
||
msgstr "用户"
|
||
|
||
#: vibes_auth/models.py:131
|
||
msgid "group"
|
||
msgstr "组别"
|
||
|
||
#: vibes_auth/models.py:148
|
||
msgid "outstanding token"
|
||
msgstr "出色的代币"
|
||
|
||
#: vibes_auth/models.py:149
|
||
msgid "outstanding tokens"
|
||
msgstr "未兑代币"
|
||
|
||
#: vibes_auth/models.py:167
|
||
msgid "blacklisted token"
|
||
msgstr "黑名单令牌"
|
||
|
||
#: vibes_auth/models.py:168
|
||
msgid "blacklisted tokens"
|
||
msgstr "黑名单令牌"
|
||
|
||
#: vibes_auth/serializers.py:99
|
||
msgid "attributes must be a dictionary"
|
||
msgstr "属性 \"必须是一个字典"
|
||
|
||
#: vibes_auth/serializers.py:101
|
||
msgid "business identificator is required when registering as a business"
|
||
msgstr "注册为企业时需要使用企业标识符"
|
||
|
||
#: vibes_auth/serializers.py:121
|
||
#, python-brace-format
|
||
msgid "malformed email: {email}"
|
||
msgstr "畸形电子邮件:{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 "未找到活动账户"
|
||
|
||
#: vibes_auth/serializers.py:174
|
||
msgid "must set token_class attribute on class."
|
||
msgstr "必须在类上设置 token_class 属性!"
|
||
|
||
#: vibes_auth/serializers.py:246
|
||
msgid "token_blacklisted"
|
||
msgstr "令牌被列入黑名单"
|
||
|
||
#: vibes_auth/serializers.py:251
|
||
msgid "invalid token"
|
||
msgstr "无效令牌"
|
||
|
||
#: vibes_auth/serializers.py:257
|
||
msgid "no user uuid claim present in token"
|
||
msgstr "令牌中没有用户 uuid 声明"
|
||
|
||
#: vibes_auth/serializers.py:259
|
||
msgid "user does not exist"
|
||
msgstr "用户不存在"
|
||
|
||
#: vibes_auth/templates/user_reset_password_email.html:7
|
||
msgid "reset your password"
|
||
msgstr "重置密码"
|
||
|
||
#: vibes_auth/templates/user_reset_password_email.html:85
|
||
#: vibes_auth/templates/user_verification_email.html:85
|
||
msgid "logo"
|
||
msgstr "标志"
|
||
|
||
#: vibes_auth/templates/user_reset_password_email.html:90
|
||
msgid "password reset confirmation"
|
||
msgstr "密码重置确认"
|
||
|
||
#: 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 "你好%(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 "我们收到了重置密码的请求。请点击下面的按钮重置密码:"
|
||
|
||
#: vibes_auth/templates/user_reset_password_email.html:95
|
||
msgid "reset password"
|
||
msgstr "重置密码"
|
||
|
||
#: 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 ""
|
||
"如果上面的按钮不起作用,请将以下 URL 复制并粘贴到浏览器中\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"
|
||
" 电子邮件。"
|
||
|
||
#: vibes_auth/templates/user_reset_password_email.html:102
|
||
#, python-format
|
||
msgid "best regards,<br>The %(project_name)s team"
|
||
msgstr "致以最诚挚的问候,<br>%(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 "保留所有权利"
|
||
|
||
#: vibes_auth/templates/user_verification_email.html:7
|
||
#: vibes_auth/templates/user_verification_email.html:90
|
||
msgid "activate your account"
|
||
msgstr "激活账户"
|
||
|
||
#: 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 "感谢您注册%(project_name)s_。请点击下面的按钮激活您的帐户:"
|
||
|
||
#: vibes_auth/templates/user_verification_email.html:96
|
||
msgid ""
|
||
"activate\n"
|
||
" account"
|
||
msgstr ""
|
||
"激活\n"
|
||
" 账户"
|
||
|
||
#: vibes_auth/templates/user_verification_email.html:102
|
||
#, python-format
|
||
msgid "best regards,<br>the %(project_name)s team"
|
||
msgstr "致以最崇高的敬意,<br>%(project_name)s_团队"
|
||
|
||
#: vibes_auth/utils/emailing.py:23
|
||
#, python-brace-format
|
||
msgid "{config.PROJECT_NAME} | Activate Account"
|
||
msgstr "{config.PROJECT_NAME}| 激活帐户"
|
||
|
||
#: vibes_auth/utils/emailing.py:62
|
||
#, python-brace-format
|
||
msgid "{config.PROJECT_NAME} | Reset Password"
|
||
msgstr "{config.PROJECT_NAME}| 重置密码"
|
||
|
||
#: 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 ""
|
||
"电话号码格式无效。电话号码必须按格式输入:\"+999999999\".最多允许 15 位数字。"
|
||
|
||
#: 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 ""
|
||
"代表用于获取一对访问和刷新令牌以及用户数据的视图。该视图管理处理基于令牌的身"
|
||
"份验证的流程,客户端可使用提供的凭据获取一对 JWT 令牌(访问和刷新)。它建立在"
|
||
"基本令牌视图之上,并确保适当的速率限制,以防止暴力攻击。"
|
||
|
||
#: 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 ""
|
||
"处理刷新令牌以进行身份验证。该类用于为作为身份验证系统一部分的令牌刷新操作提"
|
||
"供功能。它能确保客户端在规定的速率限制内请求刷新令牌。视图依赖于相关的序列化"
|
||
"器来验证令牌刷新输入并产生适当的输出。"
|
||
|
||
#: vibes_auth/views.py:67
|
||
msgid ""
|
||
"Represents a view for verifying JSON Web Tokens (JWT) using specific "
|
||
"serialization and validation logic. "
|
||
msgstr "代表使用特定序列化和验证逻辑验证 JSON Web 标记 (JWT) 的视图。"
|
||
|
||
#: vibes_auth/views.py:80
|
||
msgid "the token is invalid"
|
||
msgstr "令牌无效"
|
||
|
||
#: 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 ""
|
||
"用户视图集实施。\n"
|
||
"该类提供了一组操作,用于管理用户相关数据,如创建、检索、更新、删除以及自定义"
|
||
"操作,包括密码重置、上传头像、激活账户和合并最近查看的项目。该类对 mixins 和 "
|
||
"GenericViewSet 进行了扩展,以实现强大的 API 处理功能。"
|
||
|
||
#: vibes_auth/viewsets.py:99
|
||
msgid "password reset successfully"
|
||
msgstr "密码已重置成功!"
|
||
|
||
#: vibes_auth/viewsets.py:132
|
||
msgid "account already activated!"
|
||
msgstr "您已经激活了账户..."
|