feat: 快速命令新增告警级别: Warning

pull/11010/head
fangfang.dong 2023-07-19 10:11:47 +08:00 committed by Bryan
parent aa744c0fec
commit 02fc9a730b
7 changed files with 302 additions and 243 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-17 17:12+0800\n" "POT-Creation-Date: 2023-07-19 09:58+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -194,14 +194,15 @@ msgstr "作成のみ"
#: accounts/serializers/account/gathered_account.py:10 #: accounts/serializers/account/gathered_account.py:10
#: accounts/serializers/automations/change_secret.py:112 #: accounts/serializers/automations/change_secret.py:112
#: accounts/serializers/automations/change_secret.py:132 #: accounts/serializers/automations/change_secret.py:132
#: acls/serializers/base.py:119 assets/models/asset/common.py:93 #: acls/serializers/base.py:123 assets/models/asset/common.py:93
#: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36 #: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36
#: assets/serializers/domain.py:19 assets/serializers/label.py:27 #: assets/serializers/domain.py:19 assets/serializers/label.py:27
#: audits/models.py:53 authentication/models/connection_token.py:36 #: audits/models.py:53 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34 #: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:147 terminal/serializers/command.py:18 #: terminal/notifications.py:179 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:39 #: terminal/templates/terminal/_msg_command_warning.html:36
#: terminal/templates/terminal/_msg_command_warning.html:82
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
msgid "Asset" msgid "Asset"
msgstr "資産" msgstr "資産"
@ -231,11 +232,12 @@ msgstr "ソース ID"
#: accounts/models/account.py:61 #: accounts/models/account.py:61
#: accounts/serializers/automations/change_secret.py:113 #: accounts/serializers/automations/change_secret.py:113
#: accounts/serializers/automations/change_secret.py:133 #: accounts/serializers/automations/change_secret.py:133
#: acls/serializers/base.py:120 assets/serializers/asset/common.py:125 #: acls/serializers/base.py:124 assets/serializers/asset/common.py:125
#: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18 #: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39 #: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
#: terminal/backends/command/models.py:19 terminal/models/session/session.py:33 #: terminal/backends/command/models.py:19 terminal/models/session/session.py:33
#: terminal/templates/terminal/_msg_command_warning.html:45 #: terminal/templates/terminal/_msg_command_warning.html:42
#: terminal/templates/terminal/_msg_command_warning.html:83
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
msgid "Account" msgid "Account"
msgstr "アカウント" msgstr "アカウント"
@ -286,7 +288,7 @@ msgstr "アカウントバックアップ計画"
#: accounts/models/automations/backup_account.py:83 #: accounts/models/automations/backup_account.py:83
#: assets/models/automations/base.py:115 audits/models.py:60 #: assets/models/automations/base.py:115 audits/models.py:60
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192 #: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:194
#: ops/templates/ops/celery_task_log.html:75 #: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137 #: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137
#: terminal/models/session/session.py:44 #: terminal/models/session/session.py:44
@ -410,7 +412,7 @@ msgstr "開始日"
#: accounts/models/automations/change_secret.py:91 #: accounts/models/automations/change_secret.py:91
#: assets/models/automations/base.py:116 ops/models/base.py:56 #: assets/models/automations/base.py:116 ops/models/base.py:56
#: ops/models/celery.py:64 ops/models/job.py:193 #: ops/models/celery.py:64 ops/models/job.py:195
#: terminal/models/applet/host.py:138 #: terminal/models/applet/host.py:138
msgid "Date finished" msgid "Date finished"
msgstr "終了日" msgstr "終了日"
@ -436,7 +438,7 @@ msgstr "最終ログイン日"
#: accounts/models/automations/gather_account.py:17 #: accounts/models/automations/gather_account.py:17
#: accounts/models/automations/push_account.py:15 accounts/models/base.py:34 #: accounts/models/automations/push_account.py:15 accounts/models/base.py:34
#: acls/serializers/base.py:18 acls/serializers/base.py:49 #: acls/serializers/base.py:19 acls/serializers/base.py:50
#: assets/models/_user.py:23 audits/models.py:179 authentication/forms.py:25 #: assets/models/_user.py:23 audits/models.py:179 authentication/forms.py:25
#: authentication/forms.py:27 authentication/models/temp_token.py:9 #: authentication/forms.py:27 authentication/models/temp_token.py:9
#: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_different_city.html:9
@ -468,8 +470,8 @@ msgstr "アカウントのコレクション"
msgid "Triggers" msgid "Triggers"
msgstr "トリガー方式" msgstr "トリガー方式"
#: accounts/models/automations/push_account.py:16 acls/models/base.py:48 #: accounts/models/automations/push_account.py:16 acls/models/base.py:41
#: acls/serializers/base.py:56 assets/models/cmd_filter.py:81 #: acls/serializers/base.py:57 assets/models/cmd_filter.py:81
#: audits/models.py:87 audits/serializers.py:82 #: audits/models.py:87 audits/serializers.py:82
#: authentication/serializers/connect_token_secret.py:116 #: authentication/serializers/connect_token_secret.py:116
#: authentication/templates/authentication/_access_key_modal.html:34 #: authentication/templates/authentication/_access_key_modal.html:34
@ -484,8 +486,8 @@ msgstr "アカウントプッシュ"
msgid "Verify asset account" msgid "Verify asset account"
msgstr "アカウントの確認" msgstr "アカウントの確認"
#: accounts/models/base.py:33 acls/models/base.py:42 acls/models/base.py:103 #: accounts/models/base.py:33 acls/models/base.py:35 acls/models/base.py:96
#: acls/models/command_acl.py:21 acls/serializers/base.py:34 #: acls/models/command_acl.py:21 acls/serializers/base.py:35
#: applications/models.py:9 assets/models/_user.py:22 #: applications/models.py:9 assets/models/_user.py:22
#: assets/models/asset/common.py:91 assets/models/asset/common.py:149 #: assets/models/asset/common.py:91 assets/models/asset/common.py:149
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18 #: assets/models/cmd_filter.py:21 assets/models/domain.py:18
@ -495,7 +497,7 @@ msgstr "アカウントの確認"
#: assets/serializers/platform.py:209 #: assets/serializers/platform.py:209
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21 #: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57 #: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
#: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20 #: ops/models/job.py:94 ops/models/playbook.py:23 ops/serializers/job.py:20
#: orgs/models.py:80 perms/models/asset_permission.py:56 rbac/models/role.py:29 #: orgs/models.py:80 perms/models/asset_permission.py:56 rbac/models/role.py:29
#: settings/models.py:33 settings/serializers/sms.py:6 #: settings/models.py:33 settings/serializers/sms.py:6
#: terminal/models/applet/applet.py:32 terminal/models/component/endpoint.py:12 #: terminal/models/applet/applet.py:32 terminal/models/component/endpoint.py:12
@ -585,7 +587,7 @@ msgstr "カテゴリ"
#: assets/models/cmd_filter.py:74 assets/models/platform.py:90 #: assets/models/cmd_filter.py:74 assets/models/platform.py:90
#: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111 #: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111
#: assets/serializers/platform.py:126 audits/serializers.py:48 #: assets/serializers/platform.py:126 audits/serializers.py:48
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103 #: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:105
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38
#: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
@ -618,10 +620,10 @@ msgid "Changed"
msgstr "編集済み" msgstr "編集済み"
#: accounts/serializers/account/account.py:250 #: accounts/serializers/account/account.py:250
#: accounts/serializers/automations/base.py:22 acls/models/base.py:104 #: accounts/serializers/automations/base.py:22 acls/models/base.py:97
#: assets/models/automations/base.py:19 #: assets/models/automations/base.py:19
#: assets/serializers/automations/base.py:20 ops/models/base.py:17 #: assets/serializers/automations/base.py:20 ops/models/base.py:17
#: ops/models/job.py:105 ops/serializers/job.py:21 #: ops/models/job.py:107 ops/serializers/job.py:21
#: terminal/templates/terminal/_msg_command_execute_alert.html:16 #: terminal/templates/terminal/_msg_command_execute_alert.html:16
msgid "Assets" msgid "Assets"
msgstr "資産" msgstr "資産"
@ -646,7 +648,7 @@ msgstr "アカウントはすでに存在しています"
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#: accounts/serializers/account/account.py:427 acls/serializers/base.py:112 #: accounts/serializers/account/account.py:427 acls/serializers/base.py:116
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:49 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:49
#: audits/models.py:85 audits/models.py:163 #: audits/models.py:85 audits/models.py:163
#: authentication/models/connection_token.py:32 #: authentication/models/connection_token.py:32
@ -656,9 +658,10 @@ msgstr "ID"
#: perms/serializers/permission.py:30 rbac/builtin.py:123 #: perms/serializers/permission.py:30 rbac/builtin.py:123
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17
#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32 #: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:148 terminal/notifications.py:196 #: terminal/notifications.py:180 terminal/notifications.py:228
#: terminal/serializers/command.py:17 #: terminal/serializers/command.py:17
#: terminal/templates/terminal/_msg_command_warning.html:33 #: terminal/templates/terminal/_msg_command_warning.html:30
#: terminal/templates/terminal/_msg_command_warning.html:81
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947
#: users/models/user.py:978 users/serializers/group.py:18 #: users/models/user.py:978 users/serializers/group.py:18
msgid "User" msgid "User"
@ -666,7 +669,7 @@ msgstr "ユーザー"
#: accounts/serializers/account/account.py:428 #: accounts/serializers/account/account.py:428
#: authentication/templates/authentication/_access_key_modal.html:33 #: authentication/templates/authentication/_access_key_modal.html:33
#: terminal/notifications.py:150 terminal/notifications.py:198 #: terminal/notifications.py:182 terminal/notifications.py:230
msgid "Date" msgid "Date"
msgstr "日付" msgstr "日付"
@ -794,39 +797,39 @@ msgstr "秘密鍵が無効またはpassphraseエラー"
msgid "Acls" msgid "Acls"
msgstr "Acls" msgstr "Acls"
#: acls/models/base.py:21 terminal/const.py:11 tickets/const.py:45 #: acls/const.py:6 terminal/const.py:11 tickets/const.py:45
#: tickets/templates/tickets/approve_check_password.html:49 #: tickets/templates/tickets/approve_check_password.html:49
msgid "Reject" msgid "Reject"
msgstr "拒否" msgstr "拒否"
#: acls/models/base.py:22 terminal/const.py:9 #: acls/const.py:7 terminal/const.py:9
msgid "Accept" msgid "Accept"
msgstr "受け入れられる" msgstr "受け入れられる"
#: acls/models/base.py:23 #: acls/const.py:8
msgid "Review" msgid "Review"
msgstr "レビュー担当者" msgstr "レビュー担当者"
#: acls/models/base.py:24 terminal/const.py:10 #: acls/const.py:9 terminal/const.py:10
msgid "Warning" msgid "Warning"
msgstr "警告" msgstr "警告"
#: acls/models/base.py:44 assets/models/_user.py:51 #: acls/models/base.py:37 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:93 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:93
msgid "Priority" msgid "Priority"
msgstr "優先順位" msgstr "優先順位"
#: acls/models/base.py:45 assets/models/_user.py:51 #: acls/models/base.py:38 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:94 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:94
msgid "1-100, the lower the value will be match first" msgid "1-100, the lower the value will be match first"
msgstr "1-100、低い値は最初に一致します" msgstr "1-100、低い値は最初に一致します"
#: acls/models/base.py:49 assets/models/cmd_filter.py:86 #: acls/models/base.py:42 assets/models/cmd_filter.py:86
#: authentication/serializers/connect_token_secret.py:88 #: authentication/serializers/connect_token_secret.py:88
msgid "Reviewers" msgid "Reviewers"
msgstr "レビュー担当者" msgstr "レビュー担当者"
#: acls/models/base.py:50 authentication/models/access_key.py:17 #: acls/models/base.py:43 authentication/models/access_key.py:17
#: authentication/models/connection_token.py:53 #: authentication/models/connection_token.py:53
#: authentication/templates/authentication/_access_key_modal.html:32 #: authentication/templates/authentication/_access_key_modal.html:32
#: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:27 #: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:27
@ -834,11 +837,11 @@ msgstr "レビュー担当者"
msgid "Active" msgid "Active"
msgstr "アクティブ" msgstr "アクティブ"
#: acls/models/base.py:88 users/apps.py:9 #: acls/models/base.py:81 users/apps.py:9
msgid "Users" msgid "Users"
msgstr "ユーザー" msgstr "ユーザー"
#: acls/models/base.py:105 assets/models/automations/base.py:17 #: acls/models/base.py:98 assets/models/automations/base.py:17
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:305 #: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:305
#: rbac/tree.py:35 #: rbac/tree.py:35
msgid "Accounts" msgid "Accounts"
@ -849,7 +852,8 @@ msgstr "アカウント"
#: terminal/models/session/session.py:42 terminal/serializers/command.py:19 #: terminal/models/session/session.py:42 terminal/serializers/command.py:19
#: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10 #: terminal/templates/terminal/_msg_command_execute_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:51 #: terminal/templates/terminal/_msg_command_warning.html:48
#: terminal/templates/terminal/_msg_command_warning.html:90
msgid "Command" msgid "Command"
msgstr "コマンド" msgstr "コマンド"
@ -881,7 +885,8 @@ msgid "The generated regular expression is incorrect: {}"
msgstr "生成された正規表現が正しくありません: {}" msgstr "生成された正規表現が正しくありません: {}"
#: acls/models/command_acl.py:100 #: acls/models/command_acl.py:100
#: terminal/templates/terminal/_msg_command_warning.html:57 #: terminal/templates/terminal/_msg_command_warning.html:54
#: terminal/templates/terminal/_msg_command_warning.html:92
msgid "Command acl" msgid "Command acl"
msgstr "コマンドフィルタリング" msgstr "コマンドフィルタリング"
@ -918,11 +923,11 @@ msgstr "ログインasset acl"
msgid "Login asset confirm" msgid "Login asset confirm"
msgstr "ログイン資産の確認" msgstr "ログイン資産の確認"
#: acls/serializers/base.py:10 acls/serializers/login_acl.py:11 #: acls/serializers/base.py:11 acls/serializers/login_acl.py:11
msgid "With * indicating a match all. " msgid "With * indicating a match all. "
msgstr "* はすべて一致することを示します。" msgstr "* はすべて一致することを示します。"
#: acls/serializers/base.py:25 #: acls/serializers/base.py:26
msgid "" msgid ""
"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, "
"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name "
@ -932,19 +937,19 @@ msgstr ""
"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64 (ドメイン名サ" "10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64 (ドメイン名サ"
"ポート)" "ポート)"
#: acls/serializers/base.py:40 assets/serializers/asset/host.py:19 #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19
msgid "IP/Host" msgid "IP/Host"
msgstr "IP/ホスト" msgstr "IP/ホスト"
#: acls/serializers/base.py:87 #: acls/serializers/base.py:91
msgid "Recipients" msgid "Recipients"
msgstr "受信者" msgstr "受信者"
#: acls/serializers/base.py:99 tickets/serializers/ticket/ticket.py:77 #: acls/serializers/base.py:103 tickets/serializers/ticket/ticket.py:77
msgid "The organization `{}` does not exist" msgid "The organization `{}` does not exist"
msgstr "組織 '{}'は存在しません" msgstr "組織 '{}'は存在しません"
#: acls/serializers/base.py:105 #: acls/serializers/base.py:109
msgid "None of the reviewers belong to Organization `{}`" msgid "None of the reviewers belong to Organization `{}`"
msgstr "いずれのレビューアも組織 '{}' に属していません" msgstr "いずれのレビューアも組織 '{}' に属していません"
@ -990,7 +995,7 @@ msgstr "アプリケーション"
msgid "Can match application" msgid "Can match application"
msgstr "アプリケーションを一致させることができます" msgstr "アプリケーションを一致させることができます"
#: assets/api/asset/asset.py:153 #: assets/api/asset/asset.py:157
msgid "Cannot create asset directly, you should create a host or other" msgid "Cannot create asset directly, you should create a host or other"
msgstr "" msgstr ""
"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま" "資産を直接作成することはできません。ホストまたはその他を作成する必要がありま"
@ -1235,7 +1240,7 @@ msgstr "SSHパブリックキー"
#: assets/models/_user.py:27 assets/models/cmd_filter.py:40 #: assets/models/_user.py:27 assets/models/cmd_filter.py:40
#: assets/models/cmd_filter.py:88 assets/models/group.py:20 #: assets/models/cmd_filter.py:88 assets/models/group.py:20
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111 #: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:113
#: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38 #: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38
#: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248 #: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248
#: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24 #: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24
@ -1248,7 +1253,7 @@ msgstr "コメント"
#: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/_user.py:28 assets/models/automations/base.py:114
#: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: assets/models/cmd_filter.py:41 assets/models/group.py:19
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:193
#: users/models/user.py:979 #: users/models/user.py:979
msgid "Date created" msgid "Date created"
msgstr "作成された日付" msgstr "作成された日付"
@ -1416,7 +1421,7 @@ msgstr "証明書チェックを無視"
msgid "Proxy" msgid "Proxy"
msgstr "プロキシー" msgstr "プロキシー"
#: assets/models/automations/base.py:22 ops/models/job.py:187 #: assets/models/automations/base.py:22 ops/models/job.py:189
#: settings/serializers/auth/sms.py:99 #: settings/serializers/auth/sms.py:99
msgid "Parameters" msgid "Parameters"
msgstr "パラメータ" msgstr "パラメータ"
@ -1430,7 +1435,7 @@ msgid "Asset automation task"
msgstr "アセットの自動化タスク" msgstr "アセットの自動化タスク"
#: assets/models/automations/base.py:113 audits/models.py:199 #: assets/models/automations/base.py:113 audits/models.py:199
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184 #: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:186
#: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136 #: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18 #: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
#: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283 #: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283
@ -1992,7 +1997,8 @@ msgid "Rename dir"
msgstr "マップディレクトリ" msgstr "マップディレクトリ"
#: audits/const.py:23 rbac/tree.py:229 #: audits/const.py:23 rbac/tree.py:229
#: terminal/templates/terminal/_msg_command_warning.html:71 #: terminal/templates/terminal/_msg_command_warning.html:68
#: terminal/templates/terminal/_msg_command_warning.html:96
msgid "View" msgid "View"
msgstr "表示" msgstr "表示"
@ -2076,7 +2082,8 @@ msgstr "書類"
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18 #: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18
#: terminal/models/session/sharing.py:81 #: terminal/models/session/sharing.py:81
#: terminal/templates/terminal/_msg_command_alert.html:10 #: terminal/templates/terminal/_msg_command_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:69 #: terminal/templates/terminal/_msg_command_warning.html:66
#: terminal/templates/terminal/_msg_command_warning.html:95
#: tickets/models/ticket/command_confirm.py:15 #: tickets/models/ticket/command_confirm.py:15
msgid "Session" msgid "Session"
msgstr "セッション" msgstr "セッション"
@ -2265,16 +2272,16 @@ msgstr "ACL アクションはレビューです"
msgid "Current user not support mfa type: {}" msgid "Current user not support mfa type: {}"
msgstr "現在のユーザーはmfaタイプをサポートしていません: {}" msgstr "現在のユーザーはmfaタイプをサポートしていません: {}"
#: authentication/api/password.py:31 terminal/api/session/session.py:259 #: authentication/api/password.py:32 terminal/api/session/session.py:259
#: users/views/profile/reset.py:44 #: users/views/profile/reset.py:44
msgid "User does not exist: {}" msgid "User does not exist: {}"
msgstr "ユーザーが存在しない: {}" msgstr "ユーザーが存在しない: {}"
#: authentication/api/password.py:31 users/views/profile/reset.py:127 #: authentication/api/password.py:32 users/views/profile/reset.py:127
msgid "No user matched" msgid "No user matched"
msgstr "ユーザーにマッチしなかった" msgstr "ユーザーにマッチしなかった"
#: authentication/api/password.py:35 #: authentication/api/password.py:36
msgid "" msgid ""
"The user is from {}, please go to the corresponding system to change the " "The user is from {}, please go to the corresponding system to change the "
"password" "password"
@ -2282,7 +2289,7 @@ msgstr ""
"ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ" "ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ"
"さい。" "さい。"
#: authentication/api/password.py:59 #: authentication/api/password.py:60
#: authentication/templates/authentication/login.html:305 #: authentication/templates/authentication/login.html:305
#: users/templates/users/forgot_password.html:27 #: users/templates/users/forgot_password.html:27
#: users/templates/users/forgot_password.html:28 #: users/templates/users/forgot_password.html:28
@ -2618,7 +2625,7 @@ msgstr "電話番号を設定して有効にする"
msgid "Clear phone number to disable" msgid "Clear phone number to disable"
msgstr "無効にする電話番号をクリアする" msgstr "無効にする電話番号をクリアする"
#: authentication/middleware.py:93 settings/utils/ldap.py:657 #: authentication/middleware.py:93 settings/utils/ldap.py:661
msgid "Authentication failed (before login check failed): {}" msgid "Authentication failed (before login check failed): {}"
msgstr "認証に失敗しました (ログインチェックが失敗する前): {}" msgstr "認証に失敗しました (ログインチェックが失敗する前): {}"
@ -2877,7 +2884,7 @@ msgstr "コードエラー"
#: authentication/templates/authentication/_msg_reset_password_code.html:9 #: authentication/templates/authentication/_msg_reset_password_code.html:9
#: authentication/templates/authentication/_msg_rest_password_success.html:2 #: authentication/templates/authentication/_msg_rest_password_success.html:2
#: authentication/templates/authentication/_msg_rest_public_key_success.html:2 #: authentication/templates/authentication/_msg_rest_public_key_success.html:2
#: jumpserver/conf.py:426 #: jumpserver/conf.py:427
#: perms/templates/perms/_msg_item_permissions_expire.html:3 #: perms/templates/perms/_msg_item_permissions_expire.html:3
#: perms/templates/perms/_msg_permed_items_expire.html:3 #: perms/templates/perms/_msg_permed_items_expire.html:3
#: tickets/templates/tickets/approve_check_password.html:33 #: tickets/templates/tickets/approve_check_password.html:33
@ -3471,11 +3478,11 @@ msgstr "検索のエクスポート: %s"
msgid "User %s view/export secret" msgid "User %s view/export secret"
msgstr "ユーザー %s がパスワードを閲覧/導き出しました" msgstr "ユーザー %s がパスワードを閲覧/導き出しました"
#: jumpserver/conf.py:425 #: jumpserver/conf.py:426
msgid "Create account successfully" msgid "Create account successfully"
msgstr "アカウントを正常に作成" msgstr "アカウントを正常に作成"
#: jumpserver/conf.py:427 #: jumpserver/conf.py:428
msgid "Your account has been created successfully" msgid "Your account has been created successfully"
msgstr "アカウントが正常に作成されました" msgstr "アカウントが正常に作成されました"
@ -3615,7 +3622,7 @@ msgstr "VCS"
msgid "Adhoc" msgid "Adhoc"
msgstr "コマンド#コマンド#" msgstr "コマンド#コマンド#"
#: ops/const.py:39 ops/models/job.py:101 #: ops/const.py:39 ops/models/job.py:103
msgid "Playbook" msgid "Playbook"
msgstr "Playbook" msgstr "Playbook"
@ -3672,17 +3679,17 @@ msgstr "定期的または定期的に設定を行う必要があります"
msgid "Pattern" msgid "Pattern"
msgstr "パターン" msgstr "パターン"
#: ops/models/adhoc.py:24 ops/models/job.py:96 #: ops/models/adhoc.py:24 ops/models/job.py:98
msgid "Module" msgid "Module"
msgstr "モジュール" msgstr "モジュール"
#: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:95 #: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:97
#: terminal/models/component/task.py:16 #: terminal/models/component/task.py:16
msgid "Args" msgid "Args"
msgstr "アルグ" msgstr "アルグ"
#: ops/models/adhoc.py:26 ops/models/base.py:16 ops/models/base.py:53 #: ops/models/adhoc.py:26 ops/models/base.py:16 ops/models/base.py:53
#: ops/models/job.py:104 ops/models/job.py:190 ops/models/playbook.py:25 #: ops/models/job.py:106 ops/models/job.py:192 ops/models/playbook.py:25
#: terminal/models/session/sharing.py:23 #: terminal/models/session/sharing.py:23
msgid "Creator" msgid "Creator"
msgstr "作成者" msgstr "作成者"
@ -3699,12 +3706,12 @@ msgstr "最後の実行"
msgid "Date last run" msgid "Date last run"
msgstr "最終実行日" msgstr "最終実行日"
#: ops/models/base.py:51 ops/models/job.py:188 #: ops/models/base.py:51 ops/models/job.py:190
#: xpack/plugins/cloud/models.py:162 #: xpack/plugins/cloud/models.py:162
msgid "Result" msgid "Result"
msgstr "結果" msgstr "結果"
#: ops/models/base.py:52 ops/models/job.py:189 #: ops/models/base.py:52 ops/models/job.py:191
msgid "Summary" msgid "Summary"
msgstr "概要" msgstr "概要"
@ -3737,43 +3744,43 @@ msgstr "発売日"
msgid "Celery Task Execution" msgid "Celery Task Execution"
msgstr "Celery タスク実行" msgstr "Celery タスク実行"
#: ops/models/job.py:98 #: ops/models/job.py:100
msgid "Chdir" msgid "Chdir"
msgstr "実行ディレクトリ" msgstr "実行ディレクトリ"
#: ops/models/job.py:99 #: ops/models/job.py:101
msgid "Timeout (Seconds)" msgid "Timeout (Seconds)"
msgstr "タイムアウト(秒)" msgstr "タイムアウト(秒)"
#: ops/models/job.py:106 #: ops/models/job.py:108
msgid "Use Parameter Define" msgid "Use Parameter Define"
msgstr "パラメータ定義を使用する" msgstr "パラメータ定義を使用する"
#: ops/models/job.py:107 #: ops/models/job.py:109
msgid "Parameters define" msgid "Parameters define"
msgstr "パラメータ定義" msgstr "パラメータ定義"
#: ops/models/job.py:108 #: ops/models/job.py:110
msgid "Runas" msgid "Runas"
msgstr "ユーザーとして実行" msgstr "ユーザーとして実行"
#: ops/models/job.py:110 #: ops/models/job.py:112
msgid "Runas policy" msgid "Runas policy"
msgstr "ユーザー ポリシー" msgstr "ユーザー ポリシー"
#: ops/models/job.py:172 #: ops/models/job.py:174
msgid "Job" msgid "Job"
msgstr "ジョブ#ジョブ#" msgstr "ジョブ#ジョブ#"
#: ops/models/job.py:195 #: ops/models/job.py:197
msgid "Material" msgid "Material"
msgstr "Material" msgstr "Material"
#: ops/models/job.py:197 #: ops/models/job.py:199
msgid "Material Type" msgid "Material Type"
msgstr "Material を選択してオプションを設定します。" msgstr "Material を選択してオプションを設定します。"
#: ops/models/job.py:461 #: ops/models/job.py:482
msgid "Job Execution" msgid "Job Execution"
msgstr "ジョブ実行" msgstr "ジョブ実行"
@ -3919,7 +3926,8 @@ msgstr "アプリ組織"
#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89 #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89
#: rbac/const.py:7 rbac/models/rolebinding.py:56 #: rbac/const.py:7 rbac/models/rolebinding.py:56
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63
#: terminal/templates/terminal/_msg_command_warning.html:75 #: terminal/templates/terminal/_msg_command_warning.html:72
#: terminal/templates/terminal/_msg_command_warning.html:98
#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60 #: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60
msgid "Organization" msgid "Organization"
msgstr "組織" msgstr "組織"
@ -5361,100 +5369,100 @@ msgstr "LDAP ユーザーを定期的にインポートする"
msgid "Registration periodic import ldap user task" msgid "Registration periodic import ldap user task"
msgstr "登録サイクルLDAPユーザータスクのインポート" msgstr "登録サイクルLDAPユーザータスクのインポート"
#: settings/utils/ldap.py:472 #: settings/utils/ldap.py:476
msgid "ldap:// or ldaps:// protocol is used." msgid "ldap:// or ldaps:// protocol is used."
msgstr "ldap:// または ldaps:// プロトコルが使用されます。" msgstr "ldap:// または ldaps:// プロトコルが使用されます。"
#: settings/utils/ldap.py:483 #: settings/utils/ldap.py:487
msgid "Host or port is disconnected: {}" msgid "Host or port is disconnected: {}"
msgstr "ホストまたはポートが切断されました: {}" msgstr "ホストまたはポートが切断されました: {}"
#: settings/utils/ldap.py:485 #: settings/utils/ldap.py:489
msgid "The port is not the port of the LDAP service: {}" msgid "The port is not the port of the LDAP service: {}"
msgstr "ポートはLDAPサービスのポートではありません: {}" msgstr "ポートはLDAPサービスのポートではありません: {}"
#: settings/utils/ldap.py:487 #: settings/utils/ldap.py:491
msgid "Please add certificate: {}" msgid "Please add certificate: {}"
msgstr "証明書を追加してください: {}" msgstr "証明書を追加してください: {}"
#: settings/utils/ldap.py:491 settings/utils/ldap.py:518 #: settings/utils/ldap.py:495 settings/utils/ldap.py:522
#: settings/utils/ldap.py:548 settings/utils/ldap.py:576 #: settings/utils/ldap.py:552 settings/utils/ldap.py:580
msgid "Unknown error: {}" msgid "Unknown error: {}"
msgstr "不明なエラー: {}" msgstr "不明なエラー: {}"
#: settings/utils/ldap.py:505 #: settings/utils/ldap.py:509
msgid "Bind DN or Password incorrect" msgid "Bind DN or Password incorrect"
msgstr "DNまたはパスワードのバインドが正しくありません" msgstr "DNまたはパスワードのバインドが正しくありません"
#: settings/utils/ldap.py:512 #: settings/utils/ldap.py:516
msgid "Please enter Bind DN: {}" msgid "Please enter Bind DN: {}"
msgstr "バインドDN: {} を入力してください" msgstr "バインドDN: {} を入力してください"
#: settings/utils/ldap.py:514 #: settings/utils/ldap.py:518
msgid "Please enter Password: {}" msgid "Please enter Password: {}"
msgstr "パスワードを入力してください: {}" msgstr "パスワードを入力してください: {}"
#: settings/utils/ldap.py:516 #: settings/utils/ldap.py:520
msgid "Please enter correct Bind DN and Password: {}" msgid "Please enter correct Bind DN and Password: {}"
msgstr "正しいバインドDNとパスワードを入力してください: {}" msgstr "正しいバインドDNとパスワードを入力してください: {}"
#: settings/utils/ldap.py:534 #: settings/utils/ldap.py:538
msgid "Invalid User OU or User search filter: {}" msgid "Invalid User OU or User search filter: {}"
msgstr "無効なユーザー OU またはユーザー検索フィルター: {}" msgstr "無効なユーザー OU またはユーザー検索フィルター: {}"
#: settings/utils/ldap.py:565 #: settings/utils/ldap.py:569
msgid "LDAP User attr map not include: {}" msgid "LDAP User attr map not include: {}"
msgstr "LDAP ユーザーattrマップは含まれません: {}" msgstr "LDAP ユーザーattrマップは含まれません: {}"
#: settings/utils/ldap.py:572 #: settings/utils/ldap.py:576
msgid "LDAP User attr map is not dict" msgid "LDAP User attr map is not dict"
msgstr "LDAPユーザーattrマップはdictではありません" msgstr "LDAPユーザーattrマップはdictではありません"
#: settings/utils/ldap.py:591 #: settings/utils/ldap.py:595
msgid "LDAP authentication is not enabled" msgid "LDAP authentication is not enabled"
msgstr "LDAP 認証が有効になっていない" msgstr "LDAP 認証が有効になっていない"
#: settings/utils/ldap.py:609 #: settings/utils/ldap.py:613
msgid "Error (Invalid LDAP server): {}" msgid "Error (Invalid LDAP server): {}"
msgstr "エラー (LDAPサーバーが無効): {}" msgstr "エラー (LDAPサーバーが無効): {}"
#: settings/utils/ldap.py:611 #: settings/utils/ldap.py:615
msgid "Error (Invalid Bind DN): {}" msgid "Error (Invalid Bind DN): {}"
msgstr "エラー (DNのバインドが無効): {}" msgstr "エラー (DNのバインドが無効): {}"
#: settings/utils/ldap.py:613 #: settings/utils/ldap.py:617
msgid "Error (Invalid LDAP User attr map): {}" msgid "Error (Invalid LDAP User attr map): {}"
msgstr "エラー (LDAPユーザーattrマップが無効): {}" msgstr "エラー (LDAPユーザーattrマップが無効): {}"
#: settings/utils/ldap.py:615 #: settings/utils/ldap.py:619
msgid "Error (Invalid User OU or User search filter): {}" msgid "Error (Invalid User OU or User search filter): {}"
msgstr "エラー (ユーザーOUまたはユーザー検索フィルターが無効): {}" msgstr "エラー (ユーザーOUまたはユーザー検索フィルターが無効): {}"
#: settings/utils/ldap.py:617 #: settings/utils/ldap.py:621
msgid "Error (Not enabled LDAP authentication): {}" msgid "Error (Not enabled LDAP authentication): {}"
msgstr "エラー (LDAP認証が有効化されていません): {}" msgstr "エラー (LDAP認証が有効化されていません): {}"
#: settings/utils/ldap.py:619 #: settings/utils/ldap.py:623
msgid "Error (Unknown): {}" msgid "Error (Unknown): {}"
msgstr "エラー (不明): {}" msgstr "エラー (不明): {}"
#: settings/utils/ldap.py:622 #: settings/utils/ldap.py:626
msgid "Succeed: Match {} s user" msgid "Succeed: Match {} s user"
msgstr "成功: {} 人のユーザーに一致" msgstr "成功: {} 人のユーザーに一致"
#: settings/utils/ldap.py:655 #: settings/utils/ldap.py:659
msgid "Authentication failed (configuration incorrect): {}" msgid "Authentication failed (configuration incorrect): {}"
msgstr "認証に失敗しました (設定が正しくありません): {}" msgstr "認証に失敗しました (設定が正しくありません): {}"
#: settings/utils/ldap.py:659 #: settings/utils/ldap.py:663
msgid "Authentication failed (username or password incorrect): {}" msgid "Authentication failed (username or password incorrect): {}"
msgstr "認証に失敗しました (ユーザー名またはパスワードが正しくありません): {}" msgstr "認証に失敗しました (ユーザー名またはパスワードが正しくありません): {}"
#: settings/utils/ldap.py:661 #: settings/utils/ldap.py:665
msgid "Authentication failed (Unknown): {}" msgid "Authentication failed (Unknown): {}"
msgstr "認証に失敗しました (不明): {}" msgstr "認証に失敗しました (不明): {}"
#: settings/utils/ldap.py:664 #: settings/utils/ldap.py:668
msgid "Authentication success: {}" msgid "Authentication success: {}"
msgstr "認証成功: {}" msgstr "認証成功: {}"
@ -5695,7 +5703,7 @@ msgstr "テスト失敗: {}"
msgid "Test successful" msgid "Test successful"
msgstr "テスト成功" msgstr "テスト成功"
#: terminal/api/component/storage.py:124 terminal/notifications.py:231 #: terminal/api/component/storage.py:124 terminal/notifications.py:263
#: terminal/tasks.py:144 #: terminal/tasks.py:144
msgid "Test failure: Account invalid" msgid "Test failure: Account invalid"
msgstr "テスト失敗: アカウントが無効" msgstr "テスト失敗: アカウントが無効"
@ -5733,6 +5741,7 @@ msgid "Output"
msgstr "出力" msgstr "出力"
#: terminal/backends/command/models.py:25 terminal/serializers/command.py:23 #: terminal/backends/command/models.py:25 terminal/serializers/command.py:23
#: terminal/templates/terminal/_msg_command_warning.html:91
msgid "Risk level" msgid "Risk level"
msgstr "リスクレベル" msgstr "リスクレベル"
@ -6077,36 +6086,35 @@ msgstr "検証コードが無効"
msgid "You have already joined this session" msgid "You have already joined this session"
msgstr "すでにこのセッションに参加しています" msgstr "すでにこのセッションに参加しています"
#: terminal/notifications.py:22 #: terminal/notifications.py:24
msgid "Sessions" msgid "Sessions"
msgstr "セッション" msgstr "セッション"
#: terminal/notifications.py:69 #: terminal/notifications.py:71
#: terminal/templates/terminal/_msg_command_warning.html:5 msgid "Command warning"
msgid "Danger command warning" msgstr "コマンド警告"
msgstr "危険コマンドアラート"
#: terminal/notifications.py:122 #: terminal/notifications.py:154
msgid "Danger command alert" msgid "Command reject"
msgstr "危険コマンドアラート" msgstr "コマンド拒否"
#: terminal/notifications.py:149 terminal/notifications.py:197 #: terminal/notifications.py:181 terminal/notifications.py:229
msgid "Level" msgid "Level"
msgstr "レベル" msgstr "レベル"
#: terminal/notifications.py:167 #: terminal/notifications.py:199
msgid "Batch danger command alert" msgid "Batch danger command alert"
msgstr "一括危険コマンド警告" msgstr "一括危険コマンド警告"
#: terminal/notifications.py:215 #: terminal/notifications.py:247
msgid "Command and replay storage" msgid "Command and replay storage"
msgstr "コマンド及び録画記憶" msgstr "コマンド及び録画記憶"
#: terminal/notifications.py:216 #: terminal/notifications.py:248
msgid "Connectivity alarm" msgid "Connectivity alarm"
msgstr "接続性アラーム" msgstr "接続性アラーム"
#: terminal/notifications.py:241 #: terminal/notifications.py:273
#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 #: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4
msgid "Invalid storage" msgid "Invalid storage"
msgstr "無効なストレージ" msgstr "無効なストレージ"
@ -6383,15 +6391,16 @@ msgstr "チェックコマンドと録画ストレージの接続性"
msgid "view" msgid "view"
msgstr "表示" msgstr "表示"
#: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_command_warning.html:18
msgid "Item" msgid "Item"
msgstr "アイテム" msgstr "アイテム"
#: terminal/templates/terminal/_msg_command_warning.html:25 #: terminal/templates/terminal/_msg_command_warning.html:22
msgid "Url" msgid "Url"
msgstr "リンク" msgstr "リンク"
#: terminal/templates/terminal/_msg_command_warning.html:63 #: terminal/templates/terminal/_msg_command_warning.html:60
#: terminal/templates/terminal/_msg_command_warning.html:93
msgid "Command acl group" msgid "Command acl group"
msgstr "コマンドフィルタリンググループ" msgstr "コマンドフィルタリンググループ"
@ -7887,3 +7896,6 @@ msgstr "究極のエディション"
#: xpack/plugins/license/models.py:86 #: xpack/plugins/license/models.py:86
msgid "Community edition" msgid "Community edition"
msgstr "コミュニティ版" msgstr "コミュニティ版"
#~ msgid "Danger command alert"
#~ msgstr "危険コマンドアラート"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n" "Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-17 17:12+0800\n" "POT-Creation-Date: 2023-07-19 10:00+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n" "Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n" "Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -193,14 +193,15 @@ msgstr "仅创建"
#: accounts/serializers/account/gathered_account.py:10 #: accounts/serializers/account/gathered_account.py:10
#: accounts/serializers/automations/change_secret.py:112 #: accounts/serializers/automations/change_secret.py:112
#: accounts/serializers/automations/change_secret.py:132 #: accounts/serializers/automations/change_secret.py:132
#: acls/serializers/base.py:119 assets/models/asset/common.py:93 #: acls/serializers/base.py:123 assets/models/asset/common.py:93
#: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36 #: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36
#: assets/serializers/domain.py:19 assets/serializers/label.py:27 #: assets/serializers/domain.py:19 assets/serializers/label.py:27
#: audits/models.py:53 authentication/models/connection_token.py:36 #: audits/models.py:53 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34 #: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:147 terminal/serializers/command.py:18 #: terminal/notifications.py:179 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:39 #: terminal/templates/terminal/_msg_command_warning.html:36
#: terminal/templates/terminal/_msg_command_warning.html:82
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
msgid "Asset" msgid "Asset"
msgstr "资产" msgstr "资产"
@ -230,11 +231,12 @@ msgstr "来源 ID"
#: accounts/models/account.py:61 #: accounts/models/account.py:61
#: accounts/serializers/automations/change_secret.py:113 #: accounts/serializers/automations/change_secret.py:113
#: accounts/serializers/automations/change_secret.py:133 #: accounts/serializers/automations/change_secret.py:133
#: acls/serializers/base.py:120 assets/serializers/asset/common.py:125 #: acls/serializers/base.py:124 assets/serializers/asset/common.py:125
#: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18 #: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39 #: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
#: terminal/backends/command/models.py:19 terminal/models/session/session.py:33 #: terminal/backends/command/models.py:19 terminal/models/session/session.py:33
#: terminal/templates/terminal/_msg_command_warning.html:45 #: terminal/templates/terminal/_msg_command_warning.html:42
#: terminal/templates/terminal/_msg_command_warning.html:83
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
msgid "Account" msgid "Account"
msgstr "账号" msgstr "账号"
@ -285,7 +287,7 @@ msgstr "账号备份计划"
#: accounts/models/automations/backup_account.py:83 #: accounts/models/automations/backup_account.py:83
#: assets/models/automations/base.py:115 audits/models.py:60 #: assets/models/automations/base.py:115 audits/models.py:60
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192 #: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:194
#: ops/templates/ops/celery_task_log.html:75 #: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137 #: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137
#: terminal/models/session/session.py:44 #: terminal/models/session/session.py:44
@ -409,7 +411,7 @@ msgstr "开始日期"
#: accounts/models/automations/change_secret.py:91 #: accounts/models/automations/change_secret.py:91
#: assets/models/automations/base.py:116 ops/models/base.py:56 #: assets/models/automations/base.py:116 ops/models/base.py:56
#: ops/models/celery.py:64 ops/models/job.py:193 #: ops/models/celery.py:64 ops/models/job.py:195
#: terminal/models/applet/host.py:138 #: terminal/models/applet/host.py:138
msgid "Date finished" msgid "Date finished"
msgstr "结束日期" msgstr "结束日期"
@ -435,7 +437,7 @@ msgstr "最后登录日期"
#: accounts/models/automations/gather_account.py:17 #: accounts/models/automations/gather_account.py:17
#: accounts/models/automations/push_account.py:15 accounts/models/base.py:34 #: accounts/models/automations/push_account.py:15 accounts/models/base.py:34
#: acls/serializers/base.py:18 acls/serializers/base.py:49 #: acls/serializers/base.py:19 acls/serializers/base.py:50
#: assets/models/_user.py:23 audits/models.py:179 authentication/forms.py:25 #: assets/models/_user.py:23 audits/models.py:179 authentication/forms.py:25
#: authentication/forms.py:27 authentication/models/temp_token.py:9 #: authentication/forms.py:27 authentication/models/temp_token.py:9
#: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_different_city.html:9
@ -467,8 +469,8 @@ msgstr "收集账号"
msgid "Triggers" msgid "Triggers"
msgstr "触发方式" msgstr "触发方式"
#: accounts/models/automations/push_account.py:16 acls/models/base.py:48 #: accounts/models/automations/push_account.py:16 acls/models/base.py:41
#: acls/serializers/base.py:56 assets/models/cmd_filter.py:81 #: acls/serializers/base.py:57 assets/models/cmd_filter.py:81
#: audits/models.py:87 audits/serializers.py:82 #: audits/models.py:87 audits/serializers.py:82
#: authentication/serializers/connect_token_secret.py:116 #: authentication/serializers/connect_token_secret.py:116
#: authentication/templates/authentication/_access_key_modal.html:34 #: authentication/templates/authentication/_access_key_modal.html:34
@ -483,8 +485,8 @@ msgstr "账号推送"
msgid "Verify asset account" msgid "Verify asset account"
msgstr "账号验证" msgstr "账号验证"
#: accounts/models/base.py:33 acls/models/base.py:42 acls/models/base.py:103 #: accounts/models/base.py:33 acls/models/base.py:35 acls/models/base.py:96
#: acls/models/command_acl.py:21 acls/serializers/base.py:34 #: acls/models/command_acl.py:21 acls/serializers/base.py:35
#: applications/models.py:9 assets/models/_user.py:22 #: applications/models.py:9 assets/models/_user.py:22
#: assets/models/asset/common.py:91 assets/models/asset/common.py:149 #: assets/models/asset/common.py:91 assets/models/asset/common.py:149
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18 #: assets/models/cmd_filter.py:21 assets/models/domain.py:18
@ -494,7 +496,7 @@ msgstr "账号验证"
#: assets/serializers/platform.py:209 #: assets/serializers/platform.py:209
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21 #: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57 #: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
#: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20 #: ops/models/job.py:94 ops/models/playbook.py:23 ops/serializers/job.py:20
#: orgs/models.py:80 perms/models/asset_permission.py:56 rbac/models/role.py:29 #: orgs/models.py:80 perms/models/asset_permission.py:56 rbac/models/role.py:29
#: settings/models.py:33 settings/serializers/sms.py:6 #: settings/models.py:33 settings/serializers/sms.py:6
#: terminal/models/applet/applet.py:32 terminal/models/component/endpoint.py:12 #: terminal/models/applet/applet.py:32 terminal/models/component/endpoint.py:12
@ -581,7 +583,7 @@ msgstr "类别"
#: assets/models/cmd_filter.py:74 assets/models/platform.py:90 #: assets/models/cmd_filter.py:74 assets/models/platform.py:90
#: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111 #: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111
#: assets/serializers/platform.py:126 audits/serializers.py:48 #: assets/serializers/platform.py:126 audits/serializers.py:48
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103 #: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:105
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38
#: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
@ -614,10 +616,10 @@ msgid "Changed"
msgstr "已修改" msgstr "已修改"
#: accounts/serializers/account/account.py:250 #: accounts/serializers/account/account.py:250
#: accounts/serializers/automations/base.py:22 acls/models/base.py:104 #: accounts/serializers/automations/base.py:22 acls/models/base.py:97
#: assets/models/automations/base.py:19 #: assets/models/automations/base.py:19
#: assets/serializers/automations/base.py:20 ops/models/base.py:17 #: assets/serializers/automations/base.py:20 ops/models/base.py:17
#: ops/models/job.py:105 ops/serializers/job.py:21 #: ops/models/job.py:107 ops/serializers/job.py:21
#: terminal/templates/terminal/_msg_command_execute_alert.html:16 #: terminal/templates/terminal/_msg_command_execute_alert.html:16
msgid "Assets" msgid "Assets"
msgstr "资产" msgstr "资产"
@ -642,7 +644,7 @@ msgstr "账号已存在"
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#: accounts/serializers/account/account.py:427 acls/serializers/base.py:112 #: accounts/serializers/account/account.py:427 acls/serializers/base.py:116
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:49 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:49
#: audits/models.py:85 audits/models.py:163 #: audits/models.py:85 audits/models.py:163
#: authentication/models/connection_token.py:32 #: authentication/models/connection_token.py:32
@ -652,9 +654,10 @@ msgstr "ID"
#: perms/serializers/permission.py:30 rbac/builtin.py:123 #: perms/serializers/permission.py:30 rbac/builtin.py:123
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17
#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32 #: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:148 terminal/notifications.py:196 #: terminal/notifications.py:180 terminal/notifications.py:228
#: terminal/serializers/command.py:17 #: terminal/serializers/command.py:17
#: terminal/templates/terminal/_msg_command_warning.html:33 #: terminal/templates/terminal/_msg_command_warning.html:30
#: terminal/templates/terminal/_msg_command_warning.html:81
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947
#: users/models/user.py:978 users/serializers/group.py:18 #: users/models/user.py:978 users/serializers/group.py:18
msgid "User" msgid "User"
@ -662,7 +665,7 @@ msgstr "用户"
#: accounts/serializers/account/account.py:428 #: accounts/serializers/account/account.py:428
#: authentication/templates/authentication/_access_key_modal.html:33 #: authentication/templates/authentication/_access_key_modal.html:33
#: terminal/notifications.py:150 terminal/notifications.py:198 #: terminal/notifications.py:182 terminal/notifications.py:230
msgid "Date" msgid "Date"
msgstr "日期" msgstr "日期"
@ -790,39 +793,39 @@ msgstr "密钥不合法或密钥密码错误"
msgid "Acls" msgid "Acls"
msgstr "访问控制" msgstr "访问控制"
#: acls/models/base.py:21 terminal/const.py:11 tickets/const.py:45 #: acls/const.py:6 terminal/const.py:11 tickets/const.py:45
#: tickets/templates/tickets/approve_check_password.html:49 #: tickets/templates/tickets/approve_check_password.html:49
msgid "Reject" msgid "Reject"
msgstr "拒绝" msgstr "拒绝"
#: acls/models/base.py:22 terminal/const.py:9 #: acls/const.py:7 terminal/const.py:9
msgid "Accept" msgid "Accept"
msgstr "接受" msgstr "接受"
#: acls/models/base.py:23 #: acls/const.py:8
msgid "Review" msgid "Review"
msgstr "审批" msgstr "审批"
#: acls/models/base.py:24 terminal/const.py:10 #: acls/const.py:9 terminal/const.py:10
msgid "Warning" msgid "Warning"
msgstr "告警" msgstr "告警"
#: acls/models/base.py:44 assets/models/_user.py:51 #: acls/models/base.py:37 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:93 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:93
msgid "Priority" msgid "Priority"
msgstr "优先级" msgstr "优先级"
#: acls/models/base.py:45 assets/models/_user.py:51 #: acls/models/base.py:38 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:94 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:94
msgid "1-100, the lower the value will be match first" msgid "1-100, the lower the value will be match first"
msgstr "优先级可选范围为 1-100 (数值越小越优先)" msgstr "优先级可选范围为 1-100 (数值越小越优先)"
#: acls/models/base.py:49 assets/models/cmd_filter.py:86 #: acls/models/base.py:42 assets/models/cmd_filter.py:86
#: authentication/serializers/connect_token_secret.py:88 #: authentication/serializers/connect_token_secret.py:88
msgid "Reviewers" msgid "Reviewers"
msgstr "审批人" msgstr "审批人"
#: acls/models/base.py:50 authentication/models/access_key.py:17 #: acls/models/base.py:43 authentication/models/access_key.py:17
#: authentication/models/connection_token.py:53 #: authentication/models/connection_token.py:53
#: authentication/templates/authentication/_access_key_modal.html:32 #: authentication/templates/authentication/_access_key_modal.html:32
#: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:27 #: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:27
@ -830,11 +833,11 @@ msgstr "审批人"
msgid "Active" msgid "Active"
msgstr "激活中" msgstr "激活中"
#: acls/models/base.py:88 users/apps.py:9 #: acls/models/base.py:81 users/apps.py:9
msgid "Users" msgid "Users"
msgstr "用户管理" msgstr "用户管理"
#: acls/models/base.py:105 assets/models/automations/base.py:17 #: acls/models/base.py:98 assets/models/automations/base.py:17
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:305 #: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:305
#: rbac/tree.py:35 #: rbac/tree.py:35
msgid "Accounts" msgid "Accounts"
@ -845,7 +848,8 @@ msgstr "账号管理"
#: terminal/models/session/session.py:42 terminal/serializers/command.py:19 #: terminal/models/session/session.py:42 terminal/serializers/command.py:19
#: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10 #: terminal/templates/terminal/_msg_command_execute_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:51 #: terminal/templates/terminal/_msg_command_warning.html:48
#: terminal/templates/terminal/_msg_command_warning.html:90
msgid "Command" msgid "Command"
msgstr "命令" msgstr "命令"
@ -877,7 +881,8 @@ msgid "The generated regular expression is incorrect: {}"
msgstr "生成的正则表达式有误" msgstr "生成的正则表达式有误"
#: acls/models/command_acl.py:100 #: acls/models/command_acl.py:100
#: terminal/templates/terminal/_msg_command_warning.html:57 #: terminal/templates/terminal/_msg_command_warning.html:54
#: terminal/templates/terminal/_msg_command_warning.html:92
msgid "Command acl" msgid "Command acl"
msgstr "命令过滤" msgstr "命令过滤"
@ -914,11 +919,11 @@ msgstr "登录资产访问控制"
msgid "Login asset confirm" msgid "Login asset confirm"
msgstr "登录资产复核" msgstr "登录资产复核"
#: acls/serializers/base.py:10 acls/serializers/login_acl.py:11 #: acls/serializers/base.py:11 acls/serializers/login_acl.py:11
msgid "With * indicating a match all. " msgid "With * indicating a match all. "
msgstr "* 表示匹配所有. " msgstr "* 表示匹配所有. "
#: acls/serializers/base.py:25 #: acls/serializers/base.py:26
msgid "" msgid ""
"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, "
"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name "
@ -927,19 +932,19 @@ msgstr ""
"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" "* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:"
"db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)" "db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)"
#: acls/serializers/base.py:40 assets/serializers/asset/host.py:19 #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19
msgid "IP/Host" msgid "IP/Host"
msgstr "IP/主机" msgstr "IP/主机"
#: acls/serializers/base.py:87 #: acls/serializers/base.py:91
msgid "Recipients" msgid "Recipients"
msgstr "接收人" msgstr "接收人"
#: acls/serializers/base.py:99 tickets/serializers/ticket/ticket.py:77 #: acls/serializers/base.py:103 tickets/serializers/ticket/ticket.py:77
msgid "The organization `{}` does not exist" msgid "The organization `{}` does not exist"
msgstr "组织 `{}` 不存在" msgstr "组织 `{}` 不存在"
#: acls/serializers/base.py:105 #: acls/serializers/base.py:109
msgid "None of the reviewers belong to Organization `{}`" msgid "None of the reviewers belong to Organization `{}`"
msgstr "所有复核人都不属于组织 `{}`" msgstr "所有复核人都不属于组织 `{}`"
@ -985,7 +990,7 @@ msgstr "应用程序"
msgid "Can match application" msgid "Can match application"
msgstr "匹配应用" msgstr "匹配应用"
#: assets/api/asset/asset.py:153 #: assets/api/asset/asset.py:157
msgid "Cannot create asset directly, you should create a host or other" msgid "Cannot create asset directly, you should create a host or other"
msgstr "不能直接创建资产, 你应该创建主机或其他资产" msgstr "不能直接创建资产, 你应该创建主机或其他资产"
@ -1228,7 +1233,7 @@ msgstr "SSH公钥"
#: assets/models/_user.py:27 assets/models/cmd_filter.py:40 #: assets/models/_user.py:27 assets/models/cmd_filter.py:40
#: assets/models/cmd_filter.py:88 assets/models/group.py:20 #: assets/models/cmd_filter.py:88 assets/models/group.py:20
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111 #: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:113
#: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38 #: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38
#: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248 #: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248
#: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24 #: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24
@ -1241,7 +1246,7 @@ msgstr "备注"
#: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/_user.py:28 assets/models/automations/base.py:114
#: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: assets/models/cmd_filter.py:41 assets/models/group.py:19
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:193
#: users/models/user.py:979 #: users/models/user.py:979
msgid "Date created" msgid "Date created"
msgstr "创建日期" msgstr "创建日期"
@ -1409,7 +1414,7 @@ msgstr "忽略证书校验"
msgid "Proxy" msgid "Proxy"
msgstr "代理" msgstr "代理"
#: assets/models/automations/base.py:22 ops/models/job.py:187 #: assets/models/automations/base.py:22 ops/models/job.py:189
#: settings/serializers/auth/sms.py:99 #: settings/serializers/auth/sms.py:99
msgid "Parameters" msgid "Parameters"
msgstr "参数" msgstr "参数"
@ -1423,7 +1428,7 @@ msgid "Asset automation task"
msgstr "资产自动化任务" msgstr "资产自动化任务"
#: assets/models/automations/base.py:113 audits/models.py:199 #: assets/models/automations/base.py:113 audits/models.py:199
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184 #: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:186
#: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136 #: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18 #: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
#: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283 #: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283
@ -1976,7 +1981,8 @@ msgid "Rename dir"
msgstr "映射目录" msgstr "映射目录"
#: audits/const.py:23 rbac/tree.py:229 #: audits/const.py:23 rbac/tree.py:229
#: terminal/templates/terminal/_msg_command_warning.html:71 #: terminal/templates/terminal/_msg_command_warning.html:68
#: terminal/templates/terminal/_msg_command_warning.html:96
msgid "View" msgid "View"
msgstr "查看" msgstr "查看"
@ -2060,7 +2066,8 @@ msgstr "文件"
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18 #: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18
#: terminal/models/session/sharing.py:81 #: terminal/models/session/sharing.py:81
#: terminal/templates/terminal/_msg_command_alert.html:10 #: terminal/templates/terminal/_msg_command_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:69 #: terminal/templates/terminal/_msg_command_warning.html:66
#: terminal/templates/terminal/_msg_command_warning.html:95
#: tickets/models/ticket/command_confirm.py:15 #: tickets/models/ticket/command_confirm.py:15
msgid "Session" msgid "Session"
msgstr "会话" msgstr "会话"
@ -2247,22 +2254,22 @@ msgstr "ACL 动作是复核"
msgid "Current user not support mfa type: {}" msgid "Current user not support mfa type: {}"
msgstr "当前用户不支持 MFA 类型: {}" msgstr "当前用户不支持 MFA 类型: {}"
#: authentication/api/password.py:31 terminal/api/session/session.py:259 #: authentication/api/password.py:32 terminal/api/session/session.py:259
#: users/views/profile/reset.py:44 #: users/views/profile/reset.py:44
msgid "User does not exist: {}" msgid "User does not exist: {}"
msgstr "用户不存在: {}" msgstr "用户不存在: {}"
#: authentication/api/password.py:31 users/views/profile/reset.py:127 #: authentication/api/password.py:32 users/views/profile/reset.py:127
msgid "No user matched" msgid "No user matched"
msgstr "没有匹配到用户" msgstr "没有匹配到用户"
#: authentication/api/password.py:35 #: authentication/api/password.py:36
msgid "" msgid ""
"The user is from {}, please go to the corresponding system to change the " "The user is from {}, please go to the corresponding system to change the "
"password" "password"
msgstr "用户来自 {} 请去相应系统修改密码" msgstr "用户来自 {} 请去相应系统修改密码"
#: authentication/api/password.py:59 #: authentication/api/password.py:60
#: authentication/templates/authentication/login.html:305 #: authentication/templates/authentication/login.html:305
#: users/templates/users/forgot_password.html:27 #: users/templates/users/forgot_password.html:27
#: users/templates/users/forgot_password.html:28 #: users/templates/users/forgot_password.html:28
@ -2588,7 +2595,7 @@ msgstr "设置手机号码启用"
msgid "Clear phone number to disable" msgid "Clear phone number to disable"
msgstr "清空手机号码禁用" msgstr "清空手机号码禁用"
#: authentication/middleware.py:93 settings/utils/ldap.py:657 #: authentication/middleware.py:93 settings/utils/ldap.py:661
msgid "Authentication failed (before login check failed): {}" msgid "Authentication failed (before login check failed): {}"
msgstr "认证失败(登录前检查失败): {}" msgstr "认证失败(登录前检查失败): {}"
@ -2845,7 +2852,7 @@ msgstr "代码错误"
#: authentication/templates/authentication/_msg_reset_password_code.html:9 #: authentication/templates/authentication/_msg_reset_password_code.html:9
#: authentication/templates/authentication/_msg_rest_password_success.html:2 #: authentication/templates/authentication/_msg_rest_password_success.html:2
#: authentication/templates/authentication/_msg_rest_public_key_success.html:2 #: authentication/templates/authentication/_msg_rest_public_key_success.html:2
#: jumpserver/conf.py:426 #: jumpserver/conf.py:427
#: perms/templates/perms/_msg_item_permissions_expire.html:3 #: perms/templates/perms/_msg_item_permissions_expire.html:3
#: perms/templates/perms/_msg_permed_items_expire.html:3 #: perms/templates/perms/_msg_permed_items_expire.html:3
#: tickets/templates/tickets/approve_check_password.html:33 #: tickets/templates/tickets/approve_check_password.html:33
@ -3429,11 +3436,11 @@ msgstr "导出搜素: %s"
msgid "User %s view/export secret" msgid "User %s view/export secret"
msgstr "用户 %s 查看/导出 了密码" msgstr "用户 %s 查看/导出 了密码"
#: jumpserver/conf.py:425 #: jumpserver/conf.py:426
msgid "Create account successfully" msgid "Create account successfully"
msgstr "创建账号成功" msgstr "创建账号成功"
#: jumpserver/conf.py:427 #: jumpserver/conf.py:428
msgid "Your account has been created successfully" msgid "Your account has been created successfully"
msgstr "你的账号已创建成功" msgstr "你的账号已创建成功"
@ -3568,7 +3575,7 @@ msgstr "VCS"
msgid "Adhoc" msgid "Adhoc"
msgstr "命令" msgstr "命令"
#: ops/const.py:39 ops/models/job.py:101 #: ops/const.py:39 ops/models/job.py:103
msgid "Playbook" msgid "Playbook"
msgstr "Playbook" msgstr "Playbook"
@ -3625,17 +3632,17 @@ msgstr "需要周期或定期设置"
msgid "Pattern" msgid "Pattern"
msgstr "模式" msgstr "模式"
#: ops/models/adhoc.py:24 ops/models/job.py:96 #: ops/models/adhoc.py:24 ops/models/job.py:98
msgid "Module" msgid "Module"
msgstr "模块" msgstr "模块"
#: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:95 #: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:97
#: terminal/models/component/task.py:16 #: terminal/models/component/task.py:16
msgid "Args" msgid "Args"
msgstr "参数" msgstr "参数"
#: ops/models/adhoc.py:26 ops/models/base.py:16 ops/models/base.py:53 #: ops/models/adhoc.py:26 ops/models/base.py:16 ops/models/base.py:53
#: ops/models/job.py:104 ops/models/job.py:190 ops/models/playbook.py:25 #: ops/models/job.py:106 ops/models/job.py:192 ops/models/playbook.py:25
#: terminal/models/session/sharing.py:23 #: terminal/models/session/sharing.py:23
msgid "Creator" msgid "Creator"
msgstr "创建者" msgstr "创建者"
@ -3652,12 +3659,12 @@ msgstr "最后执行"
msgid "Date last run" msgid "Date last run"
msgstr "最后运行日期" msgstr "最后运行日期"
#: ops/models/base.py:51 ops/models/job.py:188 #: ops/models/base.py:51 ops/models/job.py:190
#: xpack/plugins/cloud/models.py:162 #: xpack/plugins/cloud/models.py:162
msgid "Result" msgid "Result"
msgstr "结果" msgstr "结果"
#: ops/models/base.py:52 ops/models/job.py:189 #: ops/models/base.py:52 ops/models/job.py:191
msgid "Summary" msgid "Summary"
msgstr "汇总" msgstr "汇总"
@ -3690,43 +3697,43 @@ msgstr "发布日期"
msgid "Celery Task Execution" msgid "Celery Task Execution"
msgstr "Celery 任务执行" msgstr "Celery 任务执行"
#: ops/models/job.py:98 #: ops/models/job.py:100
msgid "Chdir" msgid "Chdir"
msgstr "运行目录" msgstr "运行目录"
#: ops/models/job.py:99 #: ops/models/job.py:101
msgid "Timeout (Seconds)" msgid "Timeout (Seconds)"
msgstr "超时时间(秒)" msgstr "超时时间(秒)"
#: ops/models/job.py:106 #: ops/models/job.py:108
msgid "Use Parameter Define" msgid "Use Parameter Define"
msgstr "使用参数定义" msgstr "使用参数定义"
#: ops/models/job.py:107 #: ops/models/job.py:109
msgid "Parameters define" msgid "Parameters define"
msgstr "参数定义" msgstr "参数定义"
#: ops/models/job.py:108 #: ops/models/job.py:110
msgid "Runas" msgid "Runas"
msgstr "运行用户" msgstr "运行用户"
#: ops/models/job.py:110 #: ops/models/job.py:112
msgid "Runas policy" msgid "Runas policy"
msgstr "用户策略" msgstr "用户策略"
#: ops/models/job.py:172 #: ops/models/job.py:174
msgid "Job" msgid "Job"
msgstr "作业" msgstr "作业"
#: ops/models/job.py:195 #: ops/models/job.py:197
msgid "Material" msgid "Material"
msgstr "Material" msgstr "Material"
#: ops/models/job.py:197 #: ops/models/job.py:199
msgid "Material Type" msgid "Material Type"
msgstr "Material 类型" msgstr "Material 类型"
#: ops/models/job.py:461 #: ops/models/job.py:482
msgid "Job Execution" msgid "Job Execution"
msgstr "作业执行" msgstr "作业执行"
@ -3871,7 +3878,8 @@ msgstr "组织管理"
#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89 #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89
#: rbac/const.py:7 rbac/models/rolebinding.py:56 #: rbac/const.py:7 rbac/models/rolebinding.py:56
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63
#: terminal/templates/terminal/_msg_command_warning.html:75 #: terminal/templates/terminal/_msg_command_warning.html:72
#: terminal/templates/terminal/_msg_command_warning.html:98
#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60 #: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60
msgid "Organization" msgid "Organization"
msgstr "组织" msgstr "组织"
@ -5284,100 +5292,100 @@ msgstr "周期导入 LDAP 用户"
msgid "Registration periodic import ldap user task" msgid "Registration periodic import ldap user task"
msgstr "注册周期导入 LDAP 用户 任务" msgstr "注册周期导入 LDAP 用户 任务"
#: settings/utils/ldap.py:472 #: settings/utils/ldap.py:476
msgid "ldap:// or ldaps:// protocol is used." msgid "ldap:// or ldaps:// protocol is used."
msgstr "使用 ldap:// 或 ldaps:// 协议" msgstr "使用 ldap:// 或 ldaps:// 协议"
#: settings/utils/ldap.py:483 #: settings/utils/ldap.py:487
msgid "Host or port is disconnected: {}" msgid "Host or port is disconnected: {}"
msgstr "主机或端口不可连接: {}" msgstr "主机或端口不可连接: {}"
#: settings/utils/ldap.py:485 #: settings/utils/ldap.py:489
msgid "The port is not the port of the LDAP service: {}" msgid "The port is not the port of the LDAP service: {}"
msgstr "端口不是LDAP服务端口: {}" msgstr "端口不是LDAP服务端口: {}"
#: settings/utils/ldap.py:487 #: settings/utils/ldap.py:491
msgid "Please add certificate: {}" msgid "Please add certificate: {}"
msgstr "请添加证书" msgstr "请添加证书"
#: settings/utils/ldap.py:491 settings/utils/ldap.py:518 #: settings/utils/ldap.py:495 settings/utils/ldap.py:522
#: settings/utils/ldap.py:548 settings/utils/ldap.py:576 #: settings/utils/ldap.py:552 settings/utils/ldap.py:580
msgid "Unknown error: {}" msgid "Unknown error: {}"
msgstr "未知错误: {}" msgstr "未知错误: {}"
#: settings/utils/ldap.py:505 #: settings/utils/ldap.py:509
msgid "Bind DN or Password incorrect" msgid "Bind DN or Password incorrect"
msgstr "绑定DN或密码错误" msgstr "绑定DN或密码错误"
#: settings/utils/ldap.py:512 #: settings/utils/ldap.py:516
msgid "Please enter Bind DN: {}" msgid "Please enter Bind DN: {}"
msgstr "请输入绑定DN: {}" msgstr "请输入绑定DN: {}"
#: settings/utils/ldap.py:514 #: settings/utils/ldap.py:518
msgid "Please enter Password: {}" msgid "Please enter Password: {}"
msgstr "请输入密码: {}" msgstr "请输入密码: {}"
#: settings/utils/ldap.py:516 #: settings/utils/ldap.py:520
msgid "Please enter correct Bind DN and Password: {}" msgid "Please enter correct Bind DN and Password: {}"
msgstr "请输入正确的绑定DN和密码: {}" msgstr "请输入正确的绑定DN和密码: {}"
#: settings/utils/ldap.py:534 #: settings/utils/ldap.py:538
msgid "Invalid User OU or User search filter: {}" msgid "Invalid User OU or User search filter: {}"
msgstr "不合法的用户OU或用户过滤器: {}" msgstr "不合法的用户OU或用户过滤器: {}"
#: settings/utils/ldap.py:565 #: settings/utils/ldap.py:569
msgid "LDAP User attr map not include: {}" msgid "LDAP User attr map not include: {}"
msgstr "LDAP属性映射没有包含: {}" msgstr "LDAP属性映射没有包含: {}"
#: settings/utils/ldap.py:572 #: settings/utils/ldap.py:576
msgid "LDAP User attr map is not dict" msgid "LDAP User attr map is not dict"
msgstr "LDAP属性映射不合法" msgstr "LDAP属性映射不合法"
#: settings/utils/ldap.py:591 #: settings/utils/ldap.py:595
msgid "LDAP authentication is not enabled" msgid "LDAP authentication is not enabled"
msgstr "LDAP认证没有启用" msgstr "LDAP认证没有启用"
#: settings/utils/ldap.py:609 #: settings/utils/ldap.py:613
msgid "Error (Invalid LDAP server): {}" msgid "Error (Invalid LDAP server): {}"
msgstr "错误 不合法的LDAP服务器地址: {}" msgstr "错误 不合法的LDAP服务器地址: {}"
#: settings/utils/ldap.py:611 #: settings/utils/ldap.py:615
msgid "Error (Invalid Bind DN): {}" msgid "Error (Invalid Bind DN): {}"
msgstr "错误不合法的绑定DN: {}" msgstr "错误不合法的绑定DN: {}"
#: settings/utils/ldap.py:613 #: settings/utils/ldap.py:617
msgid "Error (Invalid LDAP User attr map): {}" msgid "Error (Invalid LDAP User attr map): {}"
msgstr "错误不合法的LDAP属性映射: {}" msgstr "错误不合法的LDAP属性映射: {}"
#: settings/utils/ldap.py:615 #: settings/utils/ldap.py:619
msgid "Error (Invalid User OU or User search filter): {}" msgid "Error (Invalid User OU or User search filter): {}"
msgstr "错误不合法的用户OU或用户过滤器: {}" msgstr "错误不合法的用户OU或用户过滤器: {}"
#: settings/utils/ldap.py:617 #: settings/utils/ldap.py:621
msgid "Error (Not enabled LDAP authentication): {}" msgid "Error (Not enabled LDAP authentication): {}"
msgstr "错误没有启用LDAP认证: {}" msgstr "错误没有启用LDAP认证: {}"
#: settings/utils/ldap.py:619 #: settings/utils/ldap.py:623
msgid "Error (Unknown): {}" msgid "Error (Unknown): {}"
msgstr "错误(未知): {}" msgstr "错误(未知): {}"
#: settings/utils/ldap.py:622 #: settings/utils/ldap.py:626
msgid "Succeed: Match {} s user" msgid "Succeed: Match {} s user"
msgstr "成功匹配 {} 个用户" msgstr "成功匹配 {} 个用户"
#: settings/utils/ldap.py:655 #: settings/utils/ldap.py:659
msgid "Authentication failed (configuration incorrect): {}" msgid "Authentication failed (configuration incorrect): {}"
msgstr "认证失败(配置错误): {}" msgstr "认证失败(配置错误): {}"
#: settings/utils/ldap.py:659 #: settings/utils/ldap.py:663
msgid "Authentication failed (username or password incorrect): {}" msgid "Authentication failed (username or password incorrect): {}"
msgstr "认证失败 (用户名或密码不正确): {}" msgstr "认证失败 (用户名或密码不正确): {}"
#: settings/utils/ldap.py:661 #: settings/utils/ldap.py:665
msgid "Authentication failed (Unknown): {}" msgid "Authentication failed (Unknown): {}"
msgstr "认证失败: (未知): {}" msgstr "认证失败: (未知): {}"
#: settings/utils/ldap.py:664 #: settings/utils/ldap.py:668
msgid "Authentication success: {}" msgid "Authentication success: {}"
msgstr "认证成功: {}" msgstr "认证成功: {}"
@ -5608,7 +5616,7 @@ msgstr "测试失败: {}"
msgid "Test successful" msgid "Test successful"
msgstr "测试成功" msgstr "测试成功"
#: terminal/api/component/storage.py:124 terminal/notifications.py:231 #: terminal/api/component/storage.py:124 terminal/notifications.py:263
#: terminal/tasks.py:144 #: terminal/tasks.py:144
msgid "Test failure: Account invalid" msgid "Test failure: Account invalid"
msgstr "测试失败: 账号无效" msgstr "测试失败: 账号无效"
@ -5646,6 +5654,7 @@ msgid "Output"
msgstr "输出" msgstr "输出"
#: terminal/backends/command/models.py:25 terminal/serializers/command.py:23 #: terminal/backends/command/models.py:25 terminal/serializers/command.py:23
#: terminal/templates/terminal/_msg_command_warning.html:91
msgid "Risk level" msgid "Risk level"
msgstr "风险等级" msgstr "风险等级"
@ -5990,36 +5999,35 @@ msgstr "验证码不正确"
msgid "You have already joined this session" msgid "You have already joined this session"
msgstr "您已经加入过此会话" msgstr "您已经加入过此会话"
#: terminal/notifications.py:22 #: terminal/notifications.py:24
msgid "Sessions" msgid "Sessions"
msgstr "会话管理" msgstr "会话管理"
#: terminal/notifications.py:69 #: terminal/notifications.py:71
#: terminal/templates/terminal/_msg_command_warning.html:5 msgid "Command warning"
msgid "Danger command warning" msgstr "命令告警"
msgstr "危险命令告警"
#: terminal/notifications.py:122 #: terminal/notifications.py:154
msgid "Danger command alert" msgid "Command reject"
msgstr "危险命令告警" msgstr "命令拒绝"
#: terminal/notifications.py:149 terminal/notifications.py:197 #: terminal/notifications.py:181 terminal/notifications.py:229
msgid "Level" msgid "Level"
msgstr "级别" msgstr "级别"
#: terminal/notifications.py:167 #: terminal/notifications.py:199
msgid "Batch danger command alert" msgid "Batch danger command alert"
msgstr "批量危险命令告警" msgstr "批量危险命令告警"
#: terminal/notifications.py:215 #: terminal/notifications.py:247
msgid "Command and replay storage" msgid "Command and replay storage"
msgstr "命令及录像存储" msgstr "命令及录像存储"
#: terminal/notifications.py:216 #: terminal/notifications.py:248
msgid "Connectivity alarm" msgid "Connectivity alarm"
msgstr "可连接性告警" msgstr "可连接性告警"
#: terminal/notifications.py:241 #: terminal/notifications.py:273
#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 #: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4
msgid "Invalid storage" msgid "Invalid storage"
msgstr "无效的存储" msgstr "无效的存储"
@ -6291,15 +6299,16 @@ msgstr "检查命令及录像存储可连接性 "
msgid "view" msgid "view"
msgstr "查看" msgstr "查看"
#: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_command_warning.html:18
msgid "Item" msgid "Item"
msgstr "项目" msgstr "项目"
#: terminal/templates/terminal/_msg_command_warning.html:25 #: terminal/templates/terminal/_msg_command_warning.html:22
msgid "Url" msgid "Url"
msgstr "链接" msgstr "链接"
#: terminal/templates/terminal/_msg_command_warning.html:63 #: terminal/templates/terminal/_msg_command_warning.html:60
#: terminal/templates/terminal/_msg_command_warning.html:93
msgid "Command acl group" msgid "Command acl group"
msgstr "命令过滤组" msgstr "命令过滤组"
@ -7773,3 +7782,6 @@ msgstr "旗舰版"
#: xpack/plugins/license/models.py:86 #: xpack/plugins/license/models.py:86
msgid "Community edition" msgid "Community edition"
msgstr "社区版" msgstr "社区版"
#~ msgid "Danger command alert"
#~ msgstr "危险命令告警"

