From ddb34a0f592414bce25b9bb7478892be58ad1f6d Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Mon, 23 Sep 2019 16:48:59 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E6=B7=BB=E5=8A=A0=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 80204 -> 80508 bytes apps/locale/zh/LC_MESSAGES/django.po | 222 +++++++++++++-------------- apps/users/serializers/v1.py | 2 +- 3 files changed, 105 insertions(+), 119 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 9e67176a96aaab4bb93c25d513d53365ffd1d70c..785d29df7f16cfc0c21a4241d1fa7b2db2b94f5d 100644 GIT binary patch delta 23870 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\n" "Language-Team: Jumpserver team\n" @@ -90,7 +90,7 @@ msgstr "运行参数" #: perms/templates/perms/asset_permission_create_update.html:45 #: perms/templates/perms/asset_permission_list.html:52 #: perms/templates/perms/asset_permission_list.html:121 -#: terminal/backends/command/models.py:13 terminal/models.py:155 +#: terminal/backends/command/models.py:13 terminal/models.py:156 #: terminal/templates/terminal/command_list.html:30 #: terminal/templates/terminal/command_list.html:66 #: terminal/templates/terminal/session_list.html:28 @@ -126,7 +126,7 @@ msgstr "资产" #: assets/templates/assets/label_list.html:14 #: assets/templates/assets/system_user_detail.html:58 #: assets/templates/assets/system_user_list.html:51 ops/models/adhoc.py:37 -#: ops/templates/ops/task_detail.html:60 ops/templates/ops/task_list.html:27 +#: ops/templates/ops/task_detail.html:60 ops/templates/ops/task_list.html:11 #: orgs/models.py:11 perms/models/base.py:48 #: perms/templates/perms/asset_permission_detail.html:62 #: perms/templates/perms/asset_permission_list.html:49 @@ -142,7 +142,7 @@ msgstr "资产" #: settings/templates/settings/replay_storage_create.html:44 #: settings/templates/settings/terminal_setting.html:83 #: settings/templates/settings/terminal_setting.html:105 terminal/models.py:22 -#: terminal/models.py:258 terminal/templates/terminal/terminal_detail.html:43 +#: terminal/models.py:259 terminal/templates/terminal/terminal_detail.html:43 #: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:14 #: users/models/user.py:373 users/templates/users/_select_user_modal.html:13 #: users/templates/users/user_detail.html:63 @@ -216,7 +216,7 @@ msgstr "创建者" #: assets/models/label.py:25 assets/templates/assets/admin_user_detail.html:64 #: assets/templates/assets/cmd_filter_detail.html:69 #: assets/templates/assets/domain_detail.html:68 -#: assets/templates/assets/system_user_detail.html:96 +#: assets/templates/assets/system_user_detail.html:96 ops/models/adhoc.py:45 #: ops/templates/ops/adhoc_detail.html:90 ops/templates/ops/task_detail.html:64 #: orgs/models.py:16 perms/models/base.py:55 #: perms/templates/perms/asset_permission_detail.html:94 @@ -411,7 +411,7 @@ msgstr "详情" #: perms/templates/perms/asset_permission_detail.html:30 #: perms/templates/perms/asset_permission_list.html:178 #: perms/templates/perms/remote_app_permission_detail.html:30 -#: perms/templates/perms/remote_app_permission_list.html:59 +#: perms/templates/perms/remote_app_permission_list.html:64 #: terminal/templates/terminal/terminal_detail.html:16 #: terminal/templates/terminal/terminal_list.html:73 #: users/templates/users/user_detail.html:25 @@ -430,7 +430,7 @@ msgstr "详情" #: xpack/plugins/cloud/templates/cloud/account_list.html:40 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:29 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:57 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:51 +#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:46 #: xpack/plugins/orgs/templates/orgs/org_detail.html:25 #: xpack/plugins/orgs/templates/orgs/org_list.html:93 msgid "Update" @@ -453,11 +453,11 @@ msgstr "更新" #: assets/templates/assets/system_user_detail.html:30 #: assets/templates/assets/system_user_list.html:86 audits/models.py:34 #: authentication/templates/authentication/_access_key_modal.html:65 -#: ops/templates/ops/task_list.html:64 +#: ops/templates/ops/task_list.html:69 #: perms/templates/perms/asset_permission_detail.html:34 #: perms/templates/perms/asset_permission_list.html:179 #: perms/templates/perms/remote_app_permission_detail.html:34 -#: perms/templates/perms/remote_app_permission_list.html:60 +#: perms/templates/perms/remote_app_permission_list.html:65 #: settings/templates/settings/terminal_setting.html:93 #: settings/templates/settings/terminal_setting.html:115 #: terminal/templates/terminal/terminal_list.html:75 @@ -472,7 +472,7 @@ msgstr "更新" #: xpack/plugins/cloud/templates/cloud/account_list.html:42 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:33 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:58 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:52 +#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:47 #: xpack/plugins/orgs/templates/orgs/org_detail.html:29 #: xpack/plugins/orgs/templates/orgs/org_list.html:95 msgid "Delete" @@ -512,12 +512,12 @@ msgstr "创建远程应用" #: audits/templates/audits/operate_log_list.html:73 #: authentication/templates/authentication/_access_key_modal.html:30 #: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:64 -#: ops/templates/ops/task_history.html:65 ops/templates/ops/task_list.html:34 +#: ops/templates/ops/task_history.html:65 ops/templates/ops/task_list.html:18 #: perms/forms/asset_permission.py:21 #: perms/templates/perms/asset_permission_create_update.html:50 #: perms/templates/perms/asset_permission_list.html:56 #: perms/templates/perms/asset_permission_list.html:130 -#: perms/templates/perms/remote_app_permission_list.html:19 +#: perms/templates/perms/remote_app_permission_list.html:20 #: settings/templates/settings/terminal_setting.html:85 #: settings/templates/settings/terminal_setting.html:107 #: terminal/templates/terminal/session_list.html:36 @@ -594,7 +594,7 @@ msgstr "端口" msgid "Nodes" msgstr "节点" -#: assets/forms/asset.py:58 assets/forms/asset.py:104 +#: assets/forms/asset.py:58 assets/forms/asset.py:106 #: assets/models/asset.py:149 assets/models/cluster.py:19 #: assets/models/user.py:68 assets/templates/assets/asset_detail.html:76 #: templates/_nav.html:44 xpack/plugins/cloud/models.py:161 @@ -603,7 +603,7 @@ msgstr "节点" msgid "Admin user" msgstr "管理用户" -#: assets/forms/asset.py:61 assets/forms/asset.py:107 assets/forms/asset.py:146 +#: assets/forms/asset.py:61 assets/forms/asset.py:109 assets/forms/asset.py:148 #: assets/templates/assets/asset_create.html:48 #: assets/templates/assets/asset_create.html:50 #: assets/templates/assets/asset_list.html:85 @@ -611,7 +611,7 @@ msgstr "管理用户" msgid "Label" msgstr "标签" -#: assets/forms/asset.py:64 assets/forms/asset.py:110 +#: assets/forms/asset.py:64 assets/forms/asset.py:112 #: assets/models/asset.py:144 assets/models/domain.py:26 #: assets/models/domain.py:52 assets/templates/assets/asset_detail.html:80 #: assets/templates/assets/user_asset_list.html:53 @@ -619,8 +619,8 @@ msgstr "标签" msgid "Domain" msgstr "网域" -#: assets/forms/asset.py:68 assets/forms/asset.py:101 assets/forms/asset.py:114 -#: assets/forms/asset.py:149 assets/models/node.py:402 +#: assets/forms/asset.py:68 assets/forms/asset.py:103 assets/forms/asset.py:116 +#: assets/forms/asset.py:151 assets/models/node.py:403 #: assets/templates/assets/asset_create.html:42 #: perms/forms/asset_permission.py:82 perms/forms/asset_permission.py:89 #: perms/templates/perms/asset_permission_list.html:53 @@ -635,7 +635,11 @@ msgstr "网域" msgid "Node" msgstr "节点" -#: assets/forms/asset.py:72 assets/forms/asset.py:118 +#: assets/forms/asset.py:71 +msgid "Only Numbers, letters, and characters ( {} ) are allowed" +msgstr "" + +#: assets/forms/asset.py:74 assets/forms/asset.py:120 msgid "" "root or other NOPASSWD sudo privilege user existed in asset,If asset is " "windows or other set any one, more see admin user left menu" @@ -643,16 +647,16 @@ msgstr "" "root或其他拥有NOPASSWD: ALL权限的用户, 如果是windows或其它硬件可以随意设置一" "个, 更多信息查看左侧 `管理用户` 菜单" -#: assets/forms/asset.py:75 assets/forms/asset.py:121 +#: assets/forms/asset.py:77 assets/forms/asset.py:123 msgid "Windows 2016 RDP protocol is different, If is window 2016, set it" msgstr "Windows 2016的RDP协议与之前不同,如果是请设置" -#: assets/forms/asset.py:76 assets/forms/asset.py:122 +#: assets/forms/asset.py:78 assets/forms/asset.py:124 msgid "" "If your have some network not connect with each other, you can set domain" msgstr "如果有多个的互相隔离的网络,设置资产属于的网域,使用网域网关跳转登录" -#: assets/forms/asset.py:129 assets/forms/asset.py:133 +#: assets/forms/asset.py:131 assets/forms/asset.py:135 #: assets/forms/domain.py:17 assets/forms/label.py:15 #: perms/templates/perms/asset_permission_asset.html:78 #: xpack/plugins/change_auth_plan/forms.py:55 @@ -685,7 +689,7 @@ msgstr "SSH网关,支持代理SSH,RDP和VNC" #: audits/templates/audits/login_log_list.html:57 authentication/forms.py:13 #: authentication/templates/authentication/login.html:65 #: authentication/templates/authentication/new_login.html:92 -#: ops/models/adhoc.py:164 perms/templates/perms/asset_permission_list.html:70 +#: ops/models/adhoc.py:189 perms/templates/perms/asset_permission_list.html:70 #: perms/templates/perms/asset_permission_user.html:55 #: perms/templates/perms/remote_app_permission_user.html:54 #: settings/templates/settings/_ldap_list_users_modal.html:30 users/forms.py:14 @@ -811,7 +815,7 @@ msgstr "主机名" msgid "Protocol" msgstr "协议" -#: assets/models/asset.py:142 assets/serializers/asset.py:63 +#: assets/models/asset.py:142 assets/serializers/asset.py:64 #: assets/templates/assets/asset_create.html:24 #: assets/templates/assets/user_asset_list.html:50 #: perms/serializers/user_permission.py:48 @@ -926,7 +930,7 @@ msgid "SSH public key" msgstr "ssh公钥" #: assets/models/base.py:35 assets/models/gathered_user.py:21 -#: assets/templates/assets/cmd_filter_detail.html:73 +#: assets/templates/assets/cmd_filter_detail.html:73 ops/models/adhoc.py:46 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:109 #: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:76 msgid "Date updated" @@ -995,7 +999,7 @@ msgid "Regex" msgstr "正则表达式" #: assets/models/cmd_filter.py:39 ops/models/command.py:21 -#: ops/templates/ops/command_execution_list.html:64 terminal/models.py:161 +#: ops/templates/ops/command_execution_list.html:64 terminal/models.py:162 #: terminal/templates/terminal/command_list.html:28 #: terminal/templates/terminal/command_list.html:68 #: terminal/templates/terminal/session_detail.html:48 @@ -1090,10 +1094,10 @@ msgstr "默认资产组" #: perms/templates/perms/remote_app_permission_create_update.html:43 #: perms/templates/perms/remote_app_permission_list.html:15 #: templates/index.html:87 terminal/backends/command/models.py:12 -#: terminal/models.py:154 terminal/templates/terminal/command_list.html:29 +#: terminal/models.py:155 terminal/templates/terminal/command_list.html:29 #: terminal/templates/terminal/command_list.html:65 #: terminal/templates/terminal/session_list.html:27 -#: terminal/templates/terminal/session_list.html:71 users/forms.py:316 +#: terminal/templates/terminal/session_list.html:71 users/forms.py:312 #: users/models/user.py:127 users/models/user.py:143 users/models/user.py:500 #: users/serializers/v1.py:130 users/templates/users/user_group_detail.html:78 #: users/templates/users/user_group_list.html:36 users/views/user.py:250 @@ -1103,7 +1107,7 @@ msgstr "默认资产组" msgid "User" msgstr "用户" -#: assets/models/label.py:19 assets/models/node.py:393 +#: assets/models/label.py:19 assets/models/node.py:394 #: assets/templates/assets/label_list.html:15 settings/models.py:30 msgid "Value" msgstr "值" @@ -1116,15 +1120,15 @@ msgstr "分类" msgid "New node" msgstr "新节点" -#: assets/models/node.py:317 +#: assets/models/node.py:318 msgid "ungrouped" msgstr "未分组" -#: assets/models/node.py:319 +#: assets/models/node.py:320 msgid "empty" msgstr "空" -#: assets/models/node.py:392 +#: assets/models/node.py:393 msgid "Key" msgstr "键" @@ -1188,8 +1192,9 @@ msgstr "登录模式" #: perms/templates/perms/asset_permission_list.html:75 #: perms/templates/perms/asset_permission_list.html:127 #: perms/templates/perms/remote_app_permission_detail.html:131 +#: perms/templates/perms/remote_app_permission_list.html:18 #: templates/_nav.html:45 terminal/backends/command/models.py:14 -#: terminal/models.py:156 terminal/templates/terminal/command_list.html:31 +#: terminal/models.py:157 terminal/templates/terminal/command_list.html:31 #: terminal/templates/terminal/command_list.html:67 #: terminal/templates/terminal/session_list.html:29 #: terminal/templates/terminal/session_list.html:73 @@ -1217,27 +1222,31 @@ msgstr "可连接" msgid "Unknown" msgstr "未知" -#: assets/serializers/asset.py:21 +#: assets/serializers/asset.py:22 msgid "Protocol format should {}/{}" msgstr "协议格式 {}/{}" -#: assets/serializers/asset.py:38 +#: assets/serializers/asset.py:39 msgid "Protocol duplicate: {}" msgstr "协议重复: {}" -#: assets/serializers/asset.py:64 assets/serializers/asset_user.py:29 +#: assets/serializers/asset.py:65 assets/serializers/asset_user.py:29 #: assets/templates/assets/_asset_user_list.html:18 msgid "Connectivity" msgstr "连接" -#: assets/serializers/asset.py:90 +#: assets/serializers/asset.py:91 msgid "Hardware info" msgstr "硬件信息" -#: assets/serializers/asset.py:91 orgs/mixins/serializers.py:27 +#: assets/serializers/asset.py:92 orgs/mixins/serializers.py:27 msgid "Org name" msgstr "组织名称" +#: assets/serializers/asset.py:100 +msgid "* The hostname contains characters that are not allowed" +msgstr "* 主机名包含不被允许的字符" + #: assets/serializers/asset_user.py:31 msgid "Backend" msgstr "后端" @@ -2162,7 +2171,7 @@ msgstr "系统用户资产" #: audits/templates/audits/ftp_log_list.html:76 #: audits/templates/audits/operate_log_list.html:76 #: audits/templates/audits/password_change_log_list.html:58 -#: terminal/models.py:158 terminal/templates/terminal/session_list.html:30 +#: terminal/models.py:159 terminal/templates/terminal/session_list.html:30 #: terminal/templates/terminal/session_list.html:74 #: terminal/templates/terminal/terminal_detail.html:47 msgid "Remote addr" @@ -2180,7 +2189,7 @@ msgstr "文件名" #: audits/models.py:23 audits/models.py:76 #: audits/templates/audits/ftp_log_list.html:79 #: ops/templates/ops/command_execution_list.html:68 -#: ops/templates/ops/task_list.html:31 +#: ops/templates/ops/task_list.html:15 #: users/templates/users/user_detail.html:464 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:14 #: xpack/plugins/cloud/api.py:61 @@ -2273,7 +2282,7 @@ msgstr "登录日期" #: ops/templates/ops/task_history.html:58 perms/models/base.py:52 #: perms/templates/perms/asset_permission_detail.html:86 #: perms/templates/perms/remote_app_permission_detail.html:78 -#: terminal/models.py:165 terminal/templates/terminal/session_list.html:34 +#: terminal/models.py:166 terminal/templates/terminal/session_list.html:34 #: xpack/plugins/change_auth_plan/models.py:249 #: xpack/plugins/change_auth_plan/models.py:419 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:59 @@ -2294,7 +2303,6 @@ msgstr "选择用户" #: audits/templates/audits/password_change_log_list.html:48 #: ops/templates/ops/command_execution_list.html:46 #: ops/templates/ops/command_execution_list.html:51 -#: ops/templates/ops/task_list.html:13 ops/templates/ops/task_list.html:18 #: templates/_base_list.html:41 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:52 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:48 @@ -2322,7 +2330,7 @@ msgstr "城市" #: audits/templates/audits/login_log_list.html:65 #: authentication/templates/authentication/_access_key_modal.html:29 -#: ops/templates/ops/task_list.html:32 +#: ops/templates/ops/task_list.html:16 msgid "Date" msgstr "日期" @@ -2715,6 +2723,10 @@ msgstr "不能包含特殊字符" msgid "This field must be unique." msgstr "字段必须唯一" +#: jumpserver/celery_flower.py:21 +msgid "

