From edcf9921fea13107fc33ae19ac2d5657007a2b06 Mon Sep 17 00:00:00 2001 From: xinwen Date: Mon, 15 Jun 2020 13:24:52 +0800 Subject: [PATCH 1/4] [Update] apps/assets/serializers/system_user.py (#4102) --- apps/assets/serializers/system_user.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/assets/serializers/system_user.py b/apps/assets/serializers/system_user.py index 6a9a31b9f..7f3ad5372 100644 --- a/apps/assets/serializers/system_user.py +++ b/apps/assets/serializers/system_user.py @@ -34,7 +34,7 @@ class SystemUserSerializer(AuthSerializerMixin, BulkOrgResourceModelSerializer): 'priority', 'username_same_with_user', 'auto_push', 'cmd_filters', 'sudo', 'shell', 'comment', 'auto_generate_key', 'sftp_root', - 'assets_amount', + 'assets_amount', 'date_created', 'created_by' ] extra_kwargs = { 'password': {"write_only": True}, From b51af1f7d747779b15ad9ea556159af73478cf99 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 15 Jun 2020 13:49:51 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9MFA=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E4=B8=8B=E8=BD=BD=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 89900 -> 53698 bytes apps/locale/zh/LC_MESSAGES/django.po | 9134 +++++++---------- apps/static/img/authenticator_android.png | Bin 2443 -> 5907 bytes .../users/user_otp_enable_install_app.html | 2 +- 4 files changed, 3780 insertions(+), 5356 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 38ab31b19b97d656fcaf1593170b77b3e74cc125..331ae38c750c151330b40dbb1e6442977b146203 100644 GIT binary patch delta 19370 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 literal 89900 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

!7cF6Qu&fW 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\n" "Language-Team: JumpServer team\n" @@ -21,133 +21,14 @@ msgstr "" msgid "Custom" msgstr "自定义" -#: applications/forms/remote_app.py:44 applications/models/remote_app.py:23 -#: applications/templates/applications/remote_app_detail.html:52 -#: applications/templates/applications/remote_app_list.html:27 -#: applications/templates/applications/user_remote_app_list.html:18 -#: assets/forms/domain.py:15 assets/forms/label.py:13 -#: assets/models/asset.py:352 assets/models/authbook.py:27 -#: assets/models/gathered_user.py:14 assets/serializers/admin_user.py:32 -#: assets/serializers/asset_user.py:47 assets/serializers/asset_user.py:84 -#: assets/serializers/system_user.py:44 assets/serializers/system_user.py:176 -#: assets/templates/assets/admin_user_list.html:23 -#: assets/templates/assets/asset_list.html:170 -#: assets/templates/assets/domain_detail.html:55 -#: assets/templates/assets/domain_list.html:22 -#: assets/templates/assets/label_list.html:16 -#: assets/templates/assets/system_user_list.html:28 audits/models.py:20 -#: audits/templates/audits/ftp_log_list.html:45 -#: audits/templates/audits/ftp_log_list.html:75 -#: perms/forms/asset_permission.py:89 perms/models/asset_permission.py:80 -#: perms/templates/perms/asset_permission_asset.html:53 -#: perms/templates/perms/asset_permission_create_update.html:57 -#: perms/templates/perms/asset_permission_list.html:35 -#: perms/templates/perms/asset_permission_list.html:87 templates/index.html:82 -#: terminal/backends/command/models.py:19 terminal/models.py:187 -#: terminal/templates/terminal/command_list.html:31 -#: terminal/templates/terminal/command_list.html:106 -#: terminal/templates/terminal/session_detail.html:52 -#: terminal/templates/terminal/session_list.html:26 -#: terminal/templates/terminal/session_list.html:70 -#: users/templates/users/user_asset_permission.html:40 -#: users/templates/users/user_asset_permission.html:70 -#: users/templates/users/user_granted_remote_app.html:36 -#: xpack/plugins/change_auth_plan/forms.py:74 -#: xpack/plugins/change_auth_plan/models.py:274 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:40 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:54 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:13 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:14 -#: xpack/plugins/cloud/models.py:269 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:37 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:47 -#: xpack/plugins/orgs/templates/orgs/org_list.html:17 -#: xpack/plugins/vault/forms.py:13 xpack/plugins/vault/forms.py:15 -msgid "Asset" -msgstr "资产" - -#: applications/forms/remote_app.py:55 -msgid "Target URL" -msgstr "目标URL" - -#: applications/forms/remote_app.py:58 applications/forms/remote_app.py:97 -#: applications/forms/remote_app.py:114 -msgid "Login username" -msgstr "登录账号" - -#: applications/forms/remote_app.py:62 applications/forms/remote_app.py:101 -#: applications/forms/remote_app.py:118 -msgid "Login password" -msgstr "登录密码" - -#: applications/forms/remote_app.py:73 -msgid "Database IP" -msgstr "数据库IP" - -#: applications/forms/remote_app.py:76 -msgid "Database name" -msgstr "数据库名" - -#: applications/forms/remote_app.py:79 -msgid "Database username" -msgstr "数据库账号" - -#: applications/forms/remote_app.py:83 -msgid "Database password" -msgstr "数据库密码" - -#: applications/forms/remote_app.py:94 applications/forms/remote_app.py:111 -msgid "Target address" -msgstr "目标地址" - -#: applications/forms/remote_app.py:108 -msgid "Operating parameter" -msgstr "运行参数" - #: applications/models/database_app.py:18 applications/models/remote_app.py:21 -#: applications/templates/applications/database_app_detail.html:48 -#: applications/templates/applications/database_app_list.html:23 -#: applications/templates/applications/remote_app_detail.html:48 -#: applications/templates/applications/remote_app_list.html:25 -#: applications/templates/applications/user_database_app_list.html:16 -#: applications/templates/applications/user_remote_app_list.html:16 -#: assets/forms/asset.py:21 assets/forms/domain.py:77 assets/forms/user.py:74 -#: assets/forms/user.py:96 assets/models/asset.py:145 assets/models/base.py:232 +#: assets/models/asset.py:145 assets/models/base.py:232 #: assets/models/cluster.py:18 assets/models/cmd_filter.py:21 #: assets/models/domain.py:20 assets/models/group.py:20 -#: assets/models/label.py:18 assets/templates/assets/_node_detail_modal.html:27 -#: assets/templates/assets/admin_user_detail.html:51 -#: assets/templates/assets/admin_user_list.html:21 -#: assets/templates/assets/cmd_filter_detail.html:56 -#: assets/templates/assets/cmd_filter_list.html:22 -#: assets/templates/assets/domain_detail.html:51 -#: assets/templates/assets/domain_gateway_list.html:62 -#: assets/templates/assets/domain_list.html:21 -#: assets/templates/assets/label_list.html:14 -#: assets/templates/assets/platform_detail.html:48 -#: assets/templates/assets/platform_list.html:16 -#: assets/templates/assets/system_user_detail.html:62 -#: assets/templates/assets/system_user_list.html:24 ops/mixin.py:24 -#: ops/templates/ops/task_detail.html:58 ops/templates/ops/task_list.html:11 -#: orgs/models.py:12 perms/models/base.py:48 -#: perms/templates/perms/asset_permission_detail.html:57 -#: perms/templates/perms/asset_permission_list.html:32 -#: perms/templates/perms/asset_permission_list.html:183 -#: perms/templates/perms/asset_permission_user.html:53 -#: perms/templates/perms/database_app_permission_detail.html:57 -#: perms/templates/perms/database_app_permission_list.html:14 -#: perms/templates/perms/database_app_permission_user.html:53 -#: perms/templates/perms/remote_app_permission_detail.html:57 -#: perms/templates/perms/remote_app_permission_list.html:14 -#: perms/templates/perms/remote_app_permission_remote_app.html:49 -#: perms/templates/perms/remote_app_permission_user.html:49 -#: settings/models.py:27 -#: settings/templates/settings/_ldap_list_users_modal.html:32 -#: terminal/models.py:26 terminal/models.py:342 terminal/models.py:374 -#: terminal/models.py:411 terminal/templates/terminal/base_storage_list.html:31 -#: terminal/templates/terminal/terminal_detail.html:43 -#: terminal/templates/terminal/terminal_list.html:30 users/forms/profile.py:20 -#: users/models/group.py:15 users/models/user.py:462 +#: assets/models/label.py:18 ops/mixin.py:24 orgs/models.py:12 +#: perms/models/base.py:48 settings/models.py:27 terminal/models.py:26 +#: terminal/models.py:342 terminal/models.py:374 terminal/models.py:411 +#: users/forms/profile.py:20 users/models/group.py:15 users/models/user.py:466 #: users/templates/users/_select_user_modal.html:13 #: users/templates/users/user_asset_permission.html:37 #: users/templates/users/user_asset_permission.html:154 @@ -161,58 +42,27 @@ msgstr "运行参数" #: users/templates/users/user_profile.html:51 #: users/templates/users/user_pubkey_update.html:57 #: users/templates/users/user_remote_app_permission.html:36 -#: xpack/plugins/change_auth_plan/forms.py:57 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:59 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:12 #: xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:47 -#: xpack/plugins/cloud/templates/cloud/account_list.html:12 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:53 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:12 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:16 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:47 -#: xpack/plugins/orgs/templates/orgs/org_list.html:12 msgid "Name" msgstr "名称" -#: applications/models/database_app.py:22 -#: applications/templates/applications/database_app_detail.html:52 -#: applications/templates/applications/database_app_list.html:24 -#: applications/templates/applications/user_database_app_list.html:17 -#: assets/models/cmd_filter.py:51 -#: assets/templates/assets/cmd_filter_rule_list.html:53 -#: audits/templates/audits/login_log_list.html:58 -#: perms/templates/perms/remote_app_permission_remote_app.html:50 -#: terminal/models.py:376 terminal/models.py:413 -#: terminal/templates/terminal/base_storage_list.html:32 -#: tickets/models/ticket.py:43 tickets/templates/tickets/ticket_detail.html:33 -#: tickets/templates/tickets/ticket_list.html:35 +#: applications/models/database_app.py:22 assets/models/cmd_filter.py:51 +#: terminal/models.py:376 terminal/models.py:413 tickets/models/ticket.py:43 #: users/templates/users/user_granted_database_app.html:35 msgid "Type" msgstr "类型" -#: applications/models/database_app.py:25 -#: applications/templates/applications/database_app_detail.html:56 -#: applications/templates/applications/database_app_list.html:25 -#: applications/templates/applications/user_database_app_list.html:18 -#: ops/models/adhoc.py:146 +#: applications/models/database_app.py:25 ops/models/adhoc.py:146 #: users/templates/users/user_granted_database_app.html:36 msgid "Host" msgstr "主机" -#: applications/models/database_app.py:27 -#: applications/templates/applications/database_app_detail.html:60 -#: applications/templates/applications/database_app_list.html:26 -#: assets/forms/asset.py:25 assets/models/asset.py:191 +#: applications/models/database_app.py:27 assets/models/asset.py:191 #: assets/models/domain.py:50 -#: assets/templates/assets/domain_gateway_list.html:64 msgid "Port" msgstr "端口" #: applications/models/database_app.py:29 -#: applications/templates/applications/database_app_detail.html:64 -#: applications/templates/applications/database_app_list.html:27 -#: applications/templates/applications/user_database_app_list.html:19 #: users/templates/users/user_granted_database_app.html:37 msgid "Database" msgstr "数据库" @@ -220,68 +70,28 @@ msgstr "数据库" # msgid "Date created" # msgstr "创建日期" #: applications/models/database_app.py:33 applications/models/remote_app.py:45 -#: applications/templates/applications/database_app_detail.html:76 -#: applications/templates/applications/database_app_list.html:28 -#: applications/templates/applications/remote_app_detail.html:72 -#: applications/templates/applications/remote_app_list.html:28 -#: applications/templates/applications/user_database_app_list.html:20 -#: applications/templates/applications/user_remote_app_list.html:19 #: assets/models/asset.py:150 assets/models/asset.py:226 #: assets/models/base.py:237 assets/models/cluster.py:29 #: assets/models/cmd_filter.py:23 assets/models/cmd_filter.py:56 #: assets/models/domain.py:21 assets/models/domain.py:53 -#: assets/models/group.py:23 assets/models/label.py:23 -#: assets/templates/assets/admin_user_detail.html:67 -#: assets/templates/assets/admin_user_list.html:24 -#: assets/templates/assets/asset_detail.html:128 -#: assets/templates/assets/cmd_filter_detail.html:60 -#: assets/templates/assets/cmd_filter_list.html:25 -#: assets/templates/assets/cmd_filter_rule_list.html:57 -#: assets/templates/assets/domain_detail.html:67 -#: assets/templates/assets/domain_gateway_list.html:67 -#: assets/templates/assets/domain_list.html:24 -#: assets/templates/assets/platform_detail.html:64 -#: assets/templates/assets/platform_list.html:18 -#: assets/templates/assets/system_user_detail.html:112 -#: assets/templates/assets/system_user_list.html:29 -#: assets/templates/assets/user_asset_list.html:81 ops/models/adhoc.py:37 -#: orgs/models.py:18 perms/models/base.py:56 -#: perms/templates/perms/asset_permission_detail.html:97 -#: perms/templates/perms/database_app_permission_detail.html:93 -#: perms/templates/perms/remote_app_permission_detail.html:89 -#: settings/models.py:32 terminal/models.py:36 terminal/models.py:381 -#: terminal/models.py:418 terminal/templates/terminal/base_storage_list.html:33 -#: terminal/templates/terminal/terminal_detail.html:63 -#: tickets/templates/tickets/ticket_detail.html:104 users/models/group.py:16 -#: users/models/user.py:495 users/templates/users/user_detail.html:115 +#: assets/models/group.py:23 assets/models/label.py:23 ops/models/adhoc.py:37 +#: orgs/models.py:18 perms/models/base.py:56 settings/models.py:32 +#: terminal/models.py:36 terminal/models.py:381 terminal/models.py:418 +#: users/models/group.py:16 users/models/user.py:499 +#: users/templates/users/user_detail.html:115 #: users/templates/users/user_granted_database_app.html:38 #: users/templates/users/user_granted_remote_app.html:37 #: users/templates/users/user_group_detail.html:62 #: users/templates/users/user_group_list.html:16 #: users/templates/users/user_profile.html:138 -#: xpack/plugins/change_auth_plan/models.py:76 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:115 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:19 -#: xpack/plugins/cloud/models.py:53 xpack/plugins/cloud/models.py:139 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:67 -#: xpack/plugins/cloud/templates/cloud/account_list.html:15 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:128 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:18 -#: xpack/plugins/gathered_user/models.py:26 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:59 -#: xpack/plugins/orgs/templates/orgs/org_list.html:23 +#: xpack/plugins/change_auth_plan/models.py:76 xpack/plugins/cloud/models.py:53 +#: xpack/plugins/cloud/models.py:139 xpack/plugins/gathered_user/models.py:26 msgid "Comment" msgstr "备注" #: applications/models/database_app.py:41 #: perms/forms/database_app_permission.py:44 #: perms/models/database_app_permission.py:18 -#: perms/templates/perms/database_app_permission_create_update.html:46 -#: perms/templates/perms/database_app_permission_database_app.html:23 -#: perms/templates/perms/database_app_permission_database_app.html:53 -#: perms/templates/perms/database_app_permission_detail.html:22 -#: perms/templates/perms/database_app_permission_list.html:17 -#: perms/templates/perms/database_app_permission_user.html:23 #: perms/utils/database_app_permission.py:77 templates/_nav.html:66 #: templates/_nav.html:86 templates/_nav_user.html:22 #: users/templates/users/user_database_app_permission.html:39 @@ -289,16 +99,27 @@ msgstr "备注" msgid "DatabaseApp" msgstr "数据库应用" +#: applications/models/remote_app.py:23 assets/models/asset.py:356 +#: assets/models/authbook.py:27 assets/models/gathered_user.py:14 +#: assets/serializers/admin_user.py:32 assets/serializers/asset_user.py:47 +#: assets/serializers/asset_user.py:84 assets/serializers/system_user.py:44 +#: assets/serializers/system_user.py:176 audits/models.py:20 +#: perms/forms/asset_permission.py:89 perms/models/asset_permission.py:80 +#: templates/index.html:82 terminal/backends/command/models.py:19 +#: terminal/models.py:187 users/templates/users/user_asset_permission.html:40 +#: users/templates/users/user_asset_permission.html:70 +#: users/templates/users/user_granted_remote_app.html:36 +#: xpack/plugins/change_auth_plan/models.py:282 +#: xpack/plugins/cloud/models.py:269 +msgid "Asset" +msgstr "资产" + #: applications/models/remote_app.py:28 -#: applications/templates/applications/remote_app_detail.html:56 -#: applications/templates/applications/remote_app_list.html:26 -#: applications/templates/applications/user_remote_app_list.html:17 #: users/templates/users/user_granted_remote_app.html:35 msgid "App type" msgstr "应用类型" #: applications/models/remote_app.py:32 -#: applications/templates/applications/remote_app_detail.html:60 msgid "App path" msgstr "应用路径" @@ -306,66 +127,32 @@ msgstr "应用路径" msgid "Parameters" msgstr "参数" -#: applications/models/remote_app.py:39 -#: applications/templates/applications/database_app_detail.html:72 -#: applications/templates/applications/remote_app_detail.html:68 -#: assets/models/asset.py:224 assets/models/base.py:240 -#: assets/models/cluster.py:28 assets/models/cmd_filter.py:26 -#: assets/models/cmd_filter.py:59 assets/models/group.py:21 -#: assets/templates/assets/admin_user_detail.html:63 -#: assets/templates/assets/asset_detail.html:120 -#: assets/templates/assets/cmd_filter_detail.html:72 -#: assets/templates/assets/system_user_detail.html:108 -#: common/mixins/models.py:49 ops/templates/ops/adhoc_detail.html:84 -#: orgs/models.py:16 perms/models/base.py:54 -#: perms/templates/perms/asset_permission_detail.html:93 -#: perms/templates/perms/database_app_permission_detail.html:89 -#: perms/templates/perms/remote_app_permission_detail.html:85 -#: users/models/user.py:503 users/serializers/group.py:35 -#: users/templates/users/user_detail.html:97 -#: xpack/plugins/change_auth_plan/models.py:80 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:111 -#: xpack/plugins/cloud/models.py:56 xpack/plugins/cloud/models.py:145 -#: xpack/plugins/gathered_user/models.py:30 +#: applications/models/remote_app.py:39 assets/models/asset.py:224 +#: assets/models/base.py:240 assets/models/cluster.py:28 +#: assets/models/cmd_filter.py:26 assets/models/cmd_filter.py:59 +#: assets/models/group.py:21 common/mixins/models.py:49 orgs/models.py:16 +#: perms/models/base.py:54 users/models/user.py:507 +#: users/serializers/group.py:35 users/templates/users/user_detail.html:97 +#: xpack/plugins/change_auth_plan/models.py:80 xpack/plugins/cloud/models.py:56 +#: xpack/plugins/cloud/models.py:145 xpack/plugins/gathered_user/models.py:30 msgid "Created by" msgstr "创建者" # msgid "Created by" # msgstr "创建者" -#: applications/models/remote_app.py:42 -#: applications/templates/applications/database_app_detail.html:68 -#: applications/templates/applications/remote_app_detail.html:64 -#: assets/models/asset.py:225 assets/models/base.py:238 -#: assets/models/cluster.py:26 assets/models/domain.py:23 -#: assets/models/gathered_user.py:19 assets/models/group.py:22 -#: assets/models/label.py:25 assets/templates/assets/admin_user_detail.html:59 -#: assets/templates/assets/cmd_filter_detail.html:64 -#: assets/templates/assets/domain_detail.html:63 -#: assets/templates/assets/system_user_detail.html:104 +#: applications/models/remote_app.py:42 assets/models/asset.py:225 +#: assets/models/base.py:238 assets/models/cluster.py:26 +#: assets/models/domain.py:23 assets/models/gathered_user.py:19 +#: assets/models/group.py:22 assets/models/label.py:25 #: common/mixins/models.py:50 ops/models/adhoc.py:38 ops/models/command.py:27 -#: ops/templates/ops/adhoc_detail.html:88 ops/templates/ops/task_detail.html:62 -#: orgs/models.py:17 perms/models/base.py:55 -#: perms/templates/perms/asset_permission_detail.html:89 -#: perms/templates/perms/database_app_permission_detail.html:85 -#: perms/templates/perms/remote_app_permission_detail.html:81 -#: terminal/templates/terminal/terminal_detail.html:59 -#: tickets/templates/tickets/ticket_detail.html:52 users/models/group.py:18 +#: orgs/models.py:17 perms/models/base.py:55 users/models/group.py:18 #: users/templates/users/user_group_detail.html:58 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:103 #: xpack/plugins/cloud/models.py:59 xpack/plugins/cloud/models.py:148 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:63 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:108 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:55 msgid "Date created" msgstr "创建日期" #: applications/models/remote_app.py:49 perms/forms/remote_app_permission.py:46 #: perms/models/remote_app_permission.py:15 -#: perms/templates/perms/remote_app_permission_create_update.html:46 -#: perms/templates/perms/remote_app_permission_detail.html:22 -#: perms/templates/perms/remote_app_permission_list.html:17 -#: perms/templates/perms/remote_app_permission_remote_app.html:22 -#: perms/templates/perms/remote_app_permission_user.html:22 #: perms/utils/remote_app_permission.py:76 templates/_nav.html:64 #: templates/_nav.html:82 templates/_nav_user.html:16 #: users/templates/users/user_remote_app_permission.html:39 @@ -373,349 +160,6 @@ msgstr "创建日期" msgid "RemoteApp" msgstr "远程应用" -#: applications/templates/applications/database_app_create_update.html:12 -#: applications/templates/applications/remote_app_create_update.html:12 -#: assets/templates/assets/_system_user.html:73 -#: assets/templates/assets/admin_user_create_update.html:41 -#: assets/templates/assets/asset_bulk_update.html:23 -#: assets/templates/assets/asset_create.html:81 -#: assets/templates/assets/cmd_filter_create_update.html:15 -#: assets/templates/assets/cmd_filter_rule_create_update.html:36 -#: assets/templates/assets/domain_create_update.html:16 -#: assets/templates/assets/gateway_create_update.html:54 -#: assets/templates/assets/label_create_update.html:18 -#: assets/templates/assets/platform_create_update.html:20 -#: perms/templates/perms/asset_permission_create_update.html:127 -#: perms/templates/perms/database_app_permission_create_update.html:82 -#: perms/templates/perms/remote_app_permission_create_update.html:82 -#: settings/templates/settings/basic_setting.html:45 -#: settings/templates/settings/email_content_setting.html:35 -#: settings/templates/settings/email_setting.html:46 -#: settings/templates/settings/ldap_setting.html:45 -#: settings/templates/settings/security_setting.html:54 -#: settings/templates/settings/terminal_setting.html:53 -#: terminal/templates/terminal/base_storage_create_update.html:12 -#: terminal/templates/terminal/terminal_update.html:43 -#: users/templates/users/_user.html:51 -#: users/templates/users/user_bulk_update.html:23 -#: users/templates/users/user_detail.html:168 -#: users/templates/users/user_group_create_update.html:27 -#: users/templates/users/user_password_update.html:75 -#: users/templates/users/user_profile.html:209 -#: users/templates/users/user_profile_update.html:67 -#: users/templates/users/user_pubkey_update.html:74 -#: users/templates/users/user_pubkey_update.html:80 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:65 -#: xpack/plugins/cloud/templates/cloud/account_create_update.html:29 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:52 -#: xpack/plugins/gathered_user/templates/gathered_user/task_create_update.html:40 -#: xpack/plugins/interface/templates/interface/interface.html:72 -#: xpack/plugins/orgs/templates/orgs/org_create_update.html:29 -#: xpack/plugins/vault/templates/vault/vault_create.html:41 -msgid "Reset" -msgstr "重置" - -#: applications/templates/applications/database_app_create_update.html:13 -#: applications/templates/applications/remote_app_create_update.html:14 -#: assets/templates/assets/_system_user.html:74 -#: assets/templates/assets/admin_user_create_update.html:42 -#: assets/templates/assets/asset_bulk_update.html:24 -#: assets/templates/assets/asset_create.html:82 -#: assets/templates/assets/asset_list.html:45 -#: assets/templates/assets/cmd_filter_create_update.html:16 -#: assets/templates/assets/cmd_filter_rule_create_update.html:37 -#: assets/templates/assets/domain_create_update.html:17 -#: assets/templates/assets/gateway_create_update.html:55 -#: assets/templates/assets/label_create_update.html:19 -#: assets/templates/assets/platform_create_update.html:21 -#: audits/templates/audits/login_log_list.html:95 -#: perms/templates/perms/asset_permission_create_update.html:128 -#: perms/templates/perms/database_app_permission_create_update.html:83 -#: perms/templates/perms/remote_app_permission_create_update.html:83 -#: settings/templates/settings/basic_setting.html:46 -#: settings/templates/settings/email_content_setting.html:36 -#: settings/templates/settings/email_setting.html:47 -#: settings/templates/settings/ldap_setting.html:49 -#: settings/templates/settings/security_setting.html:55 -#: settings/templates/settings/terminal_setting.html:55 -#: terminal/templates/terminal/base_storage_create_update.html:13 -#: terminal/templates/terminal/command_list.html:48 -#: terminal/templates/terminal/session_list.html:50 -#: terminal/templates/terminal/terminal_update.html:44 -#: users/templates/users/_user.html:52 -#: users/templates/users/forgot_password.html:24 -#: users/templates/users/user_bulk_update.html:24 -#: users/templates/users/user_list.html:40 -#: users/templates/users/user_password_update.html:76 -#: users/templates/users/user_profile_update.html:68 -#: users/templates/users/user_pubkey_update.html:81 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:66 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:67 -#: xpack/plugins/interface/templates/interface/interface.html:74 -#: xpack/plugins/vault/templates/vault/vault_create.html:42 -msgid "Submit" -msgstr "提交" - -#: applications/templates/applications/database_app_detail.html:13 -#: applications/templates/applications/remote_app_detail.html:13 -#: assets/templates/assets/admin_user_assets.html:13 -#: assets/templates/assets/admin_user_detail.html:13 -#: assets/templates/assets/cmd_filter_detail.html:14 -#: assets/templates/assets/cmd_filter_rule_list.html:14 -#: assets/templates/assets/domain_detail.html:13 -#: assets/templates/assets/domain_gateway_list.html:15 -#: assets/templates/assets/platform_detail.html:13 -#: assets/templates/assets/system_user_assets.html:22 -#: assets/templates/assets/system_user_detail.html:13 -#: assets/templates/assets/system_user_users.html:21 -#: ops/templates/ops/adhoc_history.html:128 -#: ops/templates/ops/task_adhoc.html:114 -#: ops/templates/ops/task_history.html:135 -#: perms/templates/perms/asset_permission_asset.html:14 -#: perms/templates/perms/asset_permission_detail.html:13 -#: perms/templates/perms/asset_permission_user.html:14 -#: perms/templates/perms/database_app_permission_database_app.html:14 -#: perms/templates/perms/database_app_permission_detail.html:13 -#: perms/templates/perms/database_app_permission_user.html:14 -#: perms/templates/perms/remote_app_permission_detail.html:13 -#: perms/templates/perms/remote_app_permission_remote_app.html:13 -#: perms/templates/perms/remote_app_permission_user.html:13 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:13 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:18 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:17 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:106 -#: xpack/plugins/change_auth_plan/views.py:91 -msgid "Detail" -msgstr "详情" - -#: applications/templates/applications/database_app_detail.html:16 -#: applications/templates/applications/database_app_list.html:53 -#: applications/templates/applications/remote_app_detail.html:16 -#: applications/templates/applications/remote_app_list.html:59 -#: assets/templates/assets/_asset_user_list.html:67 -#: assets/templates/assets/admin_user_detail.html:19 -#: assets/templates/assets/admin_user_list.html:46 -#: assets/templates/assets/asset_detail.html:24 -#: assets/templates/assets/asset_list.html:89 -#: assets/templates/assets/cmd_filter_detail.html:24 -#: assets/templates/assets/cmd_filter_list.html:56 -#: assets/templates/assets/cmd_filter_rule_list.html:81 -#: assets/templates/assets/domain_detail.html:19 -#: assets/templates/assets/domain_detail.html:94 -#: assets/templates/assets/domain_gateway_list.html:92 -#: assets/templates/assets/domain_list.html:50 -#: assets/templates/assets/label_list.html:39 -#: assets/templates/assets/platform_detail.html:16 -#: assets/templates/assets/platform_list.html:40 -#: assets/templates/assets/system_user_detail.html:30 -#: assets/templates/assets/system_user_list.html:55 audits/models.py:34 -#: perms/templates/perms/asset_permission_detail.html:25 -#: perms/templates/perms/asset_permission_list.html:144 -#: perms/templates/perms/database_app_permission_detail.html:25 -#: perms/templates/perms/database_app_permission_list.html:64 -#: perms/templates/perms/remote_app_permission_detail.html:25 -#: perms/templates/perms/remote_app_permission_list.html:64 -#: templates/_csv_import_export.html:18 templates/_csv_update_modal.html:6 -#: terminal/templates/terminal/base_storage_list.html:63 -#: terminal/templates/terminal/base_storage_list.html:70 -#: terminal/templates/terminal/terminal_detail.html:16 -#: terminal/templates/terminal/terminal_list.html:74 -#: users/templates/users/user_asset_permission.html:127 -#: users/templates/users/user_database_app_permission.html:110 -#: users/templates/users/user_detail.html:12 -#: users/templates/users/user_group_detail.html:23 -#: users/templates/users/user_group_list.html:51 -#: users/templates/users/user_list.html:84 -#: users/templates/users/user_list.html:87 -#: users/templates/users/user_profile.html:181 -#: users/templates/users/user_profile.html:191 -#: users/templates/users/user_profile.html:201 -#: users/templates/users/user_remote_app_permission.html:110 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:27 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:56 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:20 -#: xpack/plugins/cloud/templates/cloud/account_list.html:40 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:26 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:60 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:46 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:20 -#: xpack/plugins/orgs/templates/orgs/org_list.html:93 -msgid "Update" -msgstr "更新" - -#: applications/templates/applications/database_app_detail.html:20 -#: applications/templates/applications/database_app_list.html:54 -#: applications/templates/applications/remote_app_detail.html:20 -#: applications/templates/applications/remote_app_list.html:60 -#: assets/templates/assets/_asset_user_list.html:70 -#: assets/templates/assets/admin_user_detail.html:23 -#: assets/templates/assets/admin_user_list.html:47 -#: assets/templates/assets/asset_detail.html:28 -#: assets/templates/assets/asset_list.html:90 -#: assets/templates/assets/cmd_filter_detail.html:28 -#: assets/templates/assets/cmd_filter_list.html:57 -#: assets/templates/assets/cmd_filter_rule_list.html:82 -#: assets/templates/assets/domain_detail.html:23 -#: assets/templates/assets/domain_detail.html:95 -#: assets/templates/assets/domain_gateway_list.html:93 -#: assets/templates/assets/domain_list.html:51 -#: assets/templates/assets/label_list.html:40 -#: assets/templates/assets/platform_detail.html:20 -#: assets/templates/assets/platform_list.html:41 -#: assets/templates/assets/system_user_detail.html:34 -#: assets/templates/assets/system_user_list.html:56 audits/models.py:35 -#: authentication/templates/authentication/_access_key_modal.html:65 -#: ops/templates/ops/task_list.html:74 -#: perms/templates/perms/asset_permission_detail.html:29 -#: perms/templates/perms/asset_permission_list.html:145 -#: perms/templates/perms/database_app_permission_detail.html:29 -#: perms/templates/perms/database_app_permission_list.html:65 -#: perms/templates/perms/remote_app_permission_detail.html:29 -#: perms/templates/perms/remote_app_permission_list.html:65 -#: terminal/templates/terminal/base_storage_list.html:60 -#: terminal/templates/terminal/base_storage_list.html:67 -#: terminal/templates/terminal/terminal_list.html:76 -#: users/templates/users/user_asset_permission.html:128 -#: users/templates/users/user_database_app_permission.html:111 -#: users/templates/users/user_detail.html:16 -#: users/templates/users/user_group_detail.html:27 -#: users/templates/users/user_group_list.html:53 -#: users/templates/users/user_list.html:94 -#: users/templates/users/user_list.html:98 -#: users/templates/users/user_remote_app_permission.html:111 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:31 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:58 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:24 -#: xpack/plugins/cloud/templates/cloud/account_list.html:42 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:30 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:61 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:47 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:24 -#: xpack/plugins/orgs/templates/orgs/org_list.html:95 -msgid "Delete" -msgstr "删除" - -#: applications/templates/applications/database_app_list.html:9 -#: applications/views/database_app.py:69 applications/views/database_app.py:84 -msgid "Create DatabaseApp" -msgstr "创建数据库应用" - -#: applications/templates/applications/database_app_list.html:29 -#: applications/templates/applications/remote_app_list.html:29 -#: applications/templates/applications/user_database_app_list.html:21 -#: applications/templates/applications/user_remote_app_list.html:20 -#: assets/models/cmd_filter.py:55 -#: assets/templates/assets/_asset_user_list.html:25 -#: assets/templates/assets/admin_user_list.html:25 -#: assets/templates/assets/asset_list.html:28 -#: assets/templates/assets/cmd_filter_list.html:26 -#: assets/templates/assets/cmd_filter_rule_list.html:58 -#: assets/templates/assets/domain_gateway_list.html:68 -#: assets/templates/assets/domain_list.html:25 -#: assets/templates/assets/label_list.html:17 -#: assets/templates/assets/platform_list.html:19 -#: assets/templates/assets/system_user_list.html:30 -#: assets/templates/assets/system_user_users.html:64 audits/models.py:39 -#: audits/templates/audits/operate_log_list.html:45 -#: audits/templates/audits/operate_log_list.html:71 -#: authentication/templates/authentication/_access_key_modal.html:34 -#: ops/templates/ops/adhoc_history.html:57 ops/templates/ops/task_adhoc.html:62 -#: ops/templates/ops/task_history.html:63 ops/templates/ops/task_list.html:17 -#: perms/forms/asset_permission.py:20 -#: perms/templates/perms/asset_permission_asset.html:54 -#: perms/templates/perms/asset_permission_create_update.html:63 -#: perms/templates/perms/asset_permission_list.html:39 -#: perms/templates/perms/asset_permission_list.html:96 -#: perms/templates/perms/asset_permission_user.html:54 -#: perms/templates/perms/database_app_permission_database_app.html:54 -#: perms/templates/perms/database_app_permission_list.html:20 -#: perms/templates/perms/database_app_permission_user.html:54 -#: perms/templates/perms/remote_app_permission_list.html:20 -#: terminal/templates/terminal/base_storage_list.html:34 -#: terminal/templates/terminal/session_list.html:34 -#: terminal/templates/terminal/terminal_list.html:37 -#: tickets/templates/tickets/ticket_list.html:108 -#: users/templates/users/_granted_assets.html:29 -#: users/templates/users/user_asset_permission.html:44 -#: users/templates/users/user_asset_permission.html:79 -#: users/templates/users/user_database_app_permission.html:42 -#: users/templates/users/user_group_list.html:17 -#: users/templates/users/user_list.html:20 -#: users/templates/users/user_remote_app_permission.html:42 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:60 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:18 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:20 -#: xpack/plugins/cloud/templates/cloud/account_list.html:16 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:52 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:19 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:20 -#: xpack/plugins/orgs/templates/orgs/org_list.html:24 -msgid "Action" -msgstr "动作" - -#: applications/templates/applications/remote_app_list.html:4 -msgid "" -"Before using this feature, make sure that the application loader has been " -"uploaded to the application server and successfully published as a RemoteApp " -"application" -msgstr "" -"使用此功能前,请确保已将应用加载器上传到应用服务器并成功发布为一个 RemoteApp " -"应用" - -#: applications/templates/applications/remote_app_list.html:5 -msgid "Download application loader" -msgstr "下载应用加载器" - -#: applications/templates/applications/remote_app_list.html:11 -#: applications/views/remote_app.py:69 -msgid "Create RemoteApp" -msgstr "创建远程应用" - -#: applications/templates/applications/user_database_app_list.html:61 -#: applications/templates/applications/user_remote_app_list.html:52 -#: perms/models/asset_permission.py:32 -msgid "Connect" -msgstr "连接" - -#: applications/views/database_app.py:26 users/models/user.py:156 -msgid "Application" -msgstr "应用程序" - -#: applications/views/database_app.py:27 -msgid "DatabaseApp list" -msgstr "数据库应用列表" - -#: applications/views/database_app.py:68 applications/views/database_app.py:83 -#: applications/views/database_app.py:99 applications/views/remote_app.py:28 -#: applications/views/remote_app.py:68 applications/views/remote_app.py:96 -#: applications/views/remote_app.py:112 templates/_nav.html:60 -msgid "Applications" -msgstr "应用管理" - -#: applications/views/database_app.py:100 -msgid "DatabaseApp detail" -msgstr "数据库应用详情" - -#: applications/views/database_app.py:112 -msgid "My DatabaseApp" -msgstr "我的数据库应用" - -#: applications/views/remote_app.py:29 -msgid "RemoteApp list" -msgstr "远程应用列表" - -#: applications/views/remote_app.py:97 -msgid "Update RemoteApp" -msgstr "更新远程应用" - -#: applications/views/remote_app.py:113 -msgid "RemoteApp detail" -msgstr "远程应用详情" - -#: applications/views/remote_app.py:125 -msgid "My RemoteApp" -msgstr "我的远程应用" - #: assets/api/admin_user.py:46 msgid "Deleted failed, There are related assets" msgstr "删除失败,存在关联资产" @@ -736,259 +180,15 @@ msgstr "不能移除资产的管理用户账号" msgid "Latest version could not be delete" msgstr "最新版本的不能被删除" -#: assets/forms/asset.py:83 assets/models/asset.py:195 -#: assets/models/user.py:109 assets/templates/assets/asset_detail.html:186 -#: assets/templates/assets/asset_detail.html:194 -#: assets/templates/assets/system_user_assets.html:118 -#: perms/models/asset_permission.py:81 -#: xpack/plugins/change_auth_plan/models.py:55 -#: xpack/plugins/gathered_user/models.py:24 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:17 -msgid "Nodes" -msgstr "节点" - -#: assets/forms/asset.py:86 assets/models/asset.py:199 -#: assets/models/cluster.py:19 assets/models/user.py:65 -#: assets/templates/assets/admin_user_list.html:62 -#: assets/templates/assets/asset_detail.html:72 templates/_nav.html:44 -#: xpack/plugins/cloud/models.py:133 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:65 -#: xpack/plugins/orgs/templates/orgs/org_list.html:19 -msgid "Admin user" -msgstr "管理用户" - -#: assets/forms/asset.py:89 assets/forms/asset.py:131 -#: assets/templates/assets/asset_create.html:48 -#: assets/templates/assets/asset_create.html:50 -#: assets/templates/assets/asset_list.html:13 -#: xpack/plugins/orgs/templates/orgs/org_list.html:21 -msgid "Label" -msgstr "标签" - -#: assets/forms/asset.py:92 assets/models/asset.py:194 -#: assets/models/domain.py:26 assets/models/domain.py:52 -#: assets/templates/assets/asset_detail.html:76 -#: assets/templates/assets/user_asset_list.html:80 -#: xpack/plugins/orgs/templates/orgs/org_list.html:18 -msgid "Domain" -msgstr "网域" - -#: assets/forms/asset.py:95 assets/models/asset.py:169 -#: assets/models/asset.py:193 assets/serializers/asset.py:67 -#: assets/templates/assets/asset_detail.html:100 -#: assets/templates/assets/user_asset_list.html:78 -msgid "Platform" -msgstr "系统平台" - -#: assets/forms/asset.py:99 assets/forms/asset.py:134 assets/models/node.py:497 -#: assets/serializers/system_user.py:43 assets/serializers/system_user.py:175 -#: assets/templates/assets/asset_create.html:42 -#: perms/forms/asset_permission.py:92 perms/forms/asset_permission.py:99 -#: perms/templates/perms/asset_permission_list.html:36 -#: perms/templates/perms/asset_permission_list.html:90 -#: perms/templates/perms/asset_permission_list.html:189 -#: users/templates/users/user_asset_permission.html:41 -#: users/templates/users/user_asset_permission.html:73 -#: users/templates/users/user_asset_permission.html:158 -#: xpack/plugins/change_auth_plan/forms.py:75 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:55 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:15 -#: xpack/plugins/cloud/models.py:129 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:61 -msgid "Node" -msgstr "节点" - -#: assets/forms/asset.py:103 -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" -msgstr "" -"root或其他拥有NOPASSWD: ALL权限的用户, 如果是windows或其它硬件可以随意设置一" -"个, 更多信息查看左侧 `管理用户` 菜单" - -#: assets/forms/asset.py:106 -msgid "Windows 2016 RDP protocol is different, If is window 2016, set it" -msgstr "Windows 2016的RDP协议与之前不同,如果是请设置" - -#: assets/forms/asset.py:107 -msgid "" -"If your have some network not connect with each other, you can set domain" -msgstr "如果有多个的互相隔离的网络,设置资产属于的网域,使用网域网关跳转登录" - -#: assets/forms/asset.py:114 assets/forms/asset.py:118 -#: assets/forms/domain.py:17 assets/forms/label.py:15 -#: assets/templates/assets/system_user_assets.html:102 -#: perms/templates/perms/asset_permission_asset.html:74 -#: xpack/plugins/change_auth_plan/forms.py:65 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:70 -msgid "Select assets" -msgstr "选择资产" - -#: assets/forms/cmd_filter.py:38 -msgid "Content should not be contain: {}" -msgstr "内容不能包含: {}" - -#: assets/forms/domain.py:55 assets/models/domain.py:67 -msgid "Password should not contain special characters" -msgstr "不能包含特殊字符" - -#: assets/forms/domain.py:74 -msgid "SSH gateway support proxy SSH,RDP,VNC" -msgstr "SSH网关,支持代理SSH,RDP和VNC" - -#: assets/forms/domain.py:78 assets/forms/user.py:75 assets/forms/user.py:97 -#: assets/models/base.py:233 assets/models/gathered_user.py:15 -#: assets/templates/assets/_asset_user_auth_update_modal.html:15 -#: assets/templates/assets/_asset_user_auth_view_modal.html:21 -#: assets/templates/assets/_asset_user_list.html:21 -#: assets/templates/assets/admin_user_detail.html:55 -#: assets/templates/assets/admin_user_list.html:22 -#: assets/templates/assets/domain_gateway_list.html:66 -#: assets/templates/assets/system_user_detail.html:66 -#: assets/templates/assets/system_user_list.html:25 audits/models.py:81 -#: audits/templates/audits/login_log_list.html:57 authentication/forms.py:10 -#: authentication/templates/authentication/login.html:21 -#: authentication/templates/authentication/xpack_login.html:93 -#: ops/models/adhoc.py:148 perms/templates/perms/asset_permission_list.html:185 -#: perms/templates/perms/remote_app_permission_user.html:50 -#: settings/templates/settings/_ldap_list_users_modal.html:31 -#: settings/templates/settings/_ldap_test_user_login_modal.html:10 -#: users/forms/profile.py:19 users/models/user.py:460 -#: users/templates/users/_select_user_modal.html:14 -#: users/templates/users/user_detail.html:53 -#: users/templates/users/user_list.html:15 -#: users/templates/users/user_profile.html:47 -#: xpack/plugins/change_auth_plan/forms.py:59 -#: xpack/plugins/change_auth_plan/models.py:46 -#: xpack/plugins/change_auth_plan/models.py:270 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:63 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:53 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:12 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:13 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:25 -msgid "Username" -msgstr "用户名" - -#: assets/forms/platform.py:20 ops/templates/ops/task_detail.html:85 -#: ops/templates/ops/task_detail.html:95 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:82 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:72 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:82 -msgid "Yes" -msgstr "是" - -#: assets/forms/platform.py:21 ops/templates/ops/task_detail.html:87 -#: ops/templates/ops/task_detail.html:97 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:84 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:74 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:84 -msgid "No" -msgstr "否" - -#: assets/forms/platform.py:24 -msgid "RDP security" -msgstr "" - -#: assets/forms/platform.py:28 -msgid "RDP console" -msgstr "" - -#: assets/forms/platform.py:40 assets/templates/assets/platform_detail.html:52 -#: assets/templates/assets/platform_list.html:17 -msgid "Base platform" -msgstr "基础平台" - -#: assets/forms/user.py:25 -msgid "Password or private key passphrase" -msgstr "密码或密钥密码" - -#: assets/forms/user.py:26 assets/models/base.py:234 -#: assets/serializers/asset_user.py:71 -#: assets/templates/assets/_asset_user_auth_update_modal.html:21 -#: assets/templates/assets/_asset_user_auth_view_modal.html:27 -#: authentication/forms.py:12 -#: authentication/templates/authentication/login.html:29 -#: authentication/templates/authentication/xpack_login.html:101 -#: settings/forms/ldap.py:22 -#: settings/templates/settings/_ldap_test_user_login_modal.html:16 -#: users/forms/user.py:22 users/forms/user.py:193 -#: users/templates/users/user_otp_check_password.html:13 -#: users/templates/users/user_password_update.html:44 -#: users/templates/users/user_password_verify.html:18 -#: users/templates/users/user_profile_update.html:41 -#: users/templates/users/user_pubkey_update.html:41 -#: users/templates/users/user_update.html:20 -#: xpack/plugins/change_auth_plan/models.py:67 -#: xpack/plugins/change_auth_plan/models.py:190 -#: xpack/plugins/change_auth_plan/models.py:277 -msgid "Password" -msgstr "密码" - -#: assets/forms/user.py:29 assets/serializers/asset_user.py:79 -#: assets/templates/assets/_asset_user_auth_update_modal.html:27 -#: users/models/user.py:489 -msgid "Private key" -msgstr "ssh私钥" - -#: assets/forms/user.py:41 -msgid "Invalid private key, Only support RSA/DSA format key" -msgstr "不合法的密钥,仅支持RSA/DSA格式的密钥" - -#: assets/forms/user.py:52 -msgid "Password and private key file must be input one" -msgstr "密码和私钥, 必须输入一个" - -#: assets/forms/user.py:99 assets/models/cmd_filter.py:32 -#: assets/models/user.py:119 assets/templates/assets/_system_user.html:63 -#: assets/templates/assets/system_user_detail.html:155 -msgid "Command filter" -msgstr "命令过滤器" - -#: assets/forms/user.py:103 assets/models/user.py:108 -#: assets/templates/assets/system_user_detail.html:68 -msgid "Username same with user" -msgstr "用户名与用户相同" - -#: assets/forms/user.py:106 -msgid "Auto push system user to asset" -msgstr "自动推送系统用户到资产" - -#: assets/forms/user.py:107 -msgid "" -"1-100, High level will be using login asset as default, if user was granted " -"more than 2 system user" -msgstr "" -"1-100, 1最低优先级,100最高优先级。授权多个用户时,高优先级的系统用户将会作为" -"默认登录用户" - -#: assets/forms/user.py:109 -msgid "" -"If you choose manual login mode, you do not need to fill in the username and " -"password." -msgstr "如果选择手动登录模式,用户名和密码可以不填写" - -#: assets/forms/user.py:111 -msgid "Use comma split multi command, ex: /bin/whoami,/bin/ifconfig" -msgstr "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig" - -#: assets/forms/user.py:112 -msgid "SFTP root dir, tmp, home or custom" -msgstr "SFTP的起始路径,tmp目录, 用户home目录或者自定义" - -#: assets/forms/user.py:113 -msgid "Username is dynamic, When connect asset, using current user's username" -msgstr "用户名是动态的,登录资产时使用当前用户的用户名登录" - #: assets/models/asset.py:146 xpack/plugins/cloud/providers/base.py:16 msgid "Base" msgstr "基础" -#: assets/models/asset.py:147 assets/templates/assets/platform_detail.html:56 +#: assets/models/asset.py:147 msgid "Charset" msgstr "编码" -#: assets/models/asset.py:148 assets/templates/assets/platform_detail.html:60 -#: tickets/models/ticket.py:38 +#: assets/models/asset.py:148 tickets/models/ticket.py:38 msgid "Meta" msgstr "元数据" @@ -996,84 +196,76 @@ msgstr "元数据" msgid "Internal" msgstr "内部的" +#: assets/models/asset.py:169 assets/models/asset.py:193 +#: assets/serializers/asset.py:67 +msgid "Platform" +msgstr "系统平台" + #: assets/models/asset.py:186 assets/models/domain.py:49 -#: assets/serializers/asset_user.py:46 -#: assets/templates/assets/_asset_list_modal.html:47 -#: assets/templates/assets/_asset_user_list.html:20 -#: assets/templates/assets/asset_detail.html:60 -#: assets/templates/assets/asset_list.html:25 -#: assets/templates/assets/domain_gateway_list.html:63 -#: assets/templates/assets/user_asset_list.html:76 -#: audits/templates/audits/login_log_list.html:60 -#: perms/templates/perms/asset_permission_list.html:187 -#: settings/forms/terminal.py:16 settings/serializers/settings.py:52 +#: assets/serializers/asset_user.py:46 settings/serializers/settings.py:52 #: users/templates/users/_granted_assets.html:26 #: users/templates/users/user_asset_permission.html:156 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:50 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:24 msgid "IP" msgstr "IP" #: assets/models/asset.py:187 assets/serializers/asset_user.py:45 -#: assets/serializers/gathered_user.py:20 -#: assets/templates/assets/_asset_list_modal.html:46 -#: assets/templates/assets/_asset_user_auth_update_modal.html:9 -#: assets/templates/assets/_asset_user_auth_view_modal.html:15 -#: assets/templates/assets/_asset_user_list.html:19 -#: assets/templates/assets/asset_detail.html:56 -#: assets/templates/assets/asset_list.html:24 -#: assets/templates/assets/user_asset_list.html:75 -#: perms/templates/perms/asset_permission_list.html:188 -#: settings/forms/terminal.py:15 settings/serializers/settings.py:51 +#: assets/serializers/gathered_user.py:20 settings/serializers/settings.py:51 #: users/templates/users/_granted_assets.html:25 #: users/templates/users/user_asset_permission.html:157 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:49 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:23 msgid "Hostname" msgstr "主机名" #: assets/models/asset.py:190 assets/models/domain.py:51 -#: assets/models/user.py:114 assets/templates/assets/asset_detail.html:68 -#: assets/templates/assets/domain_gateway_list.html:65 -#: assets/templates/assets/system_user_detail.html:78 -#: assets/templates/assets/system_user_list.html:26 -#: terminal/forms/storage.py:145 -#: terminal/templates/terminal/session_detail.html:60 -#: terminal/templates/terminal/session_list.html:29 -#: terminal/templates/terminal/session_list.html:73 +#: assets/models/user.py:114 terminal/serializers/session.py:29 msgid "Protocol" msgstr "协议" #: assets/models/asset.py:192 assets/serializers/asset.py:69 -#: assets/templates/assets/asset_create.html:24 -#: assets/templates/assets/user_asset_list.html:77 #: perms/serializers/user_permission.py:60 msgid "Protocols" msgstr "协议组" +#: assets/models/asset.py:194 assets/models/domain.py:26 +#: assets/models/domain.py:52 +msgid "Domain" +msgstr "网域" + +#: assets/models/asset.py:195 assets/models/user.py:109 +#: perms/models/asset_permission.py:81 +#: xpack/plugins/change_auth_plan/models.py:55 +#: xpack/plugins/gathered_user/models.py:24 +msgid "Nodes" +msgstr "节点" + #: assets/models/asset.py:196 assets/models/cmd_filter.py:22 #: assets/models/domain.py:54 assets/models/label.py:22 -#: assets/templates/assets/asset_detail.html:108 authentication/models.py:45 +#: authentication/models.py:45 msgid "Is active" msgstr "激活" -#: assets/models/asset.py:202 assets/templates/assets/asset_detail.html:64 +#: assets/models/asset.py:199 assets/models/cluster.py:19 +#: assets/models/user.py:65 templates/_nav.html:44 +#: xpack/plugins/cloud/models.py:133 +msgid "Admin user" +msgstr "管理用户" + +#: assets/models/asset.py:202 msgid "Public IP" msgstr "公网IP" -#: assets/models/asset.py:203 assets/templates/assets/asset_detail.html:116 +#: assets/models/asset.py:203 msgid "Asset number" msgstr "资产编号" -#: assets/models/asset.py:206 assets/templates/assets/asset_detail.html:80 +#: assets/models/asset.py:206 msgid "Vendor" msgstr "制造商" -#: assets/models/asset.py:207 assets/templates/assets/asset_detail.html:84 +#: assets/models/asset.py:207 msgid "Model" msgstr "型号" -#: assets/models/asset.py:208 assets/templates/assets/asset_detail.html:112 +#: assets/models/asset.py:208 msgid "Serial number" msgstr "序列号" @@ -1093,7 +285,7 @@ msgstr "CPU核数" msgid "CPU vcpus" msgstr "CPU总数" -#: assets/models/asset.py:214 assets/templates/assets/asset_detail.html:92 +#: assets/models/asset.py:214 msgid "Memory" msgstr "内存" @@ -1105,7 +297,7 @@ msgstr "硬盘大小" msgid "Disk info" msgstr "硬盘信息" -#: assets/models/asset.py:218 assets/templates/assets/asset_detail.html:104 +#: assets/models/asset.py:218 msgid "OS" msgstr "操作系统" @@ -1121,8 +313,7 @@ msgstr "系统架构" msgid "Hostname raw" msgstr "主机名原始" -#: assets/models/asset.py:223 assets/templates/assets/asset_create.html:46 -#: assets/templates/assets/asset_detail.html:220 templates/_nav.html:46 +#: assets/models/asset.py:223 templates/_nav.html:46 msgid "Labels" msgstr "标签管理" @@ -1130,15 +321,11 @@ msgstr "标签管理" msgid "Bulk delete deny" msgstr "拒绝批量删除" -#: assets/models/authbook.py:28 ops/templates/ops/task_detail.html:70 +#: assets/models/authbook.py:28 msgid "Latest version" msgstr "最新版本" #: assets/models/authbook.py:29 -#: assets/templates/assets/_asset_user_list.html:22 -#: ops/templates/ops/adhoc_history.html:56 -#: ops/templates/ops/adhoc_history_detail.html:55 -#: ops/templates/ops/task_adhoc.html:56 ops/templates/ops/task_history.html:62 msgid "Version" msgstr "版本" @@ -1146,23 +333,51 @@ msgstr "版本" msgid "AuthBook" msgstr "" +#: assets/models/base.py:233 assets/models/gathered_user.py:15 +#: audits/models.py:81 authentication/forms.py:10 +#: authentication/templates/authentication/login.html:21 +#: authentication/templates/authentication/xpack_login.html:93 +#: ops/models/adhoc.py:148 users/forms/profile.py:19 users/models/user.py:464 +#: users/templates/users/_select_user_modal.html:14 +#: users/templates/users/user_detail.html:53 +#: users/templates/users/user_list.html:15 +#: users/templates/users/user_profile.html:47 +#: xpack/plugins/change_auth_plan/models.py:46 +#: xpack/plugins/change_auth_plan/models.py:278 +msgid "Username" +msgstr "用户名" + +#: assets/models/base.py:234 assets/serializers/asset_user.py:71 +#: authentication/forms.py:12 +#: authentication/templates/authentication/login.html:29 +#: authentication/templates/authentication/xpack_login.html:101 +#: users/forms/user.py:22 users/forms/user.py:193 +#: users/templates/users/user_otp_check_password.html:13 +#: users/templates/users/user_password_update.html:43 +#: users/templates/users/user_password_verify.html:18 +#: users/templates/users/user_profile_update.html:41 +#: users/templates/users/user_pubkey_update.html:41 +#: users/templates/users/user_update.html:20 +#: xpack/plugins/change_auth_plan/models.py:67 +#: xpack/plugins/change_auth_plan/models.py:190 +#: xpack/plugins/change_auth_plan/models.py:285 +msgid "Password" +msgstr "密码" + #: assets/models/base.py:235 xpack/plugins/change_auth_plan/models.py:71 #: xpack/plugins/change_auth_plan/models.py:197 -#: xpack/plugins/change_auth_plan/models.py:284 +#: xpack/plugins/change_auth_plan/models.py:292 msgid "SSH private key" msgstr "SSH密钥" #: assets/models/base.py:236 xpack/plugins/change_auth_plan/models.py:74 #: xpack/plugins/change_auth_plan/models.py:193 -#: xpack/plugins/change_auth_plan/models.py:280 +#: xpack/plugins/change_auth_plan/models.py:288 msgid "SSH public key" msgstr "SSH公钥" #: assets/models/base.py:239 assets/models/gathered_user.py:20 -#: assets/templates/assets/cmd_filter_detail.html:68 common/mixins/models.py:51 -#: ops/models/adhoc.py:39 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:107 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:29 +#: common/mixins/models.py:51 ops/models/adhoc.py:39 msgid "Date updated" msgstr "更新日期" @@ -1174,7 +389,7 @@ msgstr "带宽" msgid "Contact" msgstr "联系人" -#: assets/models/cluster.py:22 users/models/user.py:481 +#: assets/models/cluster.py:22 users/models/user.py:485 #: users/templates/users/user_detail.html:62 msgid "Phone" msgstr "手机" @@ -1200,7 +415,7 @@ msgid "Default" msgstr "默认" #: assets/models/cluster.py:36 assets/models/label.py:14 -#: users/models/user.py:622 +#: users/models/user.py:626 msgid "System" msgstr "系统" @@ -1224,16 +439,16 @@ msgstr "北京电信" msgid "BGP full netcom" msgstr "BGP全网通" +#: assets/models/cmd_filter.py:32 assets/models/user.py:119 +msgid "Command filter" +msgstr "命令过滤器" + #: assets/models/cmd_filter.py:39 msgid "Regex" msgstr "正则表达式" #: assets/models/cmd_filter.py:40 ops/models/command.py:23 -#: ops/templates/ops/command_execution_list.html:67 terminal/models.py:196 -#: terminal/templates/terminal/command_list.html:28 -#: terminal/templates/terminal/command_list.html:108 -#: terminal/templates/terminal/session_commands.html:49 -#: terminal/templates/terminal/session_list.html:31 +#: terminal/models.py:196 msgid "Command" msgstr "命令" @@ -1250,7 +465,6 @@ msgid "Filter" msgstr "过滤器" #: assets/models/cmd_filter.py:52 assets/models/user.py:113 -#: assets/templates/assets/cmd_filter_rule_list.html:55 msgid "Priority" msgstr "优先级" @@ -1258,9 +472,7 @@ msgstr "优先级" msgid "1-100, the higher will be match first" msgstr "优先级可选范围为1-100,1最低优先级,100最高优先级" -#: assets/models/cmd_filter.py:54 -#: assets/templates/assets/cmd_filter_rule_list.html:54 -#: xpack/plugins/license/models.py:29 +#: assets/models/cmd_filter.py:54 xpack/plugins/license/models.py:29 msgid "Content" msgstr "内容" @@ -1268,29 +480,40 @@ msgstr "内容" msgid "One line one command" msgstr "每行一个命令" +#: assets/models/cmd_filter.py:55 audits/models.py:39 +#: authentication/templates/authentication/_access_key_modal.html:34 +#: perms/forms/asset_permission.py:20 tickets/serializers/ticket.py:26 +#: users/templates/users/_granted_assets.html:29 +#: users/templates/users/user_asset_permission.html:44 +#: users/templates/users/user_asset_permission.html:79 +#: users/templates/users/user_database_app_permission.html:42 +#: users/templates/users/user_group_list.html:17 +#: users/templates/users/user_list.html:20 +#: users/templates/users/user_remote_app_permission.html:42 +msgid "Action" +msgstr "动作" + #: assets/models/cmd_filter.py:63 msgid "Command filter rule" msgstr "命令过滤规则" -#: assets/models/domain.py:61 assets/templates/assets/domain_detail.html:16 -#: assets/templates/assets/domain_detail.html:59 -#: assets/templates/assets/domain_gateway_list.html:21 -#: assets/templates/assets/domain_list.html:23 +#: assets/models/domain.py:61 msgid "Gateway" msgstr "网关" +#: assets/models/domain.py:67 +msgid "Password should not contain special characters" +msgstr "不能包含特殊字符" + #: assets/models/gathered_user.py:16 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:28 msgid "Present" msgstr "存在" #: assets/models/gathered_user.py:17 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:26 msgid "Date last login" msgstr "最后登录日期" #: assets/models/gathered_user.py:18 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:27 msgid "IP last login" msgstr "最后登录IP" @@ -1306,34 +529,14 @@ msgstr "资产组" msgid "Default asset group" msgstr "默认资产组" -#: assets/models/label.py:15 assets/templates/assets/system_user_users.html:63 -#: audits/models.py:18 audits/models.py:38 audits/models.py:51 -#: audits/serializers.py:69 audits/templates/audits/ftp_log_list.html:37 -#: audits/templates/audits/ftp_log_list.html:74 -#: audits/templates/audits/operate_log_list.html:37 -#: audits/templates/audits/password_change_log_list.html:37 -#: audits/templates/audits/password_change_log_list.html:54 -#: authentication/models.py:43 ops/templates/ops/command_execution_list.html:41 -#: ops/templates/ops/command_execution_list.html:66 +#: assets/models/label.py:15 audits/models.py:18 audits/models.py:38 +#: audits/models.py:51 audits/serializers.py:76 authentication/models.py:43 #: perms/forms/asset_permission.py:83 perms/forms/database_app_permission.py:38 #: perms/forms/remote_app_permission.py:40 perms/models/base.py:49 -#: perms/templates/perms/asset_permission_create_update.html:52 -#: perms/templates/perms/asset_permission_list.html:33 -#: perms/templates/perms/asset_permission_list.html:81 -#: perms/templates/perms/database_app_permission_create_update.html:41 -#: perms/templates/perms/database_app_permission_list.html:15 -#: perms/templates/perms/remote_app_permission_create_update.html:41 -#: perms/templates/perms/remote_app_permission_list.html:15 #: templates/index.html:78 terminal/backends/command/models.py:18 -#: terminal/models.py:185 terminal/templates/terminal/command_list.html:30 -#: terminal/templates/terminal/command_list.html:105 -#: terminal/templates/terminal/session_detail.html:48 -#: terminal/templates/terminal/session_list.html:25 -#: terminal/templates/terminal/session_list.html:69 tickets/models/ticket.py:33 -#: tickets/models/ticket.py:128 tickets/templates/tickets/ticket_detail.html:32 -#: tickets/templates/tickets/ticket_list.html:34 -#: tickets/templates/tickets/ticket_list.html:103 users/forms/group.py:15 -#: users/models/user.py:155 users/models/user.py:171 users/models/user.py:610 +#: terminal/models.py:185 tickets/models/ticket.py:33 +#: tickets/models/ticket.py:128 users/forms/group.py:15 +#: users/models/user.py:159 users/models/user.py:175 users/models/user.py:614 #: users/serializers/group.py:20 #: users/templates/users/user_asset_permission.html:38 #: users/templates/users/user_asset_permission.html:64 @@ -1344,14 +547,10 @@ msgstr "默认资产组" #: users/templates/users/user_list.html:135 #: users/templates/users/user_remote_app_permission.html:37 #: users/templates/users/user_remote_app_permission.html:58 -#: users/views/profile/base.py:46 xpack/plugins/orgs/forms.py:27 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:108 -#: xpack/plugins/orgs/templates/orgs/org_list.html:15 msgid "User" msgstr "用户" -#: assets/models/label.py:19 assets/models/node.py:488 -#: assets/templates/assets/label_list.html:15 settings/models.py:28 +#: assets/models/label.py:19 assets/models/node.py:488 settings/models.py:28 msgid "Value" msgstr "值" @@ -1375,10 +574,20 @@ msgstr "空" msgid "favorite" msgstr "收藏夹" -#: assets/models/node.py:487 assets/templates/assets/_node_detail_modal.html:39 +#: assets/models/node.py:487 msgid "Key" msgstr "键" +#: assets/models/node.py:497 assets/serializers/system_user.py:43 +#: assets/serializers/system_user.py:175 perms/forms/asset_permission.py:92 +#: perms/forms/asset_permission.py:99 +#: users/templates/users/user_asset_permission.html:41 +#: users/templates/users/user_asset_permission.html:73 +#: users/templates/users/user_asset_permission.html:158 +#: xpack/plugins/cloud/models.py:129 +msgid "Node" +msgstr "节点" + #: assets/models/user.py:105 msgid "Automatic login" msgstr "自动登录" @@ -1387,38 +596,17 @@ msgstr "自动登录" msgid "Manually login" msgstr "手动登录" -#: assets/models/user.py:110 -#: assets/templates/assets/_asset_group_bulk_update_modal.html:11 -#: assets/templates/assets/system_user_assets.html:94 -#: assets/views/admin_user.py:30 assets/views/admin_user.py:49 -#: assets/views/admin_user.py:67 assets/views/admin_user.py:84 -#: assets/views/admin_user.py:108 assets/views/asset.py:37 -#: assets/views/asset.py:54 assets/views/asset.py:103 assets/views/asset.py:130 -#: assets/views/asset.py:170 assets/views/asset.py:199 -#: assets/views/cmd_filter.py:31 assets/views/cmd_filter.py:48 -#: assets/views/cmd_filter.py:66 assets/views/cmd_filter.py:84 -#: assets/views/cmd_filter.py:104 assets/views/cmd_filter.py:138 -#: assets/views/cmd_filter.py:173 assets/views/domain.py:31 -#: assets/views/domain.py:48 assets/views/domain.py:66 -#: assets/views/domain.py:81 assets/views/domain.py:107 -#: assets/views/domain.py:136 assets/views/domain.py:157 -#: assets/views/label.py:27 assets/views/label.py:45 assets/views/label.py:73 -#: assets/views/platform.py:22 assets/views/platform.py:38 -#: assets/views/platform.py:58 assets/views/platform.py:74 -#: assets/views/system_user.py:30 assets/views/system_user.py:47 -#: assets/views/system_user.py:64 assets/views/system_user.py:80 -#: templates/_nav.html:39 xpack/plugins/change_auth_plan/models.py:51 +#: assets/models/user.py:108 +msgid "Username same with user" +msgstr "用户名与用户相同" + +#: assets/models/user.py:110 templates/_nav.html:39 +#: xpack/plugins/change_auth_plan/models.py:51 msgid "Assets" msgstr "资产管理" -#: assets/models/user.py:111 assets/templates/assets/system_user_users.html:76 -#: templates/_nav.html:17 users/views/group.py:28 users/views/group.py:45 -#: users/views/group.py:63 users/views/group.py:82 users/views/group.py:99 -#: users/views/login.py:163 users/views/profile/password.py:40 -#: users/views/profile/pubkey.py:36 users/views/user.py:50 -#: users/views/user.py:67 users/views/user.py:111 users/views/user.py:178 -#: users/views/user.py:206 users/views/user.py:220 users/views/user.py:234 -#: users/views/user.py:248 users/views/user.py:262 users/views/user.py:276 +#: assets/models/user.py:111 templates/_nav.html:17 +#: users/views/profile/password.py:40 users/views/profile/pubkey.py:36 msgid "Users" msgstr "用户管理" @@ -1427,22 +615,19 @@ msgstr "用户管理" msgid "User groups" msgstr "用户组" -#: assets/models/user.py:115 assets/templates/assets/_system_user.html:56 -#: assets/templates/assets/system_user_detail.html:130 -#: assets/templates/assets/system_user_update.html:10 +#: assets/models/user.py:115 msgid "Auto push" msgstr "自动推送" -#: assets/models/user.py:116 assets/templates/assets/system_user_detail.html:82 +#: assets/models/user.py:116 msgid "Sudo" msgstr "Sudo" -#: assets/models/user.py:117 assets/templates/assets/system_user_detail.html:87 +#: assets/models/user.py:117 msgid "Shell" msgstr "Shell" -#: assets/models/user.py:118 assets/templates/assets/system_user_detail.html:74 -#: assets/templates/assets/system_user_list.html:27 +#: assets/models/user.py:118 msgid "Login mode" msgstr "登录模式" @@ -1450,27 +635,12 @@ msgstr "登录模式" msgid "SFTP Root" msgstr "SFTP根路径" -#: assets/models/user.py:195 assets/templates/assets/system_user_list.html:73 -#: audits/models.py:21 audits/templates/audits/ftp_log_list.html:53 -#: audits/templates/audits/ftp_log_list.html:76 +#: assets/models/user.py:195 audits/models.py:21 #: perms/forms/asset_permission.py:95 perms/forms/remote_app_permission.py:49 #: perms/models/asset_permission.py:82 #: perms/models/database_app_permission.py:22 -#: perms/models/remote_app_permission.py:16 -#: perms/templates/perms/asset_permission_asset.html:124 -#: perms/templates/perms/asset_permission_list.html:37 -#: perms/templates/perms/asset_permission_list.html:93 -#: perms/templates/perms/asset_permission_list.html:190 -#: perms/templates/perms/database_app_permission_database_app.html:94 -#: perms/templates/perms/database_app_permission_list.html:18 -#: perms/templates/perms/remote_app_permission_detail.html:126 -#: perms/templates/perms/remote_app_permission_list.html:18 -#: templates/_nav.html:45 terminal/backends/command/models.py:20 -#: terminal/models.py:189 terminal/templates/terminal/command_list.html:32 -#: terminal/templates/terminal/command_list.html:107 -#: terminal/templates/terminal/session_detail.html:56 -#: terminal/templates/terminal/session_list.html:27 -#: terminal/templates/terminal/session_list.html:71 +#: perms/models/remote_app_permission.py:16 templates/_nav.html:45 +#: terminal/backends/command/models.py:20 terminal/models.py:189 #: users/templates/users/_granted_assets.html:27 #: users/templates/users/user_asset_permission.html:42 #: users/templates/users/user_asset_permission.html:76 @@ -1479,7 +649,6 @@ msgstr "SFTP根路径" #: users/templates/users/user_database_app_permission.html:67 #: users/templates/users/user_remote_app_permission.html:40 #: users/templates/users/user_remote_app_permission.html:67 -#: xpack/plugins/orgs/templates/orgs/org_list.html:20 msgid "System user" msgstr "系统用户" @@ -1493,7 +662,6 @@ msgid "Unreachable" msgstr "不可达" #: assets/models/utils.py:44 assets/tasks/const.py:50 -#: assets/templates/assets/asset_list.html:27 msgid "Reachable" msgstr "可连接" @@ -1522,15 +690,7 @@ msgid "Connectivity" msgstr "连接" #: assets/serializers/asset_user.py:44 -#: assets/templates/assets/_node_detail_modal.html:18 -#: audits/templates/audits/login_log_list.html:56 #: authentication/templates/authentication/_access_key_modal.html:30 -#: ops/templates/ops/adhoc_detail.html:47 -#: ops/templates/ops/adhoc_history_detail.html:47 -#: ops/templates/ops/task_detail.html:54 -#: terminal/templates/terminal/session_list.html:24 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:45 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:44 msgid "ID" msgstr "ID" @@ -1539,14 +699,17 @@ msgid "Backend" msgstr "后端" #: assets/serializers/asset_user.py:75 users/forms/profile.py:148 -#: users/models/user.py:492 users/templates/users/first_login.html:42 -#: users/templates/users/user_password_update.html:49 +#: users/models/user.py:496 users/templates/users/user_password_update.html:48 #: users/templates/users/user_profile.html:69 #: users/templates/users/user_profile_update.html:46 #: users/templates/users/user_pubkey_update.html:46 msgid "Public key" msgstr "SSH公钥" +#: assets/serializers/asset_user.py:79 users/models/user.py:493 +msgid "Private key" +msgstr "ssh私钥" + #: assets/serializers/base.py:45 msgid "" "Not support openssh format key, using ssh-keygen -t rsa -m pem to generate" @@ -1692,5315 +855,4576 @@ msgstr "为了安全,禁止推送用户 {}" msgid "No assets matched, stop task" msgstr "没有匹配到资产,结束任务" -#: assets/templates/assets/_asset_group_bulk_update_modal.html:5 -msgid "Update asset group" -msgstr "更新用户组" - -#: assets/templates/assets/_asset_group_bulk_update_modal.html:8 -msgid "Hint: only change the field you want to update." -msgstr "仅修改你需要更新的字段" - -#: assets/templates/assets/_asset_group_bulk_update_modal.html:13 -msgid "Select Asset" -msgstr "选择资产" - -#: assets/templates/assets/_asset_group_bulk_update_modal.html:21 -#: assets/templates/assets/cmd_filter_detail.html:84 -#: assets/templates/assets/cmd_filter_list.html:24 -#: perms/forms/database_app_permission.py:47 -msgid "System users" -msgstr "系统用户" - -#: assets/templates/assets/_asset_group_bulk_update_modal.html:23 -msgid "Select System Users" -msgstr "选择系统用户" - -#: assets/templates/assets/_asset_group_bulk_update_modal.html:34 -msgid "Enable-MFA" -msgstr "启用多因子认证" +#: audits/models.py:19 audits/models.py:42 audits/models.py:53 +#: terminal/models.py:192 +msgid "Remote addr" +msgstr "远端地址" -#: assets/templates/assets/_asset_list_modal.html:7 -#: assets/templates/assets/system_user_assets.html:26 -#: assets/templates/assets/system_user_detail.html:18 -#: assets/templates/assets/system_user_users.html:25 assets/views/asset.py:38 -#: templates/_nav.html:42 xpack/plugins/change_auth_plan/views.py:118 -msgid "Asset list" -msgstr "资产列表" +#: audits/models.py:22 +msgid "Operate" +msgstr "操作" -#: assets/templates/assets/_asset_list_modal.html:33 -#: assets/templates/assets/_node_tree.html:39 -#: ops/templates/ops/command_execution_create.html:62 -#: ops/templates/ops/command_execution_create.html:112 -#: settings/templates/settings/_ldap_list_users_modal.html:41 -#: users/templates/users/_granted_assets.html:7 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:65 -msgid "Loading" -msgstr "加载中" +#: audits/models.py:23 +msgid "Filename" +msgstr "文件名" -#: assets/templates/assets/_asset_user_auth_update_modal.html:4 -msgid "Update asset user auth" -msgstr "更新资产用户认证信息" +#: audits/models.py:24 audits/models.py:77 +#: users/templates/users/user_detail.html:487 +msgid "Success" +msgstr "成功" -#: assets/templates/assets/_asset_user_auth_update_modal.html:23 -#: settings/templates/settings/_ldap_test_user_login_modal.html:18 -#: xpack/plugins/change_auth_plan/forms.py:61 -msgid "Please input password" -msgstr "请输入密码" +#: audits/models.py:25 ops/models/command.py:28 perms/models/base.py:52 +#: terminal/models.py:199 xpack/plugins/change_auth_plan/models.py:176 +#: xpack/plugins/change_auth_plan/models.py:307 +#: xpack/plugins/gathered_user/models.py:76 +msgid "Date start" +msgstr "开始日期" -#: assets/templates/assets/_asset_user_auth_update_modal.html:68 -#: assets/templates/assets/asset_detail.html:300 -#: users/templates/users/user_detail.html:356 -#: users/templates/users/user_detail.html:383 -#: xpack/plugins/interface/views.py:35 -msgid "Update successfully!" -msgstr "更新成功" +#: audits/models.py:33 +#: authentication/templates/authentication/_access_key_modal.html:22 +msgid "Create" +msgstr "创建" -#: assets/templates/assets/_asset_user_auth_view_modal.html:5 -msgid "Asset user auth" -msgstr "资产用户信息" +#: audits/models.py:34 templates/_csv_import_export.html:18 +#: templates/_csv_update_modal.html:6 +#: users/templates/users/user_asset_permission.html:127 +#: users/templates/users/user_database_app_permission.html:110 +#: users/templates/users/user_detail.html:12 +#: users/templates/users/user_group_detail.html:23 +#: users/templates/users/user_group_list.html:51 +#: users/templates/users/user_list.html:84 +#: users/templates/users/user_list.html:87 +#: users/templates/users/user_profile.html:181 +#: users/templates/users/user_profile.html:191 +#: users/templates/users/user_profile.html:201 +#: users/templates/users/user_remote_app_permission.html:110 +msgid "Update" +msgstr "更新" -#: assets/templates/assets/_asset_user_auth_view_modal.html:54 -#: assets/templates/assets/_node_detail_modal.html:56 -#: authentication/templates/authentication/login_wait_confirm.html:114 -msgid "Copy success" -msgstr "复制成功" +#: audits/models.py:35 +#: authentication/templates/authentication/_access_key_modal.html:65 +#: users/templates/users/user_asset_permission.html:128 +#: users/templates/users/user_database_app_permission.html:111 +#: users/templates/users/user_detail.html:16 +#: users/templates/users/user_group_detail.html:27 +#: users/templates/users/user_group_list.html:53 +#: users/templates/users/user_list.html:94 +#: users/templates/users/user_list.html:98 +#: users/templates/users/user_remote_app_permission.html:111 +msgid "Delete" +msgstr "删除" -#: assets/templates/assets/_asset_user_auth_view_modal.html:68 -msgid "Get auth info error" -msgstr "获取认证信息错误" +#: audits/models.py:40 +msgid "Resource Type" +msgstr "资源类型" -#: assets/templates/assets/_asset_user_auth_view_modal.html:101 -#: assets/templates/assets/_node_detail_modal.html:67 -#: assets/templates/assets/_user_asset_detail_modal.html:23 -#: authentication/templates/authentication/_access_key_modal.html:155 -#: authentication/templates/authentication/_mfa_confirm_modal.html:53 -#: settings/templates/settings/_ldap_list_users_modal.html:171 -#: templates/_modal.html:22 tickets/models/ticket.py:68 -#: tickets/templates/tickets/ticket_detail.html:103 -msgid "Close" -msgstr "关闭" +#: audits/models.py:41 +msgid "Resource" +msgstr "资源" -#: assets/templates/assets/_asset_user_list.html:24 audits/models.py:43 -#: audits/models.py:54 audits/templates/audits/operate_log_list.html:75 -#: audits/templates/audits/password_change_log_list.html:57 -#: ops/templates/ops/task_adhoc.html:61 -#: terminal/templates/terminal/command_list.html:34 -#: terminal/templates/terminal/session_commands.html:51 -#: tickets/templates/tickets/ticket_list.html:37 +#: audits/models.py:43 audits/models.py:54 msgid "Datetime" msgstr "日期" -#: assets/templates/assets/_asset_user_list.html:41 -#: assets/templates/assets/asset_list.html:59 -msgid "Test datetime: " -msgstr "测试日期: " - -#: assets/templates/assets/_asset_user_list.html:44 -msgid "Only latest version" -msgstr "仅最新版本" - -#: assets/templates/assets/_asset_user_list.html:66 -msgid "View" -msgstr "查看" - -#: assets/templates/assets/_asset_user_list.html:68 -#: assets/templates/assets/admin_user_assets.html:56 -#: assets/templates/assets/asset_asset_user_list.html:57 -#: assets/templates/assets/asset_detail.html:174 -#: assets/templates/assets/system_user_assets.html:74 -#: terminal/templates/terminal/base_storage_list.html:72 -msgid "Test" -msgstr "测试" - -#: assets/templates/assets/_asset_user_list.html:69 -#: assets/templates/assets/system_user_assets.html:83 -msgid "Push" -msgstr "推送" - -#: assets/templates/assets/_asset_user_list.html:167 -#: authentication/templates/authentication/_access_key_modal.html:147 -msgid "Delete success" -msgstr "删除成功" +#: audits/models.py:52 +msgid "Change by" +msgstr "修改者" -#: assets/templates/assets/_gateway_test_modal.html:4 -msgid "Test gateway test connection" -msgstr "测试连接网关" +#: audits/models.py:71 users/templates/users/user_detail.html:84 +msgid "Disabled" +msgstr "禁用" -#: assets/templates/assets/_gateway_test_modal.html:10 terminal/models.py:28 -msgid "SSH Port" -msgstr "SSH端口" +#: audits/models.py:72 settings/models.py:31 +#: users/templates/users/user_detail.html:82 +msgid "Enabled" +msgstr "启用" -#: assets/templates/assets/_gateway_test_modal.html:13 -msgid "If use nat, set the ssh real port" -msgstr "如果使用了nat端口映射,请设置为ssh真实监听的端口" - -#: assets/templates/assets/_node_detail_modal.html:11 -#: assets/templates/assets/asset_list.html:124 -msgid "Node detail" -msgstr "节点详情" - -#: assets/templates/assets/_node_detail_modal.html:33 -msgid "Full name" -msgstr "全称" - -#: assets/templates/assets/_node_tree.html:49 -msgid "Add node" -msgstr "新建节点" - -#: assets/templates/assets/_node_tree.html:50 -msgid "Rename node" -msgstr "重命名节点" - -#: assets/templates/assets/_node_tree.html:51 -msgid "Delete node" -msgstr "删除节点" - -#: assets/templates/assets/_node_tree.html:166 -msgid "Create node failed" -msgstr "创建节点失败" - -#: assets/templates/assets/_node_tree.html:250 -msgid "Rename success" -msgstr "重命名成功" - -#: assets/templates/assets/_system_user.html:33 -#: assets/templates/assets/asset_create.html:16 -#: assets/templates/assets/gateway_create_update.html:33 -#: perms/templates/perms/asset_permission_create_update.html:48 -#: perms/templates/perms/database_app_permission_create_update.html:37 -#: perms/templates/perms/remote_app_permission_create_update.html:37 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:37 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:23 -#: xpack/plugins/gathered_user/templates/gathered_user/task_create_update.html:23 -msgid "Basic" -msgstr "基本" - -#: assets/templates/assets/_system_user.html:41 -#: assets/templates/assets/asset_create.html:38 -#: assets/templates/assets/gateway_create_update.html:41 -#: users/templates/users/_user.html:21 -msgid "Auth" -msgstr "认证" +#: audits/models.py:73 +msgid "-" +msgstr "" -#: assets/templates/assets/_system_user.html:45 -msgid "Auto generate key" -msgstr "自动生成密钥" - -#: assets/templates/assets/_system_user.html:66 -#: assets/templates/assets/asset_create.html:74 -#: assets/templates/assets/gateway_create_update.html:49 -#: perms/templates/perms/asset_permission_create_update.html:97 -#: perms/templates/perms/database_app_permission_create_update.html:51 -#: perms/templates/perms/remote_app_permission_create_update.html:51 -#: terminal/templates/terminal/terminal_update.html:38 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:61 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:47 -#: xpack/plugins/gathered_user/templates/gathered_user/task_create_update.html:35 -msgid "Other" -msgstr "其它" - -#: assets/templates/assets/_user_asset_detail_modal.html:11 -#: assets/templates/assets/asset_asset_user_list.html:13 -#: assets/templates/assets/asset_detail.html:18 assets/views/asset.py:200 -msgid "Asset detail" -msgstr "资产详情" - -#: assets/templates/assets/admin_user_assets.html:16 -#: assets/templates/assets/admin_user_detail.html:16 -msgid "Assets list" -msgstr "资产列表" +#: audits/models.py:78 xpack/plugins/cloud/models.py:204 +msgid "Failed" +msgstr "失败" -#: assets/templates/assets/admin_user_assets.html:24 -#: perms/templates/perms/asset_permission_asset.html:31 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:27 -msgid "Asset list of " -msgstr "资产列表" +#: audits/models.py:82 +msgid "Login type" +msgstr "登录方式" -#: assets/templates/assets/admin_user_assets.html:47 -#: assets/templates/assets/system_user_assets.html:65 -#: assets/templates/assets/system_user_detail.html:124 -#: perms/templates/perms/asset_permission_detail.html:109 -#: perms/templates/perms/database_app_permission_detail.html:105 -#: perms/templates/perms/remote_app_permission_detail.html:101 -msgid "Quick update" -msgstr "快速更新" - -#: assets/templates/assets/admin_user_assets.html:53 -#: assets/templates/assets/asset_asset_user_list.html:54 -#: assets/templates/assets/asset_detail.html:171 -msgid "Test connective" -msgstr "测试可连接性" - -#: assets/templates/assets/admin_user_detail.html:78 -msgid "Replace node assets admin user with this" -msgstr "替换资产的管理员" - -#: assets/templates/assets/admin_user_detail.html:86 -#: assets/templates/assets/system_user_assets.html:126 -#: perms/templates/perms/asset_permission_asset.html:99 -#: xpack/plugins/change_auth_plan/forms.py:69 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:95 -#: xpack/plugins/gathered_user/forms.py:33 -msgid "Select nodes" -msgstr "选择节点" - -#: assets/templates/assets/admin_user_detail.html:95 -#: assets/templates/assets/asset_detail.html:200 -#: assets/templates/assets/asset_list.html:258 -#: assets/templates/assets/cmd_filter_detail.html:101 -#: assets/templates/assets/system_user_assets.html:108 -#: assets/templates/assets/system_user_assets.html:132 -#: assets/templates/assets/system_user_detail.html:172 -#: assets/templates/assets/system_user_users.html:90 -#: authentication/templates/authentication/_mfa_confirm_modal.html:20 -#: templates/_modal.html:23 terminal/templates/terminal/session_detail.html:122 -#: users/templates/users/user_detail.html:264 -#: users/templates/users/user_detail.html:417 -#: users/templates/users/user_detail.html:443 -#: users/templates/users/user_detail.html:466 -#: users/templates/users/user_detail.html:511 -#: users/templates/users/user_group_create_update.html:28 -#: users/templates/users/user_list.html:184 -#: users/templates/users/user_password_verify.html:20 -#: xpack/plugins/cloud/templates/cloud/account_create_update.html:30 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:53 -#: xpack/plugins/gathered_user/templates/gathered_user/task_create_update.html:41 -#: xpack/plugins/interface/templates/interface/interface.html:103 -#: xpack/plugins/orgs/templates/orgs/org_create_update.html:30 -msgid "Confirm" -msgstr "确认" +#: audits/models.py:83 +msgid "Login ip" +msgstr "登录IP" -#: assets/templates/assets/admin_user_list.html:4 -msgid "" -"Admin users are asset (charged server) on the root, or have NOPASSWD: ALL " -"sudo permissions users, " -msgstr "" -"管理用户是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL sudo 权限的用户," +#: audits/models.py:84 +msgid "Login city" +msgstr "登录城市" -#: assets/templates/assets/admin_user_list.html:5 -msgid "" -"JumpServer users of the system using the user to `push system user`, `get " -"assets hardware information`, etc. " -msgstr "JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。" - -#: assets/templates/assets/admin_user_list.html:13 -#: assets/views/admin_user.py:50 -msgid "Create admin user" -msgstr "创建管理用户" - -#: assets/templates/assets/asset_asset_user_list.html:16 -#: assets/templates/assets/asset_detail.html:21 assets/views/asset.py:55 -msgid "Asset user list" -msgstr "资产用户列表" - -#: assets/templates/assets/asset_asset_user_list.html:24 -msgid "Asset users of" -msgstr "资产用户" - -#: assets/templates/assets/asset_asset_user_list.html:47 -#: assets/templates/assets/asset_detail.html:140 -#: terminal/templates/terminal/session_detail.html:87 -#: users/templates/users/user_detail.html:126 -#: users/templates/users/user_profile.html:150 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:126 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:139 -#: xpack/plugins/license/templates/license/license_detail.html:80 -msgid "Quick modify" -msgstr "快速修改" +#: audits/models.py:85 +msgid "User agent" +msgstr "Agent" -#: assets/templates/assets/asset_bulk_update.html:8 -#: users/templates/users/user_bulk_update.html:8 -msgid "Select properties that need to be modified" -msgstr "选择需要修改属性" +#: audits/models.py:86 +#: authentication/templates/authentication/_mfa_confirm_modal.html:14 +#: authentication/templates/authentication/login_otp.html:6 +#: users/forms/profile.py:52 users/models/user.py:488 +#: users/serializers/user.py:216 users/templates/users/user_detail.html:77 +#: users/templates/users/user_profile.html:87 +msgid "MFA" +msgstr "多因子认证" -#: assets/templates/assets/asset_bulk_update.html:10 -#: users/templates/users/user_bulk_update.html:10 -msgid "Select all" -msgstr "全选" +#: audits/models.py:87 xpack/plugins/change_auth_plan/models.py:303 +#: xpack/plugins/cloud/models.py:217 +msgid "Reason" +msgstr "原因" -#: assets/templates/assets/asset_detail.html:88 -msgid "CPU" -msgstr "CPU" +#: audits/models.py:88 tickets/serializers/ticket.py:25 +#: xpack/plugins/cloud/models.py:214 xpack/plugins/cloud/models.py:272 +msgid "Status" +msgstr "状态" -#: assets/templates/assets/asset_detail.html:96 -msgid "Disk" -msgstr "硬盘" +#: audits/models.py:89 +msgid "Date login" +msgstr "登录日期" -#: assets/templates/assets/asset_detail.html:124 -#: users/templates/users/user_detail.html:101 -#: users/templates/users/user_profile.html:106 -msgid "Date joined" -msgstr "创建日期" +#: audits/serializers.py:61 audits/serializers.py:73 ops/models/adhoc.py:240 +msgid "Is success" +msgstr "是否成功" -#: assets/templates/assets/asset_detail.html:146 authentication/models.py:19 -#: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/base.py:51 -#: perms/templates/perms/asset_permission_create_update.html:99 -#: perms/templates/perms/asset_permission_detail.html:115 -#: perms/templates/perms/database_app_permission_create_update.html:53 -#: perms/templates/perms/database_app_permission_detail.html:111 -#: perms/templates/perms/remote_app_permission_create_update.html:53 -#: perms/templates/perms/remote_app_permission_detail.html:107 -#: terminal/templates/terminal/terminal_list.html:35 -#: users/templates/users/_select_user_modal.html:18 -#: users/templates/users/user_detail.html:132 -#: users/templates/users/user_profile.html:63 -msgid "Active" -msgstr "激活中" +#: audits/serializers.py:72 ops/models/command.py:24 +#: xpack/plugins/cloud/models.py:212 +msgid "Result" +msgstr "结果" -#: assets/templates/assets/asset_detail.html:163 -msgid "Refresh hardware" -msgstr "更新硬件信息" +#: audits/serializers.py:74 +msgid "Hosts" +msgstr "主机" -#: assets/templates/assets/asset_detail.html:166 -#: authentication/templates/authentication/login_wait_confirm.html:42 -msgid "Refresh" -msgstr "刷新" +#: audits/serializers.py:75 +msgid "Run as" +msgstr "运行用户" -#: assets/templates/assets/asset_list.html:6 -msgid "" -"The left side is the asset tree, right click to create, delete, and change " -"the tree node, authorization asset is also organized as a node, and the " -"right side is the asset under that node" +#: authentication/backends/api.py:53 +msgid "Invalid signature header. No credentials provided." msgstr "" -"左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的," -"右侧是属于该节点下的资产" - -#: assets/templates/assets/asset_list.html:10 assets/views/asset.py:104 -msgid "Create asset" -msgstr "创建资产" -#: assets/templates/assets/asset_list.html:26 -msgid "Hardware" -msgstr "硬件" +#: authentication/backends/api.py:56 +msgid "Invalid signature header. Signature string should not contain spaces." +msgstr "" -#: assets/templates/assets/asset_list.html:37 -#: users/templates/users/user_list.html:30 -msgid "Delete selected" -msgstr "批量删除" +#: authentication/backends/api.py:63 +msgid "Invalid signature header. Format like AccessKeyId:Signature" +msgstr "" -#: assets/templates/assets/asset_list.html:38 -#: users/templates/users/user_list.html:34 -msgid "Update selected" -msgstr "批量更新" +#: authentication/backends/api.py:67 +msgid "" +"Invalid signature header. Signature string should not contain invalid " +"characters." +msgstr "" -#: assets/templates/assets/asset_list.html:39 -msgid "Remove from this node" -msgstr "从节点移除" +#: authentication/backends/api.py:87 authentication/backends/api.py:103 +msgid "Invalid signature." +msgstr "" -#: assets/templates/assets/asset_list.html:40 -#: users/templates/users/user_list.html:35 -msgid "Deactive selected" -msgstr "禁用所选" +#: authentication/backends/api.py:94 +msgid "HTTP header: Date not provide or not %a, %d %b %Y %H:%M:%S GMT" +msgstr "" -#: assets/templates/assets/asset_list.html:41 -#: users/templates/users/user_list.html:36 -msgid "Active selected" -msgstr "激活所选" +#: authentication/backends/api.py:99 +msgid "Expired, more than 15 minutes" +msgstr "" -#: assets/templates/assets/asset_list.html:115 -msgid "Add assets to node" -msgstr "添加资产到节点" +#: authentication/backends/api.py:106 +msgid "User disabled." +msgstr "用户已禁用" -#: assets/templates/assets/asset_list.html:116 -msgid "Move assets to node" -msgstr "移动资产到节点" +#: authentication/backends/api.py:124 +msgid "Invalid token header. No credentials provided." +msgstr "" -#: assets/templates/assets/asset_list.html:118 -msgid "Refresh node hardware info" -msgstr "更新节点资产硬件信息" +#: authentication/backends/api.py:127 +msgid "Invalid token header. Sign string should not contain spaces." +msgstr "" -#: assets/templates/assets/asset_list.html:119 -msgid "Test node connective" -msgstr "测试节点资产可连接性" +#: authentication/backends/api.py:134 +msgid "" +"Invalid token header. Sign string should not contain invalid characters." +msgstr "" -#: assets/templates/assets/asset_list.html:121 -msgid "Display only current node assets" -msgstr "仅显示当前节点资产" +#: authentication/backends/api.py:145 +msgid "Invalid token or cache refreshed." +msgstr "" -#: assets/templates/assets/asset_list.html:122 -msgid "Displays all child node assets" -msgstr "显示所有子节点资产" +#: authentication/errors.py:21 +msgid "Username/password check failed" +msgstr "用户名/密码 校验失败" -#: assets/templates/assets/asset_list.html:252 -#: users/templates/users/user_detail.html:411 -#: users/templates/users/user_detail.html:437 -#: users/templates/users/user_detail.html:505 -#: users/templates/users/user_list.html:178 -#: xpack/plugins/interface/templates/interface/interface.html:97 -msgid "Are you sure?" -msgstr "你确认吗?" +#: authentication/errors.py:22 +msgid "MFA failed" +msgstr "多因子认证失败" -#: assets/templates/assets/asset_list.html:253 -msgid "This will delete the selected assets !!!" -msgstr "删除选择资产" +#: authentication/errors.py:23 +msgid "MFA unset" +msgstr "多因子认证没有设定" -#: assets/templates/assets/asset_list.html:256 -#: users/templates/users/user_detail.html:415 -#: users/templates/users/user_detail.html:441 -#: users/templates/users/user_detail.html:509 -#: users/templates/users/user_list.html:182 -#: xpack/plugins/interface/templates/interface/interface.html:101 -msgid "Cancel" -msgstr "取消" +#: authentication/errors.py:24 +msgid "Username does not exist" +msgstr "用户名不存在" -#: assets/templates/assets/asset_list.html:262 -msgid "Asset Deleting failed." -msgstr "删除失败" +#: authentication/errors.py:25 +msgid "Password expired" +msgstr "密码已过期" -#: assets/templates/assets/asset_list.html:263 -#: assets/templates/assets/asset_list.html:272 -msgid "Asset Delete" -msgstr "删除" +#: authentication/errors.py:26 +msgid "Disabled or expired" +msgstr "禁用或失效" -#: assets/templates/assets/asset_list.html:271 -msgid "Asset Deleted." -msgstr "已被删除" +#: authentication/errors.py:27 +msgid "This account is inactive." +msgstr "此账户已禁用" -#: assets/templates/assets/asset_list.html:310 -msgid "Please select node" -msgstr "请选择节点" - -#: assets/templates/assets/asset_update.html:7 -msgid "Configuration" -msgstr "配置" - -#: assets/templates/assets/cmd_filter_detail.html:20 -#: assets/templates/assets/cmd_filter_list.html:23 -#: assets/templates/assets/cmd_filter_rule_list.html:18 -msgid "Rules" -msgstr "规则" - -#: assets/templates/assets/cmd_filter_detail.html:92 -msgid "Binding to system user" -msgstr "绑定到系统用户" +#: authentication/errors.py:37 +msgid "No session found, check your cookie" +msgstr "会话已变更,刷新页面" -#: assets/templates/assets/cmd_filter_list.html:5 +#: authentication/errors.py:39 +#, python-brace-format msgid "" -"System user bound some command filter, each command filter has some rules," -msgstr "系统用户可以绑定一些命令过滤器,一个过滤器可以定义一些规则" - -#: assets/templates/assets/cmd_filter_list.html:6 -msgid "When user login asset with this system user, then run a command," -msgstr "当用户使用这个系统用户登录资产,然后执行一个命令" - -#: assets/templates/assets/cmd_filter_list.html:7 -msgid "The command will be filter by rules, higher priority rule run first," -msgstr "这个命令需要被绑定过滤器的所有规则匹配,高优先级先被匹配," +"The username or password you entered is incorrect, please enter it again. " +"You can also try {times_try} times (The account will be temporarily locked " +"for {block_time} minutes)" +msgstr "" +"您输入的用户名或密码不正确,请重新输入。 您还可以尝试 {times_try} 次(账号将" +"被临时 锁定 {block_time} 分钟)" -#: assets/templates/assets/cmd_filter_list.html:8 +#: authentication/errors.py:45 msgid "" -"When a rule matched, if rule action is allow, then allow command execute," -msgstr "当一个规则匹配到了,如果规则的动作是允许,这个命令会被放行," - -#: assets/templates/assets/cmd_filter_list.html:9 -msgid "else if action is deny, then command with be deny," -msgstr "如果规则的动作是禁止,命令将会被禁止执行," +"The account has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "账号已被锁定(请联系管理员解锁 或 {}分钟后重试)" -#: assets/templates/assets/cmd_filter_list.html:10 -msgid "else match next rule, if none matched, allowed" -msgstr "否则就匹配下一个规则,如果最后没有匹配到规则,则允许执行" +#: authentication/errors.py:48 users/views/profile/otp.py:63 +#: users/views/profile/otp.py:102 users/views/profile/otp.py:121 +msgid "MFA code invalid, or ntp sync server time" +msgstr "MFA验证码不正确,或者服务器端时间不对" -#: assets/templates/assets/cmd_filter_list.html:14 -#: assets/views/cmd_filter.py:49 -msgid "Create command filter" -msgstr "创建命令过滤器" +#: authentication/errors.py:50 +msgid "MFA required" +msgstr "需要多因子认证" -#: assets/templates/assets/cmd_filter_rule_list.html:28 -#: assets/views/cmd_filter.py:105 -msgid "Command filter rule list" -msgstr "命令过滤器规则列表" +#: authentication/errors.py:51 +msgid "MFA not set, please set it first" +msgstr "多因子认证没有设置,请先完成设置" -#: assets/templates/assets/cmd_filter_rule_list.html:45 -msgid "Create rule" -msgstr "创建规则" +#: authentication/errors.py:52 +msgid "Login confirm required" +msgstr "需要登录复核" -#: assets/templates/assets/cmd_filter_rule_list.html:56 -msgid "Strategy" -msgstr "策略" +#: authentication/errors.py:53 +msgid "Wait login confirm ticket for accept" +msgstr "等待登录复核处理" -#: assets/templates/assets/delete_confirm.html:6 -#: perms/templates/perms/delete_confirm.html:6 templates/delete_confirm.html:6 -msgid "Confirm delete" -msgstr "确认删除" +#: authentication/errors.py:54 +msgid "Login confirm ticket was {}" +msgstr "登录复核 {}" -#: assets/templates/assets/delete_confirm.html:11 -#: templates/delete_confirm.html:11 -msgid "Are you sure delete" -msgstr "您确定删除吗?" +#: authentication/forms.py:29 users/forms/user.py:199 +msgid "MFA code" +msgstr "多因子认证验证码" -#: assets/templates/assets/domain_gateway_list.html:32 -msgid "Gateway list" -msgstr "网关列表" +#: authentication/models.py:19 +#: authentication/templates/authentication/_access_key_modal.html:32 +#: perms/models/base.py:51 users/templates/users/_select_user_modal.html:18 +#: users/templates/users/user_detail.html:132 +#: users/templates/users/user_profile.html:63 +msgid "Active" +msgstr "激活中" -#: assets/templates/assets/domain_gateway_list.html:51 -#: assets/views/domain.py:137 -msgid "Create gateway" -msgstr "创建网关" +#: authentication/models.py:39 +msgid "Private Token" +msgstr "SSH密钥" -#: assets/templates/assets/domain_gateway_list.html:94 -#: assets/templates/assets/domain_gateway_list.html:96 -#: settings/templates/settings/email_setting.html:45 -#: settings/templates/settings/ldap_setting.html:46 -msgid "Test connection" -msgstr "测试连接" +#: authentication/models.py:44 users/templates/users/user_detail.html:258 +msgid "Reviewers" +msgstr "审批人" -#: assets/templates/assets/domain_gateway_list.html:136 -msgid "Can be connected" -msgstr "可连接" +#: authentication/models.py:53 tickets/models/ticket.py:25 +#: users/templates/users/user_detail.html:250 +msgid "Login confirm" +msgstr "登录复核" -#: assets/templates/assets/domain_list.html:6 -msgid "" -"The domain function is added to address the fact that some environments " -"(such as the hybrid cloud) cannot be connected directly by jumping on the " -"gateway server." -msgstr "" -"网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通过" -"网关服务器进行跳转登录。" +#: authentication/models.py:63 +msgid "City" +msgstr "城市" -#: assets/templates/assets/domain_list.html:8 -msgid "JMS => Domain gateway => Target assets" -msgstr "JMS => 网域网关 => 目标资产" +#: authentication/templates/authentication/_access_key_modal.html:6 +msgid "API key list" +msgstr "API Key列表" -#: assets/templates/assets/domain_list.html:13 assets/views/domain.py:49 -msgid "Create domain" -msgstr "创建网域" +#: authentication/templates/authentication/_access_key_modal.html:18 +msgid "Using api key sign api header, every requests header difference" +msgstr "使用api key签名请求头,每个请求的头部是不一样的" -#: assets/templates/assets/label_list.html:6 assets/views/label.py:46 -msgid "Create label" -msgstr "创建标签" +#: authentication/templates/authentication/_access_key_modal.html:19 +msgid "docs" +msgstr "文档" -#: assets/templates/assets/platform_list.html:8 assets/views/platform.py:39 -msgid "Create platform" -msgstr "创建系统平台" +#: authentication/templates/authentication/_access_key_modal.html:31 +msgid "Secret" +msgstr "密文" -#: assets/templates/assets/system_user_assets.html:32 -#: assets/templates/assets/system_user_detail.html:25 -#: assets/templates/assets/system_user_users.html:31 templates/_nav.html:20 -#: users/views/user.py:51 -msgid "User list" -msgstr "用户列表" +#: authentication/templates/authentication/_access_key_modal.html:33 +msgid "Date" +msgstr "日期" -#: assets/templates/assets/system_user_assets.html:71 -msgid "Test assets connective" -msgstr "测试资产可连接性" +#: authentication/templates/authentication/_access_key_modal.html:48 +#: users/templates/users/_granted_assets.html:75 +msgid "Show" +msgstr "显示" -#: assets/templates/assets/system_user_assets.html:80 -msgid "Push system user now" -msgstr "立刻推送系统" +#: authentication/templates/authentication/_access_key_modal.html:66 +#: users/models/user.py:386 users/serializers/user.py:213 +#: users/templates/users/user_profile.html:94 +#: users/templates/users/user_profile.html:163 +#: users/templates/users/user_profile.html:166 +#: users/templates/users/user_verify_mfa.html:32 +msgid "Disable" +msgstr "禁用" -#: assets/templates/assets/system_user_assets.html:279 -#: assets/templates/assets/system_user_users.html:205 -msgid "Have existed: " -msgstr "已经存在: " +#: authentication/templates/authentication/_access_key_modal.html:67 +#: users/models/user.py:387 users/serializers/user.py:214 +#: users/templates/users/user_profile.html:92 +#: users/templates/users/user_profile.html:170 +msgid "Enable" +msgstr "启用" -#: assets/templates/assets/system_user_detail.html:93 -msgid "Home" -msgstr "家目录" +#: authentication/templates/authentication/_access_key_modal.html:147 +msgid "Delete success" +msgstr "删除成功" -#: assets/templates/assets/system_user_detail.html:99 -msgid "Uid" -msgstr "Uid" +#: authentication/templates/authentication/_access_key_modal.html:155 +#: authentication/templates/authentication/_mfa_confirm_modal.html:53 +#: templates/_modal.html:22 tickets/models/ticket.py:68 +msgid "Close" +msgstr "关闭" -#: assets/templates/assets/system_user_detail.html:163 -msgid "Binding command filters" -msgstr "绑定命令过滤器" +#: authentication/templates/authentication/_mfa_confirm_modal.html:5 +msgid "MFA confirm" +msgstr "多因子认证校验" -#: assets/templates/assets/system_user_list.html:5 -msgid "" -"System user is JumpServer jump login assets used by the users, can be " -"understood as the user login assets, such as web, sa, the dba (` ssh " -"web@some-host `), rather than using a user the username login server jump (` " -"ssh xiaoming@some-host `); " -msgstr "" -"系统用户是 JumpServer 跳转登录资产时使用的用户,可以理解为登录资产用户,如 " -"web,sa,dba(`ssh web@some-host`),而不是使用某个用户的用户名跳转登录服务器" -"(`ssh xiaoming@some-host`);" +#: authentication/templates/authentication/_mfa_confirm_modal.html:17 +msgid "Need MFA for view auth" +msgstr "需要多因子认证来查看账号信息" -#: assets/templates/assets/system_user_list.html:6 -msgid "" -"In simple terms, users log into JumpServer using their own username, and " -"JumpServer uses system users to log into assets. " -msgstr "" -"简单来说是用户使用自己的用户名登录 JumpServer,JumpServer 使用系统用户登录资" -"产。" +#: authentication/templates/authentication/_mfa_confirm_modal.html:20 +#: templates/_modal.html:23 users/templates/users/user_detail.html:264 +#: users/templates/users/user_detail.html:417 +#: users/templates/users/user_detail.html:443 +#: users/templates/users/user_detail.html:466 +#: users/templates/users/user_detail.html:511 +#: users/templates/users/user_group_create_update.html:28 +#: users/templates/users/user_list.html:184 +#: users/templates/users/user_password_verify.html:20 +msgid "Confirm" +msgstr "确认" -#: assets/templates/assets/system_user_list.html:7 -msgid "" -"When system users are created, if you choose auto push JumpServer to use " -"Ansible push system users into the asset, if the asset (Switch) does not " -"support ansible, please manually fill in the account password." -msgstr "" -"系统用户创建时,如果选择了自动推送,JumpServer 会使用 Ansible 自动推送系统用" -"户到资产中,如果资产(交换机)不支持 Ansible,请手动填写账号密码。" +#: authentication/templates/authentication/_mfa_confirm_modal.html:25 +msgid "Code error" +msgstr "代码错误" -#: assets/templates/assets/system_user_list.html:16 -#: assets/views/system_user.py:48 -msgid "Create system user" -msgstr "创建系统用户" +#: authentication/templates/authentication/login.html:6 +#: authentication/templates/authentication/login.html:39 +#: authentication/templates/authentication/xpack_login.html:112 +#: templates/_base_only_msg_content.html:51 templates/_header_bar.html:83 +msgid "Login" +msgstr "登录" -#: assets/templates/assets/system_user_users.html:84 users/forms/group.py:19 -#: users/forms/user.py:143 users/forms/user.py:148 -#: xpack/plugins/orgs/forms.py:17 -msgid "Select users" -msgstr "选择用户" +#: authentication/templates/authentication/login.html:17 +#: authentication/templates/authentication/xpack_login.html:87 +msgid "Captcha invalid" +msgstr "验证码错误" -#: assets/templates/assets/system_user_users.html:118 -#: users/templates/users/user_list.html:106 -#: users/templates/users/user_list.html:110 -msgid "Remove" -msgstr "移除" +#: authentication/templates/authentication/login.html:50 +#: authentication/templates/authentication/xpack_login.html:116 +#: users/templates/users/forgot_password.html:7 +#: users/templates/users/forgot_password.html:8 +msgid "Forgot password" +msgstr "忘记密码" -#: assets/templates/assets/system_user_users.html:176 -msgid "Remove success" -msgstr "移除成功" +#: authentication/templates/authentication/login.html:57 +msgid "More login options" +msgstr "更多登录方式" -#: assets/views/admin_user.py:31 -msgid "Admin user list" -msgstr "管理用户列表" +#: authentication/templates/authentication/login.html:61 +msgid "OpenID" +msgstr "OpenID" -#: assets/views/admin_user.py:68 -msgid "Update admin user" -msgstr "更新管理用户" +#: authentication/templates/authentication/login_otp.html:17 +msgid "One-time password" +msgstr "一次性密码" -#: assets/views/admin_user.py:85 -msgid "Admin user detail" -msgstr "管理用户详情" +#: authentication/templates/authentication/login_otp.html:23 +msgid "Open Google Authenticator and enter the 6-bit dynamic code" +msgstr "请打开 Google Authenticator,输入6位动态码" -#: assets/views/admin_user.py:109 -msgid "Admin user assets" -msgstr "管理用户关联资产" +#: authentication/templates/authentication/login_otp.html:26 +#: users/templates/users/user_otp_check_password.html:15 +#: users/templates/users/user_otp_enable_bind.html:24 +#: users/templates/users/user_otp_enable_install_app.html:29 +#: users/templates/users/user_verify_mfa.html:26 +msgid "Next" +msgstr "下一步" -#: assets/views/asset.py:67 templates/_nav_user.html:4 -msgid "My assets" -msgstr "我的资产" +#: authentication/templates/authentication/login_otp.html:29 +msgid "Can't provide security? Please contact the administrator!" +msgstr "如果不能提供多因子认证验证码,请联系管理员!" -#: assets/views/asset.py:131 -msgid "Update asset" -msgstr "更新资产" +#: authentication/templates/authentication/login_wait_confirm.html:41 +msgid "Refresh" +msgstr "刷新" -#: assets/views/asset.py:143 -msgid "Bulk update asset success" -msgstr "批量更新资产成功" +#: authentication/templates/authentication/login_wait_confirm.html:46 +msgid "Copy link" +msgstr "复制链接" -#: assets/views/asset.py:171 -msgid "Bulk update asset" -msgstr "批量更新资产" +#: authentication/templates/authentication/login_wait_confirm.html:51 +#: templates/flash_message_standalone.html:34 +msgid "Return" +msgstr "返回" -#: assets/views/cmd_filter.py:32 -msgid "Command filter list" -msgstr "命令过滤器列表" +#: authentication/templates/authentication/login_wait_confirm.html:113 +msgid "Copy success" +msgstr "复制成功" -#: assets/views/cmd_filter.py:67 -msgid "Update command filter" -msgstr "更新命令过滤器" +#: authentication/templates/authentication/xpack_login.html:74 +msgid "Welcome back, please enter username and password to login" +msgstr "欢迎回来,请输入用户名和密码登录" -#: assets/views/cmd_filter.py:85 -msgid "Command filter detail" -msgstr "命令过滤器详情" +#: authentication/views/login.py:83 +msgid "Please enable cookies and try again." +msgstr "设置你的浏览器支持cookie" -#: assets/views/cmd_filter.py:139 -msgid "Create command filter rule" -msgstr "创建命令过滤器规则" +#: authentication/views/login.py:168 +msgid "" +"Wait for {} confirm, You also can copy link to her/him
\n" +" Don't close this page" +msgstr "" +"等待 {} 确认, 你也可以复制链接发给他/她
\n" +" 不要关闭本页面" -#: assets/views/cmd_filter.py:174 -msgid "Update command filter rule" -msgstr "更新命令过滤器规则" +#: authentication/views/login.py:173 +msgid "No ticket found" +msgstr "没有发现工单" -#: assets/views/domain.py:32 templates/_nav.html:43 -msgid "Domain list" -msgstr "网域列表" +#: authentication/views/login.py:205 +msgid "Logout success" +msgstr "退出登录成功" -#: assets/views/domain.py:67 -msgid "Update domain" -msgstr "更新网域" +#: authentication/views/login.py:206 +msgid "Logout success, return login page" +msgstr "退出登录成功,返回到登录页面" -#: assets/views/domain.py:82 -msgid "Domain detail" -msgstr "网域详情" +#: common/const/__init__.py:6 +#, python-format +msgid "%(name)s was created successfully" +msgstr "%(name)s 创建成功" -#: assets/views/domain.py:108 -msgid "Domain gateway list" -msgstr "域网关列表" +#: common/const/__init__.py:7 +#, python-format +msgid "%(name)s was updated successfully" +msgstr "%(name)s 更新成功" -#: assets/views/domain.py:158 -msgid "Update gateway" -msgstr "创建网关" +#: common/fields/form.py:33 +msgid "Not a valid json" +msgstr "不是合法json" -#: assets/views/label.py:28 -msgid "Label list" -msgstr "标签列表" +#: common/fields/form.py:35 +msgid "Not a string type" +msgstr "不是字符类型" -#: assets/views/label.py:56 -msgid "Tips: Avoid using label names reserved internally: {}" -msgstr "提示: 请避免使用内部预留标签名: {}" +#: common/fields/model.py:80 +msgid "Marshal dict data to char field" +msgstr "" -#: assets/views/label.py:74 -msgid "Update label" -msgstr "更新标签" +#: common/fields/model.py:84 +msgid "Marshal dict data to text field" +msgstr "" -#: assets/views/platform.py:23 templates/_nav.html:49 -msgid "Platform list" -msgstr "平台列表" +#: common/fields/model.py:96 +msgid "Marshal list data to char field" +msgstr "" -#: assets/views/platform.py:59 -msgid "Update platform" -msgstr "更新系统平台" +#: common/fields/model.py:100 +msgid "Marshal list data to text field" +msgstr "" -#: assets/views/platform.py:75 -msgid "Platform detail" -msgstr "平台详情" +#: common/fields/model.py:104 +msgid "Marshal data to char field" +msgstr "" -#: assets/views/system_user.py:31 -msgid "System user list" -msgstr "系统用户列表" +#: common/fields/model.py:108 +msgid "Marshal data to text field" +msgstr "" -#: assets/views/system_user.py:65 -msgid "Update system user" -msgstr "更新系统用户" +#: common/fields/model.py:157 +msgid "Encrypt field using Secret Key" +msgstr "" -#: assets/views/system_user.py:81 -msgid "System user detail" -msgstr "系统用户详情" +#: common/mixins/models.py:33 +msgid "is discard" +msgstr "" -#: assets/views/system_user.py:103 assets/views/system_user.py:118 -msgid "assets" -msgstr "资产管理" +#: common/mixins/models.py:34 +msgid "discard time" +msgstr "" -#: assets/views/system_user.py:104 -msgid "System user assets" -msgstr "系统用户关联资产" +#: common/utils/ipip/utils.py:15 +msgid "Invalid ip" +msgstr "无效IP" -#: assets/views/system_user.py:119 -msgid "System user users" -msgstr "系统用户关联用户" +#: common/validators.py:11 +msgid "Special char not allowed" +msgstr "不能包含特殊字符" -#: audits/models.py:19 audits/models.py:42 audits/models.py:53 -#: audits/templates/audits/ftp_log_list.html:77 -#: audits/templates/audits/operate_log_list.html:74 -#: audits/templates/audits/password_change_log_list.html:56 -#: terminal/models.py:192 terminal/templates/terminal/session_detail.html:68 -#: terminal/templates/terminal/session_list.html:28 -#: terminal/templates/terminal/session_list.html:72 -#: terminal/templates/terminal/terminal_detail.html:47 -msgid "Remote addr" -msgstr "远端地址" +#: common/validators.py:23 +msgid "This field must be unique." +msgstr "字段必须唯一" -#: audits/models.py:22 audits/templates/audits/ftp_log_list.html:78 -msgid "Operate" -msgstr "操作" +#: jumpserver/views/celery_flower.py:23 +msgid "

Flow service unavailable, check it

" +msgstr "" -#: audits/models.py:23 audits/templates/audits/ftp_log_list.html:60 -#: audits/templates/audits/ftp_log_list.html:79 -msgid "Filename" -msgstr "文件名" +#: jumpserver/views/index.py:26 templates/_nav.html:7 +msgid "Dashboard" +msgstr "仪表盘" -#: audits/models.py:24 audits/models.py:77 -#: audits/templates/audits/ftp_log_list.html:80 -#: ops/templates/ops/command_execution_list.html:71 -#: ops/templates/ops/task_list.html:14 -#: users/templates/users/user_detail.html:487 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:14 -msgid "Success" -msgstr "成功" +#: jumpserver/views/other.py:26 +msgid "" +"
Luna is a separately deployed program, you need to deploy Luna, koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" +"
Luna是单独部署的一个程序,你需要部署luna,koko,
如果你看到了" +"这个页面,证明你访问的不是nginx监听的端口,祝你好运
" -#: audits/models.py:25 audits/templates/audits/ftp_log_list.html:81 -#: ops/models/command.py:28 ops/templates/ops/adhoc_history.html:50 -#: ops/templates/ops/adhoc_history_detail.html:59 -#: ops/templates/ops/command_execution_list.html:72 -#: ops/templates/ops/task_history.html:56 perms/models/base.py:52 -#: perms/templates/perms/asset_permission_detail.html:81 -#: perms/templates/perms/database_app_permission_detail.html:77 -#: perms/templates/perms/remote_app_permission_detail.html:73 -#: terminal/models.py:199 terminal/templates/terminal/session_detail.html:72 -#: terminal/templates/terminal/session_list.html:32 -#: xpack/plugins/change_auth_plan/models.py:176 -#: xpack/plugins/change_auth_plan/models.py:299 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:59 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:17 -#: xpack/plugins/gathered_user/models.py:76 -msgid "Date start" -msgstr "开始日期" +#: jumpserver/views/other.py:76 +msgid "Websocket server run on port: {}, you should proxy it on nginx" +msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置" -#: audits/models.py:33 -#: authentication/templates/authentication/_access_key_modal.html:22 -#: xpack/plugins/vault/templates/vault/vault.html:7 -msgid "Create" -msgstr "创建" +#: jumpserver/views/other.py:90 +msgid "" +"
Koko is a separately deployed program, you need to deploy Koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" +"
Koko是单独部署的一个程序,你需要部署Koko, 并确保nginx配置转发,
如果你看到了这个页面,证明你访问的不是nginx监听的端口,祝你好运" -#: audits/models.py:40 audits/templates/audits/operate_log_list.html:53 -#: audits/templates/audits/operate_log_list.html:72 -msgid "Resource Type" -msgstr "资源类型" +#: ops/api/celery.py:57 +msgid "Waiting task start" +msgstr "等待任务开始" -#: audits/models.py:41 audits/templates/audits/operate_log_list.html:73 -msgid "Resource" -msgstr "资源" +#: ops/api/command.py:35 +msgid "Not has host {} permission" +msgstr "没有该主机 {} 权限" -#: audits/models.py:52 audits/templates/audits/password_change_log_list.html:55 -msgid "Change by" -msgstr "修改者" +#: ops/mixin.py:29 ops/mixin.py:92 ops/mixin.py:162 +msgid "Cycle perform" +msgstr "周期执行" -#: audits/models.py:71 users/templates/users/user_detail.html:84 -msgid "Disabled" -msgstr "禁用" +#: ops/mixin.py:33 ops/mixin.py:90 ops/mixin.py:111 ops/mixin.py:150 +msgid "Regularly perform" +msgstr "定期执行" -#: audits/models.py:72 settings/models.py:31 -#: users/templates/users/user_detail.html:82 -msgid "Enabled" -msgstr "启用" +#: ops/mixin.py:108 ops/mixin.py:147 +#: xpack/plugins/change_auth_plan/serializers.py:53 +msgid "Periodic perform" +msgstr "定时执行" -#: audits/models.py:73 -msgid "-" -msgstr "" +#: ops/mixin.py:113 +msgid "Interval" +msgstr "间隔" -#: audits/models.py:78 xpack/plugins/cloud/models.py:204 -msgid "Failed" -msgstr "失败" +#: ops/mixin.py:122 +msgid "* Please enter a valid crontab expression" +msgstr "* 请输入有效的 crontab 表达式" -#: audits/models.py:82 -msgid "Login type" -msgstr "登录方式" +#: ops/mixin.py:129 +msgid "Range {} to {}" +msgstr "输入在 {} - {} 范围之间" -#: audits/models.py:83 -msgid "Login ip" -msgstr "登录IP" +#: ops/mixin.py:140 +msgid "Require periodic or regularly perform setting" +msgstr "需要周期或定期设置" -#: audits/models.py:84 -msgid "Login city" -msgstr "登录城市" +#: ops/mixin.py:151 +msgid "" +"eg: Every Sunday 03:05 run <5 3 * * 0>
Tips: Using 5 digits linux " +"crontab expressions (Online tools)
Note: If both Regularly " +"perform and Cycle perform are set, give priority to Regularly perform" +msgstr "" +"eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达式 <" +"分 时 日 月 星期> (在线工" +"具
注意: 如果同时设置了定期执行和周期执行,优先使用定期执行" -#: audits/models.py:85 -msgid "User agent" -msgstr "Agent" +#: ops/mixin.py:162 +msgid "Tips: (Units: hour)" +msgstr "提示:(单位: 时)" -#: audits/models.py:86 audits/templates/audits/login_log_list.html:62 -#: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: authentication/templates/authentication/login_otp.html:6 -#: settings/forms/security.py:16 users/forms/profile.py:52 -#: users/models/user.py:484 users/templates/users/first_login.html:45 -#: users/templates/users/user_detail.html:77 -#: users/templates/users/user_profile.html:87 -msgid "MFA" -msgstr "多因子认证" +#: ops/models/adhoc.py:35 +msgid "Callback" +msgstr "回调" -#: audits/models.py:87 audits/templates/audits/login_log_list.html:63 -#: xpack/plugins/change_auth_plan/models.py:295 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:15 -#: xpack/plugins/cloud/models.py:217 -msgid "Reason" -msgstr "原因" +#: ops/models/adhoc.py:143 +msgid "Tasks" +msgstr "任务" -#: audits/models.py:88 audits/templates/audits/login_log_list.html:64 -#: tickets/templates/tickets/ticket_detail.html:34 -#: tickets/templates/tickets/ticket_list.html:36 -#: tickets/templates/tickets/ticket_list.html:104 -#: xpack/plugins/cloud/models.py:214 xpack/plugins/cloud/models.py:272 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:50 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:48 -msgid "Status" -msgstr "状态" +#: ops/models/adhoc.py:144 +msgid "Pattern" +msgstr "模式" -#: audits/models.py:89 -msgid "Date login" -msgstr "登录日期" +#: ops/models/adhoc.py:145 +msgid "Options" +msgstr "选项" -#: audits/serializers.py:65 ops/models/command.py:24 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:56 -#: xpack/plugins/cloud/models.py:212 -msgid "Result" -msgstr "结果" +#: ops/models/adhoc.py:147 +msgid "Run as admin" +msgstr "再次执行" -#: audits/serializers.py:66 ops/models/adhoc.py:240 -#: ops/templates/ops/adhoc_history.html:54 -#: ops/templates/ops/task_history.html:60 -msgid "Is success" -msgstr "是否成功" +#: ops/models/adhoc.py:149 +msgid "Become" +msgstr "Become" -#: audits/serializers.py:67 ops/templates/ops/adhoc_detail.html:51 -#: ops/templates/ops/command_execution_list.html:65 -#: ops/templates/ops/task_adhoc.html:57 ops/templates/ops/task_list.html:13 -#: terminal/forms/storage.py:151 -msgid "Hosts" -msgstr "主机" +#: ops/models/adhoc.py:150 users/templates/users/user_group_detail.html:54 +msgid "Create by" +msgstr "创建者" -#: audits/serializers.py:68 ops/templates/ops/adhoc_detail.html:70 -#: ops/templates/ops/adhoc_detail.html:75 -#: ops/templates/ops/command_execution_list.html:68 -#: ops/templates/ops/task_adhoc.html:59 -msgid "Run as" -msgstr "运行用户" +#: ops/models/adhoc.py:233 +msgid "Task display" +msgstr "任务展示" -#: audits/templates/audits/login_log_list.html:34 -#: perms/templates/perms/asset_permission_user.html:74 -#: perms/templates/perms/database_app_permission_user.html:74 -#: perms/templates/perms/remote_app_permission_user.html:83 -msgid "Select user" -msgstr "选择用户" +#: ops/models/adhoc.py:234 +msgid "Host amount" +msgstr "主机数量" -#: audits/templates/audits/login_log_list.html:41 -#: audits/templates/audits/login_log_list.html:46 -#: audits/templates/audits/operate_log_list.html:62 -#: audits/templates/audits/password_change_log_list.html:46 -#: ops/templates/ops/command_execution_list.html:49 -#: ops/templates/ops/command_execution_list.html:54 -#: templates/_base_list.html:37 templates/_user_profile.html:23 -msgid "Search" -msgstr "搜索" +#: ops/models/adhoc.py:236 +msgid "Start time" +msgstr "开始时间" -#: audits/templates/audits/login_log_list.html:59 -msgid "UA" -msgstr "Agent" +#: ops/models/adhoc.py:237 +msgid "End time" +msgstr "完成时间" -#: audits/templates/audits/login_log_list.html:61 authentication/models.py:63 -msgid "City" -msgstr "城市" +#: ops/models/adhoc.py:238 xpack/plugins/change_auth_plan/models.py:179 +#: xpack/plugins/change_auth_plan/models.py:310 +#: xpack/plugins/gathered_user/models.py:79 +msgid "Time" +msgstr "时间" -#: audits/templates/audits/login_log_list.html:65 -#: authentication/templates/authentication/_access_key_modal.html:33 -#: ops/templates/ops/task_list.html:15 -msgid "Date" -msgstr "日期" +#: ops/models/adhoc.py:239 ops/models/command.py:26 +#: terminal/serializers/session.py:30 +msgid "Is finished" +msgstr "是否完成" -#: audits/templates/audits/login_log_list.html:91 -#: templates/_csv_import_export.html:8 -msgid "Export" -msgstr "导出" +#: ops/models/adhoc.py:241 +msgid "Adhoc raw result" +msgstr "结果" -#: audits/templates/audits/operate_log_list.html:70 -msgid "Handlers" -msgstr "操作者" +#: ops/models/adhoc.py:242 +msgid "Adhoc result summary" +msgstr "汇总" -#: audits/views.py:86 audits/views.py:131 audits/views.py:168 -#: audits/views.py:213 audits/views.py:245 templates/_nav.html:146 -msgid "Audits" -msgstr "日志审计" +#: ops/models/adhoc.py:282 xpack/plugins/change_auth_plan/utils.py:137 +msgid "{} Start task: {}" +msgstr "{} 任务开始: {}" -#: audits/views.py:87 templates/_nav.html:150 -msgid "FTP log" -msgstr "FTP日志" +#: ops/models/adhoc.py:291 xpack/plugins/change_auth_plan/utils.py:149 +msgid "{} Task finish" +msgstr "{} 任务结束" -#: audits/views.py:132 templates/_nav.html:151 -msgid "Operate log" -msgstr "操作日志" +#: ops/models/command.py:29 +msgid "Date finished" +msgstr "结束日期" -#: audits/views.py:169 templates/_nav.html:152 -msgid "Password change log" -msgstr "改密日志" +#: ops/models/command.py:72 +msgid "Task start" +msgstr "任务开始" -#: audits/views.py:214 templates/_nav.html:149 -msgid "Login log" -msgstr "登录日志" +#: ops/models/command.py:94 +msgid "Command `{}` is forbidden ........" +msgstr "命令 `{}` 不允许被执行 ......." -#: audits/views.py:246 -msgid "Command execution log" -msgstr "命令执行" +#: ops/models/command.py:101 +msgid "Task end" +msgstr "任务结束" -#: authentication/backends/api.py:53 -msgid "Invalid signature header. No credentials provided." -msgstr "" +#: ops/tasks.py:68 +msgid "Clean task history period" +msgstr "定期清除任务历史" -#: authentication/backends/api.py:56 -msgid "Invalid signature header. Signature string should not contain spaces." -msgstr "" +#: ops/tasks.py:81 +msgid "Clean celery log period" +msgstr "定期清除Celery日志" -#: authentication/backends/api.py:63 -msgid "Invalid signature header. Format like AccessKeyId:Signature" -msgstr "" +#: ops/templates/ops/celery_task_log.html:4 +msgid "Task log" +msgstr "任务列表" -#: authentication/backends/api.py:67 -msgid "" -"Invalid signature header. Signature string should not contain invalid " -"characters." -msgstr "" +#: ops/utils.py:60 +msgid "Update task content: {}" +msgstr "更新任务内容: {}" -#: authentication/backends/api.py:87 authentication/backends/api.py:103 -msgid "Invalid signature." -msgstr "" +#: ops/utils.py:70 +msgid "Disk used more than 80%: {} => {}" +msgstr "磁盘使用率超过 80%: {} => {}" -#: authentication/backends/api.py:94 -msgid "HTTP header: Date not provide or not %a, %d %b %Y %H:%M:%S GMT" -msgstr "" +#: orgs/mixins/models.py:56 orgs/mixins/serializers.py:26 orgs/models.py:31 +msgid "Organization" +msgstr "组织" -#: authentication/backends/api.py:99 -msgid "Expired, more than 15 minutes" -msgstr "" - -#: authentication/backends/api.py:106 -msgid "User disabled." -msgstr "用户已禁用" - -#: authentication/backends/api.py:124 -msgid "Invalid token header. No credentials provided." -msgstr "" +#: perms/const.py:7 +msgid "Ungrouped" +msgstr "未分组" -#: authentication/backends/api.py:127 -msgid "Invalid token header. Sign string should not contain spaces." -msgstr "" +#: perms/const.py:10 +msgid "Empty" +msgstr "空" -#: authentication/backends/api.py:134 +#: perms/forms/asset_permission.py:23 msgid "" -"Invalid token header. Sign string should not contain invalid characters." -msgstr "" +"Tips: The RDP protocol does not support separate controls for uploading or " +"downloading files" +msgstr "提示:RDP 协议不支持单独控制上传或下载文件" -#: authentication/backends/api.py:145 -msgid "Invalid token or cache refreshed." -msgstr "" +#: perms/forms/asset_permission.py:86 perms/forms/database_app_permission.py:41 +#: perms/forms/remote_app_permission.py:43 perms/models/base.py:50 +#: templates/_nav.html:21 users/forms/user.py:168 users/models/group.py:31 +#: users/models/user.py:472 users/templates/users/_select_user_modal.html:16 +#: users/templates/users/user_asset_permission.html:39 +#: users/templates/users/user_asset_permission.html:67 +#: users/templates/users/user_database_app_permission.html:38 +#: users/templates/users/user_database_app_permission.html:61 +#: users/templates/users/user_detail.html:209 +#: users/templates/users/user_list.html:17 +#: users/templates/users/user_remote_app_permission.html:38 +#: users/templates/users/user_remote_app_permission.html:61 +msgid "User group" +msgstr "用户组" -#: authentication/errors.py:21 -msgid "Username/password check failed" -msgstr "用户名/密码 校验失败" +#: perms/forms/asset_permission.py:108 +msgid "User or group at least one required" +msgstr "用户和用户组至少选一个" -#: authentication/errors.py:22 -msgid "MFA failed" -msgstr "多因子认证失败" +#: perms/forms/asset_permission.py:117 +msgid "Asset or group at least one required" +msgstr "资产和节点至少选一个" -#: authentication/errors.py:23 -msgid "MFA unset" -msgstr "多因子认证没有设定" +#: perms/forms/database_app_permission.py:47 +msgid "System users" +msgstr "系统用户" -#: authentication/errors.py:24 -msgid "Username does not exist" -msgstr "用户名不存在" +#: perms/models/asset_permission.py:31 settings/serializers/settings.py:56 +msgid "All" +msgstr "全部" -#: authentication/errors.py:25 -msgid "Password expired" -msgstr "密码已过期" +#: perms/models/asset_permission.py:32 +msgid "Connect" +msgstr "连接" -#: authentication/errors.py:26 -msgid "Disabled or expired" -msgstr "禁用或失效" +#: perms/models/asset_permission.py:33 +msgid "Upload file" +msgstr "上传文件" -#: authentication/errors.py:27 -msgid "This account is inactive." -msgstr "此账户已禁用" +#: perms/models/asset_permission.py:34 +msgid "Download file" +msgstr "下载文件" -#: authentication/errors.py:37 -msgid "No session found, check your cookie" -msgstr "会话已变更,刷新页面" +#: perms/models/asset_permission.py:35 +msgid "Upload download" +msgstr "上传下载" -#: authentication/errors.py:39 -#, python-brace-format -msgid "" -"The username or password you entered is incorrect, please enter it again. " -"You can also try {times_try} times (The account will be temporarily locked " -"for {block_time} minutes)" -msgstr "" -"您输入的用户名或密码不正确,请重新输入。 您还可以尝试 {times_try} 次(账号将" -"被临时 锁定 {block_time} 分钟)" +#: perms/models/asset_permission.py:83 +msgid "Actions" +msgstr "动作" -#: authentication/errors.py:45 -msgid "" -"The account has been locked (please contact admin to unlock it or try again " -"after {} minutes)" -msgstr "账号已被锁定(请联系管理员解锁 或 {}分钟后重试)" +#: perms/models/asset_permission.py:87 templates/_nav.html:78 +#: users/templates/users/_user_detail_nav_header.html:31 +msgid "Asset permission" +msgstr "资产授权" -#: authentication/errors.py:48 users/views/profile/otp.py:63 -#: users/views/profile/otp.py:102 users/views/profile/otp.py:121 -msgid "MFA code invalid, or ntp sync server time" -msgstr "MFA验证码不正确,或者服务器端时间不对" +#: perms/models/base.py:53 users/models/user.py:504 +#: users/templates/users/user_detail.html:93 +#: users/templates/users/user_profile.html:120 +msgid "Date expired" +msgstr "失效日期" -#: authentication/errors.py:50 -msgid "MFA required" -msgstr "需要多因子认证" +#: perms/models/database_app_permission.py:27 +#: users/templates/users/_user_detail_nav_header.html:61 +msgid "DatabaseApp permission" +msgstr "数据库应用授权" -#: authentication/errors.py:51 -msgid "MFA not set, please set it first" -msgstr "多因子认证没有设置,请先完成设置" +#: perms/models/remote_app_permission.py:20 +#: users/templates/users/_user_detail_nav_header.html:47 +msgid "RemoteApp permission" +msgstr "远程应用授权" -#: authentication/errors.py:52 -msgid "Login confirm required" -msgstr "需要登录复核" +#: settings/api.py:33 +msgid "Test mail sent to {}, please check" +msgstr "邮件已经发送{}, 请检查" -#: authentication/errors.py:53 -msgid "Wait login confirm ticket for accept" -msgstr "等待登录复核处理" +#: settings/api.py:242 +msgid "Get ldap users is None" +msgstr "获取 LDAP 用户为 None" -#: authentication/errors.py:54 -msgid "Login confirm ticket was {}" -msgstr "登录复核 {}" +#: settings/api.py:249 +msgid "Imported {} users successfully" +msgstr "导入 {} 个用户成功" -#: authentication/forms.py:29 users/forms/user.py:199 -msgid "MFA code" -msgstr "多因子认证验证码" +#: settings/models.py:96 users/templates/users/reset_password.html:29 +#: users/templates/users/user_profile.html:20 +msgid "Setting" +msgstr "设置" -#: authentication/models.py:39 -msgid "Private Token" -msgstr "SSH密钥" +#: settings/serializers/settings.py:57 +msgid "Auto" +msgstr "自动" -#: authentication/models.py:44 users/templates/users/user_detail.html:258 -msgid "Reviewers" -msgstr "审批人" +#: settings/utils/ldap.py:389 +msgid "Host or port is disconnected: {}" +msgstr "主机或端口不可连接: {}" -#: authentication/models.py:53 tickets/models/ticket.py:25 -#: users/templates/users/user_detail.html:250 -msgid "Login confirm" -msgstr "登录复核" +#: settings/utils/ldap.py:391 +msgid "The port is not the port of the LDAP service: {}" +msgstr "端口不是LDAP服务端口: {}" -#: authentication/templates/authentication/_access_key_modal.html:6 -msgid "API key list" -msgstr "API Key列表" +#: settings/utils/ldap.py:393 +msgid "Please add certificate: {}" +msgstr "请添加证书" -#: authentication/templates/authentication/_access_key_modal.html:18 -msgid "Using api key sign api header, every requests header difference" -msgstr "使用api key签名请求头,每个请求的头部是不一样的" +#: settings/utils/ldap.py:395 settings/utils/ldap.py:422 +#: settings/utils/ldap.py:452 settings/utils/ldap.py:480 +msgid "Unknown error: {}" +msgstr "未知错误: {}" -#: authentication/templates/authentication/_access_key_modal.html:19 -msgid "docs" -msgstr "文档" +#: settings/utils/ldap.py:409 +msgid "Bind DN or Password incorrect" +msgstr "绑定DN或密码错误" -#: authentication/templates/authentication/_access_key_modal.html:31 -msgid "Secret" -msgstr "密文" +#: settings/utils/ldap.py:416 +msgid "Please enter Bind DN: {}" +msgstr "请输入绑定DN: {}" -#: authentication/templates/authentication/_access_key_modal.html:48 -#: users/templates/users/_granted_assets.html:75 -msgid "Show" -msgstr "显示" +#: settings/utils/ldap.py:418 +msgid "Please enter Password: {}" +msgstr "请输入密码: {}" -#: authentication/templates/authentication/_access_key_modal.html:66 -#: users/models/user.py:382 users/templates/users/user_profile.html:94 -#: users/templates/users/user_profile.html:163 -#: users/templates/users/user_profile.html:166 -#: users/templates/users/user_verify_mfa.html:32 -msgid "Disable" -msgstr "禁用" +#: settings/utils/ldap.py:420 +msgid "Please enter correct Bind DN and Password: {}" +msgstr "请输入正确的绑定DN和密码: {}" -#: authentication/templates/authentication/_access_key_modal.html:67 -#: users/models/user.py:383 users/templates/users/user_profile.html:92 -#: users/templates/users/user_profile.html:170 -msgid "Enable" -msgstr "启用" +#: settings/utils/ldap.py:438 +msgid "Invalid User OU or User search filter: {}" +msgstr "不合法的用户OU或用户过滤器: {}" -#: authentication/templates/authentication/_mfa_confirm_modal.html:5 -msgid "MFA confirm" -msgstr "多因子认证校验" +#: settings/utils/ldap.py:469 +msgid "LDAP User attr map not include: {}" +msgstr "LDAP属性映射没有包含: {}" -#: authentication/templates/authentication/_mfa_confirm_modal.html:17 -msgid "Need MFA for view auth" -msgstr "需要多因子认证来查看账号信息" +#: settings/utils/ldap.py:476 +msgid "LDAP User attr map is not dict" +msgstr "LDAP属性映射不合法" -#: authentication/templates/authentication/_mfa_confirm_modal.html:25 -msgid "Code error" -msgstr "代码错误" +#: settings/utils/ldap.py:495 +msgid "LDAP authentication is not enabled" +msgstr "LDAP认证没有启用" -#: authentication/templates/authentication/login.html:6 -#: authentication/templates/authentication/login.html:39 -#: authentication/templates/authentication/xpack_login.html:112 -#: templates/_base_only_msg_content.html:52 templates/_header_bar.html:83 -msgid "Login" -msgstr "登录" +#: settings/utils/ldap.py:513 +msgid "Error (Invalid LDAP server): {}" +msgstr "错误 (不合法的LDAP服务器地址): {}" -#: authentication/templates/authentication/login.html:17 -#: authentication/templates/authentication/xpack_login.html:87 -msgid "Captcha invalid" -msgstr "验证码错误" +#: settings/utils/ldap.py:515 +msgid "Error (Invalid Bind DN): {}" +msgstr "错误(不合法的绑定DN): {}" -#: authentication/templates/authentication/login.html:50 -#: authentication/templates/authentication/xpack_login.html:116 -#: users/templates/users/forgot_password.html:7 -#: users/templates/users/forgot_password.html:8 -msgid "Forgot password" -msgstr "忘记密码" +#: settings/utils/ldap.py:517 +msgid "Error (Invalid LDAP User attr map): {}" +msgstr "错误(不合法的LDAP属性映射): {}" -#: authentication/templates/authentication/login.html:57 -msgid "More login options" -msgstr "更多登录方式" +#: settings/utils/ldap.py:519 +msgid "Error (Invalid User OU or User search filter): {}" +msgstr "错误(不合法的用户OU或用户过滤器): {}" -#: authentication/templates/authentication/login.html:61 -msgid "OpenID" -msgstr "OpenID" +#: settings/utils/ldap.py:521 +msgid "Error (Not enabled LDAP authentication): {}" +msgstr "错误(没有启用LDAP认证): {}" -#: authentication/templates/authentication/login_otp.html:17 -msgid "One-time password" -msgstr "一次性密码" +#: settings/utils/ldap.py:523 +msgid "Error (Unknown): {}" +msgstr "错误(未知): {}" -#: authentication/templates/authentication/login_otp.html:23 -msgid "Open Google Authenticator and enter the 6-bit dynamic code" -msgstr "请打开 Google Authenticator,输入6位动态码" +#: settings/utils/ldap.py:526 +msgid "Succeed: Match {} s user" +msgstr "成功匹配 {} 个用户" -#: authentication/templates/authentication/login_otp.html:26 -#: users/templates/users/first_login.html:100 -#: users/templates/users/user_otp_check_password.html:15 -#: users/templates/users/user_otp_enable_bind.html:24 -#: users/templates/users/user_otp_enable_install_app.html:29 -#: users/templates/users/user_verify_mfa.html:26 -msgid "Next" -msgstr "下一步" +#: settings/utils/ldap.py:559 +msgid "Authentication failed (configuration incorrect): {}" +msgstr "认证失败(配置错误): {}" -#: authentication/templates/authentication/login_otp.html:29 -msgid "Can't provide security? Please contact the administrator!" -msgstr "如果不能提供多因子认证验证码,请联系管理员!" +#: settings/utils/ldap.py:561 +msgid "Authentication failed (before login check failed): {}" +msgstr "认证失败(登录前检查失败): {}" -#: authentication/templates/authentication/login_wait_confirm.html:47 -msgid "Copy link" -msgstr "复制链接" +#: settings/utils/ldap.py:563 +msgid "Authentication failed (username or password incorrect): {}" +msgstr "认证失败 (用户名或密码不正确): {}" -#: authentication/templates/authentication/login_wait_confirm.html:52 -#: templates/flash_message_standalone.html:34 -msgid "Return" -msgstr "返回" +#: settings/utils/ldap.py:565 +msgid "Authentication failed (Unknown): {}" +msgstr "认证失败: (未知): {}" -#: authentication/templates/authentication/xpack_login.html:74 -msgid "Welcome back, please enter username and password to login" -msgstr "欢迎回来,请输入用户名和密码登录" +#: settings/utils/ldap.py:568 +msgid "Authentication success: {}" +msgstr "认证成功: {}" -#: authentication/views/login.py:83 -msgid "Please enable cookies and try again." -msgstr "设置你的浏览器支持cookie" +#: templates/_base_list.html:37 templates/_user_profile.html:23 +msgid "Search" +msgstr "搜索" -#: authentication/views/login.py:168 +#: templates/_base_only_msg_content.html:27 xpack/plugins/interface/api.py:18 +#: xpack/plugins/interface/models.py:36 +msgid "Welcome to the JumpServer open source fortress" +msgstr "欢迎使用JumpServer开源堡垒机" + +#: templates/_base_only_msg_content.html:32 msgid "" -"Wait for {} confirm, You also can copy link to her/him
\n" -" Don't close this page" +"The world's first fully open source fortress, using the GNU GPL v2.0 open " +"source protocol, is a professional operation and maintenance audit system in " +"compliance with 4A." msgstr "" -"等待 {} 确认, 你也可以复制链接发给他/她
\n" -" 不要关闭本页面" - -#: authentication/views/login.py:173 -msgid "No ticket found" -msgstr "没有发现工单" - -#: authentication/views/login.py:205 -msgid "Logout success" -msgstr "退出登录成功" +"全球首款完全开源的堡垒机,使用GNU GPL v2.0开源协议,是符合 4A 的专业运维审计" +"系统。" -#: authentication/views/login.py:206 -msgid "Logout success, return login page" -msgstr "退出登录成功,返回到登录页面" +#: templates/_base_only_msg_content.html:35 +msgid "" +"Developed using Python/Django, following the Web 2.0 specification and " +"equipped with industry-leading Web Terminal solutions, with beautiful " +"interactive interface and good user experience." +msgstr "" +"使用Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web " +"Terminal 解决方案,交互界面美观、用户体验好。" -#: common/const/__init__.py:6 -#, python-format -msgid "%(name)s was created successfully" -msgstr "%(name)s 创建成功" +#: templates/_base_only_msg_content.html:38 +msgid "" +"Distributed architecture is adopted to support multi-machine room deployment " +"across regions, central node provides API, and each machine room deploys " +"login node, which can be extended horizontally and without concurrent access " +"restrictions." +msgstr "" +"采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点," +"可横向扩展、无并发访问限制。" -#: common/const/__init__.py:7 -#, python-format -msgid "%(name)s was updated successfully" -msgstr "%(name)s 更新成功" +#: templates/_base_only_msg_content.html:41 +msgid "Changes the world, starting with a little bit." +msgstr "改变世界,从一点点开始。" -#: common/fields/form.py:33 -msgid "Not a valid json" -msgstr "不是合法json" +#: templates/_csv_import_export.html:8 +msgid "Export" +msgstr "导出" -#: common/fields/form.py:35 -msgid "Not a string type" -msgstr "不是字符类型" +#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5 +msgid "Import" +msgstr "导入" -#: common/fields/model.py:79 -msgid "Marshal dict data to char field" -msgstr "" +#: templates/_csv_import_modal.html:12 +msgid "Download the imported template or use the exported CSV file format" +msgstr "下载导入的模板或使用导出的csv格式" -#: common/fields/model.py:83 -msgid "Marshal dict data to text field" -msgstr "" +#: templates/_csv_import_modal.html:13 +msgid "Download the import template" +msgstr "下载导入模版" -#: common/fields/model.py:95 -msgid "Marshal list data to char field" -msgstr "" +#: templates/_csv_import_modal.html:17 templates/_csv_update_modal.html:17 +msgid "Select the CSV file to import" +msgstr "请选择csv文件导入" -#: common/fields/model.py:99 -msgid "Marshal list data to text field" -msgstr "" +#: templates/_csv_import_modal.html:39 templates/_csv_update_modal.html:42 +msgid "Please select file" +msgstr "选择文件" -#: common/fields/model.py:103 -msgid "Marshal data to char field" -msgstr "" +#: templates/_csv_update_modal.html:12 +msgid "Download the update template or use the exported CSV file format" +msgstr "下载更新的模板或使用导出的csv格式" -#: common/fields/model.py:107 -msgid "Marshal data to text field" -msgstr "" +#: templates/_csv_update_modal.html:13 +msgid "Download the update template" +msgstr "下载更新模版" -#: common/fields/model.py:133 -msgid "Encrypt field using Secret Key" -msgstr "" +#: templates/_header_bar.html:12 +msgid "Help" +msgstr "帮助" -#: common/mixins/models.py:33 -msgid "is discard" -msgstr "" +#: templates/_header_bar.html:19 templates/_without_nav_base.html:27 +msgid "Docs" +msgstr "文档" -#: common/mixins/models.py:34 -msgid "discard time" -msgstr "" +#: templates/_header_bar.html:25 +msgid "Commercial support" +msgstr "商业支持" -#: common/utils/ipip/utils.py:15 -msgid "Invalid ip" -msgstr "无效IP" +#: templates/_header_bar.html:70 templates/_nav.html:30 +#: templates/_nav_user.html:37 users/forms/profile.py:31 +#: users/templates/users/_user.html:44 +#: users/templates/users/user_password_update.html:39 +#: users/templates/users/user_profile.html:17 +#: users/templates/users/user_profile_update.html:37 +#: users/templates/users/user_profile_update.html:61 +#: users/templates/users/user_pubkey_update.html:37 +msgid "Profile" +msgstr "个人信息" -#: common/validators.py:11 -msgid "Special char not allowed" -msgstr "不能包含特殊字符" +#: templates/_header_bar.html:73 +msgid "Admin page" +msgstr "管理页面" -#: common/validators.py:23 -msgid "This field must be unique." -msgstr "字段必须唯一" +#: templates/_header_bar.html:75 +msgid "User page" +msgstr "用户页面" -#: jumpserver/views/celery_flower.py:23 -msgid "

Flow service unavailable, check it

" +#: templates/_header_bar.html:78 +msgid "API Key" msgstr "" -#: jumpserver/views/index.py:23 templates/_nav.html:7 -msgid "Dashboard" -msgstr "仪表盘" +#: templates/_header_bar.html:79 +msgid "Logout" +msgstr "注销登录" -#: jumpserver/views/other.py:25 +#: templates/_message.html:6 msgid "" -"
Luna is a separately deployed program, you need to deploy Luna, koko, " -"configure nginx for url distribution,
If you see this page, " -"prove that you are not accessing the nginx listening port. Good luck.
" +"\n" +" Your account has expired, please contact the administrator.\n" +" " msgstr "" -"
Luna是单独部署的一个程序,你需要部署luna,koko,
如果你看到了" -"这个页面,证明你访问的不是nginx监听的端口,祝你好运
" +"\n" +" 您的账户已经过期,请联系管理员。 " -#: jumpserver/views/other.py:73 -msgid "Websocket server run on port: {}, you should proxy it on nginx" -msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置" +#: templates/_message.html:13 +msgid "Your account will at" +msgstr "您的账户将于" + +#: templates/_message.html:13 templates/_message.html:30 +msgid "expired. " +msgstr "过期。" -#: jumpserver/views/other.py:81 +#: templates/_message.html:23 +#, python-format msgid "" -"
Koko is a separately deployed program, you need to deploy Koko, " -"configure nginx for url distribution,
If you see this page, " -"prove that you are not accessing the nginx listening port. Good luck." +"\n" +" Your password has expired, please click this link update password.\n" +" " msgstr "" -"
Koko是单独部署的一个程序,你需要部署Koko, 并确保nginx配置转发,
如果你看到了这个页面,证明你访问的不是nginx监听的端口,祝你好运" +"\n" +" 您的密码已经过期,请点击 链接 更新密码\n" +" " -#: ops/api/celery.py:57 -msgid "Waiting task start" -msgstr "等待任务开始" +#: templates/_message.html:30 +msgid "Your password will at" +msgstr "您的密码将于" -#: ops/api/command.py:35 -msgid "Not has host {} permission" -msgstr "没有该主机 {} 权限" - -#: ops/mixin.py:29 ops/mixin.py:92 ops/mixin.py:162 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:98 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:98 -msgid "Cycle perform" -msgstr "周期执行" - -#: ops/mixin.py:33 ops/mixin.py:90 ops/mixin.py:111 ops/mixin.py:150 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:90 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:90 -msgid "Regularly perform" -msgstr "定期执行" - -#: ops/mixin.py:108 ops/mixin.py:147 -#: xpack/plugins/change_auth_plan/serializers.py:53 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:54 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:79 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:17 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:40 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:79 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:16 -#: xpack/plugins/gathered_user/templates/gathered_user/task_create_update.html:28 -msgid "Periodic perform" -msgstr "定时执行" - -#: ops/mixin.py:113 -msgid "Interval" -msgstr "间隔" - -#: ops/mixin.py:122 -msgid "* Please enter a valid crontab expression" -msgstr "* 请输入有效的 crontab 表达式" - -#: ops/mixin.py:129 -msgid "Range {} to {}" -msgstr "输入在 {} - {} 范围之间" - -#: ops/mixin.py:140 -msgid "Require periodic or regularly perform setting" -msgstr "需要周期或定期设置" - -#: ops/mixin.py:151 +#: templates/_message.html:31 +#, python-format msgid "" -"eg: Every Sunday 03:05 run <5 3 * * 0>
Tips: Using 5 digits linux " -"crontab expressions (Online tools)
Note: If both Regularly " -"perform and Cycle perform are set, give priority to Regularly perform" +"\n" +" please click this " +"link to update your password.\n" +" " msgstr "" -"eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达式 <" -"分 时 日 月 星期> (在线工" -"具
注意: 如果同时设置了定期执行和周期执行,优先使用定期执行" +"\n" +" 请点击 链接 更" +"新密码\n" +" " -#: ops/mixin.py:162 -msgid "Tips: (Units: hour)" -msgstr "提示:(单位: 时)" +#: templates/_message.html:43 +#, python-format +msgid "" +"\n" +" Your information was incomplete. Please click this link to complete your information.\n" +" " +msgstr "" +"\n" +" 你的信息不完整,请点击 链接 " +" 补充完整\n" +" " -#: ops/models/adhoc.py:35 -msgid "Callback" -msgstr "回调" +#: templates/_message.html:56 +#, python-format +msgid "" +"\n" +" Your ssh public key not set or expired. Please click this link to update\n" +" " +msgstr "" +"\n" +" 您的SSH密钥没有设置或已失效,请点击 链接 更新\n" +" " -#: ops/models/adhoc.py:143 ops/templates/ops/adhoc_detail.html:112 -msgid "Tasks" -msgstr "任务" +#: templates/_nav.html:20 +msgid "User list" +msgstr "用户列表" -#: ops/models/adhoc.py:144 ops/templates/ops/adhoc_detail.html:55 -#: ops/templates/ops/task_adhoc.html:58 -msgid "Pattern" -msgstr "模式" +#: templates/_nav.html:42 +msgid "Asset list" +msgstr "资产列表" -#: ops/models/adhoc.py:145 ops/templates/ops/adhoc_detail.html:59 -msgid "Options" -msgstr "选项" +#: templates/_nav.html:43 +msgid "Domain list" +msgstr "网域列表" -#: ops/models/adhoc.py:147 -msgid "Run as admin" -msgstr "再次执行" +#: templates/_nav.html:47 +msgid "Command filters" +msgstr "命令过滤" -#: ops/models/adhoc.py:149 ops/templates/ops/adhoc_detail.html:80 -#: ops/templates/ops/task_adhoc.html:60 -msgid "Become" -msgstr "Become" +#: templates/_nav.html:49 +msgid "Platform list" +msgstr "平台列表" -#: ops/models/adhoc.py:150 users/templates/users/user_group_detail.html:54 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:59 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:51 -msgid "Create by" -msgstr "创建者" +#: templates/_nav.html:60 +msgid "Applications" +msgstr "应用管理" -#: ops/models/adhoc.py:233 -msgid "Task display" -msgstr "任务展示" +#: templates/_nav.html:75 +msgid "Perms" +msgstr "权限管理" -#: ops/models/adhoc.py:234 -msgid "Host amount" -msgstr "主机数量" +#: templates/_nav.html:97 +msgid "Sessions" +msgstr "会话管理" -#: ops/models/adhoc.py:236 -msgid "Start time" -msgstr "开始时间" +#: templates/_nav.html:100 +msgid "Session online" +msgstr "在线会话" -#: ops/models/adhoc.py:237 -msgid "End time" -msgstr "完成时间" +#: templates/_nav.html:101 +msgid "Session offline" +msgstr "历史会话" -#: ops/models/adhoc.py:238 ops/templates/ops/adhoc_history.html:55 -#: ops/templates/ops/task_history.html:61 ops/templates/ops/task_list.html:16 -#: xpack/plugins/change_auth_plan/models.py:179 -#: xpack/plugins/change_auth_plan/models.py:302 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:58 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:16 -#: xpack/plugins/gathered_user/models.py:79 -msgid "Time" -msgstr "时间" +#: templates/_nav.html:102 +msgid "Commands" +msgstr "命令记录" -#: ops/models/adhoc.py:239 ops/models/command.py:26 -#: ops/templates/ops/adhoc_detail.html:104 -#: ops/templates/ops/adhoc_history.html:53 -#: ops/templates/ops/adhoc_history_detail.html:67 -#: ops/templates/ops/task_detail.html:82 ops/templates/ops/task_history.html:59 -msgid "Is finished" -msgstr "是否完成" +#: templates/_nav.html:105 templates/_nav_user.html:42 +msgid "Web terminal" +msgstr "Web终端" -#: ops/models/adhoc.py:241 -msgid "Adhoc raw result" -msgstr "结果" +#: templates/_nav.html:106 templates/_nav_user.html:47 +msgid "File manager" +msgstr "文件管理" -#: ops/models/adhoc.py:242 -msgid "Adhoc result summary" -msgstr "汇总" +#: templates/_nav.html:110 +msgid "Terminal" +msgstr "终端管理" -#: ops/models/adhoc.py:282 xpack/plugins/change_auth_plan/utils.py:137 -msgid "{} Start task: {}" -msgstr "{} 任务开始: {}" +#: templates/_nav.html:121 +msgid "Job Center" +msgstr "作业中心" -#: ops/models/adhoc.py:291 xpack/plugins/change_auth_plan/utils.py:149 -msgid "{} Task finish" -msgstr "{} 任务结束" +#: templates/_nav.html:124 +msgid "Task list" +msgstr "任务列表" -#: ops/models/command.py:29 -msgid "Date finished" -msgstr "结束日期" +#: templates/_nav.html:125 templates/_nav.html:153 +msgid "Batch command" +msgstr "批量命令" -#: ops/models/command.py:64 -msgid "Task start" -msgstr "任务开始" +#: templates/_nav.html:127 +msgid "Task monitor" +msgstr "任务监控" -#: ops/models/command.py:86 -msgid "Command `{}` is forbidden ........" -msgstr "命令 `{}` 不允许被执行 ......." +#: templates/_nav.html:137 +msgid "Tickets" +msgstr "工单管理" -#: ops/models/command.py:93 -msgid "Task end" -msgstr "任务结束" +#: templates/_nav.html:146 +msgid "Audits" +msgstr "日志审计" -#: ops/tasks.py:68 -msgid "Clean task history period" -msgstr "定期清除任务历史" +#: templates/_nav.html:149 +msgid "Login log" +msgstr "登录日志" -#: ops/tasks.py:81 -msgid "Clean celery log period" -msgstr "定期清除Celery日志" +#: templates/_nav.html:150 +msgid "FTP log" +msgstr "FTP日志" -#: ops/templates/ops/adhoc_detail.html:17 -#: ops/templates/ops/adhoc_history.html:17 -msgid "Version detail" -msgstr "版本详情" +#: templates/_nav.html:151 +msgid "Operate log" +msgstr "操作日志" -#: ops/templates/ops/adhoc_detail.html:20 -#: ops/templates/ops/adhoc_history.html:20 ops/views/adhoc.py:106 -msgid "Version run execution" -msgstr "执行历史" +#: templates/_nav.html:152 +msgid "Password change log" +msgstr "改密日志" -#: ops/templates/ops/adhoc_detail.html:92 ops/templates/ops/task_list.html:12 -#: xpack/plugins/change_auth_plan/serializers.py:54 -#: 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" -msgstr "执行次数" +#: templates/_nav.html:163 +msgid "XPack" +msgstr "" -#: ops/templates/ops/adhoc_detail.html:96 ops/templates/ops/task_detail.html:74 -msgid "Last run" -msgstr "最后运行" +#: templates/_nav.html:171 +msgid "Account list" +msgstr "账户列表" -#: ops/templates/ops/adhoc_detail.html:100 -#: ops/templates/ops/adhoc_history_detail.html:63 -#: ops/templates/ops/task_detail.html:78 -msgid "Time delta" -msgstr "运行时间" +#: templates/_nav.html:172 +msgid "Sync instance" +msgstr "同步实例" -#: ops/templates/ops/adhoc_detail.html:108 -#: ops/templates/ops/adhoc_history_detail.html:71 -#: ops/templates/ops/task_detail.html:92 -msgid "Is success " -msgstr "成功" +#: templates/_nav.html:187 +msgid "Settings" +msgstr "系统设置" -#: ops/templates/ops/adhoc_detail.html:129 -#: ops/templates/ops/task_detail.html:119 -msgid "Last run failed hosts" -msgstr "最后运行失败主机" - -#: ops/templates/ops/adhoc_detail.html:149 -#: ops/templates/ops/adhoc_detail.html:174 -#: ops/templates/ops/task_detail.html:139 -#: ops/templates/ops/task_detail.html:164 -msgid "No hosts" -msgstr "没有主机" - -#: ops/templates/ops/adhoc_detail.html:159 -#: ops/templates/ops/task_detail.html:149 -msgid "Last run success hosts" -msgstr "最后运行成功主机" - -#: ops/templates/ops/adhoc_history.html:28 -#: ops/templates/ops/task_history.html:34 -msgid "Executions of " -msgstr "执行历史 " - -#: ops/templates/ops/adhoc_history.html:51 -#: ops/templates/ops/task_history.html:57 -msgid "F/S/T" -msgstr "失败/成功/总" - -#: ops/templates/ops/adhoc_history.html:52 -#: ops/templates/ops/task_history.html:58 -msgid "Ratio" -msgstr "比例" - -#: ops/templates/ops/adhoc_history_detail.html:17 ops/views/adhoc.py:120 -msgid "Execution detail" -msgstr "执行历史详情" - -#: ops/templates/ops/adhoc_history_detail.html:20 -#: ops/templates/ops/command_execution_list.html:69 -#: terminal/backends/command/models.py:22 -msgid "Output" -msgstr "输出" +#: templates/_nav_user.html:4 +msgid "My assets" +msgstr "我的资产" -#: ops/templates/ops/adhoc_history_detail.html:28 -msgid "Execution detail of" -msgstr "执行历史详情" +#: templates/_nav_user.html:10 +msgid "My Applications" +msgstr "我的应用" -#: ops/templates/ops/adhoc_history_detail.html:51 -msgid "Task name" -msgstr "任务名称" +#: templates/_nav_user.html:31 +msgid "Command execution" +msgstr "命令执行" -#: ops/templates/ops/adhoc_history_detail.html:82 -msgid "Failed assets" -msgstr "失败资产" +#: templates/_pagination.html:59 +msgid "" +"Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" +msgstr "显示第 _START_ 至 _END_ 项结果; 总共 _TOTAL_ 项" -#: ops/templates/ops/adhoc_history_detail.html:102 -#: ops/templates/ops/adhoc_history_detail.html:127 -msgid "No assets" -msgstr "没有资产" +#: templates/_without_nav_base.html:25 +msgid "Home page" +msgstr "首页" -#: ops/templates/ops/adhoc_history_detail.html:112 -msgid "Success assets" -msgstr "成功资产" +#: templates/captcha/image.html:3 +msgid "Play CAPTCHA as audio file" +msgstr "语言播放验证码" -#: ops/templates/ops/celery_task_log.html:4 -msgid "Task log" -msgstr "任务列表" +#: templates/captcha/text_field.html:4 users/forms/profile.py:90 +msgid "Captcha" +msgstr "验证码" -#: ops/templates/ops/command_execution_create.html:93 -#: terminal/templates/terminal/session_detail.html:97 -#: terminal/templates/terminal/session_detail.html:114 -msgid "Go" -msgstr "" +#: templates/delete_confirm.html:6 +msgid "Confirm delete" +msgstr "确认删除" -#: ops/templates/ops/command_execution_create.html:159 -msgid "Asset configuration does not include the SSH protocol" -msgstr "资产配置不包含 SSH 协议" +#: templates/delete_confirm.html:11 +msgid "Are you sure delete" +msgstr "您确定删除吗?" -#: ops/templates/ops/command_execution_create.html:183 -msgid "Selected assets" -msgstr "已选择资产" +#: templates/index.html:11 +msgid "Total users" +msgstr "用户总数" -#: ops/templates/ops/command_execution_create.html:186 -msgid "In total" -msgstr "总共" +#: templates/index.html:23 +msgid "Total assets" +msgstr "资产总数" -#: ops/templates/ops/command_execution_create.html:223 -msgid "" -"Select the left asset, select the running system user, execute command in " -"batch" -msgstr "选择左侧资产, 选择运行的系统用户,批量执行命令" +#: templates/index.html:36 +msgid "Online users" +msgstr "在线用户" -#: ops/templates/ops/command_execution_create.html:267 -msgid "Unselected assets" -msgstr "没有选中资产" +#: templates/index.html:49 +msgid "Online sessions" +msgstr "在线会话" -#: ops/templates/ops/command_execution_create.html:271 -msgid "No input command" -msgstr "没有输入命令" +#: templates/index.html:61 +msgid "In the past week, a total of " +msgstr "过去一周, 共有 " -#: ops/templates/ops/command_execution_create.html:275 -msgid "No system user was selected" -msgstr "没有选择系统用户" +#: templates/index.html:61 +msgid " users have logged in " +msgstr " 位用户登录 " -#: ops/templates/ops/command_execution_create.html:285 -msgid "Pending" -msgstr "等待" +#: templates/index.html:61 +msgid " times asset." +msgstr " 次资产." -#: ops/templates/ops/command_execution_list.html:70 -#: xpack/plugins/change_auth_plan/models.py:266 -msgid "Finished" -msgstr "结束" +#: templates/index.html:69 +msgid "Active user asset ratio" +msgstr "活跃用户资产占比" -#: ops/templates/ops/task_adhoc.html:17 ops/templates/ops/task_detail.html:18 -#: ops/templates/ops/task_history.html:17 ops/views/adhoc.py:50 -#: ops/views/adhoc.py:92 -msgid "Task detail" -msgstr "任务详情" - -#: ops/templates/ops/task_adhoc.html:20 ops/templates/ops/task_detail.html:21 -#: ops/templates/ops/task_history.html:20 ops/views/adhoc.py:64 -msgid "Task versions" -msgstr "任务各版本" - -#: ops/templates/ops/task_adhoc.html:23 ops/templates/ops/task_detail.html:24 -#: ops/templates/ops/task_history.html:23 -msgid "Execution" -msgstr "执行历史" - -#: ops/templates/ops/task_adhoc.html:26 ops/templates/ops/task_detail.html:27 -#: ops/templates/ops/task_history.html:26 -msgid "Last execution output" -msgstr "最后执行输出" - -#: ops/templates/ops/task_adhoc.html:34 -msgid "Versions of " -msgstr "版本" +#: templates/index.html:72 +msgid "" +"The following graphs describe the percentage of active users per month and " +"assets per user host per month, respectively." +msgstr "以下图形分别描述一个月活跃用户和资产占所有用户主机的百分比" -#: ops/templates/ops/task_detail.html:66 -msgid "Total versions" -msgstr "版本数量" +#: templates/index.html:97 templates/index.html:112 +msgid "Top 10 assets in a week" +msgstr "一周Top10资产" -#: ops/templates/ops/task_detail.html:102 -msgid "Contents" -msgstr "内容" +#: templates/index.html:113 +msgid "Login frequency and last login record." +msgstr "登录次数及最近一次登录记录." -#: ops/templates/ops/task_list.html:73 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:135 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:54 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:148 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:58 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:44 -msgid "Run" -msgstr "执行" +#: templates/index.html:122 +msgid "Last 10 login" +msgstr "最近十次登录" -#: ops/templates/ops/task_list.html:114 -msgid "Task start: " -msgstr "任务开始: " +#: templates/index.html:128 +msgid "Login record" +msgstr "登录记录" -#: ops/utils.py:60 -msgid "Update task content: {}" -msgstr "更新任务内容: {}" +#: templates/index.html:129 +msgid "Last 10 login records." +msgstr "最近十次登录记录." -#: ops/utils.py:70 -msgid "Disk used more than 80%: {} => {}" -msgstr "磁盘使用率超过 80%: {} => {}" +#: templates/index.html:143 templates/index.html:158 +msgid "Top 10 users in a week" +msgstr "一周Top10用户" -#: ops/views/adhoc.py:31 ops/views/adhoc.py:49 ops/views/adhoc.py:63 -#: ops/views/adhoc.py:77 ops/views/adhoc.py:91 ops/views/adhoc.py:105 -#: ops/views/adhoc.py:119 ops/views/command.py:48 ops/views/command.py:79 -msgid "Ops" -msgstr "作业中心" +#: templates/index.html:159 +msgid "User login frequency and last login record." +msgstr "用户登录次数及最近一次登录记录" -#: ops/views/adhoc.py:32 templates/_nav.html:124 -#: xpack/plugins/gathered_user/views.py:35 -msgid "Task list" -msgstr "任务列表" +#: templates/index.html:184 +msgid "Monthly data overview" +msgstr "月数据总览" -#: ops/views/adhoc.py:78 -msgid "Task execution list" -msgstr "任务执行列表" +#: templates/index.html:185 +msgid "History summary in one month" +msgstr "一个月内历史汇总" -#: ops/views/command.py:49 -msgid "Command execution list" -msgstr "命令执行列表" +#: templates/index.html:193 templates/index.html:217 +msgid "Login count" +msgstr "登录次数" -#: ops/views/command.py:80 templates/_nav_user.html:31 -msgid "Command execution" -msgstr "命令执行" +#: templates/index.html:193 templates/index.html:224 +msgid "Active users" +msgstr "活跃用户" -#: orgs/mixins/models.py:56 orgs/mixins/serializers.py:26 orgs/models.py:31 -msgid "Organization" -msgstr "组织" +#: templates/index.html:193 templates/index.html:231 +msgid "Active assets" +msgstr "活跃资产" -#: perms/const.py:7 -msgid "Ungrouped" -msgstr "未分组" +#: templates/index.html:262 templates/index.html:313 +msgid "Monthly active users" +msgstr "月活跃用户" -#: perms/const.py:10 -msgid "Empty" -msgstr "空" +#: templates/index.html:262 templates/index.html:314 +msgid "Disable user" +msgstr "禁用用户" -#: perms/forms/asset_permission.py:23 -msgid "" -"Tips: The RDP protocol does not support separate controls for uploading or " -"downloading files" -msgstr "提示:RDP 协议不支持单独控制上传或下载文件" +#: templates/index.html:262 templates/index.html:315 +msgid "Month not logged in user" +msgstr "月未登录用户" -#: perms/forms/asset_permission.py:86 perms/forms/database_app_permission.py:41 -#: perms/forms/remote_app_permission.py:43 perms/models/base.py:50 -#: perms/templates/perms/asset_permission_list.html:34 -#: perms/templates/perms/asset_permission_list.html:84 -#: perms/templates/perms/asset_permission_list.html:186 -#: perms/templates/perms/database_app_permission_list.html:16 -#: perms/templates/perms/remote_app_permission_list.html:16 -#: templates/_nav.html:21 users/forms/user.py:168 users/models/group.py:31 -#: users/models/user.py:468 users/templates/users/_select_user_modal.html:16 -#: users/templates/users/user_asset_permission.html:39 -#: users/templates/users/user_asset_permission.html:67 -#: users/templates/users/user_database_app_permission.html:38 -#: users/templates/users/user_database_app_permission.html:61 -#: users/templates/users/user_detail.html:209 -#: users/templates/users/user_list.html:17 -#: users/templates/users/user_remote_app_permission.html:38 -#: users/templates/users/user_remote_app_permission.html:61 -#: xpack/plugins/orgs/templates/orgs/org_list.html:16 -msgid "User group" -msgstr "用户组" +#: templates/index.html:288 templates/index.html:368 +msgid "Access to the source" +msgstr "访问来源" -#: perms/forms/asset_permission.py:108 -msgid "User or group at least one required" -msgstr "用户和用户组至少选一个" +#: templates/index.html:342 +msgid "Month is logged into the asset" +msgstr "月被登录资产" -#: perms/forms/asset_permission.py:117 -msgid "Asset or group at least one required" -msgstr "资产和节点至少选一个" +#: templates/index.html:342 templates/index.html:393 +msgid "Disable host" +msgstr "禁用主机" -#: perms/models/asset_permission.py:31 settings/forms/terminal.py:19 -#: settings/serializers/settings.py:56 -msgid "All" -msgstr "全部" +#: templates/index.html:342 templates/index.html:394 +msgid "Month not logged on host" +msgstr "月未登录主机" -#: perms/models/asset_permission.py:33 -msgid "Upload file" -msgstr "上传文件" +#: templates/index.html:392 +msgid "Month is logged into the host" +msgstr "月被登录主机" -#: perms/models/asset_permission.py:34 -msgid "Download file" -msgstr "下载文件" +#: templates/index.html:466 +msgid " times/week" +msgstr " 次/周" -#: perms/models/asset_permission.py:35 -msgid "Upload download" -msgstr "上传下载" +#: templates/index.html:491 templates/index.html:527 +msgid " times" +msgstr " 次" -#: perms/models/asset_permission.py:83 -msgid "Actions" -msgstr "动作" +#: templates/index.html:494 templates/index.html:530 +msgid "The time last logged in" +msgstr "最近一次登录日期" -#: perms/models/asset_permission.py:87 templates/_nav.html:78 -#: tickets/templates/tickets/ticket_list.html:22 -#: users/templates/users/_user_detail_nav_header.html:31 -#: users/views/user.py:221 -msgid "Asset permission" -msgstr "资产授权" +#: templates/index.html:495 templates/index.html:531 +msgid "At" +msgstr "于" -#: perms/models/base.py:53 -#: perms/templates/perms/asset_permission_detail.html:85 -#: perms/templates/perms/database_app_permission_detail.html:81 -#: perms/templates/perms/remote_app_permission_detail.html:77 -#: users/models/user.py:500 users/templates/users/user_detail.html:93 -#: users/templates/users/user_profile.html:120 -msgid "Date expired" -msgstr "失效日期" +#: templates/index.html:510 templates/index.html:545 templates/index.html:580 +msgid "(No)" +msgstr "(暂无)" -#: perms/models/database_app_permission.py:27 -#: users/templates/users/_user_detail_nav_header.html:61 -#: users/views/user.py:277 -msgid "DatabaseApp permission" -msgstr "数据库应用授权" +#: templates/index.html:561 +msgid "Before" +msgstr "前" -#: perms/models/remote_app_permission.py:20 -#: users/templates/users/_user_detail_nav_header.html:47 -#: users/views/user.py:249 -msgid "RemoteApp permission" -msgstr "远程应用授权" +#: templates/index.html:562 +msgid "Login in " +msgstr "登录了" -#: perms/templates/perms/asset_permission_asset.html:18 -#: perms/templates/perms/asset_permission_detail.html:17 -#: perms/templates/perms/asset_permission_user.html:18 -#: perms/templates/perms/database_app_permission_database_app.html:18 -#: perms/templates/perms/database_app_permission_detail.html:17 -#: perms/templates/perms/database_app_permission_user.html:18 -#: perms/templates/perms/remote_app_permission_detail.html:17 -#: perms/templates/perms/remote_app_permission_remote_app.html:17 -#: perms/templates/perms/remote_app_permission_user.html:17 -msgid "Users and user groups" -msgstr "用户或用户组" - -#: perms/templates/perms/asset_permission_asset.html:23 -#: perms/templates/perms/asset_permission_detail.html:22 -#: perms/templates/perms/asset_permission_user.html:23 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:16 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:21 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:20 -msgid "Assets and node" -msgstr "资产或节点" - -#: perms/templates/perms/asset_permission_asset.html:66 -msgid "Add asset to this permission" -msgstr "添加资产" - -#: perms/templates/perms/asset_permission_asset.html:80 -#: perms/templates/perms/asset_permission_asset.html:141 -#: perms/templates/perms/asset_permission_user.html:80 -#: perms/templates/perms/asset_permission_user.html:108 -#: perms/templates/perms/database_app_permission_database_app.html:83 -#: perms/templates/perms/database_app_permission_database_app.html:111 -#: perms/templates/perms/database_app_permission_user.html:80 -#: perms/templates/perms/database_app_permission_user.html:108 -#: perms/templates/perms/remote_app_permission_detail.html:143 -#: perms/templates/perms/remote_app_permission_remote_app.html:92 -#: perms/templates/perms/remote_app_permission_user.html:92 -#: perms/templates/perms/remote_app_permission_user.html:120 -#: users/templates/users/user_group_detail.html:87 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:76 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:88 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:125 -msgid "Add" -msgstr "添加" +#: templates/rest_framework/base.html:128 +msgid "Filters" +msgstr "过滤" -#: perms/templates/perms/asset_permission_asset.html:91 -msgid "Add node to this permission" -msgstr "添加节点" +#: terminal/api/session.py:190 +msgid "Session does not exist: {}" +msgstr "会话不存在: {}" -#: perms/templates/perms/asset_permission_asset.html:105 -#: users/templates/users/user_detail.html:226 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:101 -msgid "Join" -msgstr "加入" +#: terminal/api/session.py:193 +msgid "Session is finished or the protocol not supported" +msgstr "会话已经完成或协议不支持" -#: perms/templates/perms/asset_permission_asset.html:132 -#: perms/templates/perms/database_app_permission_database_app.html:102 -#: perms/templates/perms/remote_app_permission_detail.html:134 -msgid "Select system users" -msgstr "选择系统用户" - -#: perms/templates/perms/asset_permission_create_update.html:105 -#: perms/templates/perms/database_app_permission_create_update.html:59 -#: perms/templates/perms/remote_app_permission_create_update.html:59 -msgid "Validity period" -msgstr "有效期" - -#: perms/templates/perms/asset_permission_detail.html:61 -#: perms/templates/perms/database_app_permission_detail.html:61 -#: perms/templates/perms/remote_app_permission_detail.html:61 -msgid "User count" -msgstr "用户数量" +#: terminal/api/session.py:198 +msgid "User does not exist: {}" +msgstr "用户不存在: {}" -#: perms/templates/perms/asset_permission_detail.html:65 -#: perms/templates/perms/database_app_permission_detail.html:65 -#: perms/templates/perms/remote_app_permission_detail.html:65 -msgid "User group count" -msgstr "用户组数量" +#: terminal/api/session.py:202 +msgid "User does not have permission" +msgstr "用户没有权限" -#: perms/templates/perms/asset_permission_detail.html:69 -#: xpack/plugins/license/templates/license/license_detail.html:63 -msgid "Asset count" -msgstr "资产数量" +#: terminal/api/storage.py:24 +msgid "Deleting the default storage is not allowed" +msgstr "不允许删除默认存储配置" -#: perms/templates/perms/asset_permission_detail.html:73 -msgid "Node count" -msgstr "节点数量" - -#: perms/templates/perms/asset_permission_detail.html:77 -#: perms/templates/perms/database_app_permission_detail.html:73 -msgid "System user count" -msgstr "系统用户数量" - -#: perms/templates/perms/asset_permission_list.html:21 -#: perms/templates/perms/database_app_permission_list.html:6 -#: perms/templates/perms/remote_app_permission_list.html:6 -msgid "Create permission" -msgstr "创建授权规则" - -#: perms/templates/perms/asset_permission_list.html:25 -msgid "Refresh permission cache" -msgstr "刷新授权缓存" - -#: perms/templates/perms/asset_permission_list.html:38 -#: perms/templates/perms/asset_permission_list.html:184 -#: perms/templates/perms/database_app_permission_list.html:19 -#: perms/templates/perms/remote_app_permission_list.html:19 -#: users/templates/users/user_asset_permission.html:43 -#: users/templates/users/user_asset_permission.html:155 -#: users/templates/users/user_database_app_permission.html:41 -#: users/templates/users/user_list.html:19 -#: users/templates/users/user_remote_app_permission.html:41 -#: xpack/plugins/cloud/models.py:50 xpack/plugins/cloud/serializers.py:32 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:55 -#: xpack/plugins/cloud/templates/cloud/account_list.html:14 -msgid "Validity" -msgstr "有效" +#: terminal/api/storage.py:54 +msgid "Test failure: {}" +msgstr "测试失败: {}" -#: perms/templates/perms/asset_permission_list.html:191 -#: users/templates/users/user_asset_permission.html:160 -msgid "Inherit" -msgstr "继承" +#: terminal/api/storage.py:57 +msgid "Test successful" +msgstr "测试成功" -#: perms/templates/perms/asset_permission_list.html:192 -#: users/templates/users/user_asset_permission.html:161 -msgid "Include" -msgstr "包含" +#: terminal/api/storage.py:59 +msgid "Test failure: Account invalid" +msgstr "测试失败: 账户无效" -#: perms/templates/perms/asset_permission_list.html:193 -#: users/templates/users/user_asset_permission.html:162 -msgid "Exclude" -msgstr "不包含" +#: terminal/backends/command/models.py:14 +msgid "Ordinary" +msgstr "普通" -#: perms/templates/perms/asset_permission_list.html:211 -msgid "Refresh success" -msgstr "刷新成功" +#: terminal/backends/command/models.py:15 +msgid "Dangerous" +msgstr "危险" -#: perms/templates/perms/asset_permission_user.html:31 -#: perms/templates/perms/database_app_permission_user.html:31 -#: perms/templates/perms/remote_app_permission_user.html:30 -msgid "User list of " -msgstr "用户列表" +#: terminal/backends/command/models.py:21 +msgid "Input" +msgstr "输入" -#: perms/templates/perms/asset_permission_user.html:66 -msgid "Add user to asset permission" -msgstr "添加用户" +#: terminal/backends/command/models.py:22 +msgid "Output" +msgstr "输出" -#: perms/templates/perms/asset_permission_user.html:91 -msgid "Add user group to asset permission" -msgstr "添加用户组" +#: terminal/backends/command/models.py:23 +msgid "Session" +msgstr "会话" -#: perms/templates/perms/asset_permission_user.html:99 -#: perms/templates/perms/database_app_permission_user.html:99 -#: perms/templates/perms/remote_app_permission_user.html:111 -msgid "Select user groups" -msgstr "选择用户组" +#: terminal/backends/command/models.py:24 +msgid "Risk level" +msgstr "风险等级" -#: perms/templates/perms/database_app_permission_database_app.html:31 -msgid "DatabaseApp list of " -msgstr "数据库应用列表" +#: terminal/models.py:27 +msgid "Remote Address" +msgstr "远端地址" -#: perms/templates/perms/database_app_permission_database_app.html:66 -msgid "Add DatabaseApp to this permission" -msgstr "添加数据库应用" +#: terminal/models.py:28 +msgid "SSH Port" +msgstr "SSH端口" -#: perms/templates/perms/database_app_permission_database_app.html:74 -msgid "Select DatabaseApp" -msgstr "选择数据库应用" +#: terminal/models.py:29 +msgid "HTTP Port" +msgstr "HTTP端口" -#: perms/templates/perms/database_app_permission_detail.html:69 -msgid "DatabaseApp count" -msgstr "数据库应用数量" +#: terminal/models.py:30 +msgid "Command storage" +msgstr "命令存储" -#: perms/templates/perms/database_app_permission_user.html:66 -msgid "Add user to permission" -msgstr "添加用户" +#: terminal/models.py:31 +msgid "Replay storage" +msgstr "录像存储" -#: perms/templates/perms/database_app_permission_user.html:91 -msgid "Add user group to permission" -msgstr "添加用户组" +#: terminal/models.py:154 +msgid "Session Online" +msgstr "在线会话" -#: perms/templates/perms/remote_app_permission_detail.html:69 -msgid "RemoteApp count" -msgstr "远程应用数量" +#: terminal/models.py:155 +msgid "CPU Usage" +msgstr "CPU使用" -#: perms/templates/perms/remote_app_permission_remote_app.html:30 -msgid "RemoteApp list of " -msgstr "远程应用列表" +#: terminal/models.py:156 +msgid "Memory Used" +msgstr "内存使用" -#: perms/templates/perms/remote_app_permission_remote_app.html:75 -msgid "Add RemoteApp to this permission" -msgstr "添加远程应用" +#: terminal/models.py:157 +msgid "Connections" +msgstr "连接数" -#: perms/templates/perms/remote_app_permission_remote_app.html:83 -msgid "Select RemoteApp" -msgstr "选择远程应用" +#: terminal/models.py:158 +msgid "Threads" +msgstr "线程数" -#: perms/templates/perms/remote_app_permission_user.html:75 -msgid "Add user to this permission" -msgstr "添加用户" +#: terminal/models.py:159 +msgid "Boot Time" +msgstr "运行时间" -#: perms/templates/perms/remote_app_permission_user.html:103 -msgid "Add user group to this permission" -msgstr "添加用户组" - -#: perms/views/asset_permission.py:33 perms/views/asset_permission.py:65 -#: perms/views/asset_permission.py:82 perms/views/asset_permission.py:99 -#: perms/views/asset_permission.py:136 perms/views/asset_permission.py:169 -#: perms/views/database_app_permission.py:33 -#: perms/views/database_app_permission.py:48 -#: perms/views/database_app_permission.py:64 -#: perms/views/database_app_permission.py:79 -#: perms/views/database_app_permission.py:108 -#: perms/views/database_app_permission.py:143 -#: perms/views/remote_app_permission.py:33 -#: perms/views/remote_app_permission.py:49 -#: perms/views/remote_app_permission.py:66 -#: perms/views/remote_app_permission.py:84 -#: perms/views/remote_app_permission.py:116 -#: perms/views/remote_app_permission.py:149 templates/_nav.html:75 -#: xpack/plugins/orgs/templates/orgs/org_list.html:22 -msgid "Perms" -msgstr "权限管理" +#: terminal/models.py:195 +msgid "Replay" +msgstr "回放" -#: perms/views/asset_permission.py:34 -msgid "Asset permission list" -msgstr "资产授权列表" +#: terminal/models.py:200 +msgid "Date end" +msgstr "结束日期" -#: perms/views/asset_permission.py:66 -msgid "Create asset permission" -msgstr "创建权限规则" +#: terminal/models.py:343 +msgid "Args" +msgstr "参数" -#: perms/views/asset_permission.py:83 -msgid "Update asset permission" -msgstr "更新资产授权" +#: tickets/models/ticket.py:18 tickets/models/ticket.py:70 +msgid "Open" +msgstr "开启" -#: perms/views/asset_permission.py:100 -msgid "Asset permission detail" -msgstr "资产授权详情" +#: tickets/models/ticket.py:19 +msgid "Closed" +msgstr "关闭" -#: perms/views/asset_permission.py:137 -msgid "Asset permission user list" -msgstr "资产授权用户列表" +#: tickets/models/ticket.py:24 +msgid "General" +msgstr "一般" -#: perms/views/asset_permission.py:171 -msgid "Asset permission asset list" -msgstr "资产授权资产列表" +#: tickets/models/ticket.py:30 +msgid "Approve" +msgstr "同意" -#: perms/views/database_app_permission.py:34 -msgid "DatabaseApp permission list" -msgstr "数据库应用授权列表" +#: tickets/models/ticket.py:31 +msgid "Reject" +msgstr "拒绝" -#: perms/views/database_app_permission.py:49 -msgid "Create DatabaseApp permission" -msgstr "创建数据库应用授权规则" +#: tickets/models/ticket.py:34 tickets/models/ticket.py:129 +msgid "User display name" +msgstr "用户显示名称" -#: perms/views/database_app_permission.py:65 -msgid "Update DatabaseApp permission" -msgstr "更新数据库应用授权规则" +#: tickets/models/ticket.py:36 +msgid "Title" +msgstr "标题" -#: perms/views/database_app_permission.py:80 -msgid "DatabaseApp permission detail" -msgstr "数据库应用授权详情" +#: tickets/models/ticket.py:37 tickets/models/ticket.py:130 +msgid "Body" +msgstr "内容" -#: perms/views/database_app_permission.py:109 -msgid "DatabaseApp permission user list" -msgstr "数据库应用授权用户列表" +#: tickets/models/ticket.py:39 +msgid "Assignee" +msgstr "处理人" -#: perms/views/database_app_permission.py:149 -msgid "DatabaseApp permission DatabaseApp list" -msgstr "数据库应用授权数据库应用列表" +#: tickets/models/ticket.py:40 +msgid "Assignee display name" +msgstr "处理人名称" -#: perms/views/remote_app_permission.py:34 -msgid "RemoteApp permission list" -msgstr "远程应用授权列表" +#: tickets/models/ticket.py:41 +msgid "Assignees" +msgstr "待处理人" -#: perms/views/remote_app_permission.py:50 -msgid "Create RemoteApp permission" -msgstr "创建远程应用授权规则" +#: tickets/models/ticket.py:42 +msgid "Assignees display name" +msgstr "待处理人名称" -#: perms/views/remote_app_permission.py:67 -msgid "Update RemoteApp permission" -msgstr "更新远程应用授权规则" +#: tickets/models/ticket.py:71 +msgid "{} {} this ticket" +msgstr "{} {} 这个工单" -#: perms/views/remote_app_permission.py:85 -msgid "RemoteApp permission detail" -msgstr "远程应用授权详情" +#: tickets/models/ticket.py:82 +msgid "this ticket" +msgstr "这个工单" -#: perms/views/remote_app_permission.py:117 -msgid "RemoteApp permission user list" -msgstr "远程应用授权用户列表" +#: tickets/utils.py:18 +msgid "New ticket" +msgstr "新工单" -#: perms/views/remote_app_permission.py:150 -msgid "RemoteApp permission RemoteApp list" -msgstr "远程应用授权远程应用列表" +#: tickets/utils.py:21 +#, python-brace-format +msgid "" +"\n" +"
\n" +"

Your has a new ticket

\n" +"
\n" +" {body}\n" +"
\n" +" click here to review \n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"

你有一个新工单

\n" +"
\n" +" {body}\n" +"
\n" +" 点击我查看 \n" +"
\n" +"
\n" +" " -#: settings/api.py:33 -msgid "Test mail sent to {}, please check" -msgstr "邮件已经发送{}, 请检查" +#: tickets/utils.py:40 +msgid "Ticket has been reply" +msgstr "工单已被回复" -#: settings/api.py:242 -msgid "Get ldap users is None" -msgstr "获取 LDAP 用户为 None" +#: tickets/utils.py:41 +#, python-brace-format +msgid "" +"\n" +"
\n" +"

Your ticket has been replay

\n" +"
\n" +" Title: {ticket.title}\n" +"
\n" +" Assignee: {ticket.assignee_display}\n" +"
\n" +" Status: {ticket.status_display}\n" +"
\n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"

您的工单已被回复

\n" +"
\n" +" 标题: {ticket.title}\n" +"
\n" +" 处理人: {ticket.assignee_display}\n" +"
\n" +" 状态: {ticket.status_display}\n" +"
\n" +"
\n" +"
\n" +" " -#: settings/api.py:249 -msgid "Imported {} users successfully" -msgstr "导入 {} 个用户成功" +#: users/api/user.py:117 +msgid "Could not reset self otp, use profile reset instead" +msgstr "不能在该页面重置多因子认证, 请去个人信息页面重置" -#: settings/forms/basic.py:13 -msgid "Current SITE URL" -msgstr "当前站点URL" +#: users/forms/group.py:19 users/forms/user.py:143 users/forms/user.py:148 +msgid "Select users" +msgstr "选择用户" -#: settings/forms/basic.py:17 -msgid "User Guide URL" -msgstr "用户向导URL" +#: users/forms/profile.py:37 +msgid "" +"When enabled, you will enter the MFA binding process the next time you log " +"in. you can also directly bind in \"personal information -> quick " +"modification -> change MFA Settings\"!" +msgstr "" +"启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速" +"修改->更改多因子设置)中直接绑定!" -#: settings/forms/basic.py:18 -msgid "User first login update profile done redirect to it" -msgstr "用户第一次登录,修改profile后重定向到地址" +#: users/forms/profile.py:48 +msgid "* Enable MFA to make the account more secure." +msgstr "* 启用多因子认证,使账号更加安全。" -#: settings/forms/basic.py:21 -msgid "Email Subject Prefix" -msgstr "Email主题前缀" +#: users/forms/profile.py:57 +msgid "" +"In order to protect you and your company, please keep your account, password " +"and key sensitive information properly. (for example: setting complex " +"password, enabling MFA)" +msgstr "" +"为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:" +"设置复杂密码,并启用多因子认证)" -#: settings/forms/basic.py:22 -msgid "Tips: Some word will be intercept by mail provider" -msgstr "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer" +#: users/forms/profile.py:64 +msgid "Finish" +msgstr "完成" -#: settings/forms/email.py:15 -msgid "SMTP host" -msgstr "SMTP主机" +#: users/forms/profile.py:71 +msgid "New password" +msgstr "新密码" -#: settings/forms/email.py:17 -msgid "SMTP port" -msgstr "SMTP端口" +#: users/forms/profile.py:76 +msgid "Confirm password" +msgstr "确认密码" -#: settings/forms/email.py:19 -msgid "SMTP user" -msgstr "SMTP账号" +#: users/forms/profile.py:84 +msgid "Password does not match" +msgstr "密码不一致" -#: settings/forms/email.py:22 -msgid "SMTP password" -msgstr "SMTP密码" +#: users/forms/profile.py:89 users/models/user.py:468 +#: users/templates/users/user_detail.html:57 +#: users/templates/users/user_profile.html:59 +msgid "Email" +msgstr "邮件" -#: settings/forms/email.py:24 -msgid "Tips: Some provider use token except password" -msgstr "提示:一些邮件提供商需要输入的是Token" +#: users/forms/profile.py:96 +msgid "Old password" +msgstr "原来密码" -#: settings/forms/email.py:27 -msgid "Send user" -msgstr "发送账号" +#: users/forms/profile.py:106 +msgid "Old password error" +msgstr "原来密码错误" -#: settings/forms/email.py:29 -msgid "Tips: Send mail account, default SMTP account as the send account" -msgstr "提示:发送邮件账号,默认使用SMTP账号作为发送账号" +#: users/forms/profile.py:116 +msgid "Automatically configure and download the SSH key" +msgstr "自动配置并下载SSH密钥" -#: settings/forms/email.py:33 -msgid "Test recipient" -msgstr "测试收件人" +#: users/forms/profile.py:118 users/forms/user.py:34 +#: users/templates/users/user_update.html:30 +msgid "ssh public key" +msgstr "SSH公钥" -#: settings/forms/email.py:34 -msgid "Tips: Used only as a test mail recipient" -msgstr "提示:仅用来作为测试邮件收件人" +#: users/forms/profile.py:119 users/forms/user.py:35 +msgid "ssh-rsa AAAA..." +msgstr "" -#: settings/forms/email.py:37 -msgid "Use SSL" -msgstr "使用SSL" +#: users/forms/profile.py:120 +msgid "Paste your id_rsa.pub here." +msgstr "复制你的公钥到这里" -#: settings/forms/email.py:38 -msgid "If SMTP port is 465, may be select" -msgstr "如果SMTP端口是465,通常需要启用SSL" +#: users/forms/profile.py:133 users/forms/user.py:86 +msgid "Public key should not be the same as your old one." +msgstr "不能和原来的密钥相同" -#: settings/forms/email.py:41 -msgid "Use TLS" -msgstr "使用TLS" +#: users/forms/profile.py:137 users/forms/user.py:90 +#: users/serializers/user.py:177 users/serializers/user.py:258 +#: users/serializers/user.py:316 +msgid "Not a valid ssh public key" +msgstr "SSH密钥不合法" -#: settings/forms/email.py:42 -msgid "If SMTP port is 587, may be select" -msgstr "如果SMTP端口是587,通常需要启用TLS" +#: users/forms/user.py:27 users/models/user.py:476 +#: users/templates/users/_select_user_modal.html:15 +#: users/templates/users/user_detail.html:73 +#: users/templates/users/user_list.html:16 +#: users/templates/users/user_profile.html:55 +msgid "Role" +msgstr "角色" -#: settings/forms/email.py:48 -msgid "Create user email subject" -msgstr "创建用户邮件的主题" +#: users/forms/user.py:31 users/models/user.py:511 +#: users/templates/users/user_detail.html:89 +#: users/templates/users/user_list.html:18 +#: users/templates/users/user_profile.html:102 +msgid "Source" +msgstr "用户来源" -#: settings/forms/email.py:49 -msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" -msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)" +#: users/forms/user.py:36 +msgid "Paste user id_rsa.pub here." +msgstr "复制用户公钥到这里" -#: settings/forms/email.py:53 -msgid "Create user honorific" -msgstr "创建用户邮件的敬语" +#: users/forms/user.py:51 users/templates/users/user_detail.html:217 +msgid "Join user groups" +msgstr "添加到用户组" -#: settings/forms/email.py:54 -msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" -msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)" +#: users/forms/user.py:103 users/views/profile/password.py:57 +#: users/views/profile/reset.py:123 +msgid "* Your password does not meet the requirements" +msgstr "* 您的密码不符合要求" -#: settings/forms/email.py:59 -msgid "Create user email content" -msgstr "创建用户邮件的内容" +#: users/forms/user.py:124 users/serializers/user.py:30 +msgid "Reset link will be generated and sent to the user" +msgstr "生成重置密码链接,通过邮件发送给用户" -#: settings/forms/email.py:60 -msgid "Tips:When creating a user, send the content of the email" -msgstr "提示: 创建用户时,发送设置密码邮件的内容" +#: users/forms/user.py:125 users/serializers/user.py:31 +msgid "Set password" +msgstr "设置密码" -#: settings/forms/email.py:63 -msgid "Signature" -msgstr "署名" +#: users/forms/user.py:132 users/serializers/user.py:38 +#: xpack/plugins/change_auth_plan/models.py:60 +#: xpack/plugins/change_auth_plan/serializers.py:30 +msgid "Password strategy" +msgstr "密码策略" -#: settings/forms/email.py:64 -msgid "Tips: Email signature (eg:jumpserver)" -msgstr "提示: 邮件的署名 (例如: jumpserver)" +#: users/models/user.py:158 users/models/user.py:622 +msgid "Administrator" +msgstr "管理员" -#: settings/forms/ldap.py:16 -msgid "LDAP server" -msgstr "LDAP地址" +#: users/models/user.py:160 +msgid "Application" +msgstr "应用程序" -#: settings/forms/ldap.py:19 -msgid "Bind DN" -msgstr "绑定DN" +#: users/models/user.py:161 +msgid "Auditor" +msgstr "审计员" -#: settings/forms/ldap.py:26 -msgid "User OU" -msgstr "用户OU" +#: users/models/user.py:171 +msgid "Org admin" +msgstr "组织管理员" -#: settings/forms/ldap.py:27 -msgid "Use | split User OUs" -msgstr "使用|分隔各OU" +#: users/models/user.py:173 +msgid "Org auditor" +msgstr "组织审计员" -#: settings/forms/ldap.py:31 -msgid "User search filter" -msgstr "用户过滤器" +#: users/models/user.py:388 users/templates/users/user_profile.html:90 +msgid "Force enable" +msgstr "强制启用" -#: settings/forms/ldap.py:32 -#, python-format -msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)" -msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)" +#: users/models/user.py:455 +msgid "Local" +msgstr "数据库" -#: settings/forms/ldap.py:35 -msgid "User attr map" -msgstr "LDAP属性映射" +#: users/models/user.py:479 +msgid "Avatar" +msgstr "头像" -#: settings/forms/ldap.py:37 -msgid "" -"User attr map present how to map LDAP user attr to jumpserver, username,name," -"email is jumpserver attr" -msgstr "" -"用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name," -"email 是jumpserver的属性" +#: users/models/user.py:482 users/templates/users/user_detail.html:68 +msgid "Wechat" +msgstr "微信" -#: settings/forms/ldap.py:46 -msgid "Enable LDAP auth" -msgstr "启用LDAP认证" +#: users/models/user.py:515 +msgid "Date password last updated" +msgstr "最后更新密码日期" -#: settings/forms/security.py:18 -msgid "" -"After opening, all user login must use MFA(valid for all users, including " -"administrators)" -msgstr "开启后,所有用户登录必须使用多因子认证(对所有用户有效,包括管理员)" +#: users/models/user.py:625 +msgid "Administrator is the super user of system" +msgstr "Administrator是初始的超级管理员" -#: settings/forms/security.py:24 -msgid "Batch execute commands" -msgstr "批量命令" +#: users/serializers/group.py:50 +msgid "Auditors cannot be join in the user group" +msgstr "审计员不能被加入到用户组" -#: settings/forms/security.py:25 -msgid "Allow user batch execute commands" -msgstr "允许用户批量执行命令" +#: users/serializers/user.py:69 users/serializers/user.py:229 +msgid "Is first login" +msgstr "首次登录" -#: settings/forms/security.py:28 -msgid "Service account registration" -msgstr "终端注册" +#: users/serializers/user.py:70 +msgid "Is valid" +msgstr "账户是否有效" -#: settings/forms/security.py:29 +#: users/serializers/user.py:71 +msgid "Is expired" +msgstr " 是否过期" + +#: users/serializers/user.py:72 +msgid "Avatar url" +msgstr "头像路径" + +#: users/serializers/user.py:76 +msgid "Groups name" +msgstr "用户组名" + +#: users/serializers/user.py:77 +msgid "Source name" +msgstr "用户来源名" + +#: users/serializers/user.py:78 +msgid "Role name" +msgstr "角色名" + +#: users/serializers/user.py:97 +msgid "Role limit to {}" +msgstr "角色只能为 {}" + +#: users/serializers/user.py:109 users/serializers/user.py:282 +msgid "Password does not match security rules" +msgstr "密码不满足安全规则" + +#: users/serializers_v2/user.py:36 +msgid "name not unique" +msgstr "名称重复" + +#: users/templates/users/_base_otp.html:14 +msgid "Security token validation" +msgstr "安全令牌验证" + +#: users/templates/users/_base_otp.html:14 users/templates/users/_user.html:13 +#: users/templates/users/user_profile_update.html:55 +#: xpack/plugins/cloud/models.py:119 +msgid "Account" +msgstr "账户" + +#: users/templates/users/_base_otp.html:14 +msgid "Follow these steps to complete the binding operation" +msgstr "请按照以下步骤完成绑定操作" + +#: users/templates/users/_granted_assets.html:7 +msgid "Loading" +msgstr "加载中" + +#: users/templates/users/_select_user_modal.html:5 +msgid "Please Select User" +msgstr "选择用户" + +#: users/templates/users/_select_user_modal.html:17 +msgid "Asset num" +msgstr "资产数量" + +#: users/templates/users/_user.html:21 +msgid "Auth" +msgstr "认证" + +#: users/templates/users/_user.html:27 +msgid "Security and Role" +msgstr "角色安全" + +#: users/templates/users/_user.html:51 +#: users/templates/users/user_bulk_update.html:23 +#: users/templates/users/user_detail.html:168 +#: users/templates/users/user_group_create_update.html:27 +#: users/templates/users/user_password_update.html:74 +#: users/templates/users/user_profile.html:209 +#: users/templates/users/user_profile_update.html:67 +#: users/templates/users/user_pubkey_update.html:74 +#: users/templates/users/user_pubkey_update.html:80 +msgid "Reset" +msgstr "重置" + +#: users/templates/users/_user.html:52 +#: users/templates/users/forgot_password.html:24 +#: users/templates/users/user_bulk_update.html:24 +#: users/templates/users/user_list.html:40 +#: users/templates/users/user_password_update.html:75 +#: users/templates/users/user_profile_update.html:68 +#: users/templates/users/user_pubkey_update.html:81 +msgid "Submit" +msgstr "提交" + +#: users/templates/users/_user_detail_nav_header.html:11 +msgid "User detail" +msgstr "用户详情" + +#: users/templates/users/_user_detail_nav_header.html:15 +msgid "User permissions" +msgstr "用户授权" + +#: users/templates/users/_user_detail_nav_header.html:23 +#: users/templates/users/user_group_detail.html:20 +#: users/templates/users/user_group_granted_asset.html:21 +msgid "Asset granted" +msgstr "授权的资产" + +#: users/templates/users/_user_detail_nav_header.html:40 +msgid "RemoteApp granted" +msgstr "授权的远程应用" + +#: users/templates/users/_user_detail_nav_header.html:54 +msgid "DatabaseApp granted" +msgstr "授权的数据库应用" + +#: users/templates/users/_user_update_pk_modal.html:4 +msgid "Update User SSH Public Key" +msgstr "更新SSH密钥" + +#: users/templates/users/first_login.html:6 +#: users/templates/users/first_login_done.html:19 +msgid "First Login" +msgstr "首次登录" + +#: users/templates/users/first_login_done.html:31 +msgid "Welcome to use jumpserver, visit " +msgstr "欢迎使用 JumpServer 堡垒机" + +#: users/templates/users/first_login_done.html:32 +msgid "Use guide" +msgstr "向导" + +#: users/templates/users/first_login_done.html:32 +msgid " for more information" +msgstr "获取更多信息" + +#: users/templates/users/forgot_password.html:15 +msgid "Input your email, that will send a mail to your" +msgstr "输入您的邮箱, 将会发一封重置邮件到您的邮箱中" + +#: users/templates/users/reset_password.html:5 +#: users/templates/users/reset_password.html:6 +#: users/templates/users/user_detail.html:402 users/utils.py:83 +msgid "Reset password" +msgstr "重置密码" + +#: users/templates/users/reset_password.html:23 +#: users/templates/users/user_create.html:13 +#: users/templates/users/user_password_update.html:64 +#: users/templates/users/user_update.html:13 +msgid "Your password must satisfy" +msgstr "您的密码必须满足:" + +#: users/templates/users/reset_password.html:24 +#: users/templates/users/user_create.html:14 +#: users/templates/users/user_password_update.html:65 +#: users/templates/users/user_update.html:14 +msgid "Password strength" +msgstr "密码强度:" + +#: users/templates/users/reset_password.html:48 +#: users/templates/users/user_create.html:33 +#: users/templates/users/user_password_update.html:102 +#: users/templates/users/user_update.html:55 +msgid "Very weak" +msgstr "很弱" + +#: users/templates/users/reset_password.html:49 +#: users/templates/users/user_create.html:34 +#: users/templates/users/user_password_update.html:103 +#: users/templates/users/user_update.html:56 +msgid "Weak" +msgstr "弱" + +#: users/templates/users/reset_password.html:50 +#: users/templates/users/user_create.html:35 +#: users/templates/users/user_password_update.html:104 +#: users/templates/users/user_update.html:57 +msgid "Normal" +msgstr "正常" + +#: users/templates/users/reset_password.html:51 +#: users/templates/users/user_create.html:36 +#: users/templates/users/user_password_update.html:105 +#: users/templates/users/user_update.html:58 +msgid "Medium" +msgstr "一般" + +#: users/templates/users/reset_password.html:52 +#: users/templates/users/user_create.html:37 +#: users/templates/users/user_password_update.html:106 +#: users/templates/users/user_update.html:59 +msgid "Strong" +msgstr "强" + +#: users/templates/users/reset_password.html:53 +#: users/templates/users/user_create.html:38 +#: users/templates/users/user_password_update.html:107 +#: users/templates/users/user_update.html:60 +msgid "Very strong" +msgstr "很强" + +#: users/templates/users/user_asset_permission.html:43 +#: users/templates/users/user_asset_permission.html:155 +#: users/templates/users/user_database_app_permission.html:41 +#: users/templates/users/user_list.html:19 +#: users/templates/users/user_remote_app_permission.html:41 +#: xpack/plugins/cloud/models.py:50 xpack/plugins/cloud/serializers.py:32 +msgid "Validity" +msgstr "有效" + +#: users/templates/users/user_asset_permission.html:160 +msgid "Inherit" +msgstr "继承" + +#: users/templates/users/user_asset_permission.html:161 +msgid "Include" +msgstr "包含" + +#: users/templates/users/user_asset_permission.html:162 +msgid "Exclude" +msgstr "不包含" + +#: users/templates/users/user_bulk_update.html:8 +msgid "Select properties that need to be modified" +msgstr "选择需要修改属性" + +#: users/templates/users/user_bulk_update.html:10 +msgid "Select all" +msgstr "全选" + +#: users/templates/users/user_create.html:4 +#: users/templates/users/user_list.html:7 +msgid "Create user" +msgstr "创建用户" + +#: users/templates/users/user_detail.html:80 +msgid "Force enabled" +msgstr "强制启用" + +#: users/templates/users/user_detail.html:101 +#: users/templates/users/user_profile.html:106 +msgid "Date joined" +msgstr "创建日期" + +#: users/templates/users/user_detail.html:105 +#: users/templates/users/user_profile.html:110 +msgid "Last login" +msgstr "最后登录" + +#: users/templates/users/user_detail.html:110 +#: users/templates/users/user_profile.html:115 +msgid "Last password updated" +msgstr "最后更新密码" + +#: users/templates/users/user_detail.html:126 +#: users/templates/users/user_profile.html:150 +msgid "Quick modify" +msgstr "快速修改" + +#: users/templates/users/user_detail.html:148 +msgid "Force enabled MFA" +msgstr "强制启用多因子认证" + +#: users/templates/users/user_detail.html:165 +msgid "Reset MFA" +msgstr "重置多因子认证" + +#: users/templates/users/user_detail.html:174 +msgid "Send reset password mail" +msgstr "发送重置密码邮件" + +#: users/templates/users/user_detail.html:177 +#: users/templates/users/user_detail.html:187 +msgid "Send" +msgstr "发送" + +#: users/templates/users/user_detail.html:184 +msgid "Send reset ssh key mail" +msgstr "发送重置密钥邮件" + +#: users/templates/users/user_detail.html:193 +#: users/templates/users/user_detail.html:490 +msgid "Unblock user" +msgstr "解除登录限制" + +#: users/templates/users/user_detail.html:196 +msgid "Unblock" +msgstr "解除" + +#: users/templates/users/user_detail.html:226 +msgid "Join" +msgstr "加入" + +#: users/templates/users/user_detail.html:356 +#: users/templates/users/user_detail.html:383 +msgid "Update successfully!" +msgstr "更新成功" + +#: users/templates/users/user_detail.html:365 +msgid "Goto profile page enable MFA" +msgstr "请去个人信息页面启用自己的多因子认证" + +#: users/templates/users/user_detail.html:401 +msgid "An e-mail has been sent to the user`s mailbox." +msgstr "已发送邮件到用户邮箱" + +#: users/templates/users/user_detail.html:411 +#: users/templates/users/user_detail.html:437 +#: users/templates/users/user_detail.html:505 +#: users/templates/users/user_list.html:178 +msgid "Are you sure?" +msgstr "你确认吗?" + +#: users/templates/users/user_detail.html:412 +msgid "This will reset the user password and send a reset mail" +msgstr "将失效用户当前密码,并发送重设密码邮件到用户邮箱" + +#: users/templates/users/user_detail.html:415 +#: users/templates/users/user_detail.html:441 +#: users/templates/users/user_detail.html:509 +#: users/templates/users/user_list.html:182 +msgid "Cancel" +msgstr "取消" + +#: users/templates/users/user_detail.html:427 +msgid "" +"The reset-ssh-public-key E-mail has been sent successfully. Please inform " +"the user to update his new ssh public key." +msgstr "重设密钥邮件将会发送到用户邮箱" + +#: users/templates/users/user_detail.html:428 +msgid "Reset SSH public key" +msgstr "重置SSH密钥" + +#: users/templates/users/user_detail.html:438 +msgid "This will reset the user public key and send a reset mail" +msgstr "将会失效用户当前密钥,并发送重置邮件到用户邮箱" + +#: users/templates/users/user_detail.html:456 +msgid "Successfully updated the SSH public key." +msgstr "更新SSH密钥成功" + +#: users/templates/users/user_detail.html:457 +#: users/templates/users/user_detail.html:461 +msgid "User SSH public key update" +msgstr "SSH密钥" + +#: users/templates/users/user_detail.html:506 +msgid "After unlocking the user, the user can log in normally." +msgstr "解除用户登录限制后,此用户即可正常登录" + +#: users/templates/users/user_detail.html:520 +msgid "Reset user MFA success" +msgstr "重置用户多因子认证成功" + +#: users/templates/users/user_group_detail.html:17 +#: users/templates/users/user_group_granted_asset.html:18 +msgid "User group detail" +msgstr "用户组详情" + +#: users/templates/users/user_group_detail.html:81 +msgid "Add user" +msgstr "添加用户" + +#: users/templates/users/user_group_detail.html:87 +msgid "Add" +msgstr "添加" + +#: users/templates/users/user_group_list.html:7 +msgid "Create user group" +msgstr "创建用户组" + +#: users/templates/users/user_list.html:30 +msgid "Delete selected" +msgstr "批量删除" + +#: users/templates/users/user_list.html:32 +msgid "Remove selected" +msgstr "批量移除" + +#: users/templates/users/user_list.html:34 +msgid "Update selected" +msgstr "批量更新" + +#: users/templates/users/user_list.html:35 +msgid "Deactive selected" +msgstr "禁用所选" + +#: users/templates/users/user_list.html:36 +msgid "Active selected" +msgstr "激活所选" + +#: users/templates/users/user_list.html:106 +#: users/templates/users/user_list.html:110 +msgid "Remove" +msgstr "移除" + +#: users/templates/users/user_list.html:179 +msgid "This will delete the selected users !!!" +msgstr "删除选中用户 !!!" + +#: users/templates/users/user_list.html:190 +msgid "User Deleting failed." +msgstr "用户删除失败" + +#: users/templates/users/user_list.html:191 +msgid "User Delete" +msgstr "删除" + +#: users/templates/users/user_list.html:213 +msgid "This will remove the selected users !!" +msgstr "移除选中用户 !!!" + +#: users/templates/users/user_list.html:215 +msgid "User Removing failed." +msgstr "用户移除失败" + +#: users/templates/users/user_list.html:216 +msgid "User Remove" +msgstr "移除" + +#: users/templates/users/user_list.html:265 +msgid "Are you sure about removing it?" +msgstr "您确定移除吗?" + +#: users/templates/users/user_list.html:266 +msgid "Remove the success" +msgstr "移除成功" + +#: users/templates/users/user_list.html:271 +msgid "User is expired" +msgstr "用户已失效" + +#: users/templates/users/user_list.html:274 +msgid "User is inactive" +msgstr "用户已禁用" + +#: users/templates/users/user_otp_check_password.html:6 +#: users/templates/users/user_verify_mfa.html:6 +msgid "Authenticate" +msgstr "验证身份" + +#: users/templates/users/user_otp_enable_bind.html:6 +msgid "Bind one-time password authenticator" +msgstr "绑定一次性密码验证器" + +#: users/templates/users/user_otp_enable_bind.html:13 +msgid "" +"Use the mobile Google Authenticator application to scan the following qr " +"code for a 6-bit verification code" +msgstr "使用手机 Google Authenticator 应用扫描以下二维码,获取6位验证码" + +#: users/templates/users/user_otp_enable_bind.html:22 +#: users/templates/users/user_verify_mfa.html:23 +msgid "Six figures" +msgstr "6位数字" + +#: users/templates/users/user_otp_enable_install_app.html:6 +msgid "Install app" +msgstr "安装应用" + +#: users/templates/users/user_otp_enable_install_app.html:13 +msgid "" +"Download and install the Google Authenticator application on your phone or " +"applet of WeChat" +msgstr "请在手机端或微信小程序下载并安装 Google Authenticator 应用" + +#: users/templates/users/user_otp_enable_install_app.html:18 +msgid "Android downloads" +msgstr "Android手机下载" + +#: users/templates/users/user_otp_enable_install_app.html:23 +msgid "iPhone downloads" +msgstr "iPhone手机下载" + +#: users/templates/users/user_otp_enable_install_app.html:26 +msgid "" +"After installation, click the next step to enter the binding page (if " +"installed, go to the next step directly)." +msgstr "安装完成后点击下一步进入绑定页面(如已安装,直接进入下一步)" + +#: users/templates/users/user_password_verify.html:8 +#: users/templates/users/user_password_verify.html:9 +msgid "Verify password" +msgstr "校验密码" + +#: users/templates/users/user_profile.html:97 +msgid "Administrator Settings force MFA login" +msgstr "管理员设置强制使用多因子认证" + +#: users/templates/users/user_profile.html:156 +msgid "Set MFA" +msgstr "设置多因子认证" + +#: users/templates/users/user_profile.html:178 +msgid "Update MFA" +msgstr "更改多因子认证" + +#: users/templates/users/user_profile.html:188 +msgid "Update password" +msgstr "更改密码" + +#: users/templates/users/user_profile.html:198 +msgid "Update SSH public key" +msgstr "更改SSH密钥" + +#: users/templates/users/user_profile.html:206 +msgid "Reset public key and download" +msgstr "重置并下载SSH密钥" + +#: users/templates/users/user_pubkey_update.html:55 +msgid "Old public key" +msgstr "原来SSH密钥" + +#: users/templates/users/user_pubkey_update.html:63 +msgid "Fingerprint" +msgstr "指纹" + +#: users/templates/users/user_pubkey_update.html:69 +msgid "Update public key" +msgstr "更新密钥" + +#: users/templates/users/user_pubkey_update.html:72 +msgid "Or reset by server" +msgstr "或者重置并下载密钥" + +#: users/templates/users/user_pubkey_update.html:98 +msgid "" +"The new public key has been set successfully, Please download the " +"corresponding private key." +msgstr "新的公钥已设置成功,请下载对应的私钥" + +#: users/templates/users/user_update.html:4 +msgid "Update user" +msgstr "更新用户" + +#: users/templates/users/user_update.html:22 users/views/profile/reset.py:49 +#: users/views/profile/reset.py:116 +msgid "User auth from {}, go there change password" +msgstr "用户认证源来自 {}, 请去相应系统修改密码" + +#: users/templates/users/user_update.html:32 +msgid "User auth from {}, ssh key login is not supported" +msgstr "用户认证源来自 {}, 不支持使用 SSH Key 登录" + +#: users/templates/users/user_verify_mfa.html:11 +msgid "" +"The account protection has been opened, please complete the following " +"operations according to the prompts" +msgstr "账号保护已开启,请根据提示完成以下操作" + +#: users/templates/users/user_verify_mfa.html:13 +msgid "Open Authenticator and enter the 6-bit dynamic code" +msgstr "请打开 验证器,输入6位动态码" + +# msgid "Update user" +# msgstr "更新用户" +#: users/utils.py:24 +#, python-format +msgid "" +"\n" +"
\n" +"

Your account has been created successfully

\n" +"
\n" +" Username: %(username)s\n" +"
\n" +" Password: \n" +" click here to set your password \n" +" (This link is valid for 1 hour. After it expires, request new one)\n" +"
\n" +"
\n" +"

---

\n" +" Login direct\n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"

您的账户已创建成功

\n" +"
\n" +" 用户名: %(username)s\n" +"
\n" +" 密码: 请点击这里设置密码 (这个链接有效期1小时, 超过时" +"间您可以 重新申请)\n" +"
\n" +"
\n" +"

---

\n" +" 直接登录\n" +"
\n" +"
\n" +" " + +#: users/utils.py:58 +msgid "Create account successfully" +msgstr "创建账户成功" + +#: users/utils.py:62 +#, python-format +msgid "Hello %(name)s" +msgstr "您好 %(name)s" + +#: users/utils.py:85 +#, python-format +msgid "" +"\n" +" Hello %(name)s:\n" +"
\n" +" Please click the link below to reset your password, if not your request, " +"concern your account security\n" +"
\n" +" Click " +"here reset password\n" +"
\n" +" This link is valid for 1 hour. After it expires, request new one\n" +"\n" +"
\n" +" ---\n" +"\n" +"
\n" +" Login direct\n" +"\n" +"
\n" +" " +msgstr "" +"\n" +" 您好 %(name)s:\n" +"
\n" +" 请点击下面链接重置密码, 如果不是您申请的,请关注账号安全\n" +"
\n" +" 请点击这" +"里设置密码 \n" +"
\n" +" 这个链接有效期1小时, 超过时间您可以重新申请\n" +"\n" +"
\n" +" ---\n" +"\n" +"
\n" +" 直接登录\n" +"\n" +"
\n" +" " + +#: users/utils.py:116 +msgid "Security notice" +msgstr "安全通知" + +#: users/utils.py:118 +#, python-format msgid "" -"Allow using bootstrap token register service account, when terminal setup, " -"can disable it" -msgstr "允许使用bootstrap token注册终端, 当终端注册成功后可以禁止" +"\n" +" Hello %(name)s:\n" +"
\n" +" Your password will expire in %(date_password_expired)s,\n" +"
\n" +" For your account security, please click on the link below to update your " +"password in time\n" +"
\n" +" Click here update password\n" +"
\n" +" If your password has expired, please click \n" +" Password expired \n" +" to apply for a password reset email.\n" +"\n" +"
\n" +" ---\n" +"\n" +"
\n" +"
Login direct\n" +"\n" +"
\n" +" " +msgstr "" +"\n" +" 您好 %(name)s:\n" +"
\n" +" 您的密码会在 %(date_password_expired)s 过期,\n" +"
\n" +" 为了您的账号安全,请点击下面的链接及时更新密码\n" +"
\n" +" 请点击这里更新密码\n" +"
\n" +" 如果您的密码已经过期,请点击 \n" +" 密码过期 \n" +" 申请一份重置密码邮件。\n" +"\n" +"
\n" +" ---\n" +"\n" +"
\n" +" 直接登录\n" +"\n" +"
\n" +" " + +#: users/utils.py:154 +msgid "Expiration notice" +msgstr "过期通知" -#: settings/forms/security.py:35 -msgid "Limit the number of login failures" -msgstr "限制登录失败次数" +#: users/utils.py:156 +#, python-format +msgid "" +"\n" +" Hello %(name)s:\n" +"
\n" +" Your account will expire in %(date_expired)s,\n" +"
\n" +" In order not to affect your normal work, please contact the " +"administrator for confirmation.\n" +"
\n" +" " +msgstr "" +"\n" +" 您好 %(name)s:\n" +"
\n" +" 您的账户会在 %(date_expired)s 过期,\n" +"
\n" +" 为了不影响您正常工作,请联系管理员确认。\n" +"
\n" +" " -#: settings/forms/security.py:39 -msgid "No logon interval" -msgstr "禁止登录时间间隔" +#: users/utils.py:175 +msgid "SSH Key Reset" +msgstr "重置SSH密钥" -#: settings/forms/security.py:41 +#: users/utils.py:177 +#, python-format msgid "" -"Tip: (unit/minute) if the user has failed to log in for a limited number of " -"times, no login is allowed during this time interval." +"\n" +" Hello %(name)s:\n" +"
\n" +" Your ssh public key has been reset by site administrator.\n" +" Please login and reset your ssh public key.\n" +"
\n" +" Login direct\n" +"\n" +"
\n" +" " +msgstr "" +"\n" +" 你好 %(name)s:\n" +"
\n" +" 您的密钥已被管理员重置,\n" +" 请登录并重新设置您的密钥.\n" +"
\n" +" Login direct\n" +"\n" +"
\n" +" " + +#: users/views/profile/otp.py:145 +msgid "MFA enable success" +msgstr "多因子认证启用成功" + +#: users/views/profile/otp.py:146 +msgid "MFA enable success, return login page" +msgstr "多因子认证启用成功,返回到登录页面" + +#: users/views/profile/otp.py:148 +msgid "MFA disable success" +msgstr "多因子认证禁用成功" + +#: users/views/profile/otp.py:149 +msgid "MFA disable success, return login page" +msgstr "多因子认证禁用成功,返回登录页面" + +#: users/views/profile/password.py:41 +msgid "Password update" +msgstr "密码更新" + +#: users/views/profile/password.py:72 +msgid "Password invalid" +msgstr "用户名或密码无效" + +#: users/views/profile/pubkey.py:37 +msgid "Public key update" +msgstr "密钥更新" + +#: users/views/profile/reset.py:45 +msgid "Email address invalid, please input again" +msgstr "邮箱地址错误,重新输入" + +#: users/views/profile/reset.py:62 +msgid "Send reset password message" +msgstr "发送重置密码邮件" + +#: users/views/profile/reset.py:63 +msgid "Send reset password mail success, login your mail box and follow it " msgstr "" -"提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录" +"发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)" + +#: users/views/profile/reset.py:76 +msgid "Reset password success" +msgstr "重置密码成功" + +#: users/views/profile/reset.py:77 +msgid "Reset password success, return to login page" +msgstr "重置密码成功,返回到登录页面" + +#: users/views/profile/reset.py:101 users/views/profile/reset.py:111 +msgid "Token invalid or expired" +msgstr "Token错误或失效" + +#: xpack/plugins/change_auth_plan/meta.py:9 +#: xpack/plugins/change_auth_plan/models.py:88 +#: xpack/plugins/change_auth_plan/models.py:183 +msgid "Change auth plan" +msgstr "改密计划" + +#: xpack/plugins/change_auth_plan/models.py:40 +msgid "Custom password" +msgstr "自定义密码" + +#: xpack/plugins/change_auth_plan/models.py:41 +msgid "All assets use the same random password" +msgstr "所有资产使用相同的随机密码" + +#: xpack/plugins/change_auth_plan/models.py:42 +msgid "All assets use different random password" +msgstr "所有资产使用不同的随机密码" + +#: xpack/plugins/change_auth_plan/models.py:64 +msgid "Password rules" +msgstr "密码规则" -#: settings/forms/security.py:48 -msgid "Connection max idle time" -msgstr "连接最大空闲时间" +#: xpack/plugins/change_auth_plan/models.py:187 +msgid "Change auth plan snapshot" +msgstr "改密计划快照" -#: settings/forms/security.py:50 -msgid "If idle time more than it, disconnect connection Unit: minute" -msgstr "提示:如果超过该配置没有操作,连接会被断开 (单位:分)" +#: xpack/plugins/change_auth_plan/models.py:202 +#: xpack/plugins/change_auth_plan/models.py:296 +msgid "Change auth plan execution" +msgstr "改密计划执行" -#: settings/forms/security.py:56 -msgid "Password expiration time" -msgstr "密码过期时间" +#: xpack/plugins/change_auth_plan/models.py:269 +msgid "Ready" +msgstr "" -#: settings/forms/security.py:58 -msgid "" -"Tip: (unit: day) If the user does not update the password during the time, " -"the user password will expire failure;The password expiration reminder mail " -"will be automatic sent to the user by system within 5 days (daily) before " -"the password expires" +#: xpack/plugins/change_auth_plan/models.py:270 +msgid "Preflight check" msgstr "" -"提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期" -"提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户" -#: settings/forms/security.py:67 -msgid "Password minimum length" -msgstr "密码最小长度 " +#: xpack/plugins/change_auth_plan/models.py:271 +msgid "Change auth" +msgstr "" -#: settings/forms/security.py:71 -msgid "Must contain capital letters" -msgstr "必须包含大写字母" +#: xpack/plugins/change_auth_plan/models.py:272 +msgid "Verify auth" +msgstr "" -#: settings/forms/security.py:73 -msgid "" -"After opening, the user password changes and resets must contain uppercase " -"letters" -msgstr "开启后,用户密码修改、重置必须包含大写字母" +#: xpack/plugins/change_auth_plan/models.py:273 +msgid "Keep auth" +msgstr "" -#: settings/forms/security.py:78 -msgid "Must contain lowercase letters" -msgstr "必须包含小写字母" +#: xpack/plugins/change_auth_plan/models.py:274 +msgid "Finished" +msgstr "结束" -#: settings/forms/security.py:79 -msgid "" -"After opening, the user password changes and resets must contain lowercase " -"letters" -msgstr "开启后,用户密码修改、重置必须包含小写字母" +#: xpack/plugins/change_auth_plan/models.py:300 +msgid "Step" +msgstr "步骤" -#: settings/forms/security.py:84 -msgid "Must contain numeric characters" -msgstr "必须包含数字字符" +#: xpack/plugins/change_auth_plan/models.py:317 +msgid "Change auth plan task" +msgstr "改密计划任务" -#: settings/forms/security.py:85 -msgid "" -"After opening, the user password changes and resets must contain numeric " -"characters" -msgstr "开启后,用户密码修改、重置必须包含数字字符" +#: xpack/plugins/change_auth_plan/serializers.py:54 +msgid "Run times" +msgstr "执行次数" -#: settings/forms/security.py:90 -msgid "Must contain special characters" -msgstr "必须包含特殊字符" +#: xpack/plugins/change_auth_plan/serializers.py:70 +msgid "* Please enter custom password" +msgstr "* 请输入自定义密码" -#: settings/forms/security.py:91 -msgid "" -"After opening, the user password changes and resets must contain special " -"characters" -msgstr "开启后,用户密码修改、重置必须包含特殊字符" +#: xpack/plugins/change_auth_plan/serializers.py:80 +msgid "* Please enter the correct password length" +msgstr "* 请输入正确的密码长度" -#: settings/forms/terminal.py:20 settings/serializers/settings.py:57 -msgid "Auto" -msgstr "自动" +#: xpack/plugins/change_auth_plan/serializers.py:83 +msgid "* Password length range 6-30 bits" +msgstr "* 密码长度范围 6-30 位" -#: settings/forms/terminal.py:27 -msgid "Password auth" -msgstr "密码认证" +#: xpack/plugins/change_auth_plan/utils.py:437 +msgid "Invalid/incorrect password" +msgstr "无效/错误 密码" -#: settings/forms/terminal.py:30 -msgid "Public key auth" -msgstr "密钥认证" +#: xpack/plugins/change_auth_plan/utils.py:439 +msgid "Failed to connect to the host" +msgstr "连接主机失败" -#: settings/forms/terminal.py:33 -msgid "Heartbeat interval" -msgstr "心跳间隔" +#: xpack/plugins/change_auth_plan/utils.py:441 +msgid "Data could not be sent to remote" +msgstr "无法将数据发送到远程" -#: settings/forms/terminal.py:34 -msgid "Units: seconds" -msgstr "单位: 秒" +#: xpack/plugins/cloud/meta.py:9 +msgid "Cloud center" +msgstr "云管中心" -#: settings/forms/terminal.py:37 -msgid "List sort by" -msgstr "资产列表排序" +#: xpack/plugins/cloud/models.py:29 +msgid "Available" +msgstr "有效" -#: settings/forms/terminal.py:40 -msgid "List page size" -msgstr "资产分页每页数量" +#: xpack/plugins/cloud/models.py:30 +msgid "Unavailable" +msgstr "无效" -#: settings/forms/terminal.py:43 -msgid "Session keep duration" -msgstr "会话保留时长" +#: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/serializers.py:31 +msgid "Provider" +msgstr "云服务商" -#: settings/forms/terminal.py:44 -msgid "" -"Units: days, Session, record, command will be delete if more than duration, " -"only in database" +#: xpack/plugins/cloud/models.py:42 +msgid "Access key id" msgstr "" -"单位:天。 会话、录像、命令记录超过该时长将会被删除(仅影响数据库存储, oss等不" -"受影响)" -#: settings/forms/terminal.py:48 -msgid "Telnet login regex" -msgstr "Telnet 成功正则表达式" - -#: settings/forms/terminal.py:49 -msgid "ex: Last\\s*login|success|成功" +#: xpack/plugins/cloud/models.py:46 +msgid "Access key secret" msgstr "" -"登录telnet服务器成功后的提示正则表达式,如: Last\\s*login|success|成功 " - -#: settings/models.py:96 users/templates/users/reset_password.html:29 -#: users/templates/users/user_profile.html:20 -msgid "Setting" -msgstr "设置" -#: settings/templates/settings/_ldap_list_users_modal.html:7 -msgid "LDAP user list" -msgstr "LDAP 用户列表" +#: xpack/plugins/cloud/models.py:64 +msgid "Cloud account" +msgstr "云账号" -#: settings/templates/settings/_ldap_list_users_modal.html:9 -msgid "Please submit the LDAP configuration before import" -msgstr "请先提交LDAP配置再进行导入" +#: xpack/plugins/cloud/models.py:122 xpack/plugins/cloud/serializers.py:55 +msgid "Regions" +msgstr "地域" -#: settings/templates/settings/_ldap_list_users_modal.html:26 -msgid "Refresh cache" -msgstr "刷新缓存" +#: xpack/plugins/cloud/models.py:125 +msgid "Instances" +msgstr "实例" -#: settings/templates/settings/_ldap_list_users_modal.html:33 -#: users/forms/profile.py:89 users/models/user.py:464 -#: users/templates/users/user_detail.html:57 -#: users/templates/users/user_profile.html:59 -msgid "Email" -msgstr "邮件" +#: xpack/plugins/cloud/models.py:136 xpack/plugins/cloud/serializers.py:77 +msgid "Covered always" +msgstr "总是被覆盖" -#: settings/templates/settings/_ldap_list_users_modal.html:34 -msgid "Existing" -msgstr "已存在" +#: xpack/plugins/cloud/models.py:142 +msgid "Date last sync" +msgstr "最后同步日期" -#: settings/templates/settings/_ldap_list_users_modal.html:144 -msgid "" -"User is not currently selected, please check the user you want to import" -msgstr "当前无勾选用户,请勾选你想要导入的用户" +#: xpack/plugins/cloud/models.py:153 xpack/plugins/cloud/models.py:210 +msgid "Sync instance task" +msgstr "同步实例任务" -#: settings/templates/settings/_ldap_list_users_modal.html:172 -#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5 -#: xpack/plugins/license/templates/license/license_detail.html:88 -msgid "Import" -msgstr "导入" +#: xpack/plugins/cloud/models.py:205 +msgid "Succeed" +msgstr "成功" -#: settings/templates/settings/_ldap_test_user_login_modal.html:4 -msgid "Test LDAP user login" -msgstr "测试LDAP 用户登录" +#: xpack/plugins/cloud/models.py:220 xpack/plugins/cloud/models.py:275 +msgid "Date sync" +msgstr "同步日期" -#: settings/templates/settings/_ldap_test_user_login_modal.html:5 -msgid "Save the configuration before testing the login" -msgstr "请先提交LDAP配置再进行测试登录" +#: xpack/plugins/cloud/models.py:248 +msgid "Unsync" +msgstr "未同步" -#: settings/templates/settings/_ldap_test_user_login_modal.html:12 -msgid "Please input username" -msgstr "请输入用户名" +#: xpack/plugins/cloud/models.py:249 xpack/plugins/cloud/models.py:250 +msgid "Synced" +msgstr "已同步" -#: settings/templates/settings/_setting_tabs.html:4 -#: settings/templates/settings/terminal_setting.html:31 settings/views.py:20 -msgid "Basic setting" -msgstr "基本设置" +#: xpack/plugins/cloud/models.py:251 +msgid "Released" +msgstr "已释放" -#: settings/templates/settings/_setting_tabs.html:7 settings/views.py:47 -msgid "Email setting" -msgstr "邮件设置" +#: xpack/plugins/cloud/models.py:256 +msgid "Sync task" +msgstr "同步任务" -#: settings/templates/settings/_setting_tabs.html:10 settings/views.py:162 -msgid "Email content setting" -msgstr "邮件内容设置" +#: xpack/plugins/cloud/models.py:260 +msgid "Sync instance task history" +msgstr "同步实例任务历史" -#: settings/templates/settings/_setting_tabs.html:13 settings/views.py:74 -msgid "LDAP setting" -msgstr "LDAP设置" +#: xpack/plugins/cloud/models.py:263 +msgid "Instance" +msgstr "实例" -#: settings/templates/settings/_setting_tabs.html:16 settings/views.py:106 -msgid "Terminal setting" -msgstr "终端设置" +#: xpack/plugins/cloud/models.py:266 +msgid "Region" +msgstr "地域" -#: settings/templates/settings/_setting_tabs.html:19 -#: settings/templates/settings/security_setting.html:26 settings/views.py:135 -msgid "Security setting" -msgstr "安全设置" +#: xpack/plugins/cloud/providers/aliyun.py:19 +msgid "Alibaba Cloud" +msgstr "阿里云" -#: settings/templates/settings/email_content_setting.html:26 -msgid "Create User setting" -msgstr "创建用户设置" +#: xpack/plugins/cloud/providers/aws.py:15 +msgid "AWS (International)" +msgstr "AWS (国际)" -#: settings/templates/settings/ldap_setting.html:47 -msgid "Test login" -msgstr "测试登录" +#: xpack/plugins/cloud/providers/aws_china.py:9 +msgid "AWS (China)" +msgstr "AWS (中国)" -#: settings/templates/settings/ldap_setting.html:48 -msgid "Bulk import" -msgstr "一键导入" +#: xpack/plugins/cloud/providers/huaweicloud.py:17 +msgid "Huawei Cloud" +msgstr "华为云" -#: settings/templates/settings/security_setting.html:30 -msgid "Password check rule" -msgstr "密码校验规则" +#: xpack/plugins/cloud/providers/huaweicloud.py:20 +msgid "AF-Johannesburg" +msgstr "非洲-约翰内斯堡" -#: settings/templates/settings/terminal_setting.html:7 -msgid "Command and Replay storage configuration migrated to" -msgstr "命令和录像存储配置已迁移到" +#: xpack/plugins/cloud/providers/huaweicloud.py:21 +msgid "AP-Bangkok" +msgstr "亚太-曼谷" -#: settings/templates/settings/terminal_setting.html:8 -msgid "Sessions -> Terminal -> Storage configuration" -msgstr "会话管理 -> 终端管理 -> 存储配置" +#: xpack/plugins/cloud/providers/huaweicloud.py:22 +msgid "AP-Hong Kong" +msgstr "亚太-香港" -#: settings/templates/settings/terminal_setting.html:9 -msgid "Here" -msgstr "这里" +#: xpack/plugins/cloud/providers/huaweicloud.py:23 +msgid "AP-Singapore" +msgstr "亚太-新加坡" -#: settings/utils/ldap.py:389 -msgid "Host or port is disconnected: {}" -msgstr "主机或端口不可连接: {}" +#: xpack/plugins/cloud/providers/huaweicloud.py:24 +msgid "CN East-Shanghai1" +msgstr "华东-上海1" -#: settings/utils/ldap.py:391 -msgid "The port is not the port of the LDAP service: {}" -msgstr "端口不是LDAP服务端口: {}" +#: xpack/plugins/cloud/providers/huaweicloud.py:25 +msgid "CN East-Shanghai2" +msgstr "华东-上海2" -#: settings/utils/ldap.py:393 -msgid "Please add certificate: {}" -msgstr "请添加证书" +#: xpack/plugins/cloud/providers/huaweicloud.py:26 +msgid "CN North-Beijing1" +msgstr "华北-北京1" -#: settings/utils/ldap.py:395 settings/utils/ldap.py:422 -#: settings/utils/ldap.py:452 settings/utils/ldap.py:480 -msgid "Unknown error: {}" -msgstr "未知错误: {}" +#: xpack/plugins/cloud/providers/huaweicloud.py:27 +msgid "CN North-Beijing4" +msgstr "华北-北京4" -#: settings/utils/ldap.py:409 -msgid "Bind DN or Password incorrect" -msgstr "绑定DN或密码错误" +#: xpack/plugins/cloud/providers/huaweicloud.py:28 +msgid "CN Northeast-Dalian" +msgstr "华北-大连" -#: settings/utils/ldap.py:416 -msgid "Please enter Bind DN: {}" -msgstr "请输入绑定DN: {}" +#: xpack/plugins/cloud/providers/huaweicloud.py:29 +msgid "CN South-Guangzhou" +msgstr "华南-广州" -#: settings/utils/ldap.py:418 -msgid "Please enter Password: {}" -msgstr "请输入密码: {}" +#: xpack/plugins/cloud/providers/huaweicloud.py:30 +msgid "CN Southwest-Guiyang1" +msgstr "西南-贵阳1" -#: settings/utils/ldap.py:420 -msgid "Please enter correct Bind DN and Password: {}" -msgstr "请输入正确的绑定DN和密码: {}" +#: xpack/plugins/cloud/providers/huaweicloud.py:31 +msgid "EU-Paris" +msgstr "欧洲-巴黎" -#: settings/utils/ldap.py:438 -msgid "Invalid User OU or User search filter: {}" -msgstr "不合法的用户OU或用户过滤器: {}" +#: xpack/plugins/cloud/providers/huaweicloud.py:32 +msgid "LA-Santiago" +msgstr "拉美-圣地亚哥" -#: settings/utils/ldap.py:469 -msgid "LDAP User attr map not include: {}" -msgstr "LDAP属性映射没有包含: {}" +#: xpack/plugins/cloud/providers/qcloud.py:17 +msgid "Tencent Cloud" +msgstr "腾讯云" -#: settings/utils/ldap.py:476 -msgid "LDAP User attr map is not dict" -msgstr "LDAP属性映射不合法" +#: xpack/plugins/cloud/serializers.py:53 +msgid "History count" +msgstr "用户数量" -#: settings/utils/ldap.py:495 -msgid "LDAP authentication is not enabled" -msgstr "LDAP认证没有启用" +#: xpack/plugins/cloud/serializers.py:54 +msgid "Instance count" +msgstr "实例个数" -#: settings/utils/ldap.py:513 -msgid "Error (Invalid LDAP server): {}" -msgstr "错误 (不合法的LDAP服务器地址): {}" +#: xpack/plugins/cloud/serializers.py:75 +msgid "Account name" +msgstr "账户名称" -#: settings/utils/ldap.py:515 -msgid "Error (Invalid Bind DN): {}" -msgstr "错误(不合法的绑定DN): {}" +#: xpack/plugins/cloud/serializers.py:76 +#: xpack/plugins/gathered_user/serializers.py:20 +msgid "Periodic display" +msgstr "定时执行" -#: settings/utils/ldap.py:517 -msgid "Error (Invalid LDAP User attr map): {}" -msgstr "错误(不合法的LDAP属性映射): {}" +#: xpack/plugins/cloud/utils.py:38 +msgid "Account unavailable" +msgstr "账户无效" -#: settings/utils/ldap.py:519 -msgid "Error (Invalid User OU or User search filter): {}" -msgstr "错误(不合法的用户OU或用户过滤器): {}" +#: xpack/plugins/gathered_user/meta.py:11 +msgid "Gathered user" +msgstr "收集用户" -#: settings/utils/ldap.py:521 -msgid "Error (Not enabled LDAP authentication): {}" -msgstr "错误(没有启用LDAP认证): {}" +#: xpack/plugins/gathered_user/models.py:39 +msgid "Gather user task" +msgstr "收集用户任务" -#: settings/utils/ldap.py:523 -msgid "Error (Unknown): {}" -msgstr "错误(未知): {}" +#: xpack/plugins/gathered_user/models.py:73 +msgid "Task" +msgstr "任务" -#: settings/utils/ldap.py:526 -msgid "Succeed: Match {} s user" -msgstr "成功匹配 {} 个用户" +#: xpack/plugins/gathered_user/models.py:85 +msgid "gather user task execution" +msgstr "收集用户执行" -#: settings/utils/ldap.py:559 -msgid "Authentication failed (configuration incorrect): {}" -msgstr "认证失败(配置错误): {}" +#: xpack/plugins/gathered_user/models.py:91 +msgid "Assets is empty, please change nodes" +msgstr "资产为空,请更改节点" -#: settings/utils/ldap.py:561 -msgid "Authentication failed (before login check failed): {}" -msgstr "认证失败(登录前检查失败): {}" +#: xpack/plugins/gathered_user/serializers.py:21 +msgid "Executed times" +msgstr "执行次数" -#: settings/utils/ldap.py:563 -msgid "Authentication failed (username or password incorrect): {}" -msgstr "认证失败 (用户名或密码不正确): {}" +#: xpack/plugins/interface/api.py:68 +msgid "It is already in the default setting state!" +msgstr "当前已经是初始化状态!" -#: settings/utils/ldap.py:565 -msgid "Authentication failed (Unknown): {}" -msgstr "认证失败: (未知): {}" +#: xpack/plugins/interface/api.py:72 +msgid "Restore default successfully." +msgstr "恢复默认成功!" -#: settings/utils/ldap.py:568 -msgid "Authentication success: {}" -msgstr "认证成功: {}" +#: xpack/plugins/interface/meta.py:10 +msgid "Interface settings" +msgstr "界面设置" -#: settings/views.py:19 settings/views.py:46 settings/views.py:73 -#: settings/views.py:105 settings/views.py:134 settings/views.py:161 -#: templates/_nav.html:187 -msgid "Settings" -msgstr "系统设置" +#: xpack/plugins/interface/models.py:15 +msgid "Title of login page" +msgstr "登录页面标题" -#: settings/views.py:30 settings/views.py:57 settings/views.py:84 -#: settings/views.py:118 settings/views.py:145 settings/views.py:172 -msgid "Update setting successfully" -msgstr "更新设置成功" +#: xpack/plugins/interface/models.py:19 +msgid "Image of login page" +msgstr "登录页面图片" -#: templates/_base_only_msg_content.html:28 xpack/plugins/interface/api.py:17 -#: xpack/plugins/interface/models.py:36 -msgid "Welcome to the JumpServer open source fortress" -msgstr "欢迎使用JumpServer开源堡垒机" +#: xpack/plugins/interface/models.py:23 +msgid "Website icon" +msgstr "网站图标" -#: templates/_base_only_msg_content.html:33 -msgid "" -"The world's first fully open source fortress, using the GNU GPL v2.0 open " -"source protocol, is a professional operation and maintenance audit system in " -"compliance with 4A." -msgstr "" -"全球首款完全开源的堡垒机,使用GNU GPL v2.0开源协议,是符合 4A 的专业运维审计" -"系统。" +#: xpack/plugins/interface/models.py:27 +msgid "Logo of management page" +msgstr "管理页面logo" -#: templates/_base_only_msg_content.html:36 -msgid "" -"Developed using Python/Django, following the Web 2.0 specification and " -"equipped with industry-leading Web Terminal solutions, with beautiful " -"interactive interface and good user experience." -msgstr "" -"使用Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web " -"Terminal 解决方案,交互界面美观、用户体验好。" +#: xpack/plugins/interface/models.py:31 +msgid "Logo of logout page" +msgstr "退出页面logo" -#: templates/_base_only_msg_content.html:39 -msgid "" -"Distributed architecture is adopted to support multi-machine room deployment " -"across regions, central node provides API, and each machine room deploys " -"login node, which can be extended horizontally and without concurrent access " -"restrictions." -msgstr "" -"采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点," -"可横向扩展、无并发访问限制。" +#: xpack/plugins/license/api.py:46 +msgid "License import successfully" +msgstr "许可证导入成功" -#: templates/_base_only_msg_content.html:42 -msgid "Changes the world, starting with a little bit." -msgstr "改变世界,从一点点开始。" +#: xpack/plugins/license/api.py:47 +msgid "License is invalid" +msgstr "无效的许可证" -#: templates/_csv_import_modal.html:12 -msgid "Download the imported template or use the exported CSV file format" -msgstr "下载导入的模板或使用导出的csv格式" +#: xpack/plugins/license/meta.py:11 xpack/plugins/license/models.py:94 +msgid "License" +msgstr "许可证" -#: templates/_csv_import_modal.html:13 -msgid "Download the import template" -msgstr "下载导入模版" +#: xpack/plugins/license/models.py:74 +msgid "Standard edition" +msgstr "标准版" -#: templates/_csv_import_modal.html:17 templates/_csv_update_modal.html:17 -msgid "Select the CSV file to import" -msgstr "请选择csv文件导入" +#: xpack/plugins/license/models.py:76 +msgid "Enterprise edition" +msgstr "企业版" -#: templates/_csv_import_modal.html:39 templates/_csv_update_modal.html:42 -msgid "Please select file" -msgstr "选择文件" +#: xpack/plugins/license/models.py:78 +msgid "Ultimate edition" +msgstr "旗舰版" -#: templates/_csv_update_modal.html:12 -msgid "Download the update template or use the exported CSV file format" -msgstr "下载更新的模板或使用导出的csv格式" +#~ msgid "Target URL" +#~ msgstr "目标URL" -#: templates/_csv_update_modal.html:13 -msgid "Download the update template" -msgstr "下载更新模版" +#~ msgid "Login username" +#~ msgstr "登录账号" -#: templates/_header_bar.html:12 -msgid "Help" -msgstr "帮助" +#~ msgid "Login password" +#~ msgstr "登录密码" -#: templates/_header_bar.html:19 templates/_without_nav_base.html:28 -msgid "Docs" -msgstr "文档" +#~ msgid "Database IP" +#~ msgstr "数据库IP" -#: templates/_header_bar.html:25 -msgid "Commercial support" -msgstr "商业支持" +#~ msgid "Database name" +#~ msgstr "数据库名" -#: templates/_header_bar.html:70 templates/_nav.html:30 -#: templates/_nav_user.html:37 users/forms/profile.py:31 -#: users/templates/users/_user.html:44 -#: users/templates/users/first_login.html:39 -#: users/templates/users/user_password_update.html:40 -#: users/templates/users/user_profile.html:17 -#: users/templates/users/user_profile_update.html:37 -#: users/templates/users/user_profile_update.html:61 -#: users/templates/users/user_pubkey_update.html:37 -#: users/views/profile/base.py:27 -msgid "Profile" -msgstr "个人信息" +#~ msgid "Database username" +#~ msgstr "数据库账号" -#: templates/_header_bar.html:73 -msgid "Admin page" -msgstr "管理页面" +#~ msgid "Database password" +#~ msgstr "数据库密码" -#: templates/_header_bar.html:75 -msgid "User page" -msgstr "用户页面" +#~ msgid "Target address" +#~ msgstr "目标地址" -#: templates/_header_bar.html:78 -msgid "API Key" -msgstr "" +#~ msgid "Operating parameter" +#~ msgstr "运行参数" -#: templates/_header_bar.html:79 -msgid "Logout" -msgstr "注销登录" +#~ msgid "Detail" +#~ msgstr "详情" -#: templates/_message.html:6 -msgid "" -"\n" -" Your account has expired, please contact the administrator.\n" -" " -msgstr "" -"\n" -" 您的账户已经过期,请联系管理员。 " +#~ msgid "Create DatabaseApp" +#~ msgstr "创建数据库应用" -#: templates/_message.html:13 -msgid "Your account will at" -msgstr "您的账户将于" +#~ msgid "" +#~ "Before using this feature, make sure that the application loader has been " +#~ "uploaded to the application server and successfully published as a " +#~ "RemoteApp application" +#~ msgstr "" +#~ "使用此功能前,请确保已将应用加载器上传到应用服务器并成功发布为一个 " +#~ "RemoteApp 应用" -#: templates/_message.html:13 templates/_message.html:30 -msgid "expired. " -msgstr "过期。" +#~ msgid "Download application loader" +#~ msgstr "下载应用加载器" -#: templates/_message.html:23 -#, python-format -msgid "" -"\n" -" Your password has expired, please click this link update password.\n" -" " -msgstr "" -"\n" -" 您的密码已经过期,请点击 链接 更新密码\n" -" " +#~ msgid "Create RemoteApp" +#~ msgstr "创建远程应用" -#: templates/_message.html:30 -msgid "Your password will at" -msgstr "您的密码将于" +#~ msgid "DatabaseApp list" +#~ msgstr "数据库应用列表" -#: templates/_message.html:31 -#, python-format -msgid "" -"\n" -" please click this " -"link to update your password.\n" -" " -msgstr "" -"\n" -" 请点击 链接 更" -"新密码\n" -" " +#~ msgid "DatabaseApp detail" +#~ msgstr "数据库应用详情" -#: templates/_message.html:43 -#, python-format -msgid "" -"\n" -" Your information was incomplete. Please click this link to complete your information.\n" -" " -msgstr "" -"\n" -" 你的信息不完整,请点击 链接 " -" 补充完整\n" -" " +#~ msgid "My DatabaseApp" +#~ msgstr "我的数据库应用" -#: templates/_message.html:56 -#, python-format -msgid "" -"\n" -" Your ssh public key not set or expired. Please click this link to update\n" -" " -msgstr "" -"\n" -" 您的SSH密钥没有设置或已失效,请点击 链接 更新\n" -" " +#~ msgid "RemoteApp list" +#~ msgstr "远程应用列表" -#: templates/_nav.html:47 -msgid "Command filters" -msgstr "命令过滤" +#~ msgid "Update RemoteApp" +#~ msgstr "更新远程应用" -#: templates/_nav.html:97 terminal/views/command.py:21 -#: terminal/views/session.py:48 terminal/views/session.py:59 -#: terminal/views/session.py:74 terminal/views/session.py:97 -#: terminal/views/terminal.py:32 terminal/views/terminal.py:48 -#: terminal/views/terminal.py:61 -msgid "Sessions" -msgstr "会话管理" +#~ msgid "RemoteApp detail" +#~ msgstr "远程应用详情" -#: templates/_nav.html:100 -msgid "Session online" -msgstr "在线会话" +#~ msgid "My RemoteApp" +#~ msgstr "我的远程应用" -#: templates/_nav.html:101 terminal/views/session.py:60 -msgid "Session offline" -msgstr "历史会话" +#~ msgid "Label" +#~ msgstr "标签" -#: templates/_nav.html:102 terminal/templates/terminal/session_commands.html:21 -#: terminal/templates/terminal/session_detail.html:21 -msgid "Commands" -msgstr "命令记录" +#~ 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" +#~ msgstr "" +#~ "root或其他拥有NOPASSWD: ALL权限的用户, 如果是windows或其它硬件可以随意设置" +#~ "一个, 更多信息查看左侧 `管理用户` 菜单" -#: templates/_nav.html:105 templates/_nav_user.html:42 -msgid "Web terminal" -msgstr "Web终端" +#~ msgid "Windows 2016 RDP protocol is different, If is window 2016, set it" +#~ msgstr "Windows 2016的RDP协议与之前不同,如果是请设置" -#: templates/_nav.html:106 templates/_nav_user.html:47 -msgid "File manager" -msgstr "文件管理" +#~ msgid "" +#~ "If your have some network not connect with each other, you can set domain" +#~ msgstr "" +#~ "如果有多个的互相隔离的网络,设置资产属于的网域,使用网域网关跳转登录" -#: templates/_nav.html:110 terminal/views/storage.py:27 -#: terminal/views/storage.py:42 terminal/views/storage.py:96 -#: terminal/views/storage.py:120 terminal/views/storage.py:149 -#: terminal/views/storage.py:175 -msgid "Terminal" -msgstr "终端管理" +#~ msgid "Select assets" +#~ msgstr "选择资产" -#: templates/_nav.html:121 -msgid "Job Center" -msgstr "作业中心" +#~ msgid "Content should not be contain: {}" +#~ msgstr "内容不能包含: {}" -#: templates/_nav.html:125 templates/_nav.html:153 -msgid "Batch command" -msgstr "批量命令" +#~ msgid "SSH gateway support proxy SSH,RDP,VNC" +#~ msgstr "SSH网关,支持代理SSH,RDP和VNC" -#: templates/_nav.html:127 -msgid "Task monitor" -msgstr "任务监控" +#~ msgid "Yes" +#~ msgstr "是" -#: templates/_nav.html:137 tickets/views.py:19 tickets/views.py:37 -msgid "Tickets" -msgstr "工单管理" +#~ msgid "No" +#~ msgstr "否" -#: templates/_nav.html:163 -msgid "XPack" -msgstr "" +#~ msgid "Base platform" +#~ msgstr "基础平台" -#: templates/_nav.html:171 xpack/plugins/cloud/views.py:28 -msgid "Account list" -msgstr "账户列表" +#~ msgid "Password or private key passphrase" +#~ msgstr "密码或密钥密码" -#: templates/_nav.html:172 -msgid "Sync instance" -msgstr "同步实例" +#~ msgid "Invalid private key, Only support RSA/DSA format key" +#~ msgstr "不合法的密钥,仅支持RSA/DSA格式的密钥" -#: templates/_nav_user.html:10 -msgid "My Applications" -msgstr "我的应用" +#~ msgid "Password and private key file must be input one" +#~ msgstr "密码和私钥, 必须输入一个" -#: templates/_pagination.html:59 -msgid "" -"Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" -msgstr "显示第 _START_ 至 _END_ 项结果; 总共 _TOTAL_ 项" +#~ msgid "Auto push system user to asset" +#~ msgstr "自动推送系统用户到资产" -#: templates/_without_nav_base.html:26 -msgid "Home page" -msgstr "首页" +#~ msgid "" +#~ "1-100, High level will be using login asset as default, if user was " +#~ "granted more than 2 system user" +#~ msgstr "" +#~ "1-100, 1最低优先级,100最高优先级。授权多个用户时,高优先级的系统用户将会" +#~ "作为默认登录用户" -#: templates/captcha/image.html:3 -msgid "Play CAPTCHA as audio file" -msgstr "语言播放验证码" +#~ msgid "" +#~ "If you choose manual login mode, you do not need to fill in the username " +#~ "and password." +#~ msgstr "如果选择手动登录模式,用户名和密码可以不填写" -#: templates/captcha/text_field.html:4 users/forms/profile.py:90 -msgid "Captcha" -msgstr "验证码" +#~ msgid "Use comma split multi command, ex: /bin/whoami,/bin/ifconfig" +#~ msgstr "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig" -#: templates/index.html:11 -msgid "Total users" -msgstr "用户总数" +#~ msgid "SFTP root dir, tmp, home or custom" +#~ msgstr "SFTP的起始路径,tmp目录, 用户home目录或者自定义" -#: templates/index.html:23 -msgid "Total assets" -msgstr "资产总数" +#~ msgid "" +#~ "Username is dynamic, When connect asset, using current user's username" +#~ msgstr "用户名是动态的,登录资产时使用当前用户的用户名登录" + +#~ msgid "Update asset group" +#~ msgstr "更新用户组" -#: templates/index.html:36 -msgid "Online users" -msgstr "在线用户" +#~ msgid "Hint: only change the field you want to update." +#~ msgstr "仅修改你需要更新的字段" -#: templates/index.html:49 -msgid "Online sessions" -msgstr "在线会话" +#~ msgid "Select Asset" +#~ msgstr "选择资产" -#: templates/index.html:61 -msgid "In the past week, a total of " -msgstr "过去一周, 共有 " +#~ msgid "Select System Users" +#~ msgstr "选择系统用户" -#: templates/index.html:61 -msgid " users have logged in " -msgstr " 位用户登录 " +#~ msgid "Enable-MFA" +#~ msgstr "启用多因子认证" -#: templates/index.html:61 -msgid " times asset." -msgstr " 次资产." +#~ msgid "Update asset user auth" +#~ msgstr "更新资产用户认证信息" -#: templates/index.html:69 -msgid "Active user asset ratio" -msgstr "活跃用户资产占比" +#~ msgid "Please input password" +#~ msgstr "请输入密码" -#: templates/index.html:72 -msgid "" -"The following graphs describe the percentage of active users per month and " -"assets per user host per month, respectively." -msgstr "以下图形分别描述一个月活跃用户和资产占所有用户主机的百分比" +#~ msgid "Asset user auth" +#~ msgstr "资产用户信息" -#: templates/index.html:97 templates/index.html:112 -msgid "Top 10 assets in a week" -msgstr "一周Top10资产" +#~ msgid "Get auth info error" +#~ msgstr "获取认证信息错误" -#: templates/index.html:113 -msgid "Login frequency and last login record." -msgstr "登录次数及最近一次登录记录." +#~ msgid "Test datetime: " +#~ msgstr "测试日期: " -#: templates/index.html:122 -msgid "Last 10 login" -msgstr "最近十次登录" +#~ msgid "Only latest version" +#~ msgstr "仅最新版本" -#: templates/index.html:128 -msgid "Login record" -msgstr "登录记录" +#~ msgid "View" +#~ msgstr "查看" -#: templates/index.html:129 -msgid "Last 10 login records." -msgstr "最近十次登录记录." +#~ msgid "Test" +#~ msgstr "测试" -#: templates/index.html:143 templates/index.html:158 -msgid "Top 10 users in a week" -msgstr "一周Top10用户" +#~ msgid "Push" +#~ msgstr "推送" -#: templates/index.html:159 -msgid "User login frequency and last login record." -msgstr "用户登录次数及最近一次登录记录" +#~ msgid "Test gateway test connection" +#~ msgstr "测试连接网关" -#: templates/index.html:184 -msgid "Monthly data overview" -msgstr "月数据总览" +#~ msgid "If use nat, set the ssh real port" +#~ msgstr "如果使用了nat端口映射,请设置为ssh真实监听的端口" -#: templates/index.html:185 -msgid "History summary in one month" -msgstr "一个月内历史汇总" +#~ msgid "Node detail" +#~ msgstr "节点详情" -#: templates/index.html:193 templates/index.html:217 -msgid "Login count" -msgstr "登录次数" +#~ msgid "Full name" +#~ msgstr "全称" -#: templates/index.html:193 templates/index.html:224 -msgid "Active users" -msgstr "活跃用户" +#~ msgid "Add node" +#~ msgstr "新建节点" -#: templates/index.html:193 templates/index.html:231 -msgid "Active assets" -msgstr "活跃资产" +#~ msgid "Rename node" +#~ msgstr "重命名节点" -#: templates/index.html:262 templates/index.html:313 -msgid "Monthly active users" -msgstr "月活跃用户" +#~ msgid "Delete node" +#~ msgstr "删除节点" -#: templates/index.html:262 templates/index.html:314 -msgid "Disable user" -msgstr "禁用用户" +#~ msgid "Create node failed" +#~ msgstr "创建节点失败" -#: templates/index.html:262 templates/index.html:315 -msgid "Month not logged in user" -msgstr "月未登录用户" +#~ msgid "Rename success" +#~ msgstr "重命名成功" -#: templates/index.html:288 templates/index.html:368 -msgid "Access to the source" -msgstr "访问来源" +#~ msgid "Basic" +#~ msgstr "基本" -#: templates/index.html:342 -msgid "Month is logged into the asset" -msgstr "月被登录资产" +#~ msgid "Auto generate key" +#~ msgstr "自动生成密钥" -#: templates/index.html:342 templates/index.html:393 -msgid "Disable host" -msgstr "禁用主机" +#~ msgid "Other" +#~ msgstr "其它" -#: templates/index.html:342 templates/index.html:394 -msgid "Month not logged on host" -msgstr "月未登录主机" +#~ msgid "Asset detail" +#~ msgstr "资产详情" -#: templates/index.html:392 -msgid "Month is logged into the host" -msgstr "月被登录主机" +#~ msgid "Assets list" +#~ msgstr "资产列表" -#: templates/index.html:466 -msgid " times/week" -msgstr " 次/周" +#~ msgid "Asset list of " +#~ msgstr "资产列表" -#: templates/index.html:491 templates/index.html:527 -msgid " times" -msgstr " 次" +#~ msgid "Quick update" +#~ msgstr "快速更新" -#: templates/index.html:494 templates/index.html:530 -msgid "The time last logged in" -msgstr "最近一次登录日期" +#~ msgid "Test connective" +#~ msgstr "测试可连接性" -#: templates/index.html:495 templates/index.html:531 -msgid "At" -msgstr "于" +#~ msgid "Replace node assets admin user with this" +#~ msgstr "替换资产的管理员" -#: templates/index.html:510 templates/index.html:545 templates/index.html:580 -msgid "(No)" -msgstr "(暂无)" +#~ msgid "Select nodes" +#~ msgstr "选择节点" -#: templates/index.html:561 -msgid "Before" -msgstr "前" +#~ msgid "" +#~ "Admin users are asset (charged server) on the root, or have NOPASSWD: ALL " +#~ "sudo permissions users, " +#~ msgstr "" +#~ "管理用户是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL sudo 权限的用" +#~ "户," -#: templates/index.html:562 -msgid "Login in " -msgstr "登录了" +#~ msgid "" +#~ "JumpServer users of the system using the user to `push system user`, " +#~ "`get assets hardware information`, etc. " +#~ msgstr "JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。" -#: templates/rest_framework/base.html:128 -msgid "Filters" -msgstr "过滤" +#~ msgid "Create admin user" +#~ msgstr "创建管理用户" -#: terminal/api/session.py:142 -msgid "Session does not exist: {}" -msgstr "会话不存在: {}" +#~ msgid "Asset user list" +#~ msgstr "资产用户列表" -#: terminal/api/session.py:145 -msgid "Session is finished or the protocol not supported" -msgstr "会话已经完成或协议不支持" +#~ msgid "Asset users of" +#~ msgstr "资产用户" -#: terminal/api/session.py:150 -msgid "User does not exist: {}" -msgstr "用户不存在: {}" +#~ msgid "CPU" +#~ msgstr "CPU" -#: terminal/api/session.py:154 -msgid "User does not have permission" -msgstr "用户没有权限" +#~ msgid "Disk" +#~ msgstr "硬盘" -#: terminal/api/storage.py:24 -msgid "Deleting the default storage is not allowed" -msgstr "不允许删除默认存储配置" +#~ msgid "Refresh hardware" +#~ msgstr "更新硬件信息" -#: terminal/api/storage.py:54 -msgid "Test failure: {}" -msgstr "测试失败: {}" +#~ msgid "" +#~ "The left side is the asset tree, right click to create, delete, and " +#~ "change the tree node, authorization asset is also organized as a node, " +#~ "and the right side is the asset under that node" +#~ msgstr "" +#~ "左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织" +#~ "的,右侧是属于该节点下的资产" -#: terminal/api/storage.py:57 -msgid "Test successful" -msgstr "测试成功" +#~ msgid "Create asset" +#~ msgstr "创建资产" -#: terminal/api/storage.py:59 -msgid "Test failure: Account invalid" -msgstr "测试失败: 账户无效" +#~ msgid "Hardware" +#~ msgstr "硬件" -#: terminal/backends/command/models.py:14 -#: terminal/templates/terminal/command_list.html:110 -#: terminal/templates/terminal/command_list.html:205 -msgid "Ordinary" -msgstr "普通" +#~ msgid "Remove from this node" +#~ msgstr "从节点移除" -#: terminal/backends/command/models.py:15 -#: terminal/templates/terminal/command_list.html:111 -#: terminal/templates/terminal/command_list.html:202 -msgid "Dangerous" -msgstr "危险" +#~ msgid "Add assets to node" +#~ msgstr "添加资产到节点" -#: terminal/backends/command/models.py:21 -msgid "Input" -msgstr "输入" +#~ msgid "Move assets to node" +#~ msgstr "移动资产到节点" -#: terminal/backends/command/models.py:23 -#: terminal/templates/terminal/command_list.html:33 -#: terminal/templates/terminal/terminal_list.html:34 -msgid "Session" -msgstr "会话" +#~ msgid "Refresh node hardware info" +#~ msgstr "更新节点资产硬件信息" -#: terminal/backends/command/models.py:24 -#: terminal/templates/terminal/command_list.html:29 -#: terminal/templates/terminal/command_list.html:109 -msgid "Risk level" -msgstr "风险等级" +#~ msgid "Test node connective" +#~ msgstr "测试节点资产可连接性" -#: terminal/forms/storage.py:41 -msgid "Container name" -msgstr "容器名称" +#~ msgid "Display only current node assets" +#~ msgstr "仅显示当前节点资产" -#: terminal/forms/storage.py:44 xpack/plugins/cloud/serializers.py:75 -msgid "Account name" -msgstr "账户名称" +#~ msgid "Displays all child node assets" +#~ msgstr "显示所有子节点资产" -#: terminal/forms/storage.py:47 -msgid "Account key" -msgstr "账户密钥" +#~ msgid "This will delete the selected assets !!!" +#~ msgstr "删除选择资产" -#: terminal/forms/storage.py:55 -msgid "Endpoint suffix" -msgstr "端点后缀" +#~ msgid "Asset Deleting failed." +#~ msgstr "删除失败" -#: terminal/forms/storage.py:61 terminal/forms/storage.py:84 -#: terminal/forms/storage.py:108 terminal/forms/storage.py:125 -msgid "Bucket" -msgstr "桶名称" +#~ msgid "Asset Delete" +#~ msgstr "删除" -#: terminal/forms/storage.py:64 terminal/forms/storage.py:87 -#: terminal/forms/storage.py:111 terminal/forms/storage.py:128 -msgid "Access key" -msgstr "" +#~ msgid "Asset Deleted." +#~ msgstr "已被删除" -#: terminal/forms/storage.py:68 terminal/forms/storage.py:91 -#: terminal/forms/storage.py:115 terminal/forms/storage.py:132 -msgid "Secret key" -msgstr "" +#~ msgid "Please select node" +#~ msgstr "请选择节点" -#: terminal/forms/storage.py:72 terminal/forms/storage.py:95 -#: terminal/forms/storage.py:119 terminal/forms/storage.py:139 -msgid "Endpoint" -msgstr "端点" +#~ msgid "Configuration" +#~ msgstr "配置" -#: terminal/forms/storage.py:74 -#, python-brace-format -msgid "" -"\n" -" OSS: http://{REGION_NAME}.aliyuncs.com
\n" -" Example: http://oss-cn-hangzhou.aliyuncs.com\n" -" " -msgstr "" +#~ msgid "Rules" +#~ msgstr "规则" -#: terminal/forms/storage.py:97 -#, python-brace-format -msgid "" -"\n" -" S3: http://s3.{REGION_NAME}.amazonaws.com
\n" -" S3(China): http://s3.{REGION_NAME}.amazonaws.com.cn
\n" -" Example: http://s3.cn-north-1.amazonaws.com.cn\n" -" " -msgstr "" +#~ msgid "Binding to system user" +#~ msgstr "绑定到系统用户" -#: terminal/forms/storage.py:136 xpack/plugins/cloud/models.py:266 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:29 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:112 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:46 -msgid "Region" -msgstr "地域" +#~ msgid "" +#~ "System user bound some command filter, each command filter has some rules," +#~ msgstr "系统用户可以绑定一些命令过滤器,一个过滤器可以定义一些规则" -#: terminal/forms/storage.py:153 -msgid "" -"\n" -" Tips: If there are multiple hosts, separate them with a comma " -"(,) \n" -"
\n" -" eg: http://www.jumpserver.a.com,http://www.jumpserver.b.com\n" -" " -msgstr "" -"\n" -" 提示: 如果有多台主机,请使用逗号 ( , ) 进行分割\n" -"
\n" -" eg: http://www.jumpserver.a.com,http://www.jumpserver.b.com\n" -" " +#~ msgid "When user login asset with this system user, then run a command," +#~ msgstr "当用户使用这个系统用户登录资产,然后执行一个命令" -#: terminal/forms/storage.py:161 -msgid "Index" -msgstr "索引" +#~ msgid "The command will be filter by rules, higher priority rule run first," +#~ msgstr "这个命令需要被绑定过滤器的所有规则匹配,高优先级先被匹配," -#: terminal/forms/storage.py:164 -msgid "Doc type" -msgstr "文档类型" +#~ msgid "" +#~ "When a rule matched, if rule action is allow, then allow command execute," +#~ msgstr "当一个规则匹配到了,如果规则的动作是允许,这个命令会被放行," -#: terminal/forms/terminal.py:25 terminal/models.py:30 -#: terminal/templates/terminal/base_storage_list.html:10 -msgid "Command storage" -msgstr "命令存储" +#~ msgid "else if action is deny, then command with be deny," +#~ msgstr "如果规则的动作是禁止,命令将会被禁止执行," -#: terminal/forms/terminal.py:26 -msgid "Command can store in server db or ES, default to server, more see docs" -msgstr "" -"命令支持存储到服务器端数据库、ES中,默认存储的服务器端数据库,更多查看文档" +#~ msgid "else match next rule, if none matched, allowed" +#~ msgstr "否则就匹配下一个规则,如果最后没有匹配到规则,则允许执行" -#: terminal/forms/terminal.py:30 terminal/models.py:31 -#: terminal/templates/terminal/base_storage_list.html:9 -msgid "Replay storage" -msgstr "录像存储" +#~ msgid "Create command filter" +#~ msgstr "创建命令过滤器" -#: terminal/forms/terminal.py:31 -msgid "" -"Replay file can store in server disk, AWS S3, Aliyun OSS, default to server, " -"more see docs" -msgstr "" -"录像文件支持存储到服务器端硬盘、AWS S3、 阿里云 OSS 中,默认存储到服务器端硬" -"盘, 更多查看文档" +#~ msgid "Command filter rule list" +#~ msgstr "命令过滤器规则列表" -#: terminal/models.py:27 -msgid "Remote Address" -msgstr "远端地址" +#~ msgid "Create rule" +#~ msgstr "创建规则" -#: terminal/models.py:29 -msgid "HTTP Port" -msgstr "HTTP端口" +#~ msgid "Strategy" +#~ msgstr "策略" -#: terminal/models.py:154 -msgid "Session Online" -msgstr "在线会话" +#~ msgid "Gateway list" +#~ msgstr "网关列表" -#: terminal/models.py:155 -msgid "CPU Usage" -msgstr "CPU使用" +#~ msgid "Create gateway" +#~ msgstr "创建网关" -#: terminal/models.py:156 -msgid "Memory Used" -msgstr "内存使用" +#~ msgid "Test connection" +#~ msgstr "测试连接" -#: terminal/models.py:157 -msgid "Connections" -msgstr "连接数" +#~ msgid "Can be connected" +#~ msgstr "可连接" -#: terminal/models.py:158 -msgid "Threads" -msgstr "线程数" +#~ msgid "" +#~ "The domain function is added to address the fact that some environments " +#~ "(such as the hybrid cloud) cannot be connected directly by jumping on the " +#~ "gateway server." +#~ msgstr "" +#~ "网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通" +#~ "过网关服务器进行跳转登录。" -#: terminal/models.py:159 -msgid "Boot Time" -msgstr "运行时间" +#~ msgid "JMS => Domain gateway => Target assets" +#~ msgstr "JMS => 网域网关 => 目标资产" -#: terminal/models.py:195 terminal/templates/terminal/session_list.html:135 -msgid "Replay" -msgstr "回放" +#~ msgid "Create domain" +#~ msgstr "创建网域" -#: terminal/models.py:200 terminal/templates/terminal/session_detail.html:76 -msgid "Date end" -msgstr "结束日期" +#~ msgid "Create label" +#~ msgstr "创建标签" -#: terminal/models.py:343 -msgid "Args" -msgstr "参数" +#~ msgid "Create platform" +#~ msgstr "创建系统平台" -#: terminal/templates/terminal/command_list.html:44 -msgid "Export command" -msgstr "导出命令" - -#: terminal/templates/terminal/command_list.html:210 -msgid "Goto" -msgstr "转到" - -#: terminal/templates/terminal/command_storage_list.html:5 -#: terminal/views/storage.py:150 -msgid "Create command storage" -msgstr "创建命令存储" - -#: terminal/templates/terminal/replay_storage_list.html:5 -#: terminal/views/storage.py:97 -msgid "Create replay storage" -msgstr "创建录像存储" - -#: terminal/templates/terminal/session_commands.html:18 -#: terminal/templates/terminal/session_detail.html:18 -#: terminal/views/session.py:75 terminal/views/session.py:98 -msgid "Session detail" -msgstr "会话详情" - -#: terminal/templates/terminal/session_commands.html:29 -#: terminal/views/command.py:22 -msgid "Command list" -msgstr "命令记录列表" - -#: terminal/templates/terminal/session_commands.html:68 -msgid "There is no command about this session" -msgstr "该会话没有命令记录" - -#: terminal/templates/terminal/session_detail.html:64 -#: terminal/templates/terminal/session_list.html:30 -msgid "Login from" -msgstr "登录来源" - -#: terminal/templates/terminal/session_detail.html:94 -msgid "Replay session" -msgstr "回放会话" - -#: terminal/templates/terminal/session_detail.html:102 -msgid "Download replay" -msgstr "下载录像" - -#: terminal/templates/terminal/session_detail.html:105 -#: terminal/templates/terminal/session_list.html:137 -msgid "Download" -msgstr "下载" - -#: terminal/templates/terminal/session_detail.html:111 -msgid "Monitor session" -msgstr "监控" - -#: terminal/templates/terminal/session_detail.html:119 -msgid "Terminate session" -msgstr "终止会话" - -#: terminal/templates/terminal/session_detail.html:161 -msgid "Terminate success" -msgstr "终断成功" - -#: terminal/templates/terminal/session_list.html:33 -msgid "Duration" -msgstr "时长" - -#: terminal/templates/terminal/session_list.html:45 -msgid "Terminate selected" -msgstr "终断所选" - -#: terminal/templates/terminal/session_list.html:46 -msgid "Confirm finished" -msgstr "确认已完成" - -#: terminal/templates/terminal/session_list.html:90 -msgid "Terminate task send, waiting ..." -msgstr "终断任务已发送,请等待" - -#: terminal/templates/terminal/session_list.html:143 -msgid "Terminate" -msgstr "终断" - -#: terminal/templates/terminal/session_list.html:149 -msgid "Monitoring" -msgstr "监控" - -#: terminal/templates/terminal/session_list.html:179 -msgid "Finish session success" -msgstr "标记会话完成成功" - -#: terminal/templates/terminal/session_list.html:247 -msgid "Visit doc for replay play offline: " -msgstr "访问文档查看如何离线播放: " - -#: terminal/templates/terminal/terminal_detail.html:13 -#: terminal/views/terminal.py:62 -msgid "Terminal detail" -msgstr "终端详情" - -#: terminal/templates/terminal/terminal_detail.html:51 -msgid "SSH port" -msgstr "SSH端口" +#~ msgid "Test assets connective" +#~ msgstr "测试资产可连接性" -#: terminal/templates/terminal/terminal_detail.html:55 -msgid "Http port" -msgstr "HTTP端口" +#~ msgid "Push system user now" +#~ msgstr "立刻推送系统" -#: terminal/templates/terminal/terminal_list.html:21 -msgid "Storage configuration" -msgstr "存储配置" +#~ msgid "Have existed: " +#~ msgstr "已经存在: " -#: terminal/templates/terminal/terminal_list.html:31 -msgid "Addr" -msgstr "地址" +#~ msgid "Home" +#~ msgstr "家目录" -#: terminal/templates/terminal/terminal_list.html:36 -msgid "Alive" -msgstr "在线" +#~ msgid "Uid" +#~ msgstr "Uid" -#: terminal/templates/terminal/terminal_list.html:79 -msgid "Accept" -msgstr "接受" +#~ msgid "Binding command filters" +#~ msgstr "绑定命令过滤器" -#: terminal/templates/terminal/terminal_list.html:81 -#: tickets/models/ticket.py:31 tickets/templates/tickets/ticket_detail.html:101 -#: tickets/templates/tickets/ticket_list.html:110 -msgid "Reject" -msgstr "拒绝" +#~ msgid "" +#~ "System user is JumpServer jump login assets used by the users, can be " +#~ "understood as the user login assets, such as web, sa, the dba (` ssh " +#~ "web@some-host `), rather than using a user the username login server jump " +#~ "(` ssh xiaoming@some-host `); " +#~ msgstr "" +#~ "系统用户是 JumpServer 跳转登录资产时使用的用户,可以理解为登录资产用户," +#~ "如 web,sa,dba(`ssh web@some-host`),而不是使用某个用户的用户名跳转登录" +#~ "服务器(`ssh xiaoming@some-host`);" -#: terminal/templates/terminal/terminal_modal_accept.html:5 -msgid "Accept terminal registration" -msgstr "接受终端注册" +#~ msgid "" +#~ "In simple terms, users log into JumpServer using their own username, and " +#~ "JumpServer uses system users to log into assets. " +#~ msgstr "" +#~ "简单来说是用户使用自己的用户名登录 JumpServer,JumpServer 使用系统用户登录" +#~ "资产。" + +#~ msgid "" +#~ "When system users are created, if you choose auto push JumpServer to use " +#~ "Ansible push system users into the asset, if the asset (Switch) does not " +#~ "support ansible, please manually fill in the account password." +#~ msgstr "" +#~ "系统用户创建时,如果选择了自动推送,JumpServer 会使用 Ansible 自动推送系统" +#~ "用户到资产中,如果资产(交换机)不支持 Ansible,请手动填写账号密码。" -#: terminal/templates/terminal/terminal_update.html:31 -msgid "Info" -msgstr "信息" +#~ msgid "Create system user" +#~ msgstr "创建系统用户" -#: terminal/views/session.py:49 -msgid "Session online list" -msgstr "在线会话" +#~ msgid "Remove success" +#~ msgstr "移除成功" -#: terminal/views/storage.py:28 -msgid "Replay storage list" -msgstr "录像存储列表" +#~ msgid "Admin user list" +#~ msgstr "管理用户列表" -#: terminal/views/storage.py:43 -msgid "Command storage list" -msgstr "命令存储列表" +#~ msgid "Update admin user" +#~ msgstr "更新管理用户" -#: terminal/views/storage.py:121 -msgid "Update replay storage" -msgstr "更新录像存储" +#~ msgid "Admin user detail" +#~ msgstr "管理用户详情" -#: terminal/views/storage.py:176 -msgid "Update command storage" -msgstr "更新命令存储" +#~ msgid "Admin user assets" +#~ msgstr "管理用户关联资产" -#: terminal/views/terminal.py:33 -msgid "Terminal list" -msgstr "终端列表" +#~ msgid "Update asset" +#~ msgstr "更新资产" -#: terminal/views/terminal.py:48 -msgid "Update terminal" -msgstr "更新终端" +#~ msgid "Bulk update asset success" +#~ msgstr "批量更新资产成功" -#: terminal/views/terminal.py:111 terminal/views/terminal.py:112 -msgid "Redirect to web terminal" -msgstr "重定向到web terminal" +#~ msgid "Bulk update asset" +#~ msgstr "批量更新资产" -#: terminal/views/terminal.py:119 -msgid "Connect ssh terminal" -msgstr "连接ssh终端" +#~ msgid "Command filter list" +#~ msgstr "命令过滤器列表" -#: terminal/views/terminal.py:120 -msgid "" -"You should use your ssh client tools connect terminal: {}

{}" -msgstr "你可以使用ssh客户端工具连接终端" +#~ msgid "Update command filter" +#~ msgstr "更新命令过滤器" -#: tickets/models/ticket.py:18 tickets/models/ticket.py:70 -#: tickets/templates/tickets/ticket_list.html:105 -msgid "Open" -msgstr "开启" +#~ msgid "Command filter detail" +#~ msgstr "命令过滤器详情" -#: tickets/models/ticket.py:19 tickets/templates/tickets/ticket_list.html:106 -msgid "Closed" -msgstr "关闭" +#~ msgid "Create command filter rule" +#~ msgstr "创建命令过滤器规则" -#: tickets/models/ticket.py:24 -msgid "General" -msgstr "一般" +#~ msgid "Update command filter rule" +#~ msgstr "更新命令过滤器规则" -#: tickets/models/ticket.py:30 tickets/templates/tickets/ticket_detail.html:100 -#: tickets/templates/tickets/ticket_list.html:109 -msgid "Approve" -msgstr "同意" +#~ msgid "Update domain" +#~ msgstr "更新网域" -#: tickets/models/ticket.py:34 tickets/models/ticket.py:129 -msgid "User display name" -msgstr "用户显示名称" +#~ msgid "Domain detail" +#~ msgstr "网域详情" -#: tickets/models/ticket.py:36 tickets/templates/tickets/ticket_list.html:33 -#: tickets/templates/tickets/ticket_list.html:102 -msgid "Title" -msgstr "标题" +#~ msgid "Domain gateway list" +#~ msgstr "域网关列表" -#: tickets/models/ticket.py:37 tickets/models/ticket.py:130 -msgid "Body" -msgstr "内容" +#~ msgid "Update gateway" +#~ msgstr "创建网关" -#: tickets/models/ticket.py:39 tickets/templates/tickets/ticket_detail.html:51 -msgid "Assignee" -msgstr "处理人" +#~ msgid "Label list" +#~ msgstr "标签列表" -#: tickets/models/ticket.py:40 -msgid "Assignee display name" -msgstr "处理人名称" +#~ msgid "Tips: Avoid using label names reserved internally: {}" +#~ msgstr "提示: 请避免使用内部预留标签名: {}" -#: tickets/models/ticket.py:41 tickets/templates/tickets/ticket_detail.html:50 -msgid "Assignees" -msgstr "待处理人" +#~ msgid "Update label" +#~ msgstr "更新标签" -#: tickets/models/ticket.py:42 -msgid "Assignees display name" -msgstr "待处理人名称" +#~ msgid "Update platform" +#~ msgstr "更新系统平台" -#: tickets/models/ticket.py:71 -msgid "{} {} this ticket" -msgstr "{} {} 这个工单" +#~ msgid "Platform detail" +#~ msgstr "平台详情" -#: tickets/models/ticket.py:82 -msgid "this ticket" -msgstr "这个工单" +#~ msgid "System user list" +#~ msgstr "系统用户列表" -#: tickets/templates/tickets/ticket_detail.html:66 -#: tickets/templates/tickets/ticket_detail.html:80 -msgid "ago" -msgstr "前" +#~ msgid "Update system user" +#~ msgstr "更新系统用户" -#: tickets/templates/tickets/ticket_list.html:9 -msgid "My tickets" -msgstr "我的工单" +#~ msgid "System user detail" +#~ msgstr "系统用户详情" -#: tickets/templates/tickets/ticket_list.html:10 -msgid "Assigned me" -msgstr "待处理" +#~ msgid "assets" +#~ msgstr "资产管理" -#: tickets/templates/tickets/ticket_list.html:19 -msgid "Create ticket" -msgstr "提交工单" +#~ msgid "System user assets" +#~ msgstr "系统用户关联资产" -#: tickets/utils.py:18 -msgid "New ticket" -msgstr "新工单" +#~ msgid "System user users" +#~ msgstr "系统用户关联用户" -#: tickets/utils.py:21 -#, python-brace-format -msgid "" -"\n" -"
\n" -"

Your has a new ticket

\n" -"
\n" -" {body}\n" -"
\n" -" click here to review \n" -"
\n" -"
\n" -" " -msgstr "" -"\n" -"
\n" -"

你有一个新工单

\n" -"
\n" -" {body}\n" -"
\n" -" 点击我查看 \n" -"
\n" -"
\n" -" " +#~ msgid "Select user" +#~ msgstr "选择用户" -#: tickets/utils.py:40 -msgid "Ticket has been reply" -msgstr "工单已被回复" +#~ msgid "UA" +#~ msgstr "Agent" -#: tickets/utils.py:41 -#, python-brace-format -msgid "" -"\n" -"
\n" -"

Your ticket has been replay

\n" -"
\n" -" Title: {ticket.title}\n" -"
\n" -" Assignee: {ticket.assignee_display}\n" -"
\n" -" Status: {ticket.status_display}\n" -"
\n" -"
\n" -"
\n" -" " -msgstr "" -"\n" -"
\n" -"

您的工单已被回复

\n" -"
\n" -" 标题: {ticket.title}\n" -"
\n" -" 处理人: {ticket.assignee_display}\n" -"
\n" -" 状态: {ticket.status_display}\n" -"
\n" -"
\n" -"
\n" -" " +#~ msgid "Handlers" +#~ msgstr "操作者" -#: tickets/views.py:20 -msgid "Ticket list" -msgstr "工单列表" +#~ msgid "Command execution log" +#~ msgstr "命令执行" -#: tickets/views.py:38 -msgid "Ticket detail" -msgstr "工单详情" +#~ msgid "Version detail" +#~ msgstr "版本详情" -#: users/api/user.py:113 -msgid "Could not reset self otp, use profile reset instead" -msgstr "不能在该页面重置多因子认证, 请去个人信息页面重置" +#~ msgid "Version run execution" +#~ msgstr "执行历史" -#: users/forms/profile.py:37 -msgid "" -"When enabled, you will enter the MFA binding process the next time you log " -"in. you can also directly bind in \"personal information -> quick " -"modification -> change MFA Settings\"!" -msgstr "" -"启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速" -"修改->更改多因子设置)中直接绑定!" +#~ msgid "Last run" +#~ msgstr "最后运行" -#: users/forms/profile.py:48 -msgid "* Enable MFA to make the account more secure." -msgstr "* 启用多因子认证,使账号更加安全。" +#~ msgid "Time delta" +#~ msgstr "运行时间" -#: users/forms/profile.py:57 -msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " -"password, enabling MFA)" -msgstr "" -"为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:" -"设置复杂密码,并启用多因子认证)" +#~ msgid "Is success " +#~ msgstr "成功" -#: users/forms/profile.py:64 users/templates/users/first_login.html:48 -#: users/templates/users/first_login.html:102 -#: users/templates/users/first_login.html:128 -msgid "Finish" -msgstr "完成" +#~ msgid "Last run failed hosts" +#~ msgstr "最后运行失败主机" -#: users/forms/profile.py:71 -msgid "New password" -msgstr "新密码" +#~ msgid "No hosts" +#~ msgstr "没有主机" -#: users/forms/profile.py:76 -msgid "Confirm password" -msgstr "确认密码" +#~ msgid "Last run success hosts" +#~ msgstr "最后运行成功主机" -#: users/forms/profile.py:84 -msgid "Password does not match" -msgstr "密码不一致" +#~ msgid "Executions of " +#~ msgstr "执行历史 " -#: users/forms/profile.py:96 -msgid "Old password" -msgstr "原来密码" +#~ msgid "F/S/T" +#~ msgstr "失败/成功/总" -#: users/forms/profile.py:106 -msgid "Old password error" -msgstr "原来密码错误" +#~ msgid "Ratio" +#~ msgstr "比例" -#: users/forms/profile.py:116 -msgid "Automatically configure and download the SSH key" -msgstr "自动配置并下载SSH密钥" +#~ msgid "Execution detail" +#~ msgstr "执行历史详情" -#: users/forms/profile.py:118 users/forms/user.py:34 -#: users/templates/users/user_update.html:30 -msgid "ssh public key" -msgstr "SSH公钥" +#~ msgid "Execution detail of" +#~ msgstr "执行历史详情" -#: users/forms/profile.py:119 users/forms/user.py:35 -msgid "ssh-rsa AAAA..." -msgstr "" +#~ msgid "Task name" +#~ msgstr "任务名称" -#: users/forms/profile.py:120 -msgid "Paste your id_rsa.pub here." -msgstr "复制你的公钥到这里" +#~ msgid "Failed assets" +#~ msgstr "失败资产" -#: users/forms/profile.py:133 users/forms/user.py:86 -msgid "Public key should not be the same as your old one." -msgstr "不能和原来的密钥相同" +#~ msgid "No assets" +#~ msgstr "没有资产" -#: users/forms/profile.py:137 users/forms/user.py:90 -#: users/serializers/user.py:167 users/serializers/user.py:287 -msgid "Not a valid ssh public key" -msgstr "SSH密钥不合法" +#~ msgid "Success assets" +#~ msgstr "成功资产" -#: users/forms/user.py:27 users/models/user.py:472 -#: users/templates/users/_select_user_modal.html:15 -#: users/templates/users/user_detail.html:73 -#: users/templates/users/user_list.html:16 -#: users/templates/users/user_profile.html:55 -msgid "Role" -msgstr "角色" +#~ msgid "Asset configuration does not include the SSH protocol" +#~ msgstr "资产配置不包含 SSH 协议" -#: users/forms/user.py:31 users/models/user.py:507 -#: users/templates/users/user_detail.html:89 -#: users/templates/users/user_list.html:18 -#: users/templates/users/user_profile.html:102 -msgid "Source" -msgstr "用户来源" +#~ msgid "Selected assets" +#~ msgstr "已选择资产" -#: users/forms/user.py:36 -msgid "Paste user id_rsa.pub here." -msgstr "复制用户公钥到这里" +#~ msgid "In total" +#~ msgstr "总共" -#: users/forms/user.py:51 users/templates/users/user_detail.html:217 -msgid "Join user groups" -msgstr "添加到用户组" +#~ msgid "" +#~ "Select the left asset, select the running system user, execute command in " +#~ "batch" +#~ msgstr "选择左侧资产, 选择运行的系统用户,批量执行命令" -#: users/forms/user.py:103 users/views/login.py:123 -#: users/views/profile/password.py:57 -msgid "* Your password does not meet the requirements" -msgstr "* 您的密码不符合要求" +#~ msgid "Unselected assets" +#~ msgstr "没有选中资产" -#: users/forms/user.py:124 users/serializers/user.py:28 -msgid "Reset link will be generated and sent to the user" -msgstr "生成重置密码链接,通过邮件发送给用户" +#~ msgid "No input command" +#~ msgstr "没有输入命令" -#: users/forms/user.py:125 users/serializers/user.py:29 -msgid "Set password" -msgstr "设置密码" +#~ msgid "No system user was selected" +#~ msgstr "没有选择系统用户" -#: users/forms/user.py:132 users/serializers/user.py:36 -#: xpack/plugins/change_auth_plan/models.py:60 -#: xpack/plugins/change_auth_plan/serializers.py:30 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:45 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:67 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:57 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:16 -msgid "Password strategy" -msgstr "密码策略" +#~ msgid "Pending" +#~ msgstr "等待" -#: users/models/user.py:154 users/models/user.py:618 -msgid "Administrator" -msgstr "管理员" +#~ msgid "Task detail" +#~ msgstr "任务详情" -#: users/models/user.py:157 xpack/plugins/orgs/forms.py:29 -#: xpack/plugins/orgs/templates/orgs/org_list.html:14 -msgid "Auditor" -msgstr "审计员" +#~ msgid "Task versions" +#~ msgstr "任务各版本" -#: users/models/user.py:167 -msgid "Org admin" -msgstr "组织管理员" +#~ msgid "Execution" +#~ msgstr "执行历史" -#: users/models/user.py:169 -msgid "Org auditor" -msgstr "组织审计员" +#~ msgid "Last execution output" +#~ msgstr "最后执行输出" -#: users/models/user.py:384 users/templates/users/user_profile.html:90 -msgid "Force enable" -msgstr "强制启用" +#~ msgid "Versions of " +#~ msgstr "版本" -#: users/models/user.py:451 -msgid "Local" -msgstr "数据库" +#~ msgid "Total versions" +#~ msgstr "版本数量" -#: users/models/user.py:475 -msgid "Avatar" -msgstr "头像" +#~ msgid "Contents" +#~ msgstr "内容" -#: users/models/user.py:478 users/templates/users/user_detail.html:68 -msgid "Wechat" -msgstr "微信" +#~ msgid "Run" +#~ msgstr "执行" -#: users/models/user.py:511 -msgid "Date password last updated" -msgstr "最后更新密码日期" +#~ msgid "Task start: " +#~ msgstr "任务开始: " -#: users/models/user.py:621 -msgid "Administrator is the super user of system" -msgstr "Administrator是初始的超级管理员" +#~ msgid "Ops" +#~ msgstr "作业中心" -#: users/serializers/group.py:50 -msgid "Auditors cannot be join in the user group" -msgstr "审计员不能被加入到用户组" +#~ msgid "Task execution list" +#~ msgstr "任务执行列表" -#: users/serializers/user.py:67 -msgid "Is first login" -msgstr "首次登录" +#~ msgid "Command execution list" +#~ msgstr "命令执行列表" -#: users/serializers/user.py:68 -msgid "Is valid" -msgstr "账户是否有效" +#~ msgid "Users and user groups" +#~ msgstr "用户或用户组" -#: users/serializers/user.py:69 -msgid "Is expired" -msgstr " 是否过期" +#~ msgid "Assets and node" +#~ msgstr "资产或节点" -#: users/serializers/user.py:70 -msgid "Avatar url" -msgstr "头像路径" +#~ msgid "Add asset to this permission" +#~ msgstr "添加资产" -#: users/serializers/user.py:74 -msgid "Groups name" -msgstr "用户组名" +#~ msgid "Add node to this permission" +#~ msgstr "添加节点" -#: users/serializers/user.py:75 -msgid "Source name" -msgstr "用户来源名" +#~ msgid "Select system users" +#~ msgstr "选择系统用户" -#: users/serializers/user.py:76 -msgid "Role name" -msgstr "角色名" +#~ msgid "Validity period" +#~ msgstr "有效期" -#: users/serializers/user.py:95 -msgid "Role limit to {}" -msgstr "角色只能为 {}" +#~ msgid "User count" +#~ msgstr "用户数量" -#: users/serializers/user.py:107 users/serializers/user.py:253 -msgid "Password does not match security rules" -msgstr "密码不满足安全规则" +#~ msgid "User group count" +#~ msgstr "用户组数量" -#: users/serializers_v2/user.py:36 -msgid "name not unique" -msgstr "名称重复" +#~ msgid "Asset count" +#~ msgstr "资产数量" -#: users/templates/users/_base_otp.html:14 -msgid "Security token validation" -msgstr "安全令牌验证" +#~ msgid "Node count" +#~ msgstr "节点数量" -#: users/templates/users/_base_otp.html:14 users/templates/users/_user.html:13 -#: users/templates/users/user_profile_update.html:55 -#: xpack/plugins/cloud/models.py:119 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:57 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:13 -msgid "Account" -msgstr "账户" +#~ msgid "System user count" +#~ msgstr "系统用户数量" -#: users/templates/users/_base_otp.html:14 -msgid "Follow these steps to complete the binding operation" -msgstr "请按照以下步骤完成绑定操作" +#~ msgid "Create permission" +#~ msgstr "创建授权规则" -#: users/templates/users/_select_user_modal.html:5 -msgid "Please Select User" -msgstr "选择用户" +#~ msgid "Refresh permission cache" +#~ msgstr "刷新授权缓存" -#: users/templates/users/_select_user_modal.html:17 -msgid "Asset num" -msgstr "资产数量" +#~ msgid "Refresh success" +#~ msgstr "刷新成功" -#: users/templates/users/_user.html:27 -msgid "Security and Role" -msgstr "角色安全" +#~ msgid "User list of " +#~ msgstr "用户列表" -#: users/templates/users/_user_detail_nav_header.html:11 -#: users/views/user.py:179 -msgid "User detail" -msgstr "用户详情" +#~ msgid "Add user to asset permission" +#~ msgstr "添加用户" -#: users/templates/users/_user_detail_nav_header.html:15 -msgid "User permissions" -msgstr "用户授权" +#~ msgid "Add user group to asset permission" +#~ msgstr "添加用户组" -#: users/templates/users/_user_detail_nav_header.html:23 -#: users/templates/users/user_group_detail.html:20 -#: users/templates/users/user_group_granted_asset.html:21 -msgid "Asset granted" -msgstr "授权的资产" +#~ msgid "Select user groups" +#~ msgstr "选择用户组" -#: users/templates/users/_user_detail_nav_header.html:40 -msgid "RemoteApp granted" -msgstr "授权的远程应用" +#~ msgid "DatabaseApp list of " +#~ msgstr "数据库应用列表" -#: users/templates/users/_user_detail_nav_header.html:54 -msgid "DatabaseApp granted" -msgstr "授权的数据库应用" +#~ msgid "Add DatabaseApp to this permission" +#~ msgstr "添加数据库应用" -#: users/templates/users/_user_update_pk_modal.html:4 -msgid "Update User SSH Public Key" -msgstr "更新SSH密钥" +#~ msgid "Select DatabaseApp" +#~ msgstr "选择数据库应用" -#: users/templates/users/first_login.html:19 -#: users/templates/users/first_login_done.html:19 -msgid "First Login" -msgstr "首次登录" +#~ msgid "DatabaseApp count" +#~ msgstr "数据库应用数量" -#: users/templates/users/first_login.html:65 -msgid "I agree with the terms and conditions." -msgstr "我同意条款和条件" +#~ msgid "Add user to permission" +#~ msgstr "添加用户" -#: users/templates/users/first_login.html:66 -msgid "Please choose the terms and conditions." -msgstr "请选择同意条款和条件" +#~ msgid "Add user group to permission" +#~ msgstr "添加用户组" -#: users/templates/users/first_login.html:70 -#: users/templates/users/user_update.html:32 -msgid "User auth from {}, ssh key login is not supported" -msgstr "用户认证源来自 {}, 不支持使用 SSH Key 登录" +#~ msgid "RemoteApp count" +#~ msgstr "远程应用数量" -#: users/templates/users/first_login.html:96 -msgid "Previous" -msgstr "上一步" +#~ msgid "RemoteApp list of " +#~ msgstr "远程应用列表" -#: users/templates/users/first_login_done.html:31 -msgid "Welcome to use jumpserver, visit " -msgstr "欢迎使用 JumpServer 堡垒机" +#~ msgid "Add RemoteApp to this permission" +#~ msgstr "添加远程应用" -#: users/templates/users/first_login_done.html:32 -msgid "Use guide" -msgstr "向导" +#~ msgid "Select RemoteApp" +#~ msgstr "选择远程应用" -#: users/templates/users/first_login_done.html:32 -msgid " for more information" -msgstr "获取更多信息" +#~ msgid "Add user to this permission" +#~ msgstr "添加用户" -#: users/templates/users/forgot_password.html:15 -msgid "Input your email, that will send a mail to your" -msgstr "输入您的邮箱, 将会发一封重置邮件到您的邮箱中" +#~ msgid "Add user group to this permission" +#~ msgstr "添加用户组" -#: users/templates/users/reset_password.html:5 -#: users/templates/users/reset_password.html:6 -#: users/templates/users/user_detail.html:402 users/utils.py:83 -msgid "Reset password" -msgstr "重置密码" +#~ msgid "Asset permission list" +#~ msgstr "资产授权列表" -#: users/templates/users/reset_password.html:23 -#: users/templates/users/user_create.html:13 -#: users/templates/users/user_password_update.html:65 -#: users/templates/users/user_update.html:13 -msgid "Your password must satisfy" -msgstr "您的密码必须满足:" +#~ msgid "Create asset permission" +#~ msgstr "创建权限规则" -#: users/templates/users/reset_password.html:24 -#: users/templates/users/user_create.html:14 -#: users/templates/users/user_password_update.html:66 -#: users/templates/users/user_update.html:14 -msgid "Password strength" -msgstr "密码强度:" +#~ msgid "Update asset permission" +#~ msgstr "更新资产授权" -#: users/templates/users/reset_password.html:48 -#: users/templates/users/user_create.html:33 -#: users/templates/users/user_password_update.html:103 -#: users/templates/users/user_update.html:55 -msgid "Very weak" -msgstr "很弱" +#~ msgid "Asset permission detail" +#~ msgstr "资产授权详情" -#: users/templates/users/reset_password.html:49 -#: users/templates/users/user_create.html:34 -#: users/templates/users/user_password_update.html:104 -#: users/templates/users/user_update.html:56 -msgid "Weak" -msgstr "弱" +#~ msgid "Asset permission user list" +#~ msgstr "资产授权用户列表" -#: users/templates/users/reset_password.html:50 -#: users/templates/users/user_create.html:35 -#: users/templates/users/user_password_update.html:105 -#: users/templates/users/user_update.html:57 -msgid "Normal" -msgstr "正常" +#~ msgid "Asset permission asset list" +#~ msgstr "资产授权资产列表" -#: users/templates/users/reset_password.html:51 -#: users/templates/users/user_create.html:36 -#: users/templates/users/user_password_update.html:106 -#: users/templates/users/user_update.html:58 -msgid "Medium" -msgstr "一般" +#~ msgid "DatabaseApp permission list" +#~ msgstr "数据库应用授权列表" -#: users/templates/users/reset_password.html:52 -#: users/templates/users/user_create.html:37 -#: users/templates/users/user_password_update.html:107 -#: users/templates/users/user_update.html:59 -msgid "Strong" -msgstr "强" +#~ msgid "Create DatabaseApp permission" +#~ msgstr "创建数据库应用授权规则" -#: users/templates/users/reset_password.html:53 -#: users/templates/users/user_create.html:38 -#: users/templates/users/user_password_update.html:108 -#: users/templates/users/user_update.html:60 -msgid "Very strong" -msgstr "很强" +#~ msgid "Update DatabaseApp permission" +#~ msgstr "更新数据库应用授权规则" -#: users/templates/users/user_create.html:4 -#: users/templates/users/user_list.html:7 users/views/user.py:68 -msgid "Create user" -msgstr "创建用户" +#~ msgid "DatabaseApp permission detail" +#~ msgstr "数据库应用授权详情" -#: users/templates/users/user_detail.html:80 -msgid "Force enabled" -msgstr "强制启用" +#~ msgid "DatabaseApp permission user list" +#~ msgstr "数据库应用授权用户列表" -#: users/templates/users/user_detail.html:105 -#: users/templates/users/user_profile.html:110 -msgid "Last login" -msgstr "最后登录" +#~ msgid "DatabaseApp permission DatabaseApp list" +#~ msgstr "数据库应用授权数据库应用列表" -#: users/templates/users/user_detail.html:110 -#: users/templates/users/user_profile.html:115 -msgid "Last password updated" -msgstr "最后更新密码" +#~ msgid "RemoteApp permission list" +#~ msgstr "远程应用授权列表" -#: users/templates/users/user_detail.html:148 -msgid "Force enabled MFA" -msgstr "强制启用多因子认证" +#~ msgid "Create RemoteApp permission" +#~ msgstr "创建远程应用授权规则" -#: users/templates/users/user_detail.html:165 -msgid "Reset MFA" -msgstr "重置多因子认证" +#~ msgid "Update RemoteApp permission" +#~ msgstr "更新远程应用授权规则" -#: users/templates/users/user_detail.html:174 -msgid "Send reset password mail" -msgstr "发送重置密码邮件" +#~ msgid "RemoteApp permission detail" +#~ msgstr "远程应用授权详情" -#: users/templates/users/user_detail.html:177 -#: users/templates/users/user_detail.html:187 -msgid "Send" -msgstr "发送" +#~ msgid "RemoteApp permission user list" +#~ msgstr "远程应用授权用户列表" -#: users/templates/users/user_detail.html:184 -msgid "Send reset ssh key mail" -msgstr "发送重置密钥邮件" +#~ msgid "RemoteApp permission RemoteApp list" +#~ msgstr "远程应用授权远程应用列表" -#: users/templates/users/user_detail.html:193 -#: users/templates/users/user_detail.html:490 -msgid "Unblock user" -msgstr "解除登录限制" +#~ msgid "Current SITE URL" +#~ msgstr "当前站点URL" -#: users/templates/users/user_detail.html:196 -msgid "Unblock" -msgstr "解除" +#~ msgid "User Guide URL" +#~ msgstr "用户向导URL" -#: users/templates/users/user_detail.html:365 -msgid "Goto profile page enable MFA" -msgstr "请去个人信息页面启用自己的多因子认证" +#~ msgid "User first login update profile done redirect to it" +#~ msgstr "用户第一次登录,修改profile后重定向到地址" -#: users/templates/users/user_detail.html:401 -msgid "An e-mail has been sent to the user`s mailbox." -msgstr "已发送邮件到用户邮箱" +#~ msgid "Email Subject Prefix" +#~ msgstr "Email主题前缀" -#: users/templates/users/user_detail.html:412 -msgid "This will reset the user password and send a reset mail" -msgstr "将失效用户当前密码,并发送重设密码邮件到用户邮箱" +#~ msgid "Tips: Some word will be intercept by mail provider" +#~ msgstr "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer" -#: users/templates/users/user_detail.html:427 -msgid "" -"The reset-ssh-public-key E-mail has been sent successfully. Please inform " -"the user to update his new ssh public key." -msgstr "重设密钥邮件将会发送到用户邮箱" +#~ msgid "SMTP host" +#~ msgstr "SMTP主机" -#: users/templates/users/user_detail.html:428 -msgid "Reset SSH public key" -msgstr "重置SSH密钥" +#~ msgid "SMTP port" +#~ msgstr "SMTP端口" -#: users/templates/users/user_detail.html:438 -msgid "This will reset the user public key and send a reset mail" -msgstr "将会失效用户当前密钥,并发送重置邮件到用户邮箱" +#~ msgid "SMTP user" +#~ msgstr "SMTP账号" -#: users/templates/users/user_detail.html:456 -msgid "Successfully updated the SSH public key." -msgstr "更新SSH密钥成功" +#~ msgid "SMTP password" +#~ msgstr "SMTP密码" -#: users/templates/users/user_detail.html:457 -#: users/templates/users/user_detail.html:461 -msgid "User SSH public key update" -msgstr "SSH密钥" +#~ msgid "Tips: Some provider use token except password" +#~ msgstr "提示:一些邮件提供商需要输入的是Token" -#: users/templates/users/user_detail.html:506 -msgid "After unlocking the user, the user can log in normally." -msgstr "解除用户登录限制后,此用户即可正常登录" +#~ msgid "Send user" +#~ msgstr "发送账号" -#: users/templates/users/user_detail.html:520 -msgid "Reset user MFA success" -msgstr "重置用户多因子认证成功" +#~ msgid "Tips: Send mail account, default SMTP account as the send account" +#~ msgstr "提示:发送邮件账号,默认使用SMTP账号作为发送账号" -#: users/templates/users/user_group_detail.html:17 -#: users/templates/users/user_group_granted_asset.html:18 -#: users/views/group.py:83 -msgid "User group detail" -msgstr "用户组详情" +#~ msgid "Test recipient" +#~ msgstr "测试收件人" -#: users/templates/users/user_group_detail.html:81 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:116 -msgid "Add user" -msgstr "添加用户" +#~ msgid "Tips: Used only as a test mail recipient" +#~ msgstr "提示:仅用来作为测试邮件收件人" -#: users/templates/users/user_group_list.html:7 users/views/group.py:46 -msgid "Create user group" -msgstr "创建用户组" +#~ msgid "Use SSL" +#~ msgstr "使用SSL" -#: users/templates/users/user_list.html:32 -msgid "Remove selected" -msgstr "批量移除" +#~ msgid "If SMTP port is 465, may be select" +#~ msgstr "如果SMTP端口是465,通常需要启用SSL" -#: users/templates/users/user_list.html:179 -msgid "This will delete the selected users !!!" -msgstr "删除选中用户 !!!" +#~ msgid "Use TLS" +#~ msgstr "使用TLS" -#: users/templates/users/user_list.html:190 -msgid "User Deleting failed." -msgstr "用户删除失败" +#~ msgid "If SMTP port is 587, may be select" +#~ msgstr "如果SMTP端口是587,通常需要启用TLS" -#: users/templates/users/user_list.html:191 -msgid "User Delete" -msgstr "删除" +#~ msgid "Create user email subject" +#~ msgstr "创建用户邮件的主题" -#: users/templates/users/user_list.html:213 -msgid "This will remove the selected users !!" -msgstr "移除选中用户 !!!" +#~ msgid "" +#~ "Tips: When creating a user, send the subject of the email (eg:Create " +#~ "account successfully)" +#~ msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)" -#: users/templates/users/user_list.html:215 -msgid "User Removing failed." -msgstr "用户移除失败" +#~ msgid "Create user honorific" +#~ msgstr "创建用户邮件的敬语" -#: users/templates/users/user_list.html:216 -msgid "User Remove" -msgstr "移除" +#~ msgid "" +#~ "Tips: When creating a user, send the honorific of the email (eg:Hello)" +#~ msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)" -#: users/templates/users/user_list.html:265 -msgid "Are you sure about removing it?" -msgstr "您确定移除吗?" +#~ msgid "Create user email content" +#~ msgstr "创建用户邮件的内容" -#: users/templates/users/user_list.html:266 -msgid "Remove the success" -msgstr "移除成功" +#~ msgid "Tips:When creating a user, send the content of the email" +#~ msgstr "提示: 创建用户时,发送设置密码邮件的内容" -#: users/templates/users/user_list.html:271 -msgid "User is expired" -msgstr "用户已失效" +#~ msgid "Signature" +#~ msgstr "署名" -#: users/templates/users/user_list.html:274 -msgid "User is inactive" -msgstr "用户已禁用" +#~ msgid "Tips: Email signature (eg:jumpserver)" +#~ msgstr "提示: 邮件的署名 (例如: jumpserver)" -#: users/templates/users/user_otp_check_password.html:6 -#: users/templates/users/user_verify_mfa.html:6 -msgid "Authenticate" -msgstr "验证身份" +#~ msgid "LDAP server" +#~ msgstr "LDAP地址" -#: users/templates/users/user_otp_enable_bind.html:6 -msgid "Bind one-time password authenticator" -msgstr "绑定一次性密码验证器" +#~ msgid "Bind DN" +#~ msgstr "绑定DN" -#: users/templates/users/user_otp_enable_bind.html:13 -msgid "" -"Use the mobile Google Authenticator application to scan the following qr " -"code for a 6-bit verification code" -msgstr "使用手机 Google Authenticator 应用扫描以下二维码,获取6位验证码" +#~ msgid "User OU" +#~ msgstr "用户OU" -#: users/templates/users/user_otp_enable_bind.html:22 -#: users/templates/users/user_verify_mfa.html:23 -msgid "Six figures" -msgstr "6位数字" +#~ msgid "Use | split User OUs" +#~ msgstr "使用|分隔各OU" -#: users/templates/users/user_otp_enable_install_app.html:6 -msgid "Install app" -msgstr "安装应用" +#~ msgid "User search filter" +#~ msgstr "用户过滤器" -#: users/templates/users/user_otp_enable_install_app.html:13 -msgid "Download and install the Google Authenticator application on your phone" -msgstr "请在手机端下载并安装 Google Authenticator 应用" +#, python-format +#~ msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)" +#~ msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)" -#: users/templates/users/user_otp_enable_install_app.html:18 -msgid "Android downloads" -msgstr "Android手机下载" +#~ msgid "User attr map" +#~ msgstr "LDAP属性映射" -#: users/templates/users/user_otp_enable_install_app.html:23 -msgid "iPhone downloads" -msgstr "iPhone手机下载" +#~ msgid "" +#~ "User attr map present how to map LDAP user attr to jumpserver, username," +#~ "name,email is jumpserver attr" +#~ msgstr "" +#~ "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, " +#~ "name,email 是jumpserver的属性" -#: users/templates/users/user_otp_enable_install_app.html:26 -msgid "" -"After installation, click the next step to enter the binding page (if " -"installed, go to the next step directly)." -msgstr "安装完成后点击下一步进入绑定页面(如已安装,直接进入下一步" +#~ msgid "Enable LDAP auth" +#~ msgstr "启用LDAP认证" -#: users/templates/users/user_password_verify.html:8 -#: users/templates/users/user_password_verify.html:9 -msgid "Verify password" -msgstr "校验密码" +#~ msgid "" +#~ "After opening, all user login must use MFA(valid for all users, including " +#~ "administrators)" +#~ msgstr "" +#~ "开启后,所有用户登录必须使用多因子认证(对所有用户有效,包括管理员)" -#: users/templates/users/user_profile.html:97 -msgid "Administrator Settings force MFA login" -msgstr "管理员设置强制使用多因子认证" +#~ msgid "Batch execute commands" +#~ msgstr "批量命令" -#: users/templates/users/user_profile.html:156 -msgid "Set MFA" -msgstr "设置多因子认证" +#~ msgid "Allow user batch execute commands" +#~ msgstr "允许用户批量执行命令" -#: users/templates/users/user_profile.html:178 -msgid "Update MFA" -msgstr "更改多因子认证" +#~ msgid "Service account registration" +#~ msgstr "终端注册" -#: users/templates/users/user_profile.html:188 -msgid "Update password" -msgstr "更改密码" +#~ msgid "" +#~ "Allow using bootstrap token register service account, when terminal " +#~ "setup, can disable it" +#~ msgstr "允许使用bootstrap token注册终端, 当终端注册成功后可以禁止" -#: users/templates/users/user_profile.html:198 -msgid "Update SSH public key" -msgstr "更改SSH密钥" +#~ msgid "Limit the number of login failures" +#~ msgstr "限制登录失败次数" -#: users/templates/users/user_profile.html:206 -msgid "Reset public key and download" -msgstr "重置并下载SSH密钥" +#~ msgid "No logon interval" +#~ msgstr "禁止登录时间间隔" -#: users/templates/users/user_pubkey_update.html:55 -msgid "Old public key" -msgstr "原来SSH密钥" +#~ msgid "" +#~ "Tip: (unit/minute) if the user has failed to log in for a limited number " +#~ "of times, no login is allowed during this time interval." +#~ msgstr "" +#~ "提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录" -#: users/templates/users/user_pubkey_update.html:63 -msgid "Fingerprint" -msgstr "指纹" +#~ msgid "Connection max idle time" +#~ msgstr "连接最大空闲时间" -#: users/templates/users/user_pubkey_update.html:69 -msgid "Update public key" -msgstr "更新密钥" +#~ msgid "If idle time more than it, disconnect connection Unit: minute" +#~ msgstr "提示:如果超过该配置没有操作,连接会被断开 (单位:分)" -#: users/templates/users/user_pubkey_update.html:72 -msgid "Or reset by server" -msgstr "或者重置并下载密钥" +#~ msgid "Password expiration time" +#~ msgstr "密码过期时间" -#: users/templates/users/user_pubkey_update.html:98 -msgid "" -"The new public key has been set successfully, Please download the " -"corresponding private key." -msgstr "新的公钥已设置成功,请下载对应的私钥" +#~ msgid "" +#~ "Tip: (unit: day) If the user does not update the password during the " +#~ "time, the user password will expire failure;The password expiration " +#~ "reminder mail will be automatic sent to the user by system within 5 days " +#~ "(daily) before the password expires" +#~ msgstr "" +#~ "提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码" +#~ "过期提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户" + +#~ msgid "Password minimum length" +#~ msgstr "密码最小长度 " + +#~ msgid "Must contain capital letters" +#~ msgstr "必须包含大写字母" -#: users/templates/users/user_update.html:4 users/views/user.py:112 -msgid "Update user" -msgstr "更新用户" +#~ msgid "" +#~ "After opening, the user password changes and resets must contain " +#~ "uppercase letters" +#~ msgstr "开启后,用户密码修改、重置必须包含大写字母" -#: users/templates/users/user_update.html:22 users/views/login.py:49 -#: users/views/login.py:116 -msgid "User auth from {}, go there change password" -msgstr "用户认证源来自 {}, 请去相应系统修改密码" +#~ msgid "Must contain lowercase letters" +#~ msgstr "必须包含小写字母" -#: users/templates/users/user_verify_mfa.html:11 -msgid "" -"The account protection has been opened, please complete the following " -"operations according to the prompts" -msgstr "账号保护已开启,请根据提示完成以下操作" +#~ msgid "" +#~ "After opening, the user password changes and resets must contain " +#~ "lowercase letters" +#~ msgstr "开启后,用户密码修改、重置必须包含小写字母" -#: users/templates/users/user_verify_mfa.html:13 -msgid "Open Authenticator and enter the 6-bit dynamic code" -msgstr "请打开 验证器,输入6位动态码" +#~ msgid "Must contain numeric characters" +#~ msgstr "必须包含数字字符" -# msgid "Update user" -# msgstr "更新用户" -#: users/utils.py:24 -#, python-format -msgid "" -"\n" -"
\n" -"

Your account has been created successfully

\n" -"
\n" -" Username: %(username)s\n" -"
\n" -" Password: \n" -" click here to set your password \n" -" (This link is valid for 1 hour. After it expires, request new one)\n" -"
\n" -"
\n" -"

---

\n" -" Login direct\n" -"
\n" -"
\n" -" " -msgstr "" -"\n" -"
\n" -"

您的账户已创建成功

\n" -"
\n" -" 用户名: %(username)s\n" -"
\n" -" 密码: 请点击这里设置密码 (这个链接有效期1小时, 超过时" -"间您可以 重新申请)\n" -"
\n" -"
\n" -"

---

\n" -" 直接登录\n" -"
\n" -"
\n" -" " +#~ msgid "" +#~ "After opening, the user password changes and resets must contain numeric " +#~ "characters" +#~ msgstr "开启后,用户密码修改、重置必须包含数字字符" -#: users/utils.py:58 -msgid "Create account successfully" -msgstr "创建账户成功" +#~ msgid "Must contain special characters" +#~ msgstr "必须包含特殊字符" -#: users/utils.py:62 -#, python-format -msgid "Hello %(name)s" -msgstr "您好 %(name)s" +#~ msgid "" +#~ "After opening, the user password changes and resets must contain special " +#~ "characters" +#~ msgstr "开启后,用户密码修改、重置必须包含特殊字符" -#: users/utils.py:85 -#, python-format -msgid "" -"\n" -" Hello %(name)s:\n" -"
\n" -" Please click the link below to reset your password, if not your request, " -"concern your account security\n" -"
\n" -" Click " -"here reset password\n" -"
\n" -" This link is valid for 1 hour. After it expires, request new one\n" -"\n" -"
\n" -" ---\n" -"\n" -"
\n" -" Login direct\n" -"\n" -"
\n" -" " -msgstr "" -"\n" -" 您好 %(name)s:\n" -"
\n" -" 请点击下面链接重置密码, 如果不是您申请的,请关注账号安全\n" -"
\n" -" 请点击这" -"里设置密码 \n" -"
\n" -" 这个链接有效期1小时, 超过时间您可以重新申请\n" -"\n" -"
\n" -" ---\n" -"\n" -"
\n" -" 直接登录\n" -"\n" -"
\n" -" " +#~ msgid "Password auth" +#~ msgstr "密码认证" -#: users/utils.py:116 -msgid "Security notice" -msgstr "安全通知" +#~ msgid "Public key auth" +#~ msgstr "密钥认证" -#: users/utils.py:118 -#, python-format -msgid "" -"\n" -" Hello %(name)s:\n" -"
\n" -" Your password will expire in %(date_password_expired)s,\n" -"
\n" -" For your account security, please click on the link below to update your " -"password in time\n" -"
\n" -" Click here update password\n" -"
\n" -" If your password has expired, please click \n" -" Password expired \n" -" to apply for a password reset email.\n" -"\n" -"
\n" -" ---\n" -"\n" -"
\n" -"
Login direct\n" -"\n" -"
\n" -" " -msgstr "" -"\n" -" 您好 %(name)s:\n" -"
\n" -" 您的密码会在 %(date_password_expired)s 过期,\n" -"
\n" -" 为了您的账号安全,请点击下面的链接及时更新密码\n" -"
\n" -" 请点击这里更新密码\n" -"
\n" -" 如果您的密码已经过期,请点击 \n" -" 密码过期 \n" -" 申请一份重置密码邮件。\n" -"\n" -"
\n" -" ---\n" -"\n" -"
\n" -" 直接登录\n" -"\n" -"
\n" -" " +#~ msgid "Heartbeat interval" +#~ msgstr "心跳间隔" -#: users/utils.py:154 -msgid "Expiration notice" -msgstr "过期通知" +#~ msgid "Units: seconds" +#~ msgstr "单位: 秒" -#: users/utils.py:156 -#, python-format -msgid "" -"\n" -" Hello %(name)s:\n" -"
\n" -" Your account will expire in %(date_expired)s,\n" -"
\n" -" In order not to affect your normal work, please contact the " -"administrator for confirmation.\n" -"
\n" -" " -msgstr "" -"\n" -" 您好 %(name)s:\n" -"
\n" -" 您的账户会在 %(date_expired)s 过期,\n" -"
\n" -" 为了不影响您正常工作,请联系管理员确认。\n" -"
\n" -" " +#~ msgid "List sort by" +#~ msgstr "资产列表排序" -#: users/utils.py:175 -msgid "SSH Key Reset" -msgstr "重置SSH密钥" +#~ msgid "List page size" +#~ msgstr "资产分页每页数量" -#: users/utils.py:177 -#, python-format -msgid "" -"\n" -" Hello %(name)s:\n" -"
\n" -" Your ssh public key has been reset by site administrator.\n" -" Please login and reset your ssh public key.\n" -"
\n" -" Login direct\n" -"\n" -"
\n" -" " -msgstr "" -"\n" -" 你好 %(name)s:\n" -"
\n" -" 您的密钥已被管理员重置,\n" -" 请登录并重新设置您的密钥.\n" -"
\n" -" Login direct\n" -"\n" -"
\n" -" " +#~ msgid "Session keep duration" +#~ msgstr "会话保留时长" -#: users/views/group.py:29 -msgid "User group list" -msgstr "用户组列表" +#~ msgid "" +#~ "Units: days, Session, record, command will be delete if more than " +#~ "duration, only in database" +#~ msgstr "" +#~ "单位:天。 会话、录像、命令记录超过该时长将会被删除(仅影响数据库存储, oss" +#~ "等不受影响)" -#: users/views/group.py:64 -msgid "Update user group" -msgstr "更新用户组" +#~ msgid "Telnet login regex" +#~ msgstr "Telnet 成功正则表达式" -#: users/views/group.py:100 -msgid "User group granted asset" -msgstr "用户组授权资产" +#~ msgid "ex: Last\\s*login|success|成功" +#~ msgstr "" +#~ "登录telnet服务器成功后的提示正则表达式,如: Last\\s*login|success|成功 " -#: users/views/login.py:45 -msgid "Email address invalid, please input again" -msgstr "邮箱地址错误,重新输入" +#~ msgid "LDAP user list" +#~ msgstr "LDAP 用户列表" -#: users/views/login.py:62 -msgid "Send reset password message" -msgstr "发送重置密码邮件" +#~ msgid "Please submit the LDAP configuration before import" +#~ msgstr "请先提交LDAP配置再进行导入" -#: users/views/login.py:63 -msgid "Send reset password mail success, login your mail box and follow it " -msgstr "" -"发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)" +#~ msgid "Refresh cache" +#~ msgstr "刷新缓存" -#: users/views/login.py:76 -msgid "Reset password success" -msgstr "重置密码成功" +#~ msgid "Existing" +#~ msgstr "已存在" -#: users/views/login.py:77 -msgid "Reset password success, return to login page" -msgstr "重置密码成功,返回到登录页面" +#~ msgid "" +#~ "User is not currently selected, please check the user you want to import" +#~ msgstr "当前无勾选用户,请勾选你想要导入的用户" -#: users/views/login.py:101 users/views/login.py:111 -msgid "Token invalid or expired" -msgstr "Token错误或失效" +#~ msgid "Test LDAP user login" +#~ msgstr "测试LDAP 用户登录" -#: users/views/login.py:163 -msgid "First login" -msgstr "首次登录" +#~ msgid "Save the configuration before testing the login" +#~ msgstr "请先提交LDAP配置再进行测试登录" -#: users/views/profile/base.py:47 -msgid "Profile setting" -msgstr "个人信息设置" +#~ msgid "Please input username" +#~ msgstr "请输入用户名" -#: users/views/profile/otp.py:145 -msgid "MFA enable success" -msgstr "多因子认证启用成功" +#~ msgid "Basic setting" +#~ msgstr "基本设置" -#: users/views/profile/otp.py:146 -msgid "MFA enable success, return login page" -msgstr "多因子认证启用成功,返回到登录页面" +#~ msgid "Email setting" +#~ msgstr "邮件设置" -#: users/views/profile/otp.py:148 -msgid "MFA disable success" -msgstr "多因子认证禁用成功" +#~ msgid "Email content setting" +#~ msgstr "邮件内容设置" -#: users/views/profile/otp.py:149 -msgid "MFA disable success, return login page" -msgstr "多因子认证禁用成功,返回登录页面" +#~ msgid "LDAP setting" +#~ msgstr "LDAP设置" -#: users/views/profile/password.py:41 -msgid "Password update" -msgstr "密码更新" +#~ msgid "Terminal setting" +#~ msgstr "终端设置" -#: users/views/profile/password.py:72 -msgid "Password invalid" -msgstr "用户名或密码无效" +#~ msgid "Security setting" +#~ msgstr "安全设置" -#: users/views/profile/pubkey.py:37 -msgid "Public key update" -msgstr "密钥更新" +#~ msgid "Create User setting" +#~ msgstr "创建用户设置" -#: users/views/user.py:130 -msgid "Bulk update user success" -msgstr "批量更新用户成功" +#~ msgid "Test login" +#~ msgstr "测试登录" -#: users/views/user.py:158 -msgid "Bulk update user" -msgstr "批量更新用户" +#~ msgid "Bulk import" +#~ msgstr "一键导入" -#: users/views/user.py:207 -msgid "User granted assets" -msgstr "用户授权资产" +#~ msgid "Password check rule" +#~ msgstr "密码校验规则" -#: users/views/user.py:235 -msgid "User granted RemoteApp" -msgstr "用户授权远程应用" +#~ msgid "Command and Replay storage configuration migrated to" +#~ msgstr "命令和录像存储配置已迁移到" -#: users/views/user.py:263 -msgid "User granted DatabaseApp" -msgstr "用户授权数据库应用" +#~ msgid "Sessions -> Terminal -> Storage configuration" +#~ msgstr "会话管理 -> 终端管理 -> 存储配置" -#: xpack/plugins/change_auth_plan/forms.py:21 -msgid "Password length" -msgstr "密码长度" +#~ msgid "Here" +#~ msgstr "这里" -#: xpack/plugins/change_auth_plan/forms.py:79 -msgid "" -"Tips: The username of the user on the asset to be modified. if the user " -"exists, change the password; If the user does not exist, create the user." -msgstr "" -"提示:用户名为将要修改的资产上的用户的用户名。如果用户存在,则修改密码;如果" -"用户不存在,则创建用户。" +#~ msgid "Update setting successfully" +#~ msgstr "更新设置成功" -#: xpack/plugins/change_auth_plan/meta.py:9 -#: xpack/plugins/change_auth_plan/models.py:88 -#: xpack/plugins/change_auth_plan/models.py:183 -#: xpack/plugins/change_auth_plan/views.py:33 -#: xpack/plugins/change_auth_plan/views.py:50 -#: xpack/plugins/change_auth_plan/views.py:74 -#: xpack/plugins/change_auth_plan/views.py:90 -#: xpack/plugins/change_auth_plan/views.py:117 -#: xpack/plugins/change_auth_plan/views.py:132 -#: xpack/plugins/change_auth_plan/views.py:147 -msgid "Change auth plan" -msgstr "改密计划" +#~ msgid "Container name" +#~ msgstr "容器名称" + +#~ msgid "Account key" +#~ msgstr "账户密钥" + +#~ msgid "Endpoint suffix" +#~ msgstr "端点后缀" -#: xpack/plugins/change_auth_plan/models.py:40 -msgid "Custom password" -msgstr "自定义密码" +#~ msgid "Bucket" +#~ msgstr "桶名称" -#: xpack/plugins/change_auth_plan/models.py:41 -msgid "All assets use the same random password" -msgstr "所有资产使用相同的随机密码" +#~ msgid "Endpoint" +#~ msgstr "端点" -#: xpack/plugins/change_auth_plan/models.py:42 -msgid "All assets use different random password" -msgstr "所有资产使用不同的随机密码" +#~ msgid "" +#~ "\n" +#~ " Tips: If there are multiple hosts, separate them with a comma " +#~ "(,) \n" +#~ "
\n" +#~ " eg: http://www.jumpserver.a.com,http://www.jumpserver.b.com\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ " 提示: 如果有多台主机,请使用逗号 ( , ) 进行分割\n" +#~ "
\n" +#~ " eg: http://www.jumpserver.a.com,http://www.jumpserver.b.com\n" +#~ " " -#: xpack/plugins/change_auth_plan/models.py:64 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:72 -msgid "Password rules" -msgstr "密码规则" +#~ msgid "Index" +#~ msgstr "索引" -#: xpack/plugins/change_auth_plan/models.py:187 -msgid "Change auth plan snapshot" -msgstr "改密计划快照" +#~ msgid "Doc type" +#~ msgstr "文档类型" -#: xpack/plugins/change_auth_plan/models.py:202 -#: xpack/plugins/change_auth_plan/models.py:288 -msgid "Change auth plan execution" -msgstr "改密计划执行" +#~ msgid "" +#~ "Command can store in server db or ES, default to server, more see docs" +#~ msgstr "" +#~ "命令支持存储到服务器端数据库、ES中,默认存储的服务器端数据库,更多查看文档" -#: xpack/plugins/change_auth_plan/models.py:261 -msgid "Ready" -msgstr "" +#~ msgid "" +#~ "Replay file can store in server disk, AWS S3, Aliyun OSS, default to " +#~ "server, more see docs" +#~ msgstr "" +#~ "录像文件支持存储到服务器端硬盘、AWS S3、 阿里云 OSS 中,默认存储到服务器端" +#~ "硬盘, 更多查看文档" -#: xpack/plugins/change_auth_plan/models.py:262 -msgid "Preflight check" -msgstr "" +#~ msgid "Export command" +#~ msgstr "导出命令" -#: xpack/plugins/change_auth_plan/models.py:263 -msgid "Change auth" -msgstr "" +#~ msgid "Goto" +#~ msgstr "转到" -#: xpack/plugins/change_auth_plan/models.py:264 -msgid "Verify auth" -msgstr "" +#~ msgid "Create command storage" +#~ msgstr "创建命令存储" -#: xpack/plugins/change_auth_plan/models.py:265 -msgid "Keep auth" -msgstr "" +#~ msgid "Create replay storage" +#~ msgstr "创建录像存储" -#: xpack/plugins/change_auth_plan/models.py:292 -msgid "Step" -msgstr "步骤" +#~ msgid "Session detail" +#~ msgstr "会话详情" -#: xpack/plugins/change_auth_plan/models.py:309 -msgid "Change auth plan task" -msgstr "改密计划任务" +#~ msgid "Command list" +#~ msgstr "命令记录列表" -#: xpack/plugins/change_auth_plan/serializers.py:70 -msgid "* Please enter custom password" -msgstr "* 请输入自定义密码" +#~ msgid "There is no command about this session" +#~ msgstr "该会话没有命令记录" -#: xpack/plugins/change_auth_plan/serializers.py:80 -msgid "* Please enter the correct password length" -msgstr "* 请输入正确的密码长度" +#~ msgid "Login from" +#~ msgstr "登录来源" -#: xpack/plugins/change_auth_plan/serializers.py:83 -msgid "* Password length range 6-30 bits" -msgstr "* 密码长度范围 6-30 位" +#~ msgid "Replay session" +#~ msgstr "回放会话" -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:19 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:24 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:23 -#: xpack/plugins/change_auth_plan/views.py:133 -msgid "Plan execution list" -msgstr "执行列表" +#~ msgid "Download replay" +#~ msgstr "下载录像" -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:62 -msgid "Add asset to this plan" -msgstr "添加资产" +#~ msgid "Download" +#~ msgstr "下载" -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:87 -msgid "Add node to this plan" -msgstr "添加节点" +#~ msgid "Monitor session" +#~ msgstr "监控" -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_create_update.html:7 -msgid "" -"When the user password on the asset is changed, the action is performed " -"using the admin user associated with the asset" -msgstr "更改资产上的用户密码时,将会使用与该资产关联的管理用户进行操作" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:74 -msgid "Length" -msgstr "长度" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:132 -msgid "Run plan manually" -msgstr "手动执行计划" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:176 -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:102 -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:90 -msgid "Execute failed" -msgstr "执行失败" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:31 -msgid "Execution list of plan" -msgstr "执行历史列表" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:104 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:106 -msgid "Log" -msgstr "日志" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:61 -msgid "Retry" -msgstr "重试" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:95 -msgid "Run failed" -msgstr "执行失败" - -#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_list.html:5 -#: xpack/plugins/change_auth_plan/views.py:51 -msgid "Create plan" -msgstr "创建计划" +#~ msgid "Terminate session" +#~ msgstr "终止会话" -#: xpack/plugins/change_auth_plan/utils.py:437 -msgid "Invalid/incorrect password" -msgstr "无效/错误 密码" +#~ msgid "Terminate success" +#~ msgstr "终断成功" -#: xpack/plugins/change_auth_plan/utils.py:439 -msgid "Failed to connect to the host" -msgstr "连接主机失败" +#~ msgid "Duration" +#~ msgstr "时长" -#: xpack/plugins/change_auth_plan/utils.py:441 -msgid "Data could not be sent to remote" -msgstr "无法将数据发送到远程" +#~ msgid "Terminate selected" +#~ msgstr "终断所选" -#: xpack/plugins/change_auth_plan/views.py:34 -msgid "Plan list" -msgstr "计划列表" +#~ msgid "Confirm finished" +#~ msgstr "确认已完成" -#: xpack/plugins/change_auth_plan/views.py:75 -msgid "Update plan" -msgstr "更新计划" +#~ msgid "Terminate task send, waiting ..." +#~ msgstr "终断任务已发送,请等待" -#: xpack/plugins/change_auth_plan/views.py:148 -msgid "Plan execution task list" -msgstr "执行任务列表" +#~ msgid "Terminate" +#~ msgstr "终断" -#: xpack/plugins/cloud/forms.py:15 -msgid "Access Key" -msgstr "" +#~ msgid "Monitoring" +#~ msgstr "监控" -#: xpack/plugins/cloud/forms.py:19 -msgid "Secret Key" -msgstr "" +#~ msgid "Finish session success" +#~ msgstr "标记会话完成成功" -#: xpack/plugins/cloud/forms.py:56 -msgid "Select account" -msgstr "选择账户" +#~ msgid "Visit doc for replay play offline: " +#~ msgstr "访问文档查看如何离线播放: " -#: xpack/plugins/cloud/forms.py:62 -msgid "Select regions" -msgstr "选择地域" +#~ msgid "Terminal detail" +#~ msgstr "终端详情" -#: xpack/plugins/cloud/forms.py:68 -msgid "Select instances" -msgstr "选择实例" +#~ msgid "SSH port" +#~ msgstr "SSH端口" -#: xpack/plugins/cloud/forms.py:74 -msgid "Select node" -msgstr "选择节点" +#~ msgid "Http port" +#~ msgstr "HTTP端口" -#: xpack/plugins/cloud/forms.py:80 xpack/plugins/orgs/forms.py:20 -msgid "Select admins" -msgstr "选择管理员" +#~ msgid "Storage configuration" +#~ msgstr "存储配置" -#: xpack/plugins/cloud/forms.py:85 -msgid "Tips: The asset information is always covered" -msgstr "" +#~ msgid "Addr" +#~ msgstr "地址" -#: xpack/plugins/cloud/meta.py:9 xpack/plugins/cloud/views.py:27 -#: xpack/plugins/cloud/views.py:44 xpack/plugins/cloud/views.py:62 -#: xpack/plugins/cloud/views.py:78 xpack/plugins/cloud/views.py:92 -#: xpack/plugins/cloud/views.py:109 xpack/plugins/cloud/views.py:127 -#: xpack/plugins/cloud/views.py:143 xpack/plugins/cloud/views.py:158 -#: xpack/plugins/cloud/views.py:172 -msgid "Cloud center" -msgstr "云管中心" +#~ msgid "Alive" +#~ msgstr "在线" -#: xpack/plugins/cloud/models.py:29 -msgid "Available" -msgstr "有效" +#~ msgid "Accept" +#~ msgstr "接受" -#: xpack/plugins/cloud/models.py:30 -msgid "Unavailable" -msgstr "无效" +#~ msgid "Accept terminal registration" +#~ msgstr "接受终端注册" -#: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/serializers.py:31 -#: xpack/plugins/cloud/templates/cloud/account_detail.html:51 -#: xpack/plugins/cloud/templates/cloud/account_list.html:13 -msgid "Provider" -msgstr "云服务商" +#~ msgid "Info" +#~ msgstr "信息" -#: xpack/plugins/cloud/models.py:42 -msgid "Access key id" -msgstr "" +#~ msgid "Session online list" +#~ msgstr "在线会话" -#: xpack/plugins/cloud/models.py:46 -msgid "Access key secret" -msgstr "" +#~ msgid "Replay storage list" +#~ msgstr "录像存储列表" -#: xpack/plugins/cloud/models.py:64 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:26 -msgid "Cloud account" -msgstr "云账号" +#~ msgid "Command storage list" +#~ msgstr "命令存储列表" -#: xpack/plugins/cloud/models.py:122 xpack/plugins/cloud/serializers.py:55 -msgid "Regions" -msgstr "地域" +#~ msgid "Update replay storage" +#~ msgstr "更新录像存储" -#: xpack/plugins/cloud/models.py:125 -msgid "Instances" -msgstr "实例" +#~ msgid "Update command storage" +#~ msgstr "更新命令存储" -#: xpack/plugins/cloud/models.py:136 xpack/plugins/cloud/serializers.py:77 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:69 -msgid "Covered always" -msgstr "总是被覆盖" +#~ msgid "Terminal list" +#~ msgstr "终端列表" -#: xpack/plugins/cloud/models.py:142 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:104 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:17 -msgid "Date last sync" -msgstr "最后同步日期" +#~ msgid "Update terminal" +#~ msgstr "更新终端" -#: xpack/plugins/cloud/models.py:153 xpack/plugins/cloud/models.py:210 -msgid "Sync instance task" -msgstr "同步实例任务" +#~ msgid "Redirect to web terminal" +#~ msgstr "重定向到web terminal" -#: xpack/plugins/cloud/models.py:205 -msgid "Succeed" -msgstr "成功" +#~ msgid "Connect ssh terminal" +#~ msgstr "连接ssh终端" -#: xpack/plugins/cloud/models.py:220 xpack/plugins/cloud/models.py:275 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:51 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:49 -msgid "Date sync" -msgstr "同步日期" +#~ msgid "" +#~ "You should use your ssh client tools connect terminal: {}

{}" +#~ msgstr "你可以使用ssh客户端工具连接终端" -#: xpack/plugins/cloud/models.py:248 -msgid "Unsync" -msgstr "未同步" +#~ msgid "ago" +#~ msgstr "前" -#: xpack/plugins/cloud/models.py:249 xpack/plugins/cloud/models.py:250 -msgid "Synced" -msgstr "已同步" +#~ msgid "My tickets" +#~ msgstr "我的工单" -#: xpack/plugins/cloud/models.py:251 -msgid "Released" -msgstr "已释放" +#~ msgid "Assigned me" +#~ msgstr "待处理" -#: xpack/plugins/cloud/models.py:256 -msgid "Sync task" -msgstr "同步任务" +#~ msgid "Create ticket" +#~ msgstr "提交工单" -#: xpack/plugins/cloud/models.py:260 -msgid "Sync instance task history" -msgstr "同步实例任务历史" +#~ msgid "Ticket list" +#~ msgstr "工单列表" -#: xpack/plugins/cloud/models.py:263 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:45 -msgid "Instance" -msgstr "实例" +#~ msgid "Ticket detail" +#~ msgstr "工单详情" -#: xpack/plugins/cloud/providers/aliyun.py:16 -msgid "Alibaba Cloud" -msgstr "阿里云" +#~ msgid "I agree with the terms and conditions." +#~ msgstr "我同意条款和条件" -#: xpack/plugins/cloud/providers/aws.py:14 -msgid "AWS (International)" -msgstr "AWS (国际)" +#~ msgid "Please choose the terms and conditions." +#~ msgstr "请选择同意条款和条件" -#: xpack/plugins/cloud/providers/aws_china.py:9 -msgid "AWS (China)" -msgstr "AWS (中国)" +#~ msgid "Previous" +#~ msgstr "上一步" -#: xpack/plugins/cloud/providers/huaweicloud.py:13 -msgid "Huawei Cloud" -msgstr "华为云" +#~ msgid "User group list" +#~ msgstr "用户组列表" -#: xpack/plugins/cloud/providers/huaweicloud.py:16 -msgid "CN North-Beijing4" -msgstr "华北-北京4" +#~ msgid "Update user group" +#~ msgstr "更新用户组" -#: xpack/plugins/cloud/providers/huaweicloud.py:17 -msgid "CN East-Shanghai1" -msgstr "华东-上海1" +#~ msgid "User group granted asset" +#~ msgstr "用户组授权资产" -#: xpack/plugins/cloud/providers/huaweicloud.py:18 -msgid "CN East-Shanghai2" -msgstr "华东-上海2" +#~ msgid "First login" +#~ msgstr "首次登录" -#: xpack/plugins/cloud/providers/huaweicloud.py:19 -msgid "CN South-Guangzhou" -msgstr "华南-广州" +#~ msgid "Profile setting" +#~ msgstr "个人信息设置" -#: xpack/plugins/cloud/providers/huaweicloud.py:20 -msgid "CN Southwest-Guiyang1" -msgstr "西南-贵阳1" +#~ msgid "Bulk update user success" +#~ msgstr "批量更新用户成功" -#: xpack/plugins/cloud/providers/huaweicloud.py:21 -#, fuzzy -#| msgid "AP-Hong Kong" -msgid "AP-Hong-Kong" -msgstr "亚太-香港" +#~ msgid "Bulk update user" +#~ msgstr "批量更新用户" -#: xpack/plugins/cloud/providers/huaweicloud.py:22 -msgid "AP-Bangkok" -msgstr "亚太-曼谷" +#~ msgid "User granted assets" +#~ msgstr "用户授权资产" -#: xpack/plugins/cloud/providers/huaweicloud.py:23 -msgid "AP-Singapore" -msgstr "亚太-新加坡" +#~ msgid "User granted RemoteApp" +#~ msgstr "用户授权远程应用" -#: xpack/plugins/cloud/providers/huaweicloud.py:24 -msgid "AF-Johannesburg" -msgstr "非洲-约翰内斯堡" +#~ msgid "User granted DatabaseApp" +#~ msgstr "用户授权数据库应用" -#: xpack/plugins/cloud/providers/huaweicloud.py:25 -msgid "LA-Santiago" -msgstr "拉美-圣地亚哥" +#~ msgid "Password length" +#~ msgstr "密码长度" -#: xpack/plugins/cloud/providers/qcloud.py:14 -msgid "Tencent Cloud" -msgstr "腾讯云" +#~ msgid "" +#~ "Tips: The username of the user on the asset to be modified. if the user " +#~ "exists, change the password; If the user does not exist, create the user." +#~ msgstr "" +#~ "提示:用户名为将要修改的资产上的用户的用户名。如果用户存在,则修改密码;如" +#~ "果用户不存在,则创建用户。" -#: xpack/plugins/cloud/serializers.py:53 -msgid "History count" -msgstr "用户数量" +#~ msgid "Plan execution list" +#~ msgstr "执行列表" -#: xpack/plugins/cloud/serializers.py:54 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:15 -msgid "Instance count" -msgstr "实例个数" +#~ msgid "Add asset to this plan" +#~ msgstr "添加资产" -#: xpack/plugins/cloud/serializers.py:76 -#: xpack/plugins/gathered_user/serializers.py:20 -msgid "Periodic display" -msgstr "定时执行" +#~ msgid "Add node to this plan" +#~ msgstr "添加节点" -#: xpack/plugins/cloud/templates/cloud/account_detail.html:17 -#: xpack/plugins/cloud/views.py:79 -msgid "Account detail" -msgstr "账户详情" - -#: xpack/plugins/cloud/templates/cloud/account_list.html:5 -#: xpack/plugins/cloud/views.py:45 -msgid "Create account" -msgstr "创建账户" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:33 -msgid "Node & AdminUser" -msgstr "节点 & 管理用户" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_create_update.html:66 -msgid "Load failed" -msgstr "加载失败" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:17 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:19 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:18 -#: xpack/plugins/cloud/views.py:144 -msgid "Sync task detail" -msgstr "同步任务详情" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:20 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:22 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:21 -#: xpack/plugins/cloud/views.py:159 -msgid "Sync task history" -msgstr "同步历史列表" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:23 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:25 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:24 -#: xpack/plugins/cloud/views.py:173 -msgid "Sync instance list" -msgstr "同步实例列表" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:145 -msgid "Run task manually" -msgstr "手动执行任务" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_detail.html:188 -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:102 -msgid "Sync success" -msgstr "同步成功" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:46 -msgid "New count" -msgstr "新增" - -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:47 -msgid "Unsync count" -msgstr "未同步" +#~ msgid "" +#~ "When the user password on the asset is changed, the action is performed " +#~ "using the admin user associated with the asset" +#~ msgstr "更改资产上的用户密码时,将会使用与该资产关联的管理用户进行操作" -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:48 -msgid "Synced count" -msgstr "已同步" +#~ msgid "Length" +#~ msgstr "长度" -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:49 -msgid "Released count" -msgstr "已释放" +#~ msgid "Run plan manually" +#~ msgstr "手动执行计划" -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:63 -msgid "Delete released assets" -msgstr "删除已释放的资产" +#~ msgid "Execute failed" +#~ msgstr "执行失败" -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:5 -msgid "Create sync instance task" -msgstr "创建同步实例任务" +#~ msgid "Execution list of plan" +#~ msgstr "执行历史列表" -#: xpack/plugins/cloud/templates/cloud/sync_instance_task_list.html:14 -msgid "Run count" -msgstr "执行次数" +#~ msgid "Log" +#~ msgstr "日志" -#: xpack/plugins/cloud/utils.py:38 -msgid "Account unavailable" -msgstr "账户无效" +#~ msgid "Retry" +#~ msgstr "重试" -#: xpack/plugins/cloud/views.py:63 -msgid "Update account" -msgstr "更新账户" +#~ msgid "Run failed" +#~ msgstr "执行失败" -#: xpack/plugins/cloud/views.py:93 -msgid "Sync instance task list" -msgstr "同步实例任务列表" +#~ msgid "Create plan" +#~ msgstr "创建计划" -#: xpack/plugins/cloud/views.py:110 -msgid "Create sync Instance task" -msgstr "创建同步实例任务" +#~ msgid "Plan list" +#~ msgstr "计划列表" -#: xpack/plugins/cloud/views.py:128 -msgid "Update sync Instance task" -msgstr "更新同步实例任务" +#~ msgid "Update plan" +#~ 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:69 -msgid "Gathered user" -msgstr "收集用户" +#~ msgid "Plan execution task list" +#~ msgstr "执行任务列表" -#: xpack/plugins/gathered_user/models.py:39 -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:13 -msgid "Gather user task" -msgstr "收集用户任务" +#~ msgid "Select account" +#~ msgstr "选择账户" -#: xpack/plugins/gathered_user/models.py:73 -msgid "Task" -msgstr "任务" +#~ msgid "Select regions" +#~ msgstr "选择地域" -#: xpack/plugins/gathered_user/models.py:85 -msgid "gather user task execution" -msgstr "收集用户执行" +#~ msgid "Select instances" +#~ msgstr "选择实例" -#: xpack/plugins/gathered_user/models.py:91 -msgid "Assets is empty, please change nodes" -msgstr "资产为空,请更改节点" +#~ msgid "Select node" +#~ msgstr "选择节点" -#: xpack/plugins/gathered_user/serializers.py:21 -msgid "Executed times" -msgstr "执行次数" +#~ msgid "Select admins" +#~ msgstr "选择管理员" -#: xpack/plugins/gathered_user/templates/gathered_user/gathered_user_list.html:170 -msgid "Asset user" -msgstr "资产用户" +#~ msgid "Account detail" +#~ msgstr "账户详情" -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:7 -#: xpack/plugins/gathered_user/views.py:50 -msgid "Create task" -msgstr "创建任务" +#~ msgid "Create account" +#~ msgstr "创建账户" -#: xpack/plugins/gathered_user/templates/gathered_user/task_list.html:18 -msgid "Periodic" -msgstr "定时执行" +#~ msgid "Node & AdminUser" +#~ msgstr "节点 & 管理用户" -#: xpack/plugins/gathered_user/views.py:22 -msgid "Gathered user list" -msgstr "收集用户列表" +#~ msgid "Load failed" +#~ msgstr "加载失败" -#: xpack/plugins/gathered_user/views.py:70 -msgid "Update task" -msgstr "更新任务" +#~ msgid "Sync task detail" +#~ msgstr "同步任务详情" -#: xpack/plugins/interface/forms.py:17 xpack/plugins/interface/models.py:15 -msgid "Title of login page" -msgstr "登录页面标题" +#~ msgid "Sync task history" +#~ msgstr "同步历史列表" -#: xpack/plugins/interface/forms.py:19 -msgid "" -"Tips: This will be displayed on the enterprise user login page. (eg: Welcome " -"to the JumpServer open source fortress)" -msgstr "提示:将会显示在企业版用户登录页面(eg: 欢迎使用JumpServer开源堡垒机)" +#~ msgid "Sync instance list" +#~ msgstr "同步实例列表" -#: xpack/plugins/interface/forms.py:25 xpack/plugins/interface/models.py:19 -msgid "Image of login page" -msgstr "登录页面图片" +#~ msgid "Run task manually" +#~ msgstr "手动执行任务" -#: xpack/plugins/interface/forms.py:27 -msgid "" -"Tips: This will be displayed on the enterprise user login page. (suggest " -"image size: 492px*472px)" -msgstr "提示:将会显示在企业版用户登录页面(建议图片大小为: 492*472px)" +#~ msgid "Sync success" +#~ msgstr "同步成功" -#: xpack/plugins/interface/forms.py:33 xpack/plugins/interface/models.py:23 -msgid "Website icon" -msgstr "网站图标" +#~ msgid "New count" +#~ msgstr "新增" -#: xpack/plugins/interface/forms.py:35 -msgid "Tips: website icon. (suggest image size: 16px*16px)" -msgstr "提示:网站图标(建议图片大小为: 16px*16px)" +#~ msgid "Unsync count" +#~ msgstr "未同步" -#: xpack/plugins/interface/forms.py:40 xpack/plugins/interface/models.py:27 -msgid "Logo of management page" -msgstr "管理页面logo" +#~ msgid "Synced count" +#~ msgstr "已同步" -#: xpack/plugins/interface/forms.py:42 -msgid "" -"Tips: This will appear at the top left of the administration page. (suggest " -"image size: 185px*55px)" -msgstr "提示:将会显示在管理页面左上方(建议图片大小为: 185px*55px)" +#~ msgid "Released count" +#~ msgstr "已释放" -#: xpack/plugins/interface/forms.py:48 xpack/plugins/interface/models.py:31 -msgid "Logo of logout page" -msgstr "退出页面logo" +#~ msgid "Delete released assets" +#~ msgstr "删除已释放的资产" -#: xpack/plugins/interface/forms.py:50 -msgid "" -"Tips: This will be displayed on the enterprise user logout page. (suggest " -"image size: 82px*82px)" -msgstr "提示:将会显示在企业版用户退出页面(建议图片大小为:82px*82px)" +#~ msgid "Create sync instance task" +#~ msgstr "创建同步实例任务" -#: xpack/plugins/interface/meta.py:10 -msgid "Interface settings" -msgstr "界面设置" +#~ msgid "Run count" +#~ msgstr "执行次数" -#: xpack/plugins/interface/templates/interface/interface.html:15 -#: xpack/plugins/interface/views.py:24 xpack/plugins/interface/views.py:25 -msgid "Interface setting" -msgstr "界面设置" +#~ msgid "Update account" +#~ msgstr "更新账户" -#: xpack/plugins/interface/templates/interface/interface.html:73 -#: xpack/plugins/interface/templates/interface/interface.html:108 -#: xpack/plugins/interface/templates/interface/interface.html:115 -msgid "Restore Default" -msgstr "恢复默认" +#~ msgid "Sync instance task list" +#~ msgstr "同步实例任务列表" -#: xpack/plugins/interface/templates/interface/interface.html:98 -msgid "This will restore default Settings of the interface !!!" -msgstr "您确定要恢复默认初始化吗?" +#~ msgid "Create sync Instance task" +#~ msgstr "创建同步实例任务" -#: xpack/plugins/interface/templates/interface/interface.html:107 -#: xpack/plugins/interface/views.py:55 -msgid "Restore default successfully." -msgstr "恢复默认成功!" +#~ msgid "Update sync Instance task" +#~ msgstr "更新同步实例任务" -#: xpack/plugins/interface/templates/interface/interface.html:114 -msgid "Restore default failed." -msgstr "恢复默认失败!" +#~ msgid "Asset user" +#~ msgstr "资产用户" -#: xpack/plugins/interface/views.py:51 -msgid "It is already in the default setting state!" -msgstr "当前已经是初始化状态!" +#~ msgid "Create task" +#~ msgstr "创建任务" -#: xpack/plugins/license/api.py:46 xpack/plugins/license/views.py:47 -msgid "License import successfully" -msgstr "许可证导入成功" +#~ msgid "Periodic" +#~ msgstr "定时执行" -#: xpack/plugins/license/api.py:47 xpack/plugins/license/views.py:49 -msgid "License is invalid" -msgstr "无效的许可证" +#~ msgid "Gathered user list" +#~ msgstr "收集用户列表" -#: xpack/plugins/license/meta.py:11 xpack/plugins/license/models.py:94 -#: xpack/plugins/license/templates/license/license_detail.html:41 -#: xpack/plugins/license/templates/license/license_detail.html:46 -#: xpack/plugins/license/views.py:32 -msgid "License" -msgstr "许可证" +#~ msgid "Update task" +#~ msgstr "更新任务" -#: xpack/plugins/license/models.py:74 -msgid "Standard edition" -msgstr "标准版" +#~ msgid "" +#~ "Tips: This will be displayed on the enterprise user login page. (eg: " +#~ "Welcome to the JumpServer open source fortress)" +#~ msgstr "" +#~ "提示:将会显示在企业版用户登录页面(eg: 欢迎使用JumpServer开源堡垒机)" -#: xpack/plugins/license/models.py:76 -msgid "Enterprise edition" -msgstr "企业版" +#~ msgid "" +#~ "Tips: This will be displayed on the enterprise user login page. (suggest " +#~ "image size: 492px*472px)" +#~ msgstr "提示:将会显示在企业版用户登录页面(建议图片大小为: 492*472px)" -#: xpack/plugins/license/models.py:78 -msgid "Ultimate edition" -msgstr "旗舰版" +#~ msgid "Tips: website icon. (suggest image size: 16px*16px)" +#~ msgstr "提示:网站图标(建议图片大小为: 16px*16px)" -#: xpack/plugins/license/templates/license/_license_import_modal.html:4 -#: xpack/plugins/license/templates/license/license_detail.html:86 -msgid "Import license" -msgstr "导入许可证" +#~ msgid "" +#~ "Tips: This will appear at the top left of the administration page. " +#~ "(suggest image size: 185px*55px)" +#~ msgstr "提示:将会显示在管理页面左上方(建议图片大小为: 185px*55px)" -#: xpack/plugins/license/templates/license/_license_import_modal.html:9 -msgid "License file" -msgstr "许可证文件" +#~ msgid "" +#~ "Tips: This will be displayed on the enterprise user logout page. (suggest " +#~ "image size: 82px*82px)" +#~ msgstr "提示:将会显示在企业版用户退出页面(建议图片大小为:82px*82px)" -#: xpack/plugins/license/templates/license/license_detail.html:11 -msgid "Please Import License" -msgstr "请导入许可证" +#~ msgid "Interface setting" +#~ msgstr "界面设置" -#: xpack/plugins/license/templates/license/license_detail.html:13 -#: xpack/plugins/license/templates/license/license_detail.html:47 -msgid "License has expired" -msgstr "许可证已经过期" +#~ msgid "Restore Default" +#~ msgstr "恢复默认" -#: xpack/plugins/license/templates/license/license_detail.html:15 -msgid "The license will at " -msgstr "许可证将在 " +#~ msgid "This will restore default Settings of the interface !!!" +#~ msgstr "您确定要恢复默认初始化吗?" -#: xpack/plugins/license/templates/license/license_detail.html:15 -msgid " expired." -msgstr " 过期。" +#~ msgid "Restore default failed." +#~ msgstr "恢复默认失败!" -#: xpack/plugins/license/templates/license/license_detail.html:28 -#: xpack/plugins/license/views.py:33 -msgid "License detail" -msgstr "许可证详情" +#~ msgid "Import license" +#~ msgstr "导入许可证" -#: xpack/plugins/license/templates/license/license_detail.html:42 -msgid "No license" -msgstr "暂无许可证" +#~ msgid "License file" +#~ msgstr "许可证文件" -#: xpack/plugins/license/templates/license/license_detail.html:51 -msgid "Subscription ID" -msgstr "订阅授权ID" +#~ msgid "Please Import License" +#~ msgstr "请导入许可证" -#: xpack/plugins/license/templates/license/license_detail.html:55 -msgid "Corporation" -msgstr "公司" +#~ msgid "License has expired" +#~ msgstr "许可证已经过期" -#: xpack/plugins/license/templates/license/license_detail.html:59 -msgid "Expired" -msgstr "过期时间" +#~ msgid "The license will at " +#~ msgstr "许可证将在 " -#: xpack/plugins/license/templates/license/license_detail.html:67 -msgid "Edition" -msgstr "版本" +#~ msgid " expired." +#~ msgstr " 过期。" -#: xpack/plugins/license/templates/license/license_detail.html:93 -msgid "Technology consulting" -msgstr "技术咨询" +#~ msgid "License detail" +#~ msgstr "许可证详情" -#: xpack/plugins/license/templates/license/license_detail.html:96 -msgid "Consult" -msgstr "咨询" +#~ msgid "No license" +#~ msgstr "暂无许可证" -#: xpack/plugins/orgs/forms.py:23 -msgid "Select auditor" -msgstr "选择审计员" +#~ msgid "Subscription ID" +#~ msgstr "订阅授权ID" -#: xpack/plugins/orgs/forms.py:28 -#: xpack/plugins/orgs/templates/orgs/org_detail.html:71 -#: xpack/plugins/orgs/templates/orgs/org_list.html:13 -msgid "Admin" -msgstr "管理员" +#~ msgid "Corporation" +#~ msgstr "公司" -#: xpack/plugins/orgs/meta.py:8 xpack/plugins/orgs/views.py:26 -#: xpack/plugins/orgs/views.py:43 xpack/plugins/orgs/views.py:61 -#: xpack/plugins/orgs/views.py:79 -msgid "Organizations" -msgstr "组织管理" +#~ msgid "Expired" +#~ msgstr "过期时间" -#: xpack/plugins/orgs/templates/orgs/org_detail.html:17 -#: xpack/plugins/orgs/views.py:80 -msgid "Org detail" -msgstr "组织详情" +#~ msgid "Edition" +#~ msgstr "版本" -#: xpack/plugins/orgs/templates/orgs/org_detail.html:79 -msgid "Add admin" -msgstr "添加管理员" +#~ msgid "Technology consulting" +#~ msgstr "技术咨询" -#: xpack/plugins/orgs/templates/orgs/org_list.html:5 -msgid "Create organization " -msgstr "创建组织" +#~ msgid "Consult" +#~ msgstr "咨询" -#: xpack/plugins/orgs/views.py:27 -msgid "Org list" -msgstr "组织列表" +#~ msgid "Select auditor" +#~ msgstr "选择审计员" -#: xpack/plugins/orgs/views.py:44 -msgid "Create org" -msgstr "创建组织" +#~ msgid "Admin" +#~ msgstr "管理员" -#: xpack/plugins/orgs/views.py:62 -msgid "Update org" -msgstr "更新组织" +#~ msgid "Organizations" +#~ msgstr "组织管理" -#: xpack/plugins/vault/meta.py:11 xpack/plugins/vault/views.py:23 -#: xpack/plugins/vault/views.py:38 -msgid "Vault" -msgstr "密码匣子" +#~ msgid "Org detail" +#~ msgstr "组织详情" -#: xpack/plugins/vault/templates/vault/_xpack_import_modal.html:4 -msgid "Import vault" -msgstr "导入密码" +#~ msgid "Add admin" +#~ msgstr "添加管理员" -#: xpack/plugins/vault/templates/vault/vault.html:64 -msgid "vault" -msgstr "密码匣子" +#~ msgid "Create organization " +#~ msgstr "创建组织" -#: xpack/plugins/vault/views.py:24 -msgid "vault list" -msgstr "密码匣子" +#~ msgid "Org list" +#~ msgstr "组织列表" -#: xpack/plugins/vault/views.py:39 -msgid "vault create" -msgstr "创建" +#~ msgid "Create org" +#~ msgstr "创建组织" -#~ msgid "CN North-Beijing1" -#~ msgstr "华北-北京1" +#~ msgid "Update org" +#~ msgstr "更新组织" -#~ msgid "CN Northeast-Dalian" -#~ msgstr "华北-大连" +#~ msgid "Vault" +#~ msgstr "密码匣子" -#~ msgid "EU-Paris" -#~ msgstr "欧洲-巴黎" +#~ msgid "Import vault" +#~ msgstr "导入密码" + +#~ msgid "vault" +#~ msgstr "密码匣子" + +#~ msgid "vault list" +#~ msgstr "密码匣子" + +#~ msgid "vault create" +#~ msgstr "创建" #~ msgid "Org users" #~ msgstr "组织用户" diff --git a/apps/static/img/authenticator_android.png b/apps/static/img/authenticator_android.png index cb357525d6bae2703b65ce994d75bf235a3c23a5..9387e83ee2cd46d0053d4554102e8396fc0157f7 100644 GIT binary patch literal 5907 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 Ur>mdKI;Vst0JY&~aR2}S diff --git a/apps/users/templates/users/user_otp_enable_install_app.html b/apps/users/templates/users/user_otp_enable_install_app.html index 37b3e612b..8ac03416e 100644 --- a/apps/users/templates/users/user_otp_enable_install_app.html +++ b/apps/users/templates/users/user_otp_enable_install_app.html @@ -10,7 +10,7 @@

- {% trans 'Download and install the Google Authenticator application on your phone' %} + {% trans 'Download and install the Google Authenticator application on your phone or applet of WeChat' %}

From f26f7ca1e71a89779f9af820e02fac7cbfb54cde Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 15 Jun 2020 16:34:51 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9parsers?= =?UTF-8?q?=EF=BC=8C=E5=A4=84=E7=90=86dict=E5=AD=97=E6=AE=B5=E5=80=BC?= =?UTF-8?q?=EF=BC=9B=E8=A7=A3=E5=86=B3remote-app=20csv=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=97=B6=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/drf/parsers/csv.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/common/drf/parsers/csv.py b/apps/common/drf/parsers/csv.py index 254c73375..95a9ec732 100644 --- a/apps/common/drf/parsers/csv.py +++ b/apps/common/drf/parsers/csv.py @@ -58,6 +58,12 @@ class JMSCSVParser(BaseParser): col = col.replace("“", '"').replace("”", '"').\ replace("‘", '"').replace('’', '"').replace("'", '"') col = json.loads(col) + # 字典转换 + if isinstance(col, str) and col.find("{") != -1 and col.find("}") != -1: + # 替换中文格式引号 + col = col.replace("“", '"').replace("”", '"'). \ + replace("‘", '"').replace('’', '"').replace("'", '"') + col = json.loads(col) _row.append(col) return _row @@ -68,7 +74,7 @@ class JMSCSVParser(BaseParser): """ _row_data = {} for k, v in row_data.items(): - if isinstance(v, list) \ + if isinstance(v, list) or isinstance(v, dict)\ or isinstance(v, str) and k.strip() and v.strip(): _row_data[k] = v return _row_data From 5bea782b9fb4fd2adb71c3dbf80658239b1b584f Mon Sep 17 00:00:00 2001 From: Eric_Lee Date: Mon, 15 Jun 2020 17:24:05 +0800 Subject: [PATCH 4/4] add assignee field for ticket (#4104) --- apps/tickets/serializers/ticket.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tickets/serializers/ticket.py b/apps/tickets/serializers/ticket.py index 9c7a5a2e3..0f564ad70 100644 --- a/apps/tickets/serializers/ticket.py +++ b/apps/tickets/serializers/ticket.py @@ -13,7 +13,7 @@ class TicketSerializer(serializers.ModelSerializer): model = models.Ticket fields = [ 'id', 'user', 'user_display', 'title', 'body', - 'assignees', 'assignees_display', + 'assignees', 'assignees_display', 'assignee', 'assignee_display', 'status', 'action', 'date_created', 'date_updated', 'type', 'type_display', 'action_display', ]