View File

@ -28,6 +28,7 @@ from perms.models import AssetPermission
from perms.utils import UserPermAssetUtil from perms.utils import UserPermAssetUtil
from terminal.notifications import CommandExecutionAlert from terminal.notifications import CommandExecutionAlert
from terminal.notifications import CommandWarningMessage from terminal.notifications import CommandWarningMessage
from terminal.const import RiskLevelChoices
def get_parent_keys(key, include_self=True): def get_parent_keys(key, include_self=True):
@ -400,13 +401,22 @@ class JobExecution(JMSOrgBaseModel):
}).publish_async() }).publish_async()
raise Exception("command is rejected by ACL") raise Exception("command is rejected by ACL")
elif acl.is_action(CommandFilterACL.ActionChoices.warning): elif acl.is_action(CommandFilterACL.ActionChoices.warning):
# TODO: warning message user = self.creator
# user = '' command = {
# command = { 'input': self.material,
# 'user': '', 'user': user.name,
# 'user_id': '' '_user_id': user.id,
# } 'asset': asset.name,
# CommandWarningMessage(user, command).publish_async() '_asset_id': asset.id,
'_account': self.current_job.runas,
'_cmd_filter_acl': acl,
'_cmd_group': cg,
'session': '',
'_risk_level': RiskLevelChoices.warning.label,
'org_id': self.org.id,
'_org_name': self.org.name or self.org.id,
}
CommandWarningMessage(user, command).publish_async()
return True return True
return False return False