Flow service unavailable, check it

" +msgstr "" + #: jumpserver/views.py:184 templates/_nav.html:7 msgid "Dashboard" msgstr "仪表盘" @@ -2757,65 +2769,65 @@ msgstr "5 * * * *" msgid "Callback" msgstr "回调" -#: ops/models/adhoc.py:158 ops/templates/ops/adhoc_detail.html:114 +#: ops/models/adhoc.py:183 ops/templates/ops/adhoc_detail.html:114 msgid "Tasks" msgstr "任务" -#: ops/models/adhoc.py:159 ops/templates/ops/adhoc_detail.html:57 +#: ops/models/adhoc.py:184 ops/templates/ops/adhoc_detail.html:57 #: ops/templates/ops/task_adhoc.html:60 msgid "Pattern" msgstr "模式" -#: ops/models/adhoc.py:160 ops/templates/ops/adhoc_detail.html:61 +#: ops/models/adhoc.py:185 ops/templates/ops/adhoc_detail.html:61 msgid "Options" msgstr "选项" -#: ops/models/adhoc.py:161 ops/templates/ops/adhoc_detail.html:53 +#: ops/models/adhoc.py:186 ops/templates/ops/adhoc_detail.html:53 #: ops/templates/ops/command_execution_list.html:62 -#: ops/templates/ops/task_adhoc.html:59 ops/templates/ops/task_list.html:30 +#: ops/templates/ops/task_adhoc.html:59 ops/templates/ops/task_list.html:14 #: settings/templates/settings/command_storage_create.html:49 msgid "Hosts" msgstr "主机" -#: ops/models/adhoc.py:162 +#: ops/models/adhoc.py:187 #: settings/templates/settings/replay_storage_create.html:52 #: templates/index.html:91 msgid "Host" msgstr "主机" -#: ops/models/adhoc.py:163 +#: ops/models/adhoc.py:188 msgid "Run as admin" msgstr "再次执行" -#: ops/models/adhoc.py:165 ops/templates/ops/adhoc_detail.html:82 +#: ops/models/adhoc.py:190 ops/templates/ops/adhoc_detail.html:82 #: ops/templates/ops/task_adhoc.html:62 msgid "Become" msgstr "Become" -#: ops/models/adhoc.py:166 users/templates/users/user_group_detail.html:59 +#: ops/models/adhoc.py:191 users/templates/users/user_group_detail.html:59 #: xpack/plugins/cloud/templates/cloud/account_detail.html:62 #: xpack/plugins/orgs/templates/orgs/org_detail.html:56 msgid "Create by" msgstr "创建者" -#: ops/models/adhoc.py:226 +#: ops/models/adhoc.py:251 msgid "{} Start task: {}" msgstr "{} 任务开始: {}" -#: ops/models/adhoc.py:238 +#: ops/models/adhoc.py:263 msgid "{} Task finish" msgstr "{} 任务结束" -#: ops/models/adhoc.py:329 +#: ops/models/adhoc.py:355 msgid "Start time" msgstr "开始时间" -#: ops/models/adhoc.py:330 +#: ops/models/adhoc.py:356 msgid "End time" msgstr "完成时间" -#: ops/models/adhoc.py:331 ops/templates/ops/adhoc_history.html:57 -#: ops/templates/ops/task_history.html:63 ops/templates/ops/task_list.html:33 +#: ops/models/adhoc.py:357 ops/templates/ops/adhoc_history.html:57 +#: ops/templates/ops/task_history.html:63 ops/templates/ops/task_list.html:17 #: xpack/plugins/change_auth_plan/models.py:252 #: xpack/plugins/change_auth_plan/models.py:422 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:58 @@ -2824,23 +2836,23 @@ msgstr "完成时间" msgid "Time" msgstr "时间" -#: ops/models/adhoc.py:332 ops/templates/ops/adhoc_detail.html:106 +#: ops/models/adhoc.py:358 ops/templates/ops/adhoc_detail.html:106 #: ops/templates/ops/adhoc_history.html:55 #: ops/templates/ops/adhoc_history_detail.html:69 #: ops/templates/ops/task_detail.html:84 ops/templates/ops/task_history.html:61 msgid "Is finished" msgstr "是否完成" -#: ops/models/adhoc.py:333 ops/templates/ops/adhoc_history.html:56 +#: ops/models/adhoc.py:359 ops/templates/ops/adhoc_history.html:56 #: ops/templates/ops/task_history.html:62 msgid "Is success" msgstr "是否成功" -#: ops/models/adhoc.py:334 +#: ops/models/adhoc.py:360 msgid "Adhoc raw result" msgstr "结果" -#: ops/models/adhoc.py:335 +#: ops/models/adhoc.py:361 msgid "Adhoc result summary" msgstr "汇总" @@ -2868,7 +2880,7 @@ msgid "Version detail" msgstr "版本详情" #: ops/templates/ops/adhoc_detail.html:22 -#: ops/templates/ops/adhoc_history.html:22 ops/views/adhoc.py:128 +#: ops/templates/ops/adhoc_history.html:22 ops/views/adhoc.py:111 msgid "Version run history" msgstr "执行历史" @@ -2879,7 +2891,7 @@ msgstr "执行历史" msgid "Run as" msgstr "运行用户" -#: ops/templates/ops/adhoc_detail.html:94 ops/templates/ops/task_list.html:28 +#: ops/templates/ops/adhoc_detail.html:94 ops/templates/ops/task_list.html:12 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:18 #: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:19 msgid "Run times" @@ -2933,7 +2945,7 @@ msgstr "失败/成功/总" msgid "Ratio" msgstr "比例" -#: ops/templates/ops/adhoc_history_detail.html:19 ops/views/adhoc.py:142 +#: ops/templates/ops/adhoc_history_detail.html:19 ops/views/adhoc.py:125 msgid "Run history detail" msgstr "执行历史详情" @@ -3009,12 +3021,12 @@ msgid "Finished" msgstr "结束" #: ops/templates/ops/task_adhoc.html:19 ops/templates/ops/task_detail.html:20 -#: ops/templates/ops/task_history.html:19 ops/views/adhoc.py:72 +#: ops/templates/ops/task_history.html:19 ops/views/adhoc.py:55 msgid "Task detail" msgstr "任务详情" #: ops/templates/ops/task_adhoc.html:22 ops/templates/ops/task_detail.html:23 -#: ops/templates/ops/task_history.html:22 ops/views/adhoc.py:86 +#: ops/templates/ops/task_history.html:22 ops/views/adhoc.py:69 msgid "Task versions" msgstr "任务各版本" @@ -3040,20 +3052,20 @@ msgstr "版本数量" msgid "Contents" msgstr "内容" -#: ops/templates/ops/task_list.html:29 +#: ops/templates/ops/task_list.html:13 msgid "Versions" msgstr "版本" -#: ops/templates/ops/task_list.html:63 +#: ops/templates/ops/task_list.html:68 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:137 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:54 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:141 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:55 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:49 +#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:44 msgid "Run" msgstr "执行" -#: ops/templates/ops/task_list.html:123 +#: ops/templates/ops/task_list.html:109 msgid "Task start: " msgstr "任务开始: " @@ -3061,18 +3073,18 @@ msgstr "任务开始: " msgid "Update task content: {}" msgstr "更新任务内容: {}" -#: ops/views/adhoc.py:45 ops/views/adhoc.py:71 ops/views/adhoc.py:85 -#: ops/views/adhoc.py:99 ops/views/adhoc.py:113 ops/views/adhoc.py:127 -#: ops/views/adhoc.py:141 ops/views/command.py:48 ops/views/command.py:79 +#: ops/views/adhoc.py:31 ops/views/adhoc.py:54 ops/views/adhoc.py:68 +#: ops/views/adhoc.py:82 ops/views/adhoc.py:96 ops/views/adhoc.py:110 +#: ops/views/adhoc.py:124 ops/views/command.py:48 ops/views/command.py:79 msgid "Ops" msgstr "作业中心" -#: ops/views/adhoc.py:46 templates/_nav.html:115 +#: ops/views/adhoc.py:32 templates/_nav.html:115 #: xpack/plugins/gathered_user/views.py:35 msgid "Task list" msgstr "任务列表" -#: ops/views/adhoc.py:100 +#: ops/views/adhoc.py:83 msgid "Task run history" msgstr "执行历史" @@ -3253,7 +3265,7 @@ msgstr "刷新授权缓存" #: perms/templates/perms/asset_permission_list.html:55 #: perms/templates/perms/asset_permission_list.html:69 -#: perms/templates/perms/remote_app_permission_list.html:18 +#: perms/templates/perms/remote_app_permission_list.html:19 #: users/templates/users/user_list.html:40 xpack/plugins/cloud/models.py:74 #: xpack/plugins/cloud/templates/cloud/account_detail.html:58 #: xpack/plugins/cloud/templates/cloud/account_list.html:14 @@ -4361,19 +4373,19 @@ msgstr "线程数" msgid "Boot Time" msgstr "运行时间" -#: terminal/models.py:160 terminal/templates/terminal/session_list.html:136 +#: terminal/models.py:161 terminal/templates/terminal/session_list.html:136 msgid "Replay" msgstr "回放" -#: terminal/models.py:164 +#: terminal/models.py:165 msgid "Date last active" msgstr "最后活跃日期" -#: terminal/models.py:166 +#: terminal/models.py:167 msgid "Date end" msgstr "结束日期" -#: terminal/models.py:259 +#: terminal/models.py:260 msgid "Args" msgstr "参数" @@ -4614,7 +4626,7 @@ msgstr "自动配置并下载SSH密钥" msgid "Paste your id_rsa.pub here." msgstr "复制你的公钥到这里" -#: users/forms.py:269 users/forms.py:274 users/forms.py:320 +#: users/forms.py:269 users/forms.py:274 users/forms.py:316 #: xpack/plugins/orgs/forms.py:30 msgid "Select users" msgstr "选择用户" @@ -4708,8 +4720,8 @@ msgid "Password does not match security rules" msgstr "密码不满足安全规则" #: users/serializers/v1.py:147 -msgid "Auditors cannot be join in the group" -msgstr "" +msgid "Auditors cannot be join in the user group" +msgstr "审计员不能被加入到用户组" #: users/serializers_v2/user.py:36 msgid "name not unique" @@ -5630,7 +5642,7 @@ msgstr "手动执行计划" #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:179 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:103 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:96 +#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:91 msgid "Execute failed" msgstr "执行失败" @@ -5903,6 +5915,8 @@ msgstr "更新同步实例任务" #: xpack/plugins/gathered_user/meta.py:11 #: xpack/plugins/gathered_user/views.py:21 #: xpack/plugins/gathered_user/views.py:34 +#: xpack/plugins/gathered_user/views.py:49 +#: xpack/plugins/gathered_user/views.py:66 msgid "Gathered user" msgstr "收集用户" @@ -5937,12 +5951,6 @@ msgstr "创建任务" msgid "Gathered user list" msgstr "收集用户列表" -#: xpack/plugins/gathered_user/views.py:49 -#: xpack/plugins/gathered_user/views.py:66 xpack/plugins/vault/meta.py:11 -#: xpack/plugins/vault/views.py:23 xpack/plugins/vault/views.py:38 -msgid "Vault" -msgstr "密码匣子" - #: xpack/plugins/gathered_user/views.py:67 msgid "Update task" msgstr "更新任务" @@ -6127,10 +6135,8 @@ msgid "Admin" msgstr "管理员" #: xpack/plugins/orgs/forms.py:42 -#, fuzzy -#| msgid "Select admins" msgid "Select auditor" -msgstr "选择管理员" +msgstr "选择审计员员" #: xpack/plugins/orgs/meta.py:8 xpack/plugins/orgs/views.py:26 #: xpack/plugins/orgs/views.py:43 xpack/plugins/orgs/views.py:60 @@ -6163,6 +6169,11 @@ msgstr "创建组织" msgid "Update org" msgstr "更新组织" +#: xpack/plugins/vault/meta.py:11 xpack/plugins/vault/views.py:23 +#: xpack/plugins/vault/views.py:38 +msgid "Vault" +msgstr "密码匣子" + #: xpack/plugins/vault/templates/vault/_xpack_import_modal.html:4 msgid "Import vault" msgstr "导入密码" @@ -6330,16 +6341,6 @@ msgstr "创建" #~ msgid "Monitor" #~ msgstr "监控" -#, fuzzy -#~| msgid "Select user" -#~ msgid "Select time" -#~ msgstr "选择用户" - -#, fuzzy -#~| msgid "Select Asset" -#~ msgid "Select host" -#~ msgstr "选择资产" - #~ msgid "Beijing Duizhan Tech, Inc." #~ msgstr "北京堆栈科技有限公司" @@ -6373,24 +6374,9 @@ msgstr "创建" #~ msgid "Invalid private key" #~ msgstr "ssh密钥不合法" -#, fuzzy -#~| msgid "CPU count" -#~ msgid "Cpu count" -#~ msgstr "CPU数量" - #~ msgid "Login Jumpserver" #~ msgstr "登录 Jumpserver" -#, fuzzy -#~| msgid "Delete succeed" -#~ msgid "Delete success!" -#~ msgstr "删除成功" - -#, fuzzy -#~| msgid "Username does not exist" -#~ msgid "This license does not exist!" -#~ msgstr "用户名不存在" - #~ msgid "Valid" #~ msgstr "账户状态" diff --git a/apps/users/serializers/v1.py b/apps/users/serializers/v1.py index 12e41b8f6..59890afea 100644 --- a/apps/users/serializers/v1.py +++ b/apps/users/serializers/v1.py @@ -144,7 +144,7 @@ class UserGroupSerializer(BulkOrgResourceModelSerializer): def validate_users(self, users): for user in users: if user.is_super_auditor: - msg = _('Auditors cannot be join in the group') + msg = _('Auditors cannot be join in the user group') raise serializers.ValidationError(msg) return users