perf: 资产添加标签显示,更加易读

pref: 添加翻译
pull/7301/head
ibuler 2021-11-26 15:16:14 +08:00 committed by Jiangjie.Bai
parent a313e011ef
commit de006bc664
4 changed files with 109 additions and 99 deletions

View File

@ -147,7 +147,7 @@ class AssetTaskCreateApi(AssetsTaskMixin, generics.CreateAPIView):
asset = data['asset'] asset = data['asset']
system_users = data.get('system_users') system_users = data.get('system_users')
if not system_users: if not system_users:
system_users = asset.get_all_systemusers() system_users = asset.get_all_system_users()
if action == 'push_system_user': if action == 'push_system_user':
task = push_system_users_a_asset.delay(system_users, asset=asset) task = push_system_users_a_asset.delay(system_users, asset=asset)
elif action == 'test_system_user': elif action == 'test_system_user':

View File

@ -299,6 +299,12 @@ class Asset(AbsConnectivity, AbsHardwareInfo, ProtocolsMixin, NodesRelationMixin
names.append(n.full_value) names.append(n.full_value)
return names return names
def labels_display(self):
names = []
for n in self.labels.all():
names.append(n.name + ':' + n.value)
return names
def as_node(self): def as_node(self):
from .node import Node from .node import Node
fake_node = Node() fake_node = Node()
@ -338,7 +344,7 @@ class Asset(AbsConnectivity, AbsHardwareInfo, ProtocolsMixin, NodesRelationMixin
tree_node = TreeNode(**data) tree_node = TreeNode(**data)
return tree_node return tree_node
def get_all_systemusers(self): def get_all_system_users(self):
from .user import SystemUser from .user import SystemUser
system_user_ids = SystemUser.assets.through.objects.filter(asset=self)\ system_user_ids = SystemUser.assets.through.objects.filter(asset=self)\
.values_list('systemuser_id', flat=True) .values_list('systemuser_id', flat=True)

View File

@ -69,6 +69,9 @@ class AssetSerializer(BulkOrgResourceModelSerializer):
nodes_display = serializers.ListField( nodes_display = serializers.ListField(
child=serializers.CharField(), label=_('Nodes name'), required=False child=serializers.CharField(), label=_('Nodes name'), required=False
) )
labels_display = serializers.ListField(
child=serializers.CharField(), label=_('Labels name'), required=False, read_only=True
)
""" """
资产的数据结构 资产的数据结构
@ -91,7 +94,7 @@ class AssetSerializer(BulkOrgResourceModelSerializer):
'domain', 'domain_display', 'platform', 'admin_user', 'admin_user_display' 'domain', 'domain_display', 'platform', 'admin_user', 'admin_user_display'
] ]
fields_m2m = [ fields_m2m = [
'nodes', 'nodes_display', 'labels', 'nodes', 'nodes_display', 'labels', 'labels_display',
] ]
read_only_fields = [ read_only_fields = [
'connectivity', 'date_verified', 'cpu_info', 'hardware_info', 'connectivity', 'date_verified', 'cpu_info', 'hardware_info',

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: 2021-11-19 15:28+0800\n" "POT-Creation-Date: 2021-11-26 15:16+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"
@ -35,12 +35,12 @@ msgid "Name"
msgstr "名称" msgstr "名称"
#: acls/models/base.py:27 assets/models/cmd_filter.py:54 #: acls/models/base.py:27 assets/models/cmd_filter.py:54
#: assets/models/user.py:199 #: assets/models/user.py:200
msgid "Priority" msgid "Priority"
msgstr "优先级" msgstr "优先级"
#: acls/models/base.py:28 assets/models/cmd_filter.py:54 #: acls/models/base.py:28 assets/models/cmd_filter.py:54
#: assets/models/user.py:199 #: assets/models/user.py:200
msgid "1-100, the lower the value will be match first" msgid "1-100, the lower the value will be match first"
msgstr "优先级可选范围为 1-100 (数值越小越优先)" msgstr "优先级可选范围为 1-100 (数值越小越优先)"
@ -84,7 +84,7 @@ msgstr "登录复核"
#: audits/models.py:74 audits/serializers.py:94 authentication/models.py:47 #: audits/models.py:74 audits/serializers.py:94 authentication/models.py:47
#: orgs/models.py:19 orgs/models.py:433 perms/models/base.py:45 #: orgs/models.py:19 orgs/models.py:433 perms/models/base.py:45
#: templates/index.html:78 terminal/backends/command/models.py:18 #: templates/index.html:78 terminal/backends/command/models.py:18
#: terminal/backends/command/serializers.py:12 terminal/models/session.py:38 #: terminal/backends/command/serializers.py:12 terminal/models/session.py:39
#: terminal/notifications.py:90 terminal/notifications.py:138 #: terminal/notifications.py:90 terminal/notifications.py:138
#: tickets/models/comment.py:17 users/const.py:14 users/models/user.py:169 #: tickets/models/comment.py:17 users/const.py:14 users/models/user.py:169
#: users/models/user.py:751 users/models/user.py:777 #: users/models/user.py:751 users/models/user.py:777
@ -128,11 +128,11 @@ msgstr "系统用户"
#: acls/models/login_asset_acl.py:22 #: acls/models/login_asset_acl.py:22
#: applications/serializers/attrs/application_category/remote_app.py:37 #: applications/serializers/attrs/application_category/remote_app.py:37
#: assets/models/asset.py:350 assets/models/authbook.py:18 #: assets/models/asset.py:356 assets/models/authbook.py:18
#: assets/models/gathered_user.py:14 assets/serializers/system_user.py:258 #: assets/models/gathered_user.py:14 assets/serializers/system_user.py:259
#: audits/models.py:38 perms/models/asset_permission.py:99 #: audits/models.py:38 perms/models/asset_permission.py:99
#: templates/index.html:82 terminal/backends/command/models.py:19 #: templates/index.html:82 terminal/backends/command/models.py:19
#: terminal/backends/command/serializers.py:13 terminal/models/session.py:40 #: terminal/backends/command/serializers.py:13 terminal/models/session.py:41
#: terminal/notifications.py:89 #: terminal/notifications.py:89
#: users/templates/users/user_asset_permission.html:40 #: users/templates/users/user_asset_permission.html:40
#: users/templates/users/user_asset_permission.html:70 #: users/templates/users/user_asset_permission.html:70
@ -207,7 +207,7 @@ msgid ""
msgstr "格式为逗号分隔的字符串, * 表示匹配所有. 可选的协议有: {}" msgstr "格式为逗号分隔的字符串, * 表示匹配所有. 可选的协议有: {}"
#: acls/serializers/login_asset_acl.py:55 assets/models/asset.py:214 #: acls/serializers/login_asset_acl.py:55 assets/models/asset.py:214
#: assets/models/domain.py:63 assets/models/user.py:200 #: assets/models/domain.py:63 assets/models/user.py:201
#: terminal/serializers/session.py:30 terminal/serializers/storage.py:69 #: terminal/serializers/session.py:30 terminal/serializers/storage.py:69
msgid "Protocol" msgid "Protocol"
msgstr "协议" msgstr "协议"
@ -258,16 +258,16 @@ msgstr "数据库"
msgid "Remote app" msgid "Remote app"
msgstr "远程应用" msgstr "远程应用"
#: applications/const.py:28 #: applications/const.py:29
msgid "Custom" msgid "Custom"
msgstr "自定义" msgstr "自定义"
#: applications/models/account.py:11 assets/models/authbook.py:19 #: applications/models/account.py:11 assets/models/authbook.py:19
#: assets/models/user.py:291 audits/models.py:39 #: assets/models/user.py:292 audits/models.py:39
#: perms/models/application_permission.py:32 #: perms/models/application_permission.py:32
#: perms/models/asset_permission.py:101 templates/_nav.html:45 #: perms/models/asset_permission.py:101 templates/_nav.html:45
#: terminal/backends/command/models.py:20 #: terminal/backends/command/models.py:20
#: terminal/backends/command/serializers.py:14 terminal/models/session.py:42 #: terminal/backends/command/serializers.py:14 terminal/models/session.py:43
#: users/templates/users/_granted_assets.html:27 #: users/templates/users/_granted_assets.html:27
#: users/templates/users/user_asset_permission.html:42 #: users/templates/users/user_asset_permission.html:42
#: users/templates/users/user_asset_permission.html:76 #: users/templates/users/user_asset_permission.html:76
@ -304,7 +304,7 @@ msgstr "类别"
#: applications/models/application.py:171 #: applications/models/application.py:171
#: applications/serializers/application.py:90 assets/models/cmd_filter.py:53 #: applications/serializers/application.py:90 assets/models/cmd_filter.py:53
#: assets/models/user.py:198 perms/models/application_permission.py:23 #: assets/models/user.py:199 perms/models/application_permission.py:23
#: perms/serializers/application/user_permission.py:34 #: perms/serializers/application/user_permission.py:34
#: terminal/models/storage.py:55 terminal/models/storage.py:116 #: terminal/models/storage.py:55 terminal/models/storage.py:116
#: tickets/models/flow.py:51 tickets/models/ticket.py:48 #: tickets/models/flow.py:51 tickets/models/ticket.py:48
@ -366,6 +366,7 @@ msgstr "主机"
#: applications/serializers/attrs/application_type/mysql_workbench.py:22 #: applications/serializers/attrs/application_type/mysql_workbench.py:22
#: applications/serializers/attrs/application_type/oracle.py:11 #: applications/serializers/attrs/application_type/oracle.py:11
#: applications/serializers/attrs/application_type/pgsql.py:11 #: applications/serializers/attrs/application_type/pgsql.py:11
#: applications/serializers/attrs/application_type/sqlserver.py:11
#: assets/models/asset.py:215 assets/models/domain.py:62 #: assets/models/asset.py:215 assets/models/domain.py:62
#: settings/serializers/auth/radius.py:15 #: settings/serializers/auth/radius.py:15
#: xpack/plugins/cloud/serializers/account_attrs.py:61 #: xpack/plugins/cloud/serializers/account_attrs.py:61
@ -380,7 +381,7 @@ msgid "Application path"
msgstr "应用路径" msgstr "应用路径"
#: applications/serializers/attrs/application_category/remote_app.py:45 #: applications/serializers/attrs/application_category/remote_app.py:45
#: assets/serializers/system_user.py:157 #: assets/serializers/system_user.py:158
#: xpack/plugins/change_auth_plan/serializers/asset.py:65 #: xpack/plugins/change_auth_plan/serializers/asset.py:65
#: xpack/plugins/change_auth_plan/serializers/asset.py:68 #: xpack/plugins/change_auth_plan/serializers/asset.py:68
#: xpack/plugins/change_auth_plan/serializers/asset.py:71 #: xpack/plugins/change_auth_plan/serializers/asset.py:71
@ -403,7 +404,6 @@ msgstr "目标URL"
#: authentication/templates/authentication/login.html:151 #: authentication/templates/authentication/login.html:151
#: settings/serializers/auth/ldap.py:44 users/forms/profile.py:21 #: settings/serializers/auth/ldap.py:44 users/forms/profile.py:21
#: users/templates/users/_msg_user_created.html:13 #: users/templates/users/_msg_user_created.html:13
#: users/templates/users/user_otp_check_password.html:15
#: users/templates/users/user_password_update.html:43 #: users/templates/users/user_password_update.html:43
#: users/templates/users/user_password_verify.html:18 #: users/templates/users/user_password_verify.html:18
#: xpack/plugins/change_auth_plan/models/base.py:39 #: xpack/plugins/change_auth_plan/models/base.py:39
@ -445,7 +445,7 @@ msgstr "基础"
msgid "Charset" msgid "Charset"
msgstr "编码" msgstr "编码"
#: assets/models/asset.py:142 assets/serializers/asset.py:175 #: assets/models/asset.py:142 assets/serializers/asset.py:178
#: tickets/models/ticket.py:50 #: tickets/models/ticket.py:50
msgid "Meta" msgid "Meta"
msgstr "元数据" msgstr "元数据"
@ -521,7 +521,7 @@ msgstr "主机名原始"
msgid "Protocols" msgid "Protocols"
msgstr "协议组" msgstr "协议组"
#: assets/models/asset.py:219 assets/models/user.py:190 #: assets/models/asset.py:219 assets/models/user.py:191
#: perms/models/asset_permission.py:100 #: perms/models/asset_permission.py:100
#: xpack/plugins/change_auth_plan/models/asset.py:44 #: xpack/plugins/change_auth_plan/models/asset.py:44
#: xpack/plugins/gathered_user/models.py:24 #: xpack/plugins/gathered_user/models.py:24
@ -534,7 +534,7 @@ msgid "Is active"
msgstr "激活" msgstr "激活"
#: assets/models/asset.py:223 assets/models/cluster.py:19 #: assets/models/asset.py:223 assets/models/cluster.py:19
#: assets/models/user.py:187 assets/models/user.py:340 templates/_nav.html:44 #: assets/models/user.py:188 assets/models/user.py:341 templates/_nav.html:44
msgid "Admin user" msgid "Admin user"
msgstr "特权用户" msgstr "特权用户"
@ -656,7 +656,7 @@ msgstr "系统"
msgid "Default Cluster" msgid "Default Cluster"
msgstr "默认Cluster" msgstr "默认Cluster"
#: assets/models/cmd_filter.py:33 assets/models/user.py:205 #: assets/models/cmd_filter.py:33 assets/models/user.py:206
msgid "Command filter" msgid "Command filter"
msgstr "命令过滤器" msgstr "命令过滤器"
@ -665,7 +665,7 @@ msgid "Regex"
msgstr "正则表达式" msgstr "正则表达式"
#: assets/models/cmd_filter.py:41 ops/models/command.py:25 #: assets/models/cmd_filter.py:41 ops/models/command.py:25
#: terminal/backends/command/serializers.py:15 terminal/models/session.py:49 #: terminal/backends/command/serializers.py:15 terminal/models/session.py:50
#: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10 #: terminal/templates/terminal/_msg_command_execute_alert.html:10
msgid "Command" msgid "Command"
@ -765,7 +765,7 @@ msgstr "全称"
msgid "Parent key" msgid "Parent key"
msgstr "ssh私钥" msgstr "ssh私钥"
#: assets/models/node.py:559 assets/serializers/system_user.py:257 #: assets/models/node.py:559 assets/serializers/system_user.py:258
#: users/templates/users/user_asset_permission.html:41 #: users/templates/users/user_asset_permission.html:41
#: users/templates/users/user_asset_permission.html:73 #: users/templates/users/user_asset_permission.html:73
#: users/templates/users/user_asset_permission.html:158 #: users/templates/users/user_asset_permission.html:158
@ -773,75 +773,75 @@ msgstr "ssh私钥"
msgid "Node" msgid "Node"
msgstr "节点" msgstr "节点"
#: assets/models/user.py:181 #: assets/models/user.py:182
msgid "Automatic managed" msgid "Automatic managed"
msgstr "托管密码" msgstr "托管密码"
#: assets/models/user.py:182 #: assets/models/user.py:183
msgid "Manually input" msgid "Manually input"
msgstr "手动输入" msgstr "手动输入"
#: assets/models/user.py:186 #: assets/models/user.py:187
msgid "Common user" msgid "Common user"
msgstr "普通用户" msgstr "普通用户"
#: assets/models/user.py:189 #: assets/models/user.py:190
msgid "Username same with user" msgid "Username same with user"
msgstr "用户名与用户相同" msgstr "用户名与用户相同"
#: assets/models/user.py:192 assets/serializers/domain.py:29 #: assets/models/user.py:193 assets/serializers/domain.py:29
#: templates/_nav.html:39 #: templates/_nav.html:39
#: terminal/templates/terminal/_msg_command_execute_alert.html:16 #: terminal/templates/terminal/_msg_command_execute_alert.html:16
#: xpack/plugins/change_auth_plan/models/asset.py:40 #: xpack/plugins/change_auth_plan/models/asset.py:40
msgid "Assets" msgid "Assets"
msgstr "资产" msgstr "资产"
#: assets/models/user.py:196 templates/_nav.html:17 #: assets/models/user.py:197 templates/_nav.html:17
#: users/views/profile/pubkey.py:37 #: users/views/profile/pubkey.py:37
msgid "Users" msgid "Users"
msgstr "用户管理" msgstr "用户管理"
#: assets/models/user.py:197 #: assets/models/user.py:198
msgid "User groups" msgid "User groups"
msgstr "用户组" msgstr "用户组"
#: assets/models/user.py:201 #: assets/models/user.py:202
msgid "Auto push" msgid "Auto push"
msgstr "自动推送" msgstr "自动推送"
#: assets/models/user.py:202 #: assets/models/user.py:203
msgid "Sudo" msgid "Sudo"
msgstr "Sudo" msgstr "Sudo"
#: assets/models/user.py:203 #: assets/models/user.py:204
msgid "Shell" msgid "Shell"
msgstr "Shell" msgstr "Shell"
#: assets/models/user.py:204 #: assets/models/user.py:205
msgid "Login mode" msgid "Login mode"
msgstr "认证方式" msgstr "认证方式"
#: assets/models/user.py:206 #: assets/models/user.py:207
msgid "SFTP Root" msgid "SFTP Root"
msgstr "SFTP根路径" msgstr "SFTP根路径"
#: assets/models/user.py:207 authentication/models.py:45 #: assets/models/user.py:208 authentication/models.py:45
msgid "Token" msgid "Token"
msgstr "" msgstr ""
#: assets/models/user.py:208 #: assets/models/user.py:209
msgid "Home" msgid "Home"
msgstr "家目录" msgstr "家目录"
#: assets/models/user.py:209 #: assets/models/user.py:210
msgid "System groups" msgid "System groups"
msgstr "用户组" msgstr "用户组"
#: assets/models/user.py:212 #: assets/models/user.py:213
msgid "User switch" msgid "User switch"
msgstr "用户切换" msgstr "用户切换"
#: assets/models/user.py:213 #: assets/models/user.py:214
msgid "Switch from" msgid "Switch from"
msgstr "切换自" msgstr "切换自"
@ -870,15 +870,19 @@ msgstr "网域名称"
msgid "Nodes name" msgid "Nodes name"
msgstr "节点名称" msgstr "节点名称"
#: assets/serializers/asset.py:104 #: assets/serializers/asset.py:73
msgid "Labels name"
msgstr "标签名称"
#: assets/serializers/asset.py:107
msgid "Hardware info" msgid "Hardware info"
msgstr "硬件信息" msgstr "硬件信息"
#: assets/serializers/asset.py:105 #: assets/serializers/asset.py:108
msgid "Admin user display" msgid "Admin user display"
msgstr "特权用户名称" msgstr "特权用户名称"
#: assets/serializers/asset.py:106 #: assets/serializers/asset.py:109
msgid "CPU info" msgid "CPU info"
msgstr "CPU信息" msgstr "CPU信息"
@ -887,7 +891,7 @@ msgid "private key invalid"
msgstr "密钥不合法" msgstr "密钥不合法"
#: assets/serializers/domain.py:13 assets/serializers/label.py:12 #: assets/serializers/domain.py:13 assets/serializers/label.py:12
#: assets/serializers/system_user.py:57 #: assets/serializers/system_user.py:58
#: perms/serializers/asset/permission.py:72 #: perms/serializers/asset/permission.py:72
msgid "Assets amount" msgid "Assets amount"
msgstr "资产数量" msgstr "资产数量"
@ -921,68 +925,68 @@ msgstr "密钥指纹"
msgid "Apps amount" msgid "Apps amount"
msgstr "应用数量" msgstr "应用数量"
#: assets/serializers/system_user.py:56 #: assets/serializers/system_user.py:57
#: perms/serializers/asset/permission.py:73 #: perms/serializers/asset/permission.py:73
msgid "Nodes amount" msgid "Nodes amount"
msgstr "节点数量" msgstr "节点数量"
#: assets/serializers/system_user.py:58 assets/serializers/system_user.py:259 #: assets/serializers/system_user.py:59 assets/serializers/system_user.py:260
msgid "Login mode display" msgid "Login mode display"
msgstr "认证方式名称" msgstr "认证方式名称"
#: assets/serializers/system_user.py:60 #: assets/serializers/system_user.py:61
msgid "Ad domain" msgid "Ad domain"
msgstr "Ad 网域" msgstr "Ad 网域"
#: assets/serializers/system_user.py:61 #: assets/serializers/system_user.py:62
msgid "Is asset protocol" msgid "Is asset protocol"
msgstr "资产协议" msgstr "资产协议"
#: assets/serializers/system_user.py:62 #: assets/serializers/system_user.py:63
msgid "Only ssh and automatic login system users are supported" msgid "Only ssh and automatic login system users are supported"
msgstr "仅支持ssh协议和自动登录的系统用户" msgstr "仅支持ssh协议和自动登录的系统用户"
#: assets/serializers/system_user.py:102 #: assets/serializers/system_user.py:103
msgid "Username same with user with protocol {} only allow 1" msgid "Username same with user with protocol {} only allow 1"
msgstr "用户名和用户相同的一种协议只允许存在一个" msgstr "用户名和用户相同的一种协议只允许存在一个"
#: assets/serializers/system_user.py:112 common/validators.py:14 #: assets/serializers/system_user.py:113 common/validators.py:14
msgid "Special char not allowed" msgid "Special char not allowed"
msgstr "不能包含特殊字符" msgstr "不能包含特殊字符"
#: assets/serializers/system_user.py:121 #: assets/serializers/system_user.py:122
msgid "* Automatic login mode must fill in the username." msgid "* Automatic login mode must fill in the username."
msgstr "自动登录模式,必须填写用户名" msgstr "自动登录模式,必须填写用户名"
#: assets/serializers/system_user.py:136 #: assets/serializers/system_user.py:137
msgid "Path should starts with /" msgid "Path should starts with /"
msgstr "路径应该以 / 开头" msgstr "路径应该以 / 开头"
#: assets/serializers/system_user.py:148 #: assets/serializers/system_user.py:149
msgid "Password or private key required" msgid "Password or private key required"
msgstr "密码或密钥密码需要一个" msgstr "密码或密钥密码需要一个"
#: assets/serializers/system_user.py:162 #: assets/serializers/system_user.py:163
msgid "Only ssh protocol system users are allowed" msgid "Only ssh protocol system users are allowed"
msgstr "仅允许ssh协议的系统用户" msgstr "仅允许ssh协议的系统用户"
#: assets/serializers/system_user.py:166 #: assets/serializers/system_user.py:167
msgid "The protocol must be consistent with the current user: {}" msgid "The protocol must be consistent with the current user: {}"
msgstr "协议必须和当前用户保持一致: {}" msgstr "协议必须和当前用户保持一致: {}"
#: assets/serializers/system_user.py:170 #: assets/serializers/system_user.py:171
msgid "Only system users with automatic login are allowed" msgid "Only system users with automatic login are allowed"
msgstr "仅允许自动登录的系统用户" msgstr "仅允许自动登录的系统用户"
#: assets/serializers/system_user.py:275 #: assets/serializers/system_user.py:276
msgid "System user name" msgid "System user name"
msgstr "系统用户名称" msgstr "系统用户名称"
#: assets/serializers/system_user.py:276 orgs/mixins/serializers.py:26 #: assets/serializers/system_user.py:277 orgs/mixins/serializers.py:26
msgid "Org name" msgid "Org name"
msgstr "组织名称" msgstr "组织名称"
#: assets/serializers/system_user.py:285 #: assets/serializers/system_user.py:286
msgid "Asset hostname" msgid "Asset hostname"
msgstr "资产主机名" msgstr "资产主机名"
@ -1136,7 +1140,7 @@ msgid "Symlink"
msgstr "建立软链接" msgstr "建立软链接"
#: audits/models.py:37 audits/models.py:60 audits/models.py:76 #: audits/models.py:37 audits/models.py:60 audits/models.py:76
#: terminal/models/session.py:45 terminal/models/sharing.py:76 #: terminal/models/session.py:46 terminal/models/sharing.py:76
msgid "Remote addr" msgid "Remote addr"
msgstr "远端地址" msgstr "远端地址"
@ -1153,7 +1157,7 @@ msgid "Success"
msgstr "成功" msgstr "成功"
#: audits/models.py:43 ops/models/command.py:30 perms/models/base.py:49 #: audits/models.py:43 ops/models/command.py:30 perms/models/base.py:49
#: terminal/models/session.py:52 #: terminal/models/session.py:53
#: tickets/serializers/ticket/meta/ticket_type/apply_application.py:57 #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:57
#: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:47 #: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:47
#: xpack/plugins/change_auth_plan/models/base.py:105 #: xpack/plugins/change_auth_plan/models/base.py:105
@ -1671,15 +1675,15 @@ msgstr "该 时间段 不被允许登录"
msgid "SSO auth closed" msgid "SSO auth closed"
msgstr "SSO 认证关闭了" msgstr "SSO 认证关闭了"
#: authentication/errors.py:300 authentication/mixins.py:360 #: authentication/errors.py:300 authentication/mixins.py:359
msgid "Your password is too simple, please change it for security" msgid "Your password is too simple, please change it for security"
msgstr "你的密码过于简单,为了安全,请修改" msgstr "你的密码过于简单,为了安全,请修改"
#: authentication/errors.py:309 authentication/mixins.py:367 #: authentication/errors.py:309 authentication/mixins.py:366
msgid "You should to change your password before login" msgid "You should to change your password before login"
msgstr "登录完成前,请先修改密码" msgstr "登录完成前,请先修改密码"
#: authentication/errors.py:318 authentication/mixins.py:374 #: authentication/errors.py:318 authentication/mixins.py:373
msgid "Your password has expired, please reset before logging in" msgid "Your password has expired, please reset before logging in"
msgstr "您的密码已过期,先修改再登录" msgstr "您的密码已过期,先修改再登录"
@ -1771,11 +1775,11 @@ msgstr "设置手机号码启用"
msgid "Clear phone number to disable" msgid "Clear phone number to disable"
msgstr "清空手机号码禁用" msgstr "清空手机号码禁用"
#: authentication/mixins.py:315 #: authentication/mixins.py:314
msgid "The MFA type ({}) is not enabled" msgid "The MFA type ({}) is not enabled"
msgstr "该 MFA ({}) 方式没有启用" msgstr "该 MFA ({}) 方式没有启用"
#: authentication/mixins.py:350 #: authentication/mixins.py:349
msgid "Please change your password" msgid "Please change your password"
msgstr "请修改密码" msgstr "请修改密码"
@ -1976,7 +1980,7 @@ msgid "MFA Auth"
msgstr "MFA 多因子认证" msgstr "MFA 多因子认证"
#: authentication/templates/authentication/login_mfa.html:19 #: authentication/templates/authentication/login_mfa.html:19
#: users/templates/users/user_otp_check_password.html:18 #: users/templates/users/user_otp_check_password.html:12
#: users/templates/users/user_otp_enable_bind.html:24 #: users/templates/users/user_otp_enable_bind.html:24
#: users/templates/users/user_otp_enable_install_app.html:29 #: users/templates/users/user_otp_enable_install_app.html:29
#: users/templates/users/user_verify_mfa.html:30 #: users/templates/users/user_verify_mfa.html:30
@ -4295,15 +4299,15 @@ msgstr "不支持批量创建"
msgid "Storage is invalid" msgid "Storage is invalid"
msgstr "存储无效" msgstr "存储无效"
#: terminal/models/session.py:44 terminal/models/sharing.py:81 #: terminal/models/session.py:45 terminal/models/sharing.py:81
msgid "Login from" msgid "Login from"
msgstr "登录来源" msgstr "登录来源"
#: terminal/models/session.py:48 #: terminal/models/session.py:49
msgid "Replay" msgid "Replay"
msgstr "回放" msgstr "回放"
#: terminal/models/session.py:53 #: terminal/models/session.py:54
msgid "Date end" msgid "Date end"
msgstr "结束日期" msgstr "结束日期"
@ -5400,19 +5404,7 @@ msgstr "不包含"
#: users/templates/users/user_otp_check_password.html:6 #: users/templates/users/user_otp_check_password.html:6
msgid "Enable OTP" msgid "Enable OTP"
msgstr "启用 MFA (OTP)" msgstr "启用 MFA(OTP)"
#: users/templates/users/user_otp_check_password.html:10
msgid "Please enter the password of"
msgstr "请输入"
#: users/templates/users/user_otp_check_password.html:10
msgid "account"
msgstr "账户"
#: users/templates/users/user_otp_check_password.html:10
msgid "to complete the binding operation"
msgstr "的密码完成绑定操作"
#: users/templates/users/user_otp_enable_bind.html:6 #: users/templates/users/user_otp_enable_bind.html:6
msgid "Bind one-time password authenticator" msgid "Bind one-time password authenticator"
@ -5422,12 +5414,12 @@ msgstr "绑定MFA验证器"
msgid "" msgid ""
"Use the MFA Authenticator application to scan the following qr code for a 6-" "Use the MFA Authenticator application to scan the following qr code for a 6-"
"bit verification code" "bit verification code"
msgstr "使用MFA验证器应用扫描以下二维码获取6位验证码" msgstr "使用 MFA 验证器应用扫描以下二维码获取6位验证码"
#: users/templates/users/user_otp_enable_bind.html:22 #: users/templates/users/user_otp_enable_bind.html:22
#: users/templates/users/user_verify_mfa.html:27 #: users/templates/users/user_verify_mfa.html:27
msgid "Six figures" msgid "Six figures"
msgstr "6位数字" msgstr "6 位数字"
#: users/templates/users/user_otp_enable_install_app.html:6 #: users/templates/users/user_otp_enable_install_app.html:6
msgid "Install app" msgid "Install app"
@ -5437,7 +5429,7 @@ msgstr "安装应用"
msgid "" msgid ""
"Download and install the MFA Authenticator application on your phone or " "Download and install the MFA Authenticator application on your phone or "
"applet of WeChat" "applet of WeChat"
msgstr "请在手机端或微信小程序下载并安装MFA验证器应用" msgstr "请在手机端或微信小程序下载并安装 MFA 验证器应用"
#: users/templates/users/user_otp_enable_install_app.html:18 #: users/templates/users/user_otp_enable_install_app.html:18
msgid "Android downloads" msgid "Android downloads"
@ -5476,33 +5468,33 @@ msgstr "账号保护已开启,请根据提示完成以下操作"
msgid "Open MFA Authenticator and enter the 6-bit dynamic code" msgid "Open MFA Authenticator and enter the 6-bit dynamic code"
msgstr "请打开 MFA 验证器,输入 6 位动态码" msgstr "请打开 MFA 验证器,输入 6 位动态码"
#: users/views/profile/otp.py:80 #: users/views/profile/otp.py:86
msgid "Already bound" msgid "Already bound"
msgstr "已经绑定" msgstr "已经绑定"
#: users/views/profile/otp.py:81 #: users/views/profile/otp.py:87
msgid "MFA already bound, disable first, then bound" msgid "MFA already bound, disable first, then bound"
msgstr "MFA (OTP) 已经绑定,请先禁用,再绑定" msgstr "MFA(OTP) 已经绑定,请先禁用,再绑定"
#: users/views/profile/otp.py:108 #: users/views/profile/otp.py:114
msgid "OTP enable success" msgid "OTP enable success"
msgstr "MFA (OTP) 启用成功" msgstr "MFA(OTP) 启用成功"
#: users/views/profile/otp.py:109 #: users/views/profile/otp.py:115
msgid "OTP enable success, return login page" msgid "OTP enable success, return login page"
msgstr "MFA (OTP) 启用成功,返回到登录页面" msgstr "MFA(OTP) 启用成功,返回到登录页面"
#: users/views/profile/otp.py:151 #: users/views/profile/otp.py:157
msgid "Disable OTP" msgid "Disable OTP"
msgstr "禁用虚拟 MFA(OTP)" msgstr "禁用虚拟 MFA(OTP)"
#: users/views/profile/otp.py:157 #: users/views/profile/otp.py:163
msgid "OTP disable success" msgid "OTP disable success"
msgstr "MFA (OTP) 禁用成功" msgstr "MFA(OTP) 禁用成功"
#: users/views/profile/otp.py:158 #: users/views/profile/otp.py:164
msgid "OTP disable success, return login page" msgid "OTP disable success, return login page"
msgstr "MFA (OTP) 禁用成功,返回登录页面" msgstr "MFA(OTP) 禁用成功,返回登录页面"
#: users/views/profile/password.py:36 users/views/profile/password.py:41 #: users/views/profile/password.py:36 users/views/profile/password.py:41
msgid "Password invalid" msgid "Password invalid"
@ -6136,3 +6128,12 @@ msgstr "旗舰版"
#: xpack/plugins/license/models.py:77 #: xpack/plugins/license/models.py:77
msgid "Community edition" msgid "Community edition"
msgstr "社区版" msgstr "社区版"
#~ msgid "Please enter the password of"
#~ msgstr "请输入"
#~ msgid "account"
#~ msgstr "账户"
#~ msgid "to complete the binding operation"
#~ msgstr "的密码完成绑定操作"