View File

@ -224,16 +224,17 @@ class InsecureCommandAlertAPI(generics.CreateAPIView):
cmd_group = cmd_group_mapper.get(command['cmd_group']) cmd_group = cmd_group_mapper.get(command['cmd_group'])
command['_cmd_group'] = cmd_group command['_cmd_group'] = cmd_group
session = session_mapper.get(command['session']) session = session_mapper.get(command['session'])
risk_level = command.get('risk_level')
if session: if session:
command.update({ command.update({
'_user_id': session.user_id, '_user_id': session.user_id,
'_asset_id': session.asset_id, '_asset_id': session.asset_id,
'_account': session.account, '_account': session.account,
'_account_id': session.account_id, '_account_id': session.account_id,
'_org_name': session.org.name '_org_name': session.org.name,
'_risk_level': RiskLevelChoices.get_risk_level_str(risk_level),
}) })
risk_level = command.get('risk_level')
if risk_level in [RiskLevelChoices.reject, RiskLevelChoices.review_reject]: if risk_level in [RiskLevelChoices.reject, RiskLevelChoices.review_reject]:
CommandAlertMessage(command).publish_async() CommandAlertMessage(command).publish_async()
elif risk_level in [RiskLevelChoices.warning]: elif risk_level in [RiskLevelChoices.warning]:

