fix: Conflict

pull/16048/head
wangruidong 2025-09-17 15:24:29 +08:00 committed by Bryan
parent 76f1667c89
commit d745f7495a
1 changed files with 176 additions and 53 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n" "Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-17 15:02+0800\n" "POT-Creation-Date: 2025-09-17 15:21+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n" "Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n" "Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -29,6 +29,7 @@ msgid "Account not found"
msgstr "账号未找到" msgstr "账号未找到"
#: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132
#, python-brace-format
msgid "The parameter 'action' must be [{}]" msgid "The parameter 'action' must be [{}]"
msgstr "参数 'action' 必须是 [{}]" msgstr "参数 'action' 必须是 [{}]"
@ -111,10 +112,12 @@ msgid "Success: %s, Failed: %s, Total: %s"
msgstr "成功: %s, 失败: %s, 总数: %s" msgstr "成功: %s, 失败: %s, 总数: %s"
#: accounts/automations/check_account/manager.py:277 #: accounts/automations/check_account/manager.py:277
#, python-brace-format
msgid "Check account report of {}" msgid "Check account report of {}"
msgstr "风险检测报告 {}" msgstr "风险检测报告 {}"
#: accounts/automations/check_account/manager.py:283 #: accounts/automations/check_account/manager.py:283
#, python-brace-format
msgid "" msgid ""
"---\n" "---\n"
"Summary: \n" "Summary: \n"
@ -149,6 +152,8 @@ msgstr ">>> 开始执行测试网关账号可连接性任务"
#: users/templates/users/_msg_user_created.html:13 #: users/templates/users/_msg_user_created.html:13
#: users/templates/users/user_password_verify.html:18 #: users/templates/users/user_password_verify.html:18
#: xpack/plugins/cloud/serializers/account_attrs.py:43 #: xpack/plugins/cloud/serializers/account_attrs.py:43
#: xpack/plugins/cloud/serializers/account_attrs.py:105
#: xpack/plugins/cloud/serializers/account_attrs.py:112
msgid "Password" msgid "Password"
msgstr "密码" msgstr "密码"
@ -325,8 +330,8 @@ msgstr "仅创建"
#: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21
#: settings/serializers/msg.py:62 users/forms/profile.py:101 #: settings/serializers/msg.py:62 users/forms/profile.py:101
#: users/forms/profile.py:111 users/models/user/__init__.py:67 #: users/forms/profile.py:111 users/models/user/__init__.py:67
#: users/notifications.py:22 users/notifications.py:67 #: users/notifications.py:21 users/notifications.py:66
#: users/notifications.py:189 users/templates/users/forgot_password.html:162 #: users/notifications.py:188 users/templates/users/forgot_password.html:162
#: users/views/profile/reset.py:94 #: users/views/profile/reset.py:94
msgid "Email" msgid "Email"
msgstr "邮箱" msgstr "邮箱"
@ -601,10 +606,10 @@ msgstr "账号活动"
#: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87
#: users/forms/profile.py:33 users/models/group.py:16 #: users/forms/profile.py:33 users/models/group.py:16
#: users/models/preference.py:11 users/models/user/__init__.py:66 #: users/models/preference.py:11 users/models/user/__init__.py:66
#: users/notifications.py:21 users/notifications.py:106 #: users/notifications.py:20 users/notifications.py:105
#: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:144 users/notifications.py:183
#: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:223 users/notifications.py:251
#: users/notifications.py:279 xpack/plugins/cloud/models.py:35 #: users/notifications.py:278 xpack/plugins/cloud/models.py:35
#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 #: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77
msgid "Name" msgid "Name"
msgstr "名称" msgstr "名称"
@ -892,9 +897,11 @@ msgstr "重复密码"
#: authentication/templates/authentication/login.html:414 #: authentication/templates/authentication/login.html:414
#: terminal/serializers/storage.py:136 users/forms/profile.py:32 #: terminal/serializers/storage.py:136 users/forms/profile.py:32
#: users/forms/profile.py:117 users/models/user/__init__.py:65 #: users/forms/profile.py:117 users/models/user/__init__.py:65
#: users/notifications.py:20 users/serializers/profile.py:190 #: users/notifications.py:19 users/serializers/profile.py:190
#: users/templates/users/_msg_user_created.html:12 #: users/templates/users/_msg_user_created.html:12
#: xpack/plugins/cloud/serializers/account_attrs.py:41 #: xpack/plugins/cloud/serializers/account_attrs.py:41
#: xpack/plugins/cloud/serializers/account_attrs.py:103
#: xpack/plugins/cloud/serializers/account_attrs.py:110
msgid "Username" msgid "Username"
msgstr "用户名" msgstr "用户名"
@ -1096,12 +1103,14 @@ msgid "Notification of account backup route task results"
msgstr "账号备份任务结果通知" msgstr "账号备份任务结果通知"
#: accounts/notifications.py:23 accounts/notifications.py:48 #: accounts/notifications.py:23 accounts/notifications.py:48
#, python-brace-format
msgid "" msgid ""
"{} - The account backup passage task has been completed. See the attachment " "{} - The account backup passage task has been completed. See the attachment "
"for details" "for details"
msgstr "{} - 账号备份任务已完成, 详情见附件" msgstr "{} - 账号备份任务已完成, 详情见附件"
#: accounts/notifications.py:26 #: accounts/notifications.py:26
#, python-brace-format
msgid "" msgid ""
"{} - The account backup passage task has been completed: the encryption " "{} - The account backup passage task has been completed: the encryption "
"password has not been set - please go to personal information -> Basic file " "password has not been set - please go to personal information -> Basic file "
@ -1115,12 +1124,14 @@ msgid "Notification of implementation result of encryption change plan"
msgstr "改密计划任务结果通知" msgstr "改密计划任务结果通知"
#: accounts/notifications.py:69 #: accounts/notifications.py:69
#, python-brace-format
msgid "" msgid ""
"{} - The encryption change task has been completed. See the attachment for " "{} - The encryption change task has been completed. See the attachment for "
"details" "details"
msgstr "{} - 改密任务已完成, 详情见附件" msgstr "{} - 改密任务已完成, 详情见附件"
#: accounts/notifications.py:73 #: accounts/notifications.py:73
#, python-brace-format
msgid "" msgid ""
"{} - The encryption change task has been completed: the encryption password " "{} - The encryption change task has been completed: the encryption password "
"has not been set - please go to personal information -> set encryption " "has not been set - please go to personal information -> set encryption "
@ -1174,6 +1185,7 @@ msgid "Change password and Add"
msgstr "改密并添加" msgstr "改密并添加"
#: accounts/risk_handlers.py:127 #: accounts/risk_handlers.py:127
#, python-brace-format
msgid "Execution failed: {}" msgid "Execution failed: {}"
msgstr "执行失败:{}" msgstr "执行失败:{}"
@ -1883,7 +1895,7 @@ msgstr "正则表达式"
#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79
#: settings/models.py:189 settings/serializers/feature.py:24 #: settings/models.py:189 settings/serializers/feature.py:24
#: settings/serializers/msg.py:79 users/notifications.py:19 #: settings/serializers/msg.py:79 users/notifications.py:18
#: xpack/plugins/license/models.py:31 #: xpack/plugins/license/models.py:31
msgid "Content" msgid "Content"
msgstr "内容" msgstr "内容"
@ -1958,6 +1970,14 @@ msgstr "用户登录提醒"
msgid "Login city" msgid "Login city"
msgstr "登录城市" msgstr "登录城市"
#: acls/notifications.py:20 acls/notifications.py:71
msgid "Recipient name"
msgstr "收件人名称"
#: acls/notifications.py:21 acls/notifications.py:72
msgid "Recipient username"
msgstr "收件人用户名"
#: acls/notifications.py:22 acls/templates/acls/user_login_reminder.html:12 #: acls/notifications.py:22 acls/templates/acls/user_login_reminder.html:12
#: audits/models.py:213 audits/models.py:291 audits/serializers.py:91 #: audits/models.py:213 audits/models.py:291 audits/serializers.py:91
msgid "User agent" msgid "User agent"
@ -2002,8 +2022,8 @@ msgid ""
"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name "
"support)" "support)"
msgstr "" msgstr ""
"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" "* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, "
"db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)" "2001:db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)"
#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19
msgid "IP/Host" msgid "IP/Host"
@ -2014,19 +2034,23 @@ msgid "Recipients"
msgstr "接收人" msgstr "接收人"
#: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79 #: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79
#, python-brace-format
msgid "The organization `{}` does not exist" msgid "The organization `{}` does not exist"
msgstr "组织 `{}` 不存在" msgstr "组织 `{}` 不存在"
#: acls/serializers/base.py:132 #: acls/serializers/base.py:132
#, python-brace-format
msgid "None of the reviewers belong to Organization `{}`" msgid "None of the reviewers belong to Organization `{}`"
msgstr "所有复核人都不属于组织 `{}`" msgstr "所有复核人都不属于组织 `{}`"
#: acls/serializers/rules/rules.py:22 #: acls/serializers/rules/rules.py:22
#: xpack/plugins/cloud/serializers/task.py:163 #: xpack/plugins/cloud/serializers/task.py:163
#, python-brace-format
msgid "IP address invalid: `{}`" msgid "IP address invalid: `{}`"
msgstr "IP 地址无效: `{}`" msgstr "IP 地址无效: `{}`"
#: acls/serializers/rules/rules.py:35 #: acls/serializers/rules/rules.py:35
#, python-brace-format
msgid "address invalid: `{}`" msgid "address invalid: `{}`"
msgstr "地址无效: `{}`" msgstr "地址无效: `{}`"
@ -2035,8 +2059,8 @@ msgid ""
"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, "
"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 "
msgstr "" msgstr ""
"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" "* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, "
"db8:2de::e13, 2001:db8:1a:1110::/64" "2001:db8:2de::e13, 2001:db8:1a:1110::/64"
#: acls/serializers/rules/rules.py:48 #: acls/serializers/rules/rules.py:48
#: authentication/templates/authentication/_msg_oauth_bind.html:12 #: authentication/templates/authentication/_msg_oauth_bind.html:12
@ -2116,6 +2140,7 @@ msgid "You can't update the root node name"
msgstr "不能修改根节点名称" msgstr "不能修改根节点名称"
#: assets/api/node.py:65 #: assets/api/node.py:65
#, python-brace-format
msgid "You can't delete the root node ({})" msgid "You can't delete the root node ({})"
msgstr "不能删除根节点 ({})" msgstr "不能删除根节点 ({})"
@ -2136,10 +2161,12 @@ msgid "App Assets"
msgstr "资产管理" msgstr "资产管理"
#: assets/automations/base/manager.py:139 #: assets/automations/base/manager.py:139
#, python-brace-format
msgid "Task: {} finished" msgid "Task: {} finished"
msgstr "任务:{} 完成" msgstr "任务:{} 完成"
#: assets/automations/base/manager.py:340 #: assets/automations/base/manager.py:340
#, python-brace-format
msgid " - Platform {} ansible disabled" msgid " - Platform {} ansible disabled"
msgstr " - 平台 {} Ansible 已禁用, 无法执行任务" msgstr " - 平台 {} Ansible 已禁用, 无法执行任务"
@ -2171,6 +2198,7 @@ msgid "No account"
msgstr "没有账号" msgstr "没有账号"
#: assets/automations/ping_gateway/manager.py:36 #: assets/automations/ping_gateway/manager.py:36
#, python-brace-format
msgid "Asset, {}, using account {}" msgid "Asset, {}, using account {}"
msgstr "资产, {}, 使用账号 {}" msgstr "资产, {}, 使用账号 {}"
@ -2284,7 +2312,8 @@ msgstr "云服务"
msgid "Web" msgid "Web"
msgstr "Web" msgstr "Web"
#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 #: assets/const/category.py:16 common/sdk/sms/custom_file.py:47
#: common/sdk/sms/endpoint.py:20
msgid "Custom type" msgid "Custom type"
msgstr "自定义类型" msgstr "自定义类型"
@ -2999,10 +3028,11 @@ msgid "port out of range (0-65535)"
msgstr "端口超出范围 (0-65535)" msgstr "端口超出范围 (0-65535)"
#: assets/serializers/asset/common.py:315 #: assets/serializers/asset/common.py:315
#, python-brace-format
msgid "Protocol is required: {}" msgid "Protocol is required: {}"
msgstr "协议是必填的: {}" msgstr "协议是必填的: {}"
#: assets/serializers/asset/common.py:354 #: assets/serializers/asset/common.py:354 labels/api.py:107
msgid "Invalid data" msgid "Invalid data"
msgstr "无效的数据" msgstr "无效的数据"
@ -3337,14 +3367,17 @@ msgid ""
msgstr "当在网域详情-网关-测试连接时执行该任务" msgstr "当在网域详情-网关-测试连接时执行该任务"
#: assets/tasks/utils.py:16 #: assets/tasks/utils.py:16
#, python-brace-format
msgid "Asset has been disabled, skipped: {}" msgid "Asset has been disabled, skipped: {}"
msgstr "资产已经被禁用, 跳过: {}" msgstr "资产已经被禁用, 跳过: {}"
#: assets/tasks/utils.py:20 #: assets/tasks/utils.py:20
#, python-brace-format
msgid "Asset may not be support ansible, skipped: {}" msgid "Asset may not be support ansible, skipped: {}"
msgstr "资产或许不支持ansible, 跳过: {}" msgstr "资产或许不支持ansible, 跳过: {}"
#: assets/tasks/utils.py:38 #: assets/tasks/utils.py:38
#, python-brace-format
msgid "For security, do not push user {}" msgid "For security, do not push user {}"
msgstr "为了安全,禁止推送用户 {}" msgstr "为了安全,禁止推送用户 {}"
@ -3769,6 +3802,7 @@ msgid "Permission expired"
msgstr "授权已过期" msgstr "授权已过期"
#: authentication/api/connection_token.py:488 #: authentication/api/connection_token.py:488
#, python-brace-format
msgid "ACL action is reject: {}({})" msgid "ACL action is reject: {}({})"
msgstr "ACL 动作是拒绝: {}({})" msgstr "ACL 动作是拒绝: {}({})"
@ -3798,11 +3832,13 @@ msgid "Facial comparison failed"
msgstr "人脸比对失败" msgstr "人脸比对失败"
#: authentication/api/mfa.py:61 #: authentication/api/mfa.py:61
#, python-brace-format
msgid "Current user not support mfa type: {}" msgid "Current user not support mfa type: {}"
msgstr "当前用户不支持 MFA 类型: {}" msgstr "当前用户不支持 MFA 类型: {}"
#: authentication/api/password.py:34 authentication/backends/cas/views.py:22 #: authentication/api/password.py:34 authentication/backends/cas/views.py:22
#: terminal/api/session/session.py:342 users/views/profile/reset.py:63 #: terminal/api/session/session.py:342 users/views/profile/reset.py:63
#, python-brace-format
msgid "User does not exist: {}" msgid "User does not exist: {}"
msgstr "用户不存在: {}" msgstr "用户不存在: {}"
@ -3811,6 +3847,7 @@ msgid "No user matched"
msgstr "没有匹配到用户" msgstr "没有匹配到用户"
#: authentication/api/password.py:38 #: authentication/api/password.py:38
#, python-brace-format
msgid "" msgid ""
"The user is from {}, please go to the corresponding system to change the " "The user is from {}, please go to the corresponding system to change the "
"password" "password"
@ -3898,6 +3935,7 @@ msgid "Authentication failed password incorrect"
msgstr "认证失败 (用户名或密码不正确)" msgstr "认证失败 (用户名或密码不正确)"
#: authentication/confirm/relogin.py:11 #: authentication/confirm/relogin.py:11
#, python-brace-format
msgid "Login time has exceeded {} minutes, please login again" msgid "Login time has exceeded {} minutes, please login again"
msgstr "登录时长已超过 {} 分钟,请重新登录" msgstr "登录时长已超过 {} 分钟,请重新登录"
@ -3986,12 +4024,14 @@ msgstr ""
"被临时 锁定 {block_time} 分钟)" "被临时 锁定 {block_time} 分钟)"
#: authentication/errors/const.py:47 authentication/errors/const.py:55 #: authentication/errors/const.py:47 authentication/errors/const.py:55
#, python-brace-format
msgid "" msgid ""
"The account has been locked (please contact admin to unlock it or try again " "The account has been locked (please contact admin to unlock it or try again "
"after {} minutes)" "after {} minutes)"
msgstr "账号已被锁定 (请联系管理员解锁或{}分钟后重试)" msgstr "账号已被锁定 (请联系管理员解锁或{}分钟后重试)"
#: authentication/errors/const.py:51 #: authentication/errors/const.py:51
#, python-brace-format
msgid "" msgid ""
"The address has been locked (please contact admin to unlock it or try again " "The address has been locked (please contact admin to unlock it or try again "
"after {} minutes)" "after {} minutes)"
@ -4022,6 +4062,7 @@ msgid "Wait login confirm ticket for accept"
msgstr "等待登录复核处理" msgstr "等待登录复核处理"
#: authentication/errors/const.py:67 #: authentication/errors/const.py:67
#, python-brace-format
msgid "Login confirm ticket was {}" msgid "Login confirm ticket was {}"
msgstr "登录复核: {}" msgstr "登录复核: {}"
@ -4203,6 +4244,7 @@ msgid "Clear phone number to disable"
msgstr "清空手机号码禁用" msgstr "清空手机号码禁用"
#: authentication/middleware.py:96 settings/utils/ldap.py:711 #: authentication/middleware.py:96 settings/utils/ldap.py:711
#, python-brace-format
msgid "Authentication failed (before login check failed): {}" msgid "Authentication failed (before login check failed): {}"
msgstr "认证失败 (登录前检查失败): {}" msgstr "认证失败 (登录前检查失败): {}"
@ -4211,12 +4253,14 @@ msgid "User is invalid"
msgstr "无效的用户" msgstr "无效的用户"
#: authentication/mixins.py:99 #: authentication/mixins.py:99
#, python-brace-format
msgid "" msgid ""
"The administrator has enabled 'Only allow login from user source'. \n" "The administrator has enabled 'Only allow login from user source'. \n"
" The current user source is {}. Please contact the administrator." " The current user source is {}. Please contact the administrator."
msgstr "管理员已开启'仅允许从用户来源登录',当前用户来源为{},请联系管理员。" msgstr "管理员已开启'仅允许从用户来源登录',当前用户来源为{},请联系管理员。"
#: authentication/mixins.py:278 #: authentication/mixins.py:278
#, python-brace-format
msgid "The MFA type ({}) is not enabled" msgid "The MFA type ({}) is not enabled"
msgstr "该 MFA ({}) 方式没有启用" msgstr "该 MFA ({}) 方式没有启用"
@ -4285,6 +4329,7 @@ msgid "Connection token inactive"
msgstr "连接令牌未激活" msgstr "连接令牌未激活"
#: authentication/models/connection_token.py:174 #: authentication/models/connection_token.py:174
#, python-brace-format
msgid "Connection token expired at: {}" msgid "Connection token expired at: {}"
msgstr "连接令牌过期: {}" msgstr "连接令牌过期: {}"
@ -4421,6 +4466,7 @@ msgstr "组织名称"
#: authentication/serializers/password_mfa.py:29 #: authentication/serializers/password_mfa.py:29
#: users/templates/users/forgot_password.html:153 #: users/templates/users/forgot_password.html:153
#, python-brace-format
msgid "The {} cannot be empty" msgid "The {} cannot be empty"
msgstr "{} 不能为空" msgstr "{} 不能为空"
@ -4477,8 +4523,8 @@ msgid ""
"Retention Period" "Retention Period"
msgstr "" msgstr ""
"系统在连接资产或创建临时密码时,会生成相应的连接 Token 或临时密码记录。为了保" "系统在连接资产或创建临时密码时,会生成相应的连接 Token 或临时密码记录。为了保"
"障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时" "障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时长”"
"长”中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录" "中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录"
#: authentication/templates/authentication/_access_key_modal.html:6 #: authentication/templates/authentication/_access_key_modal.html:6
msgid "API key list" msgid "API key list"
@ -4614,7 +4660,7 @@ msgstr "你的密码刚刚成功更新"
#: authentication/templates/authentication/_msg_rest_password_success.html:9 #: authentication/templates/authentication/_msg_rest_password_success.html:9
#: authentication/templates/authentication/_msg_rest_public_key_success.html:9 #: authentication/templates/authentication/_msg_rest_public_key_success.html:9
#: users/notifications.py:108 users/notifications.py:147 #: users/notifications.py:107 users/notifications.py:146
msgid "Browser" msgid "Browser"
msgstr "浏览器" msgstr "浏览器"
@ -4795,6 +4841,7 @@ msgid "Redirecting"
msgstr "跳转中" msgstr "跳转中"
#: authentication/views/login.py:173 #: authentication/views/login.py:173
#, python-brace-format
msgid "Redirecting to {} authentication" msgid "Redirecting to {} authentication"
msgstr "正在跳转到 {} 认证" msgstr "正在跳转到 {} 认证"
@ -4803,10 +4850,12 @@ msgid "Login timeout, please try again."
msgstr "登录超时,请重新登录" msgstr "登录超时,请重新登录"
#: authentication/views/login.py:245 #: authentication/views/login.py:245
#, python-brace-format
msgid "User email already exists ({})" msgid "User email already exists ({})"
msgstr "用户邮箱已存在 ({})" msgstr "用户邮箱已存在 ({})"
#: authentication/views/login.py:338 #: authentication/views/login.py:338
#, python-brace-format
msgid "" msgid ""
"Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n" "Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
" Don't close this page" " Don't close this page"
@ -5004,6 +5053,7 @@ msgid "Updated by"
msgstr "最后更新者" msgstr "最后更新者"
#: common/db/validators.py:9 #: common/db/validators.py:9
#, python-brace-format
msgid "Invalid port range, should be like and within {}-{}" msgid "Invalid port range, should be like and within {}-{}"
msgstr "无效的端口范围,应该在 {}-{} 之内" msgstr "无效的端口范围,应该在 {}-{} 之内"
@ -5016,10 +5066,12 @@ msgid "Org ID"
msgstr "组织 ID" msgstr "组织 ID"
#: common/drf/parsers/base.py:21 #: common/drf/parsers/base.py:21
#, python-brace-format
msgid "The file content overflowed (The maximum length `{}` bytes)" msgid "The file content overflowed (The maximum length `{}` bytes)"
msgstr "文件内容太大 (最大长度 `{}` 字节)" msgstr "文件内容太大 (最大长度 `{}` 字节)"
#: common/drf/parsers/base.py:207 #: common/drf/parsers/base.py:207
#, python-brace-format
msgid "Parse file error: {}" msgid "Parse file error: {}"
msgstr "解析文件错误: {}" msgstr "解析文件错误: {}"
@ -5032,6 +5084,7 @@ msgid "Yes/No"
msgstr "是/否" msgstr "是/否"
#: common/drf/renders/base.py:143 #: common/drf/renders/base.py:143
#, python-brace-format
msgid "Text, max length {}" msgid "Text, max length {}"
msgstr "文本,最大长度 {}" msgstr "文本,最大长度 {}"
@ -5040,20 +5093,24 @@ msgid "Long text, no length limit"
msgstr "长文本,无长度限制" msgstr "长文本,无长度限制"
#: common/drf/renders/base.py:147 #: common/drf/renders/base.py:147
#, python-brace-format
msgid "Number, min {} max {}" msgid "Number, min {} max {}"
msgstr "数字,最小 {} 最大 {}" msgstr "数字,最小 {} 最大 {}"
#: common/drf/renders/base.py:150 #: common/drf/renders/base.py:150
#, python-brace-format
msgid "Datetime format {}" msgid "Datetime format {}"
msgstr "日期时间格式 {}" msgstr "日期时间格式 {}"
#: common/drf/renders/base.py:156 #: common/drf/renders/base.py:156
#, python-brace-format
msgid "" msgid ""
"Choices, format name(value), name is optional for human read, value is " "Choices, format name(value), name is optional for human read, value is "
"requisite, options {}" "requisite, options {}"
msgstr "选项,格式: 名称(值),名称是可选的,方便阅读,值是必填的,可选项有 {}" msgstr "选项,格式: 名称(值),名称是可选的,方便阅读,值是必填的,可选项有 {}"
#: common/drf/renders/base.py:159 #: common/drf/renders/base.py:159
#, python-brace-format
msgid "Choices, options {}" msgid "Choices, options {}"
msgstr "选项,可选项有 {}" msgstr "选项,可选项有 {}"
@ -5091,6 +5148,7 @@ msgid "Objects, format [\"id\", ...]"
msgstr "多关联项,格式是 [\"id\", ...]" msgstr "多关联项,格式是 [\"id\", ...]"
#: common/drf/renders/base.py:275 #: common/drf/renders/base.py:275
#, python-brace-format
msgid "" msgid ""
"{} - The encryption password has not been set - please go to personal " "{} - The encryption password has not been set - please go to personal "
"information -> file encryption password to set the encryption password" "information -> file encryption password to set the encryption password"
@ -5176,6 +5234,7 @@ msgid "sp_id is 6 bits"
msgstr "SP_id 为6位" msgstr "SP_id 为6位"
#: common/sdk/sms/cmpp2.py:214 #: common/sdk/sms/cmpp2.py:214
#, python-brace-format
msgid "Failed to connect to the CMPP gateway server, err: {}" msgid "Failed to connect to the CMPP gateway server, err: {}"
msgstr "连接网关服务器错误,错误:{}" msgstr "连接网关服务器错误,错误:{}"
@ -5188,6 +5247,10 @@ msgstr "自定义短信文件无效"
msgid "SMS sending failed[%s]: %s" msgid "SMS sending failed[%s]: %s"
msgstr "短信发送失败[%s]: %s" msgstr "短信发送失败[%s]: %s"
#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98
msgid "File"
msgstr "文件"
#: common/sdk/sms/endpoint.py:16 #: common/sdk/sms/endpoint.py:16
msgid "Alibaba cloud" msgid "Alibaba cloud"
msgstr "阿里云" msgstr "阿里云"
@ -5209,6 +5272,7 @@ msgid "Custom type (File)"
msgstr "自定义 (文件)" msgstr "自定义 (文件)"
#: common/sdk/sms/endpoint.py:32 #: common/sdk/sms/endpoint.py:32
#, python-brace-format
msgid "SMS provider not support: {}" msgid "SMS provider not support: {}"
msgstr "短信服务商不支持:{}" msgstr "短信服务商不支持:{}"
@ -5225,6 +5289,7 @@ msgid "The verification code is incorrect"
msgstr "验证码错误" msgstr "验证码错误"
#: common/sdk/sms/exceptions.py:18 #: common/sdk/sms/exceptions.py:18
#, python-brace-format
msgid "Please wait {} seconds before sending" msgid "Please wait {} seconds before sending"
msgstr "请在 {} 秒后发送" msgstr "请在 {} 秒后发送"
@ -5232,10 +5297,6 @@ msgstr "请在 {} 秒后发送"
msgid "Children" msgid "Children"
msgstr "节点" msgstr "节点"
#: common/serializers/common.py:98
msgid "File"
msgstr "文件"
#: common/serializers/fields.py:139 #: common/serializers/fields.py:139
msgid "Invalid data type" msgid "Invalid data type"
msgstr "无效的数据" msgstr "无效的数据"
@ -5257,6 +5318,7 @@ msgstr "错误的数据类型,应该是列表"
#: common/serializers/fields.py:353 #: common/serializers/fields.py:353
#: xpack/plugins/cloud/serializers/account.py:119 #: xpack/plugins/cloud/serializers/account.py:119
#: xpack/plugins/cloud/serializers/task.py:122 #: xpack/plugins/cloud/serializers/task.py:122
#, python-brace-format
msgid "Invalid choice: {}" msgid "Invalid choice: {}"
msgstr "无效选项: {}" msgstr "无效选项: {}"
@ -5358,6 +5420,10 @@ msgstr "你的账号已创建成功"
msgid "JumpServer - An open-source PAM" msgid "JumpServer - An open-source PAM"
msgstr "JumpServer 开源堡垒机" msgstr "JumpServer 开源堡垒机"
#: jumpserver/context_processor.py:28
msgid "FIT2CLOUD"
msgstr ""
#: jumpserver/views/celery_flower.py:22 #: jumpserver/views/celery_flower.py:22
msgid "<h1>Flower service unavailable, check it</h1>" msgid "<h1>Flower service unavailable, check it</h1>"
msgstr "Flower 服务不可用,请检查" msgstr "Flower 服务不可用,请检查"
@ -5372,6 +5438,7 @@ msgstr ""
"这个页面证明你访问的不是nginx监听的端口祝你好运</div>" "这个页面证明你访问的不是nginx监听的端口祝你好运</div>"
#: jumpserver/views/other.py:78 #: jumpserver/views/other.py:78
#, python-brace-format
msgid "Websocket server run on port: {}, you should proxy it on nginx" msgid "Websocket server run on port: {}, you should proxy it on nginx"
msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置" msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置"
@ -5430,6 +5497,7 @@ msgid "User message"
msgstr "用户消息" msgstr "用户消息"
#: notifications/models/notification.py:21 #: notifications/models/notification.py:21
#, python-brace-format
msgid "{} subscription" msgid "{} subscription"
msgstr "{} 订阅" msgstr "{} 订阅"
@ -5466,10 +5534,12 @@ msgid "Waiting task start"
msgstr "等待任务开始" msgstr "等待任务开始"
#: ops/api/celery.py:269 #: ops/api/celery.py:269
#, python-brace-format
msgid "Task {} not found" msgid "Task {} not found"
msgstr "任务 {} 不存在" msgstr "任务 {} 不存在"
#: ops/api/celery.py:276 #: ops/api/celery.py:276
#, python-brace-format
msgid "Task {} args or kwargs error" msgid "Task {} args or kwargs error"
msgstr "任务 {} 执行参数错误" msgstr "任务 {} 执行参数错误"
@ -5758,6 +5828,7 @@ msgid "Celery Task Execution"
msgstr "Celery 任务执行" msgstr "Celery 任务执行"
#: ops/models/job.py:82 #: ops/models/job.py:82
#, python-brace-format
msgid "Module {} is not suitable for this asset" msgid "Module {} is not suitable for this asset"
msgstr "模块 {} 不适用于此资产" msgstr "模块 {} 不适用于此资产"
@ -6038,6 +6109,7 @@ msgid "Name of the job"
msgstr "Job 名称" msgstr "Job 名称"
#: orgs/api.py:60 #: orgs/api.py:60
#, python-brace-format
msgid "The current organization ({}) cannot be deleted" msgid "The current organization ({}) cannot be deleted"
msgstr "当前组织 ({}) 不能被删除" msgstr "当前组织 ({}) 不能被删除"
@ -6048,6 +6120,7 @@ msgid ""
msgstr "LDAP 同步设置组织为当前组织,请切换其他组织后再进行删除操作" msgstr "LDAP 同步设置组织为当前组织,请切换其他组织后再进行删除操作"
#: orgs/api.py:75 #: orgs/api.py:75
#, python-brace-format
msgid "The organization have resource ({}) cannot be deleted" msgid "The organization have resource ({}) cannot be deleted"
msgstr "组织存在资源 ({}) 不能被删除" msgstr "组织存在资源 ({}) 不能被删除"
@ -6221,6 +6294,7 @@ msgid "Asset permissions is about to expire"
msgstr "资产授权规则将要过期" msgstr "资产授权规则将要过期"
#: perms/notifications.py:64 #: perms/notifications.py:64
#, python-brace-format
msgid "asset permissions of organization {}" msgid "asset permissions of organization {}"
msgstr "组织 ({}) 的资产授权" msgstr "组织 ({}) 的资产授权"
@ -6295,6 +6369,7 @@ msgid "Internal role, can't be update"
msgstr "内部角色,不能更新" msgstr "内部角色,不能更新"
#: rbac/api/rolebinding.py:45 #: rbac/api/rolebinding.py:45
#, python-brace-format
msgid "{} at least one system role" msgid "{} at least one system role"
msgstr "{} 至少有一个系统角色" msgstr "{} 至少有一个系统角色"
@ -6575,6 +6650,7 @@ msgid "Test success"
msgstr "测试成功" msgstr "测试成功"
#: settings/api/email.py:22 #: settings/api/email.py:22
#, python-brace-format
msgid "Test mail sent to {}, please check" msgid "Test mail sent to {}, please check"
msgstr "邮件已经发送{}, 请检查" msgstr "邮件已经发送{}, 请检查"
@ -7449,7 +7525,7 @@ msgstr "租户 ID"
#: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68
#: xpack/plugins/cloud/manager.py:119 xpack/plugins/cloud/manager.py:124 #: xpack/plugins/cloud/manager.py:119 xpack/plugins/cloud/manager.py:124
#: xpack/plugins/cloud/models.py:293 #: xpack/plugins/cloud/manager.py:160 xpack/plugins/cloud/models.py:293
msgid "Region" msgid "Region"
msgstr "地域" msgstr "地域"
@ -7629,7 +7705,7 @@ msgid ""
"successfully)" "successfully)"
msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)" msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)"
#: settings/serializers/msg.py:74 users/notifications.py:18 #: settings/serializers/msg.py:74 users/notifications.py:17
msgid "Honorific" msgid "Honorific"
msgstr "邮件问候语" msgstr "邮件问候语"
@ -8117,10 +8193,12 @@ msgid "ldap:// or ldaps:// protocol is used."
msgstr "使用 ldap:// 或 ldaps:// 协议" msgstr "使用 ldap:// 或 ldaps:// 协议"
#: settings/utils/ldap.py:540 #: settings/utils/ldap.py:540
#, python-brace-format
msgid "Host or port is disconnected: {}" msgid "Host or port is disconnected: {}"
msgstr "主机或端口不可连接: {}" msgstr "主机或端口不可连接: {}"
#: settings/utils/ldap.py:542 #: settings/utils/ldap.py:542
#, python-brace-format
msgid "The port is not the port of the LDAP service: {}" msgid "The port is not the port of the LDAP service: {}"
msgstr "端口不是LDAP服务端口: {}" msgstr "端口不是LDAP服务端口: {}"
@ -8130,6 +8208,7 @@ msgstr "请添加证书"
#: settings/utils/ldap.py:548 settings/utils/ldap.py:575 #: settings/utils/ldap.py:548 settings/utils/ldap.py:575
#: settings/utils/ldap.py:605 settings/utils/ldap.py:633 #: settings/utils/ldap.py:605 settings/utils/ldap.py:633
#, python-brace-format
msgid "Unknown error: {}" msgid "Unknown error: {}"
msgstr "未知错误: {}" msgstr "未知错误: {}"
@ -8138,22 +8217,27 @@ msgid "Bind DN or Password incorrect"
msgstr "绑定DN或密码错误" msgstr "绑定DN或密码错误"
#: settings/utils/ldap.py:569 #: settings/utils/ldap.py:569
#, python-brace-format
msgid "Please enter Bind DN: {}" msgid "Please enter Bind DN: {}"
msgstr "请输入绑定DN: {}" msgstr "请输入绑定DN: {}"
#: settings/utils/ldap.py:571 #: settings/utils/ldap.py:571
#, python-brace-format
msgid "Please enter Password: {}" msgid "Please enter Password: {}"
msgstr "请输入密码: {}" msgstr "请输入密码: {}"
#: settings/utils/ldap.py:573 #: settings/utils/ldap.py:573
#, python-brace-format
msgid "Please enter correct Bind DN and Password: {}" msgid "Please enter correct Bind DN and Password: {}"
msgstr "请输入正确的绑定DN和密码: {}" msgstr "请输入正确的绑定DN和密码: {}"
#: settings/utils/ldap.py:591 #: settings/utils/ldap.py:591
#, python-brace-format
msgid "Invalid User OU or User search filter: {}" msgid "Invalid User OU or User search filter: {}"
msgstr "不合法的用户OU或用户过滤器: {}" msgstr "不合法的用户OU或用户过滤器: {}"
#: settings/utils/ldap.py:622 #: settings/utils/ldap.py:622
#, python-brace-format
msgid "LDAP User attr map not include: {}" msgid "LDAP User attr map not include: {}"
msgstr "LDAP属性映射没有包含: {}" msgstr "LDAP属性映射没有包含: {}"
@ -8166,46 +8250,57 @@ msgid "LDAP authentication is not enabled"
msgstr "LDAP认证没有启用" msgstr "LDAP认证没有启用"
#: settings/utils/ldap.py:666 #: settings/utils/ldap.py:666
#, python-brace-format
msgid "Error (Invalid LDAP server): {}" msgid "Error (Invalid LDAP server): {}"
msgstr "错误 (不合法的LDAP服务器地址): {}" msgstr "错误 (不合法的LDAP服务器地址): {}"
#: settings/utils/ldap.py:668 #: settings/utils/ldap.py:668
#, python-brace-format
msgid "Error (Invalid Bind DN): {}" msgid "Error (Invalid Bind DN): {}"
msgstr "错误 (不合法的绑定DN): {}" msgstr "错误 (不合法的绑定DN): {}"
#: settings/utils/ldap.py:670 #: settings/utils/ldap.py:670
#, python-brace-format
msgid "Error (Invalid LDAP User attr map): {}" msgid "Error (Invalid LDAP User attr map): {}"
msgstr "错误 (不合法的LDAP属性映射): {}" msgstr "错误 (不合法的LDAP属性映射): {}"
#: settings/utils/ldap.py:672 #: settings/utils/ldap.py:672
#, python-brace-format
msgid "Error (Invalid User OU or User search filter): {}" msgid "Error (Invalid User OU or User search filter): {}"
msgstr "错误 (不合法的用户OU或用户过滤器): {}" msgstr "错误 (不合法的用户OU或用户过滤器): {}"
#: settings/utils/ldap.py:674 #: settings/utils/ldap.py:674
#, python-brace-format
msgid "Error (Not enabled LDAP authentication): {}" msgid "Error (Not enabled LDAP authentication): {}"
msgstr "错误 (没有启用LDAP认证): {}" msgstr "错误 (没有启用LDAP认证): {}"
#: settings/utils/ldap.py:676 #: settings/utils/ldap.py:676
#, python-brace-format
msgid "Error (Unknown): {}" msgid "Error (Unknown): {}"
msgstr "错误 (未知): {}" msgstr "错误 (未知): {}"
#: settings/utils/ldap.py:679 #: settings/utils/ldap.py:679
#, python-brace-format
msgid "Succeed: Match {} users" msgid "Succeed: Match {} users"
msgstr "成功匹配 {} 个用户" msgstr "成功匹配 {} 个用户"
#: settings/utils/ldap.py:709 #: settings/utils/ldap.py:709
#, python-brace-format
msgid "Authentication failed (configuration incorrect): {}" msgid "Authentication failed (configuration incorrect): {}"
msgstr "认证失败 (配置错误): {}" msgstr "认证失败 (配置错误): {}"
#: settings/utils/ldap.py:713 #: settings/utils/ldap.py:713
#, python-brace-format
msgid "Authentication failed (username or password incorrect): {}" msgid "Authentication failed (username or password incorrect): {}"
msgstr "认证失败 (用户名或密码不正确): {}" msgstr "认证失败 (用户名或密码不正确): {}"
#: settings/utils/ldap.py:715 #: settings/utils/ldap.py:715
#, python-brace-format
msgid "Authentication failed (Unknown): {}" msgid "Authentication failed (Unknown): {}"
msgstr "认证失败: (未知): {}" msgstr "认证失败: (未知): {}"
#: settings/utils/ldap.py:718 #: settings/utils/ldap.py:718
#, python-brace-format
msgid "Authentication success: {}" msgid "Authentication success: {}"
msgstr "认证成功: {}" msgstr "认证成功: {}"
@ -8214,10 +8309,12 @@ msgid "No LDAP user was found"
msgstr "没有获取到 LDAP 用户" msgstr "没有获取到 LDAP 用户"
#: settings/ws.py:235 #: settings/ws.py:235
#, python-brace-format
msgid "Total {}, success {}, failure {}" msgid "Total {}, success {}, failure {}"
msgstr "总共 {},成功 {},失败 {}" msgstr "总共 {},成功 {},失败 {}"
#: settings/ws.py:239 #: settings/ws.py:239
#, python-brace-format
msgid ", disabled {}" msgid ", disabled {}"
msgstr ", 禁用 {}" msgstr ", 禁用 {}"
@ -8404,6 +8501,7 @@ msgid "This is enterprise edition applet"
msgstr "企业版远程应用,在社区版中不能使用" msgstr "企业版远程应用,在社区版中不能使用"
#: terminal/api/applet/applet.py:91 #: terminal/api/applet/applet.py:91
#, python-brace-format
msgid "Applet not found in path: {}" msgid "Applet not found in path: {}"
msgstr "路径中未找到远程应用: {}" msgstr "路径中未找到远程应用: {}"
@ -8416,6 +8514,7 @@ msgid "Deleting the default storage is not allowed"
msgstr "不允许删除默认存储配置" msgstr "不允许删除默认存储配置"
#: terminal/api/component/storage.py:36 #: terminal/api/component/storage.py:36
#, python-brace-format
msgid "Cannot delete storage that is being used: {}" msgid "Cannot delete storage that is being used: {}"
msgstr "无法删除正在使用的存储: {}" msgstr "无法删除正在使用的存储: {}"
@ -8428,6 +8527,7 @@ msgid "Invalid"
msgstr "无效" msgstr "无效"
#: terminal/api/component/storage.py:132 terminal/tasks.py:208 #: terminal/api/component/storage.py:132 terminal/tasks.py:208
#, python-brace-format
msgid "Test failure: {}" msgid "Test failure: {}"
msgstr "测试失败: {}" msgstr "测试失败: {}"
@ -8454,6 +8554,7 @@ msgid "Session replay"
msgstr "会话录像" msgstr "会话录像"
#: terminal/api/session/session.py:334 #: terminal/api/session/session.py:334
#, python-brace-format
msgid "Session does not exist: {}" msgid "Session does not exist: {}"
msgstr "会话不存在: {}" msgstr "会话不存在: {}"
@ -8461,7 +8562,7 @@ msgstr "会话不存在: {}"
msgid "Session is finished or the protocol not supported" msgid "Session is finished or the protocol not supported"
msgstr "会话已经完成或协议不支持" msgstr "会话已经完成或协议不支持"
#: terminal/api/session/session.py:350 #: terminal/api/session/session.py:350 tickets/api/ticket.py:140
msgid "User does not have permission" msgid "User does not have permission"
msgstr "用户没有权限" msgstr "用户没有权限"
@ -8626,10 +8727,12 @@ msgstr "主机"
#: terminal/models/applet/applet.py:94 #: terminal/models/applet/applet.py:94
#: terminal/models/virtualapp/virtualapp.py:66 #: terminal/models/virtualapp/virtualapp.py:66
#, python-brace-format
msgid "Applet pkg not valid, Missing file {}" msgid "Applet pkg not valid, Missing file {}"
msgstr "Applet pkg 无效,缺少文件 {}" msgstr "Applet pkg 无效,缺少文件 {}"
#: terminal/models/applet/applet.py:113 #: terminal/models/applet/applet.py:113
#, python-brace-format
msgid "Load platform.yml failed: {}" msgid "Load platform.yml failed: {}"
msgstr "加载 platform.yml 失败: {}" msgstr "加载 platform.yml 失败: {}"
@ -9004,9 +9107,9 @@ msgid ""
"days. <a href=\"https://learn.microsoft.com/en-us/windows-server/remote/" "days. <a href=\"https://learn.microsoft.com/en-us/windows-server/remote/"
"remote-desktop-services/rds-client-access-license\">Detail</a>" "remote-desktop-services/rds-client-access-license\">Detail</a>"
msgstr "" msgstr ""
"如果不存在RDS 将处于试用模式,试用期为 120 天。<a href='https://learn." "如果不存在RDS 将处于试用模式,试用期为 120 天。<a href='https://"
"microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-client-" "learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-"
"access-license'>详情</a>" "client-access-license'>详情</a>"
#: terminal/serializers/applet_host.py:55 #: terminal/serializers/applet_host.py:55
msgid "RDS License Server" msgid "RDS License Server"
@ -9177,6 +9280,7 @@ msgid "No asset or invalid asset"
msgstr "没有资产或资产未激活" msgstr "没有资产或资产未激活"
#: terminal/serializers/storage.py:23 #: terminal/serializers/storage.py:23
#, python-brace-format
msgid "Endpoint invalid: remove path `{}`" msgid "Endpoint invalid: remove path `{}`"
msgstr "端点无效: 移除路径 `{}`" msgstr "端点无效: 移除路径 `{}`"
@ -9225,8 +9329,8 @@ msgid ""
"If there are multiple hosts, use a comma (,) to separate them. <br>(For " "If there are multiple hosts, use a comma (,) to separate them. <br>(For "
"example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)"
msgstr "" msgstr ""
"如果有多个主机,请用逗号 (,) 分隔它们。<br>例如http://www.jumpserver.a." "如果有多个主机,请用逗号 (,) 分隔它们。<br>例如http://"
"com:9100http://www.jumpserver.b.com:9100" "www.jumpserver.a.com:9100http://www.jumpserver.b.com:9100"
#: terminal/serializers/storage.py:199 #: terminal/serializers/storage.py:199
msgid "Index by date" msgid "Index by date"
@ -9562,6 +9666,7 @@ msgid "Ticket already closed"
msgstr "工单已经关闭" msgstr "工单已经关闭"
#: tickets/handlers/apply_asset.py:39 #: tickets/handlers/apply_asset.py:39
#, python-brace-format
msgid "" msgid ""
"Created by the ticket ticket title: {} ticket applicant: {} ticket " "Created by the ticket ticket title: {} ticket applicant: {} ticket "
"processor: {} ticket ID: {}" "processor: {} ticket ID: {}"
@ -9581,6 +9686,7 @@ msgid "After change"
msgstr "变更后" msgstr "变更后"
#: tickets/handlers/base.py:96 #: tickets/handlers/base.py:96
#, python-brace-format
msgid "{} {} the ticket" msgid "{} {} the ticket"
msgstr "{} {} 工单" msgstr "{} {} 工单"
@ -9720,6 +9826,7 @@ msgid "Ticket applied info"
msgstr "工单申请信息" msgstr "工单申请信息"
#: tickets/notifications.py:116 #: tickets/notifications.py:116
#, python-brace-format
msgid "Your has a new ticket, applicant - {}" msgid "Your has a new ticket, applicant - {}"
msgstr "你有一个新的工单, 申请人 - {}" msgstr "你有一个新的工单, 申请人 - {}"
@ -9728,10 +9835,12 @@ msgid "{}: New Ticket - {} ({})"
msgstr "新工单 - {} ({})" msgstr "新工单 - {} ({})"
#: tickets/notifications.py:160 #: tickets/notifications.py:160
#, python-brace-format
msgid "Your ticket has been processed, processor - {}" msgid "Your ticket has been processed, processor - {}"
msgstr "你的工单已被处理, 处理人 - {}" msgstr "你的工单已被处理, 处理人 - {}"
#: tickets/notifications.py:164 #: tickets/notifications.py:164
#, python-brace-format
msgid "Ticket has processed - {} ({})" msgid "Ticket has processed - {} ({})"
msgstr "你的工单已被处理, 处理人 - {} ({})" msgstr "你的工单已被处理, 处理人 - {} ({})"
@ -9761,6 +9870,7 @@ msgstr "申请动作"
#: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:15
#: tickets/serializers/ticket/common.py:74 #: tickets/serializers/ticket/common.py:74
#, python-brace-format
msgid "Created by ticket ({}-{})" msgid "Created by ticket ({}-{})"
msgstr "通过工单创建 ({}-{})" msgstr "通过工单创建 ({}-{})"
@ -9769,6 +9879,7 @@ msgid "The expiration date should be greater than the start date"
msgstr "过期时间要大于开始时间" msgstr "过期时间要大于开始时间"
#: tickets/serializers/ticket/common.py:89 #: tickets/serializers/ticket/common.py:89
#, python-brace-format
msgid "Permission named `{}` already exists" msgid "Permission named `{}` already exists"
msgstr "授权名称 `{}` 已存在" msgstr "授权名称 `{}` 已存在"
@ -9777,6 +9888,7 @@ msgid "Process map"
msgstr "流程图" msgstr "流程图"
#: tickets/serializers/ticket/ticket.py:91 #: tickets/serializers/ticket/ticket.py:91
#, python-brace-format
msgid "The ticket flow `{}` does not exist" msgid "The ticket flow `{}` does not exist"
msgstr "工单流程 `{}` 不存在" msgstr "工单流程 `{}` 不存在"
@ -10055,75 +10167,75 @@ msgstr "用户密码历史"
msgid "Force enabled" msgid "Force enabled"
msgstr "强制启用" msgstr "强制启用"
#: users/notifications.py:23 users/notifications.py:68 #: users/notifications.py:22 users/notifications.py:67
msgid "Reset password url" msgid "Reset password url"
msgstr "重置密码网址" msgstr "重置密码网址"
#: users/notifications.py:25 users/notifications.py:70 #: users/notifications.py:24 users/notifications.py:69
msgid "Reset password token" msgid "Reset password token"
msgstr "重置密码令牌" msgstr "重置密码令牌"
#: users/notifications.py:26 users/notifications.py:71 #: users/notifications.py:25 users/notifications.py:70
msgid "Forget password url" msgid "Forget password url"
msgstr "忘记密码网址" msgstr "忘记密码网址"
#: users/notifications.py:64 #: users/notifications.py:63
#: users/templates/users/_msg_password_expire_reminder.html:16 #: users/templates/users/_msg_password_expire_reminder.html:16
#: users/templates/users/reset_password.html:5 #: users/templates/users/reset_password.html:5
#: users/templates/users/reset_password.html:6 #: users/templates/users/reset_password.html:6
msgid "Reset password" msgid "Reset password"
msgstr "重置密码" msgstr "重置密码"
#: users/notifications.py:73 users/notifications.py:188 #: users/notifications.py:72 users/notifications.py:187
#: users/notifications.py:190 #: users/notifications.py:189
msgid "Login url" msgid "Login url"
msgstr "登录网址" msgstr "登录网址"
#: users/notifications.py:103 users/views/profile/reset.py:238 #: users/notifications.py:102 users/views/profile/reset.py:238
msgid "Reset password success" msgid "Reset password success"
msgstr "重置密码成功" msgstr "重置密码成功"
#: users/notifications.py:107 users/notifications.py:146 #: users/notifications.py:106 users/notifications.py:145
msgid "IP address" msgid "IP address"
msgstr "IP 地址" msgstr "IP 地址"
#: users/notifications.py:142 #: users/notifications.py:141
msgid "Reset public key success" msgid "Reset public key success"
msgstr "重置公钥成功" msgstr "重置公钥成功"
#: users/notifications.py:181 #: users/notifications.py:180
msgid "Password is about expire" msgid "Password is about expire"
msgstr "密码即将过期" msgstr "密码即将过期"
#: users/notifications.py:185 #: users/notifications.py:184
msgid "Password expiration date" msgid "Password expiration date"
msgstr "密码到期日期" msgstr "密码到期日期"
#: users/notifications.py:186 #: users/notifications.py:185
msgid "Update password url" msgid "Update password url"
msgstr "更新密码网址" msgstr "更新密码网址"
#: users/notifications.py:221 #: users/notifications.py:220
msgid "Account is about expire" msgid "Account is about expire"
msgstr "账号即将过期" msgstr "账号即将过期"
#: users/notifications.py:225 #: users/notifications.py:224
msgid "Expiration date" msgid "Expiration date"
msgstr "截止日期" msgstr "截止日期"
#: users/notifications.py:249 #: users/notifications.py:248
msgid "Reset SSH Key" msgid "Reset SSH Key"
msgstr "重置 SSH 密钥" msgstr "重置 SSH 密钥"
#: users/notifications.py:253 #: users/notifications.py:252
msgid "Update SSH Key url" msgid "Update SSH Key url"
msgstr "" msgstr "更新 SSH 密钥地址"
#: users/notifications.py:276 #: users/notifications.py:275
msgid "Reset MFA" msgid "Reset MFA"
msgstr "重置 MFA" msgstr "重置 MFA"
#: users/notifications.py:280 #: users/notifications.py:279
msgid "Reset MFA url" msgid "Reset MFA url"
msgstr "重置 MFA 网址" msgstr "重置 MFA 网址"
@ -10230,6 +10342,7 @@ msgid "Password does not match security rules"
msgstr "密码不满足安全规则" msgstr "密码不满足安全规则"
#: users/serializers/profile.py:33 #: users/serializers/profile.py:33
#, python-brace-format
msgid "The new password cannot be the last {} passwords" msgid "The new password cannot be the last {} passwords"
msgstr "新密码不能是最近 {} 次的密码" msgstr "新密码不能是最近 {} 次的密码"
@ -10664,6 +10777,7 @@ msgid "Password invalid"
msgstr "用户名或密码无效" msgstr "用户名或密码无效"
#: users/views/profile/reset.py:66 #: users/views/profile/reset.py:66
#, python-brace-format
msgid "" msgid ""
"Non-local users can log in only from third-party platforms and cannot change " "Non-local users can log in only from third-party platforms and cannot change "
"their passwords: {}" "their passwords: {}"
@ -10674,6 +10788,7 @@ msgid "Token invalid or expired"
msgstr "令牌错误或失效" msgstr "令牌错误或失效"
#: users/views/profile/reset.py:204 #: users/views/profile/reset.py:204
#, python-brace-format
msgid "User auth from {}, go there change password" msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码" msgstr "用户认证源来自 {}, 请去相应系统修改密码"
@ -10682,6 +10797,7 @@ msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求" msgstr "* 您的密码不符合要求"
#: users/views/profile/reset.py:217 #: users/views/profile/reset.py:217
#, python-brace-format
msgid "* The new password cannot be the last {} passwords" msgid "* The new password cannot be the last {} passwords"
msgstr "* 新密码不能是最近 {} 次的密码" msgstr "* 新密码不能是最近 {} 次的密码"
@ -10704,10 +10820,12 @@ msgid "Test connection successful"
msgstr "测试成功" msgstr "测试成功"
#: xpack/plugins/cloud/api.py:75 #: xpack/plugins/cloud/api.py:75
#, python-brace-format
msgid "Test connection failed: {}" msgid "Test connection failed: {}"
msgstr "测试连接失败:{}" msgstr "测试连接失败:{}"
#: xpack/plugins/cloud/api.py:203 #: xpack/plugins/cloud/api.py:203
#, python-brace-format
msgid "User {} deleted the current resource and released the assets" msgid "User {} deleted the current resource and released the assets"
msgstr "用户 {} 删除了当前资源已释放的资产" msgstr "用户 {} 删除了当前资源已释放的资产"
@ -10901,6 +11019,10 @@ msgstr "同步地区"
msgid "Get instances of region \"%s\" error, error: %s" msgid "Get instances of region \"%s\" error, error: %s"
msgstr "获取区域 \"%s\" 的实例错误,错误:%s" msgstr "获取区域 \"%s\" 的实例错误,错误:%s"
#: xpack/plugins/cloud/manager.py:160 xpack/plugins/cloud/models.py:290
msgid "Instance"
msgstr "实例"
#: xpack/plugins/cloud/manager.py:186 #: xpack/plugins/cloud/manager.py:186
#, python-format #, python-format
msgid "Failed to synchronize the instance \"%s\"" msgid "Failed to synchronize the instance \"%s\""
@ -11043,10 +11165,6 @@ msgstr "同步任务"
msgid "Sync instance task history" msgid "Sync instance task history"
msgstr "同步实例任务历史" msgstr "同步实例任务历史"
#: xpack/plugins/cloud/models.py:290
msgid "Instance"
msgstr "实例"
#: xpack/plugins/cloud/models.py:307 #: xpack/plugins/cloud/models.py:307
msgid "Sync instance detail" msgid "Sync instance detail"
msgstr "同步实例详情" msgstr "同步实例详情"
@ -11363,6 +11481,10 @@ msgstr "API 端点"
msgid "Auto node classification" msgid "Auto node classification"
msgstr "自动节点分类" msgstr "自动节点分类"
#: xpack/plugins/cloud/serializers/account_attrs.py:108
msgid "domain_name"
msgstr "域名称"
#: xpack/plugins/cloud/serializers/account_attrs.py:124 #: xpack/plugins/cloud/serializers/account_attrs.py:124
msgid "Auth url" msgid "Auth url"
msgstr "认证地址" msgstr "认证地址"
@ -11392,6 +11514,7 @@ msgid "The file is in JSON format"
msgstr "JSON 格式的文件" msgstr "JSON 格式的文件"
#: xpack/plugins/cloud/serializers/account_attrs.py:194 #: xpack/plugins/cloud/serializers/account_attrs.py:194
#, python-brace-format
msgid "IP address invalid `{}`, {}" msgid "IP address invalid `{}`, {}"
msgstr "IP 地址无效: `{}`, {}" msgstr "IP 地址无效: `{}`, {}"