View File

@ -13,6 +13,11 @@ class RiskLevelChoices(IntegerChoices):
review_accept = 7, _('Review & Accept') review_accept = 7, _('Review & Accept')
review_cancel = 8, _('Review & Cancel') review_cancel = 8, _('Review & Cancel')
@classmethod
def get_risk_level_str(cls, risk_level):
risk_mapper = dict(cls.choices)
return risk_mapper.get(risk_level)
class ReplayStorageType(TextChoices): class ReplayStorageType(TextChoices):
null = 'null', 'Null', null = 'null', 'Null',

View File

@ -11,7 +11,6 @@ from notifications.backends import BACKEND
from notifications.models import SystemMsgSubscription from notifications.models import SystemMsgSubscription
from notifications.notifications import SystemMessage, UserMessage from notifications.notifications import SystemMessage, UserMessage
from terminal.models import Session, Command from terminal.models import Session, Command
from acls.models import CommandFilterACL, CommandGroup
from users.models import User from users.models import User
logger = get_logger(__name__) logger = get_logger(__name__)
@ -69,7 +68,7 @@ class CommandAlertMixin:
class CommandWarningMessage(CommandAlertMixin, UserMessage): class CommandWarningMessage(CommandAlertMixin, UserMessage):
message_type_label = _('Danger command warning') message_type_label = _('Command warning')
def __init__(self, user, command): def __init__(self, user, command):
super().__init__(user) super().__init__(user)
@ -88,6 +87,7 @@ class CommandWarningMessage(CommandAlertMixin, UserMessage):
cmd_acl = command.get('_cmd_filter_acl') cmd_acl = command.get('_cmd_filter_acl')
cmd_group = command.get('_cmd_group') cmd_group = command.get('_cmd_group')
session_id = command['session'] session_id = command['session']
risk_level = command['_risk_level']
org_id = command['org_id'] org_id = command['org_id']
org_name = command.get('_org_name') or org_id org_name = command.get('_org_name') or org_id
@ -137,6 +137,7 @@ class CommandWarningMessage(CommandAlertMixin, UserMessage):
'cmd_group': cmd_group_name, 'cmd_group': cmd_group_name,
'cmd_group_url': cmd_group_url, 'cmd_group_url': cmd_group_url,
'session_url': session_url, 'session_url': session_url,
'risk_level': risk_level,
'org': org_name, 'org': org_name,
} }
@ -150,7 +151,7 @@ class CommandWarningMessage(CommandAlertMixin, UserMessage):
class CommandAlertMessage(CommandAlertMixin, SystemMessage): class CommandAlertMessage(CommandAlertMixin, SystemMessage):
category = CATEGORY category = CATEGORY
category_label = CATEGORY_LABEL category_label = CATEGORY_LABEL
message_type_label = _('Danger command alert') message_type_label = _('Command reject')
def __init__(self, command): def __init__(self, command):
self.command = command self.command = command

View File

@ -1,10 +1,7 @@
{% load i18n %} {% load i18n %}
<div> <div>
<p> <!-- <table style="
{% blocktranslate %}Danger command warning{% endblocktranslate %}
</p>
<table style="
display: inline-block; display: inline-block;
margin: .6em 0; margin: .6em 0;
max-width: 100%; max-width: 100%;
@ -78,5 +75,26 @@
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table> -->
<b>{% trans 'User' %}:</b> <a href="{{ user_url }}" target="_blank">{{ user }}</a><br />
<b>{% trans 'Asset' %}:</b> <a href="{{ asset_url }}" target="_blank">{{ asset }}</a><br />
<b>{% trans 'Account' %}:</b>
{% if account_url %}
<a href="{{ account_url }}" target="_blank">{{ account }}</a>
{% else %}
<span>{{ account }}</span>
{% endif %}
<br />
<b>{% trans 'Command' %}: </b><span>{{ command }}</span><br />
<b>{% trans 'Risk level' %}: </b><span>{{ risk_level }}</span><br />
<b>{% trans 'Command acl' %}:</b> <a href="{{ cmd_filter_acl_url }}" target="_blank">{{ user }}</a><br />
<b>{% trans 'Command acl group' %}:</b> <a href="{{ cmd_group_url }}" target="_blank">{{ user }}</a><br />
{% if session_url %}
<b>{% trans 'Session' %}:</b>
<a href="{{ session_url }}" target="_blank">{% trans 'View' %}</a><br />
{% endif %}
<b>{% trans 'Organization' %}:</b> <span>{{ org }}</span><br />
</div> </div>