From c6ece550a945d3e56bcffa7fbe452a5f39747773 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 22 Feb 2022 19:48:53 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | 4 +- apps/locale/zh/LC_MESSAGES/django.po | 1478 ++++++++++++++++---------- apps/rbac/models/menu.py | 4 +- apps/users/serializers/user.py | 2 +- 4 files changed, 896 insertions(+), 592 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 8611f2cc2..7a5c32de9 100644 --- a/apps/locale/zh/LC_MESSAGES/django.mo +++ b/apps/locale/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67a04954f2a6c1da8c2f40307166a87ba1088e858422378eb638a1d1aafc5a89 -size 97595 +oid sha256:6144c6aa78bcaf3c282ee63f9e48b11fb8c327192aa8ea8f1ff1c2080084304f +size 100589 diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index a4edb3f6b..d93918379 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-15 17:52+0800\n" +"POT-Creation-Date: 2022-02-22 19:38+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -17,15 +17,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.3\n" +#: acls/apps.py:7 +msgid "Acls" +msgstr "" + #: acls/models/base.py:25 acls/serializers/login_asset_acl.py:47 -#: applications/models/application.py:202 assets/models/asset.py:139 +#: applications/models/application.py:202 assets/models/asset.py:138 #: assets/models/base.py:175 assets/models/cluster.py:18 -#: assets/models/cmd_filter.py:27 assets/models/domain.py:24 +#: assets/models/cmd_filter.py:27 assets/models/domain.py:23 #: assets/models/group.py:20 assets/models/label.py:18 ops/mixin.py:24 -#: orgs/models.py:24 perms/models/base.py:83 settings/models.py:29 -#: settings/serializers/sms.py:6 terminal/models/storage.py:23 -#: terminal/models/task.py:16 terminal/models/terminal.py:100 -#: users/forms/profile.py:32 users/models/group.py:15 users/models/user.py:549 +#: orgs/models.py:12 perms/models/base.py:83 rbac/models/role.py:29 +#: settings/models.py:29 settings/serializers/sms.py:6 +#: terminal/models/storage.py:23 terminal/models/task.py:16 +#: terminal/models/terminal.py:100 users/forms/profile.py:32 +#: users/models/group.py:15 users/models/user.py:537 #: users/templates/users/_select_user_modal.html:13 #: users/templates/users/user_asset_permission.html:37 #: users/templates/users/user_asset_permission.html:154 @@ -46,21 +51,22 @@ msgstr "优先级可选范围为 1-100 (数值越小越优先)" #: acls/models/base.py:31 authentication/models.py:17 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/base.py:88 terminal/models/sharing.py:24 +#: perms/models/base.py:88 terminal/models/sharing.py:26 #: users/templates/users/_select_user_modal.html:18 msgid "Active" msgstr "激活中" #: acls/models/base.py:32 applications/models/application.py:215 -#: assets/models/asset.py:144 assets/models/asset.py:232 +#: assets/models/asset.py:143 assets/models/asset.py:231 #: assets/models/backup.py:54 assets/models/base.py:180 #: assets/models/cluster.py:29 assets/models/cmd_filter.py:48 -#: assets/models/cmd_filter.py:96 assets/models/domain.py:25 -#: assets/models/domain.py:65 assets/models/group.py:23 -#: assets/models/label.py:23 ops/models/adhoc.py:38 orgs/models.py:27 -#: perms/models/base.py:93 settings/models.py:34 terminal/models/storage.py:26 -#: terminal/models/terminal.py:114 tickets/models/ticket.py:75 -#: users/models/group.py:16 users/models/user.py:585 +#: assets/models/cmd_filter.py:96 assets/models/domain.py:24 +#: assets/models/domain.py:64 assets/models/group.py:23 +#: assets/models/label.py:23 ops/models/adhoc.py:38 orgs/models.py:15 +#: perms/models/base.py:93 rbac/models/role.py:37 settings/models.py:34 +#: terminal/models/storage.py:26 terminal/models/terminal.py:114 +#: tickets/models/comment.py:24 tickets/models/ticket.py:78 +#: users/models/group.py:16 users/models/user.py:574 #: xpack/plugins/change_auth_plan/models/base.py:44 #: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:113 #: xpack/plugins/gathered_user/models.py:26 @@ -82,15 +88,14 @@ msgstr "登录复核" #: acls/models/login_acl.py:24 acls/models/login_asset_acl.py:20 #: assets/models/cmd_filter.py:30 assets/models/label.py:15 audits/models.py:37 -#: audits/models.py:57 audits/models.py:79 audits/serializers.py:100 -#: authentication/models.py:47 orgs/models.py:19 orgs/models.py:433 -#: perms/models/base.py:84 templates/index.html:78 +#: audits/models.py:60 audits/models.py:85 audits/serializers.py:100 +#: authentication/models.py:50 orgs/models.py:196 perms/models/base.py:84 +#: rbac/builtin.py:87 rbac/models/rolebinding.py:33 templates/index.html:78 #: terminal/backends/command/models.py:19 -#: terminal/backends/command/serializers.py:12 terminal/models/session.py:40 -#: terminal/notifications.py:90 terminal/notifications.py:138 -#: tickets/models/comment.py:17 users/const.py:14 users/models/user.py:169 -#: users/models/user.py:756 users/models/user.py:782 -#: users/serializers/group.py:19 +#: terminal/backends/command/serializers.py:12 terminal/models/session.py:41 +#: terminal/notifications.py:88 terminal/notifications.py:136 +#: tickets/models/comment.py:17 users/const.py:14 users/models/user.py:757 +#: users/models/user.py:788 users/serializers/group.py:19 #: users/templates/users/user_asset_permission.html:38 #: users/templates/users/user_asset_permission.html:64 #: users/templates/users/user_database_app_permission.html:37 @@ -104,7 +109,7 @@ msgstr "规则" #: acls/models/login_acl.py:31 acls/models/login_asset_acl.py:26 #: acls/serializers/login_acl.py:17 acls/serializers/login_asset_acl.py:75 -#: assets/models/cmd_filter.py:89 audits/models.py:58 audits/serializers.py:51 +#: assets/models/cmd_filter.py:89 audits/models.py:61 audits/serializers.py:51 #: authentication/templates/authentication/_access_key_modal.html:34 #: users/templates/users/_granted_assets.html:29 #: users/templates/users/user_asset_permission.html:44 @@ -130,17 +135,18 @@ msgstr "系统用户" #: acls/models/login_asset_acl.py:22 #: applications/serializers/attrs/application_category/remote_app.py:36 -#: assets/models/asset.py:356 assets/models/authbook.py:19 +#: assets/models/asset.py:355 assets/models/authbook.py:19 #: assets/models/backup.py:31 assets/models/cmd_filter.py:38 #: assets/models/gathered_user.py:14 assets/serializers/system_user.py:264 -#: audits/models.py:39 perms/models/asset_permission.py:24 +#: audits/models.py:39 perms/models/asset_permission.py:23 #: templates/index.html:82 terminal/backends/command/models.py:20 -#: terminal/backends/command/serializers.py:13 terminal/models/session.py:42 -#: terminal/notifications.py:89 +#: terminal/backends/command/serializers.py:13 terminal/models/session.py:43 +#: terminal/notifications.py:87 #: users/templates/users/user_asset_permission.html:40 #: users/templates/users/user_asset_permission.html:70 #: xpack/plugins/change_auth_plan/models/asset.py:199 -#: xpack/plugins/cloud/models.py:217 +#: xpack/plugins/change_auth_plan/serializers/asset.py:180 +#: xpack/plugins/cloud/models.py:220 msgid "Asset" msgstr "资产" @@ -158,11 +164,11 @@ msgstr "格式为逗号分隔的字符串, * 表示匹配所有. " #: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:17 #: acls/serializers/login_asset_acl.py:51 assets/models/base.py:176 -#: assets/models/gathered_user.py:15 audits/models.py:110 +#: assets/models/gathered_user.py:15 audits/models.py:119 #: authentication/forms.py:15 authentication/forms.py:17 #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 -#: ops/models/adhoc.py:154 users/forms/profile.py:31 users/models/user.py:547 +#: ops/models/adhoc.py:159 users/forms/profile.py:31 users/models/user.py:535 #: users/templates/users/_msg_user_created.html:12 #: users/templates/users/_select_user_modal.html:14 #: xpack/plugins/change_auth_plan/models/asset.py:34 @@ -182,8 +188,8 @@ msgstr "" #: acls/serializers/login_asset_acl.py:31 acls/serializers/rules/rules.py:33 #: applications/serializers/attrs/application_type/mysql_workbench.py:17 -#: assets/models/asset.py:211 assets/models/domain.py:61 -#: assets/serializers/account.py:12 +#: assets/models/asset.py:210 assets/models/domain.py:60 +#: assets/serializers/account.py:13 #: authentication/templates/authentication/_msg_oauth_bind.html:12 #: authentication/templates/authentication/_msg_rest_password_success.html:8 #: authentication/templates/authentication/_msg_rest_public_key_success.html:8 @@ -193,8 +199,8 @@ msgstr "" msgid "IP" msgstr "IP" -#: acls/serializers/login_asset_acl.py:35 assets/models/asset.py:212 -#: assets/serializers/account.py:13 assets/serializers/gathered_user.py:23 +#: acls/serializers/login_asset_acl.py:35 assets/models/asset.py:211 +#: assets/serializers/account.py:14 assets/serializers/gathered_user.py:23 #: settings/serializers/terminal.py:7 #: users/templates/users/_granted_assets.html:25 #: users/templates/users/user_asset_permission.html:157 @@ -207,8 +213,8 @@ msgid "" "options: {}" msgstr "格式为逗号分隔的字符串, * 表示匹配所有. 可选的协议有: {}" -#: acls/serializers/login_asset_acl.py:55 assets/models/asset.py:214 -#: assets/models/domain.py:63 assets/models/user.py:235 +#: acls/serializers/login_asset_acl.py:55 assets/models/asset.py:213 +#: assets/models/domain.py:62 assets/models/user.py:235 #: terminal/serializers/session.py:30 terminal/serializers/storage.py:69 msgid "Protocol" msgstr "协议" @@ -244,10 +250,14 @@ msgstr "" msgid "Time Period" msgstr "时段" -#: applications/api/mixin.py:28 templates/_nav_user.html:10 +#: applications/api/mixin.py:28 msgid "My applications" msgstr "我的应用" +#: applications/apps.py:9 applications/models/application.py:60 +msgid "Applications" +msgstr "应用管理" + #: applications/const.py:8 #: applications/serializers/attrs/application_category/db.py:14 #: applications/serializers/attrs/application_type/mysql_workbench.py:25 @@ -259,22 +269,21 @@ msgstr "数据库" msgid "Remote app" msgstr "远程应用" -#: applications/const.py:30 +#: applications/const.py:31 msgid "Custom" msgstr "自定义" #: applications/models/account.py:12 applications/models/application.py:219 #: assets/models/backup.py:32 assets/models/cmd_filter.py:45 -#: perms/models/application_permission.py:27 users/models/user.py:170 +#: perms/models/application_permission.py:27 msgid "Application" msgstr "应用程序" #: applications/models/account.py:15 assets/models/authbook.py:20 #: assets/models/cmd_filter.py:42 assets/models/user.py:325 audits/models.py:40 #: perms/models/application_permission.py:32 -#: perms/models/asset_permission.py:26 templates/_nav.html:45 -#: terminal/backends/command/models.py:21 -#: terminal/backends/command/serializers.py:14 terminal/models/session.py:44 +#: perms/models/asset_permission.py:25 terminal/backends/command/models.py:21 +#: terminal/backends/command/serializers.py:14 terminal/models/session.py:45 #: users/templates/users/_granted_assets.html:27 #: users/templates/users/user_asset_permission.html:42 #: users/templates/users/user_asset_permission.html:76 @@ -283,6 +292,7 @@ msgstr "应用程序" #: users/templates/users/user_database_app_permission.html:67 #: xpack/plugins/change_auth_plan/models/app.py:36 #: xpack/plugins/change_auth_plan/models/app.py:147 +#: xpack/plugins/change_auth_plan/serializers/app.py:65 msgid "System user" msgstr "系统用户" @@ -291,14 +301,13 @@ msgstr "系统用户" msgid "Version" msgstr "版本" -#: applications/models/account.py:23 xpack/plugins/cloud/models.py:82 -#: xpack/plugins/cloud/serializers/task.py:66 -msgid "Account" -msgstr "账户" +#: applications/models/account.py:23 +msgid "Application account" +msgstr "应用数量" -#: applications/models/application.py:60 templates/_nav.html:60 -msgid "Applications" -msgstr "应用管理" +#: applications/models/account.py:26 applications/models/account.py:27 +msgid "Can view application account secret" +msgstr "可以查看应用账号密码" #: applications/models/application.py:204 #: applications/serializers/application.py:99 assets/models/label.py:21 @@ -314,16 +323,16 @@ msgstr "类别" #: assets/models/cmd_filter.py:82 assets/models/user.py:233 #: perms/models/application_permission.py:23 #: perms/serializers/application/user_permission.py:34 -#: terminal/models/storage.py:55 terminal/models/storage.py:116 -#: tickets/models/flow.py:56 tickets/models/ticket.py:52 +#: terminal/models/storage.py:55 terminal/models/storage.py:119 +#: tickets/models/flow.py:56 tickets/models/ticket.py:55 #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:29 #: xpack/plugins/change_auth_plan/models/app.py:28 #: xpack/plugins/change_auth_plan/models/app.py:153 msgid "Type" msgstr "类型" -#: applications/models/application.py:211 assets/models/asset.py:218 -#: assets/models/domain.py:30 assets/models/domain.py:64 +#: applications/models/application.py:211 assets/models/asset.py:217 +#: assets/models/domain.py:29 assets/models/domain.py:63 msgid "Domain" msgstr "网域" @@ -331,6 +340,10 @@ msgstr "网域" msgid "Attrs" msgstr "属性" +#: applications/models/application.py:268 +msgid "Application user" +msgstr "应用用户" + #: applications/serializers/application.py:70 #: applications/serializers/application.py:100 assets/serializers/label.py:13 #: perms/serializers/application/permission.py:18 @@ -348,22 +361,22 @@ msgstr "类别名称" msgid "Type display" msgstr "类型名称" -#: applications/serializers/application.py:103 assets/models/asset.py:231 +#: applications/serializers/application.py:103 assets/models/asset.py:230 #: assets/models/base.py:181 assets/models/cluster.py:26 -#: assets/models/domain.py:27 assets/models/gathered_user.py:19 +#: assets/models/domain.py:26 assets/models/gathered_user.py:19 #: assets/models/group.py:22 assets/models/label.py:25 -#: assets/serializers/account.py:17 common/db/models.py:113 +#: assets/serializers/account.py:18 common/db/models.py:113 #: common/mixins/models.py:50 ops/models/adhoc.py:39 ops/models/command.py:30 -#: orgs/models.py:26 orgs/models.py:435 perms/models/base.py:92 -#: users/models/group.py:18 users/models/user.py:783 +#: orgs/models.py:14 orgs/models.py:199 perms/models/base.py:92 +#: users/models/group.py:18 users/models/user.py:789 #: xpack/plugins/cloud/models.py:122 msgid "Date created" msgstr "创建日期" #: applications/serializers/application.py:104 assets/models/base.py:182 -#: assets/models/gathered_user.py:20 assets/serializers/account.py:20 +#: assets/models/gathered_user.py:20 assets/serializers/account.py:21 #: common/db/models.py:114 common/mixins/models.py:51 ops/models/adhoc.py:40 -#: orgs/models.py:436 +#: orgs/models.py:200 msgid "Date updated" msgstr "更新日期" @@ -378,19 +391,20 @@ msgid "Cluster" msgstr "集群" #: applications/serializers/attrs/application_category/db.py:11 -#: ops/models/adhoc.py:152 settings/serializers/auth/radius.py:14 +#: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14 #: xpack/plugins/cloud/serializers/account_attrs.py:68 msgid "Host" msgstr "主机" #: applications/serializers/attrs/application_category/db.py:12 +#: applications/serializers/attrs/application_type/mongodb.py:10 #: applications/serializers/attrs/application_type/mysql.py:10 #: applications/serializers/attrs/application_type/mysql_workbench.py:21 #: applications/serializers/attrs/application_type/oracle.py:10 #: applications/serializers/attrs/application_type/pgsql.py:10 #: applications/serializers/attrs/application_type/redis.py:10 #: applications/serializers/attrs/application_type/sqlserver.py:10 -#: assets/models/asset.py:215 assets/models/domain.py:62 +#: assets/models/asset.py:214 assets/models/domain.py:61 #: settings/serializers/auth/radius.py:15 #: xpack/plugins/cloud/serializers/account_attrs.py:69 msgid "Port" @@ -405,10 +419,10 @@ msgstr "应用路径" #: applications/serializers/attrs/application_category/remote_app.py:44 #: assets/serializers/system_user.py:163 -#: xpack/plugins/change_auth_plan/serializers/asset.py:65 -#: xpack/plugins/change_auth_plan/serializers/asset.py:68 -#: xpack/plugins/change_auth_plan/serializers/asset.py:71 -#: xpack/plugins/change_auth_plan/serializers/asset.py:102 +#: xpack/plugins/change_auth_plan/serializers/asset.py:66 +#: xpack/plugins/change_auth_plan/serializers/asset.py:69 +#: xpack/plugins/change_auth_plan/serializers/asset.py:72 +#: xpack/plugins/change_auth_plan/serializers/asset.py:103 #: xpack/plugins/cloud/serializers/account_attrs.py:52 msgid "This field is required." msgstr "该字段是必填项。" @@ -467,137 +481,143 @@ msgstr "Vmware 密码" msgid "Number required" msgstr "需要为数字" -#: assets/api/node.py:60 +#: assets/api/node.py:58 msgid "You can't update the root node name" msgstr "不能修改根节点名称" -#: assets/api/node.py:67 +#: assets/api/node.py:65 msgid "You can't delete the root node ({})" msgstr "不能删除根节点 ({})" -#: assets/api/node.py:70 +#: assets/api/node.py:68 msgid "Deletion failed and the node contains assets" msgstr "删除失败,节点包含资产" -#: assets/models/asset.py:140 +#: assets/apps.py:9 assets/models/user.py:227 assets/serializers/domain.py:29 +#: terminal/templates/terminal/_msg_command_execute_alert.html:16 +#: xpack/plugins/change_auth_plan/models/asset.py:39 +msgid "Assets" +msgstr "资产" + +#: assets/models/asset.py:139 msgid "Base" msgstr "基础" -#: assets/models/asset.py:141 +#: assets/models/asset.py:140 msgid "Charset" msgstr "编码" -#: assets/models/asset.py:142 assets/serializers/asset.py:176 -#: tickets/models/ticket.py:54 +#: assets/models/asset.py:141 assets/serializers/asset.py:176 +#: tickets/models/ticket.py:57 msgid "Meta" msgstr "元数据" -#: assets/models/asset.py:143 +#: assets/models/asset.py:142 msgid "Internal" msgstr "内部的" -#: assets/models/asset.py:163 assets/models/asset.py:217 -#: assets/serializers/account.py:14 assets/serializers/asset.py:63 +#: assets/models/asset.py:162 assets/models/asset.py:216 +#: assets/serializers/account.py:15 assets/serializers/asset.py:63 #: perms/serializers/asset/user_permission.py:43 msgid "Platform" msgstr "系统平台" -#: assets/models/asset.py:169 +#: assets/models/asset.py:168 msgid "Vendor" msgstr "制造商" -#: assets/models/asset.py:170 +#: assets/models/asset.py:169 msgid "Model" msgstr "型号" -#: assets/models/asset.py:171 tickets/models/ticket.py:80 +#: assets/models/asset.py:170 tickets/models/ticket.py:83 msgid "Serial number" msgstr "序列号" -#: assets/models/asset.py:173 +#: assets/models/asset.py:172 msgid "CPU model" msgstr "CPU型号" -#: assets/models/asset.py:174 +#: assets/models/asset.py:173 msgid "CPU count" msgstr "CPU数量" -#: assets/models/asset.py:175 +#: assets/models/asset.py:174 msgid "CPU cores" msgstr "CPU核数" -#: assets/models/asset.py:176 +#: assets/models/asset.py:175 msgid "CPU vcpus" msgstr "CPU总数" -#: assets/models/asset.py:177 +#: assets/models/asset.py:176 msgid "Memory" msgstr "内存" -#: assets/models/asset.py:178 +#: assets/models/asset.py:177 msgid "Disk total" msgstr "硬盘大小" -#: assets/models/asset.py:179 +#: assets/models/asset.py:178 msgid "Disk info" msgstr "硬盘信息" -#: assets/models/asset.py:181 +#: assets/models/asset.py:180 msgid "OS" msgstr "操作系统" -#: assets/models/asset.py:182 +#: assets/models/asset.py:181 msgid "OS version" msgstr "系统版本" -#: assets/models/asset.py:183 +#: assets/models/asset.py:182 msgid "OS arch" msgstr "系统架构" -#: assets/models/asset.py:184 +#: assets/models/asset.py:183 msgid "Hostname raw" msgstr "主机名原始" -#: assets/models/asset.py:216 assets/serializers/account.py:15 +#: assets/models/asset.py:215 assets/serializers/account.py:16 #: assets/serializers/asset.py:65 perms/serializers/asset/user_permission.py:41 #: xpack/plugins/cloud/models.py:104 xpack/plugins/cloud/serializers/task.py:42 msgid "Protocols" msgstr "协议组" -#: assets/models/asset.py:219 assets/models/user.py:225 -#: perms/models/asset_permission.py:25 +#: assets/models/asset.py:218 assets/models/user.py:225 +#: perms/models/asset_permission.py:24 #: xpack/plugins/change_auth_plan/models/asset.py:43 #: xpack/plugins/gathered_user/models.py:24 msgid "Nodes" msgstr "节点" -#: assets/models/asset.py:220 assets/models/cmd_filter.py:47 -#: assets/models/domain.py:66 assets/models/label.py:22 +#: assets/models/asset.py:219 assets/models/cmd_filter.py:47 +#: assets/models/domain.py:65 assets/models/label.py:22 msgid "Is active" msgstr "激活" -#: assets/models/asset.py:223 assets/models/cluster.py:19 -#: assets/models/user.py:222 assets/models/user.py:374 templates/_nav.html:44 +#: assets/models/asset.py:222 assets/models/cluster.py:19 +#: assets/models/user.py:222 assets/models/user.py:374 msgid "Admin user" msgstr "特权用户" -#: assets/models/asset.py:226 +#: assets/models/asset.py:225 msgid "Public IP" msgstr "公网IP" -#: assets/models/asset.py:227 +#: assets/models/asset.py:226 msgid "Asset number" msgstr "资产编号" -#: assets/models/asset.py:229 templates/_nav.html:46 +#: assets/models/asset.py:228 msgid "Labels" msgstr "标签管理" -#: assets/models/asset.py:230 assets/models/base.py:183 +#: assets/models/asset.py:229 assets/models/base.py:183 #: assets/models/cluster.py:28 assets/models/cmd_filter.py:52 #: assets/models/cmd_filter.py:99 assets/models/group.py:21 -#: common/db/models.py:111 common/mixins/models.py:49 orgs/models.py:25 -#: orgs/models.py:437 perms/models/base.py:91 users/models/user.py:593 +#: common/db/models.py:111 common/mixins/models.py:49 orgs/models.py:13 +#: orgs/models.py:201 perms/models/base.py:91 users/models/user.py:582 #: users/serializers/group.py:33 #: xpack/plugins/change_auth_plan/models/base.py:48 #: xpack/plugins/cloud/models.py:119 xpack/plugins/gathered_user/models.py:30 @@ -608,6 +628,14 @@ msgstr "创建者" msgid "AuthBook" msgstr "账号" +#: assets/models/authbook.py:30 +msgid "Can view asset account secret" +msgstr "" + +#: assets/models/authbook.py:31 +msgid "Can change asset account secret" +msgstr "" + #: assets/models/backup.py:30 perms/models/base.py:54 #: settings/serializers/terminal.py:12 msgid "All" @@ -635,7 +663,7 @@ msgid "Timing trigger" msgstr "定时触发" #: assets/models/backup.py:105 audits/models.py:44 ops/models/command.py:31 -#: perms/models/base.py:89 terminal/models/session.py:54 +#: perms/models/base.py:89 terminal/models/session.py:55 #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:55 #: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:57 #: xpack/plugins/change_auth_plan/models/base.py:112 @@ -646,7 +674,7 @@ msgstr "开始日期" #: assets/models/backup.py:108 #: authentication/templates/authentication/_msg_oauth_bind.html:11 -#: notifications/notifications.py:187 ops/models/adhoc.py:252 +#: notifications/notifications.py:187 ops/models/adhoc.py:258 #: xpack/plugins/change_auth_plan/models/base.py:115 #: xpack/plugins/change_auth_plan/models/base.py:204 #: xpack/plugins/gathered_user/models.py:79 @@ -663,17 +691,21 @@ msgstr "账号备份快照" msgid "Trigger mode" msgstr "触发模式" -#: assets/models/backup.py:119 audits/models.py:116 -#: terminal/models/sharing.py:88 +#: assets/models/backup.py:119 audits/models.py:125 +#: terminal/models/sharing.py:94 #: xpack/plugins/change_auth_plan/models/base.py:201 +#: xpack/plugins/change_auth_plan/serializers/app.py:66 +#: xpack/plugins/change_auth_plan/serializers/asset.py:179 #: xpack/plugins/cloud/models.py:176 msgid "Reason" msgstr "原因" #: assets/models/backup.py:121 audits/serializers.py:82 -#: audits/serializers.py:97 ops/models/adhoc.py:254 +#: audits/serializers.py:97 ops/models/adhoc.py:260 #: terminal/serializers/session.py:35 #: xpack/plugins/change_auth_plan/models/base.py:202 +#: xpack/plugins/change_auth_plan/serializers/app.py:67 +#: xpack/plugins/change_auth_plan/serializers/asset.py:181 msgid "Is success" msgstr "是否成功" @@ -689,8 +721,9 @@ msgstr "未知" msgid "Ok" msgstr "成功" -#: assets/models/base.py:32 audits/models.py:107 -#: xpack/plugins/change_auth_plan/task_handlers/base/manager.py:121 +#: assets/models/base.py:32 audits/models.py:116 +#: xpack/plugins/change_auth_plan/serializers/app.py:88 +#: xpack/plugins/change_auth_plan/serializers/asset.py:198 #: xpack/plugins/cloud/const.py:29 msgid "Failed" msgstr "失败" @@ -737,7 +770,7 @@ msgstr "带宽" msgid "Contact" msgstr "联系人" -#: assets/models/cluster.py:22 users/models/user.py:568 +#: assets/models/cluster.py:22 users/models/user.py:557 msgid "Phone" msgstr "手机" @@ -762,8 +795,8 @@ msgstr "运营商" msgid "Default" msgstr "默认" -#: assets/models/cluster.py:36 assets/models/label.py:14 -#: users/models/user.py:768 +#: assets/models/cluster.py:36 assets/models/label.py:14 rbac/const.py:6 +#: users/models/user.py:774 msgid "System" msgstr "系统" @@ -772,7 +805,7 @@ msgid "Default Cluster" msgstr "默认Cluster" #: assets/models/cmd_filter.py:34 perms/models/base.py:86 -#: templates/_nav.html:21 users/models/group.py:31 users/models/user.py:555 +#: users/models/group.py:31 users/models/user.py:543 #: users/templates/users/_select_user_modal.html:16 #: users/templates/users/user_asset_permission.html:39 #: users/templates/users/user_asset_permission.html:67 @@ -790,7 +823,7 @@ msgid "Regex" msgstr "正则表达式" #: assets/models/cmd_filter.py:68 ops/models/command.py:26 -#: terminal/backends/command/serializers.py:15 terminal/models/session.py:51 +#: terminal/backends/command/serializers.py:15 terminal/models/session.py:52 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 msgid "Command" @@ -833,20 +866,20 @@ msgstr "生成的正则表达式有误" msgid "Command confirm" msgstr "命令复核" -#: assets/models/domain.py:73 +#: assets/models/domain.py:72 msgid "Gateway" msgstr "网关" -#: assets/models/domain.py:128 +#: assets/models/domain.py:127 #, python-brace-format msgid "Unable to connect to port {port} on {ip}" msgstr "无法连接到 {ip} 上的端口 {port}" -#: assets/models/domain.py:131 +#: assets/models/domain.py:130 msgid "Authentication failed" msgstr "认证失败" -#: assets/models/domain.py:133 assets/models/domain.py:155 +#: assets/models/domain.py:132 assets/models/domain.py:154 msgid "Connect failed" msgstr "连接失败" @@ -878,6 +911,10 @@ msgstr "默认资产组" msgid "Value" msgstr "值" +#: assets/models/label.py:40 settings/serializers/sms.py:7 +msgid "Label" +msgstr "标签" + #: assets/models/node.py:151 msgid "New node" msgstr "新节点" @@ -886,7 +923,7 @@ msgstr "新节点" msgid "empty" msgstr "空" -#: assets/models/node.py:545 perms/models/asset_permission.py:100 +#: assets/models/node.py:545 perms/models/asset_permission.py:105 msgid "Key" msgstr "键" @@ -894,7 +931,7 @@ msgstr "键" msgid "Full value" msgstr "全称" -#: assets/models/node.py:550 perms/models/asset_permission.py:101 +#: assets/models/node.py:550 perms/models/asset_permission.py:106 msgid "Parent key" msgstr "ssh私钥" @@ -922,15 +959,7 @@ msgstr "普通用户" msgid "Username same with user" msgstr "用户名与用户相同" -#: assets/models/user.py:227 assets/serializers/domain.py:29 -#: templates/_nav.html:39 -#: terminal/templates/terminal/_msg_command_execute_alert.html:16 -#: xpack/plugins/change_auth_plan/models/asset.py:39 -msgid "Assets" -msgstr "资产" - -#: assets/models/user.py:231 templates/_nav.html:17 -#: users/views/profile/pubkey.py:37 +#: assets/models/user.py:231 users/apps.py:9 msgid "Users" msgstr "用户管理" @@ -958,7 +987,7 @@ msgstr "认证方式" msgid "SFTP Root" msgstr "SFTP根路径" -#: assets/models/user.py:241 authentication/models.py:45 +#: assets/models/user.py:241 authentication/models.py:48 msgid "Token" msgstr "" @@ -1002,7 +1031,7 @@ msgstr "" "{} - 账号备份任务已完成: 未设置加密密码 - 请前往个人信息 -> 文件加密密码中设" "置加密密码" -#: assets/serializers/account.py:39 assets/serializers/account.py:67 +#: assets/serializers/account.py:40 assets/serializers/account.py:83 msgid "System user display" msgstr "系统用户名称" @@ -1280,8 +1309,13 @@ msgstr "为了安全,禁止推送用户 {}" msgid "No assets matched, stop task" msgstr "没有匹配到资产,结束任务" -#: audits/models.py:27 audits/models.py:54 +#: audits/apps.py:9 +msgid "Audits" +msgstr "日志审计" + +#: audits/models.py:27 audits/models.py:57 #: authentication/templates/authentication/_access_key_modal.html:65 +#: rbac/models/permission.py:129 #: users/templates/users/user_asset_permission.html:128 #: users/templates/users/user_database_app_permission.html:111 msgid "Delete" @@ -1311,8 +1345,8 @@ msgstr "创建目录" msgid "Symlink" msgstr "建立软链接" -#: audits/models.py:38 audits/models.py:61 audits/models.py:81 -#: terminal/models/session.py:47 terminal/models/sharing.py:76 +#: audits/models.py:38 audits/models.py:64 audits/models.py:87 +#: terminal/models/session.py:48 terminal/models/sharing.py:82 msgid "Remote addr" msgstr "远端地址" @@ -1324,90 +1358,109 @@ msgstr "操作" msgid "Filename" msgstr "文件名" -#: audits/models.py:43 audits/models.py:106 terminal/models/sharing.py:84 -#: xpack/plugins/change_auth_plan/task_handlers/base/manager.py:119 +#: audits/models.py:43 audits/models.py:115 terminal/models/sharing.py:90 +#: xpack/plugins/change_auth_plan/serializers/app.py:87 +#: xpack/plugins/change_auth_plan/serializers/asset.py:197 msgid "Success" msgstr "成功" -#: audits/models.py:52 +#: audits/models.py:47 +msgid "File transfer log" +msgstr "文件管理" + +#: audits/models.py:55 #: authentication/templates/authentication/_access_key_modal.html:22 +#: rbac/models/permission.py:126 msgid "Create" msgstr "创建" -#: audits/models.py:53 templates/_csv_import_export.html:18 -#: templates/_csv_update_modal.html:6 +#: audits/models.py:56 rbac/models/permission.py:128 +#: 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 msgid "Update" msgstr "更新" -#: audits/models.py:59 audits/serializers.py:63 +#: audits/models.py:62 audits/serializers.py:63 msgid "Resource Type" msgstr "资源类型" -#: audits/models.py:60 +#: audits/models.py:63 msgid "Resource" msgstr "资源" -#: audits/models.py:62 audits/models.py:82 +#: audits/models.py:65 audits/models.py:88 msgid "Datetime" msgstr "日期" #: audits/models.py:80 +msgid "Operate log" +msgstr "操作日志" + +#: audits/models.py:86 msgid "Change by" msgstr "修改者" -#: audits/models.py:100 +#: audits/models.py:94 +msgid "Password change log" +msgstr "改密日志" + +#: audits/models.py:109 msgid "Disabled" msgstr "禁用" -#: audits/models.py:101 settings/models.py:33 +#: audits/models.py:110 settings/models.py:33 msgid "Enabled" msgstr "启用" -#: audits/models.py:102 +#: audits/models.py:111 msgid "-" msgstr "" -#: audits/models.py:111 +#: audits/models.py:120 msgid "Login type" msgstr "登录方式" -#: audits/models.py:112 +#: audits/models.py:121 #: tickets/serializers/ticket/meta/ticket_type/login_confirm.py:14 msgid "Login ip" msgstr "登录IP" -#: audits/models.py:113 +#: audits/models.py:122 #: authentication/templates/authentication/_msg_different_city.html:11 #: tickets/serializers/ticket/meta/ticket_type/login_confirm.py:17 msgid "Login city" msgstr "登录城市" -#: audits/models.py:114 audits/serializers.py:44 +#: audits/models.py:123 audits/serializers.py:44 msgid "User agent" msgstr "用户代理" -#: audits/models.py:115 +#: audits/models.py:124 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:64 users/models/user.py:571 -#: users/serializers/profile.py:123 +#: users/forms/profile.py:64 users/models/user.py:560 +#: users/serializers/profile.py:121 msgid "MFA" msgstr "MFA" -#: audits/models.py:117 tickets/models/ticket.py:61 -#: xpack/plugins/cloud/models.py:172 xpack/plugins/cloud/models.py:221 +#: audits/models.py:126 terminal/models/status.py:33 +#: tickets/models/ticket.py:64 xpack/plugins/cloud/models.py:172 +#: xpack/plugins/cloud/models.py:224 msgid "Status" msgstr "状态" -#: audits/models.py:118 +#: audits/models.py:127 msgid "Date login" msgstr "登录日期" -#: audits/models.py:119 audits/serializers.py:46 +#: audits/models.py:128 audits/serializers.py:46 msgid "Authentication backend" msgstr "认证方式" +#: audits/models.py:167 +msgid "User login log" +msgstr "用户登录日志" + #: audits/serializers.py:14 msgid "Operate display" msgstr "操作名称" @@ -1445,7 +1498,7 @@ msgstr "运行用户" msgid "Run as display" msgstr "运行用户名称" -#: audits/serializers.py:102 +#: audits/serializers.py:102 rbac/serializers/rolebinding.py:22 msgid "User display" msgstr "用户名称" @@ -1463,259 +1516,249 @@ msgstr "认证令牌" #: audits/signals_handler.py:71 authentication/notifications.py:73 #: authentication/views/login.py:164 authentication/views/wecom.py:158 -#: notifications/backends/__init__.py:11 users/models/user.py:607 +#: notifications/backends/__init__.py:11 users/models/user.py:596 msgid "WeCom" msgstr "企业微信" #: audits/signals_handler.py:72 authentication/views/dingtalk.py:160 #: authentication/views/login.py:170 notifications/backends/__init__.py:12 -#: users/models/user.py:608 +#: users/models/user.py:597 msgid "DingTalk" msgstr "钉钉" #: audits/signals_handler.py:106 -msgid "User and Organization" -msgstr "用户与组织" - -#: audits/signals_handler.py:107 -#, python-brace-format -msgid "{User} JOINED {Organization}" -msgstr "{User} 加入 {Organization}" - -#: audits/signals_handler.py:108 -#, python-brace-format -msgid "{User} LEFT {Organization}" -msgstr "{User} 离开 {Organization}" - -#: audits/signals_handler.py:111 msgid "User and Group" msgstr "用户与用户组" -#: audits/signals_handler.py:112 +#: audits/signals_handler.py:107 #, python-brace-format msgid "{User} JOINED {UserGroup}" msgstr "{User} 加入 {UserGroup}" -#: audits/signals_handler.py:113 +#: audits/signals_handler.py:108 #, python-brace-format msgid "{User} LEFT {UserGroup}" msgstr "{User} 离开 {UserGroup}" -#: audits/signals_handler.py:116 +#: audits/signals_handler.py:111 msgid "Asset and SystemUser" msgstr "资产与系统用户" -#: audits/signals_handler.py:117 +#: audits/signals_handler.py:112 #, python-brace-format msgid "{Asset} ADD {SystemUser}" msgstr "{Asset} 添加 {SystemUser}" -#: audits/signals_handler.py:118 +#: audits/signals_handler.py:113 #, python-brace-format msgid "{Asset} REMOVE {SystemUser}" msgstr "{Asset} 移除 {SystemUser}" -#: audits/signals_handler.py:121 +#: audits/signals_handler.py:116 msgid "Node and Asset" msgstr "节点与资产" -#: audits/signals_handler.py:122 +#: audits/signals_handler.py:117 #, python-brace-format msgid "{Node} ADD {Asset}" msgstr "{Node} 添加 {Asset}" -#: audits/signals_handler.py:123 +#: audits/signals_handler.py:118 #, python-brace-format msgid "{Node} REMOVE {Asset}" msgstr "{Node} 移除 {Asset}" -#: audits/signals_handler.py:126 +#: audits/signals_handler.py:121 msgid "User asset permissions" msgstr "用户资产授权" -#: audits/signals_handler.py:127 +#: audits/signals_handler.py:122 #, python-brace-format msgid "{AssetPermission} ADD {User}" msgstr "{AssetPermission} 添加 {User}" -#: audits/signals_handler.py:128 +#: audits/signals_handler.py:123 #, python-brace-format msgid "{AssetPermission} REMOVE {User}" msgstr "{AssetPermission} 移除 {User}" -#: audits/signals_handler.py:131 +#: audits/signals_handler.py:126 msgid "User group asset permissions" msgstr "用户组资产授权" -#: audits/signals_handler.py:132 +#: audits/signals_handler.py:127 #, python-brace-format msgid "{AssetPermission} ADD {UserGroup}" msgstr "{AssetPermission} 添加 {UserGroup}" -#: audits/signals_handler.py:133 +#: audits/signals_handler.py:128 #, python-brace-format msgid "{AssetPermission} REMOVE {UserGroup}" msgstr "{AssetPermission} 移除 {UserGroup}" -#: audits/signals_handler.py:136 perms/models/asset_permission.py:30 -#: templates/_nav.html:78 users/templates/users/_user_detail_nav_header.html:31 +#: audits/signals_handler.py:131 perms/models/asset_permission.py:29 +#: users/templates/users/_user_detail_nav_header.html:31 msgid "Asset permission" msgstr "资产授权" -#: audits/signals_handler.py:137 +#: audits/signals_handler.py:132 #, python-brace-format msgid "{AssetPermission} ADD {Asset}" msgstr "{AssetPermission} 添加 {Asset}" -#: audits/signals_handler.py:138 +#: audits/signals_handler.py:133 #, python-brace-format msgid "{AssetPermission} REMOVE {Asset}" msgstr "{AssetPermission} 移除 {Asset}" -#: audits/signals_handler.py:141 +#: audits/signals_handler.py:136 msgid "Node permission" msgstr "节点授权" -#: audits/signals_handler.py:142 +#: audits/signals_handler.py:137 #, python-brace-format msgid "{AssetPermission} ADD {Node}" msgstr "{AssetPermission} 添加 {Node}" -#: audits/signals_handler.py:143 +#: audits/signals_handler.py:138 #, python-brace-format msgid "{AssetPermission} REMOVE {Node}" msgstr "{AssetPermission} 移除 {Node}" -#: audits/signals_handler.py:146 +#: audits/signals_handler.py:141 msgid "Asset permission and SystemUser" msgstr "资产授权与系统用户" -#: audits/signals_handler.py:147 +#: audits/signals_handler.py:142 #, python-brace-format msgid "{AssetPermission} ADD {SystemUser}" msgstr "{AssetPermission} 添加 {SystemUser}" -#: audits/signals_handler.py:148 +#: audits/signals_handler.py:143 #, python-brace-format msgid "{AssetPermission} REMOVE {SystemUser}" msgstr "{AssetPermission} 移除 {SystemUser}" -#: audits/signals_handler.py:151 +#: audits/signals_handler.py:146 msgid "User application permissions" msgstr "用户应用授权" -#: audits/signals_handler.py:152 +#: audits/signals_handler.py:147 #, python-brace-format msgid "{ApplicationPermission} ADD {User}" msgstr "{ApplicationPermission} 添加 {User}" -#: audits/signals_handler.py:153 +#: audits/signals_handler.py:148 #, python-brace-format msgid "{ApplicationPermission} REMOVE {User}" msgstr "{ApplicationPermission} 移除 {User}" -#: audits/signals_handler.py:156 +#: audits/signals_handler.py:151 msgid "User group application permissions" msgstr "用户组应用授权" -#: audits/signals_handler.py:157 +#: audits/signals_handler.py:152 #, python-brace-format msgid "{ApplicationPermission} ADD {UserGroup}" msgstr "{ApplicationPermission} 添加 {UserGroup}" -#: audits/signals_handler.py:158 +#: audits/signals_handler.py:153 #, python-brace-format msgid "{ApplicationPermission} REMOVE {UserGroup}" msgstr "{ApplicationPermission} 移除 {UserGroup}" -#: audits/signals_handler.py:161 perms/models/application_permission.py:37 +#: audits/signals_handler.py:156 perms/models/application_permission.py:37 msgid "Application permission" msgstr "应用授权" -#: audits/signals_handler.py:162 +#: audits/signals_handler.py:157 #, python-brace-format msgid "{ApplicationPermission} ADD {Application}" msgstr "{ApplicationPermission} 添加 {Application}" -#: audits/signals_handler.py:163 +#: audits/signals_handler.py:158 #, python-brace-format msgid "{ApplicationPermission} REMOVE {Application}" msgstr "{ApplicationPermission} 移除 {Application}" -#: audits/signals_handler.py:166 +#: audits/signals_handler.py:161 msgid "Application permission and SystemUser" msgstr "应用授权与系统用户" -#: audits/signals_handler.py:167 +#: audits/signals_handler.py:162 #, python-brace-format msgid "{ApplicationPermission} ADD {SystemUser}" msgstr "{ApplicationPermission} 添加 {SystemUser}" -#: audits/signals_handler.py:168 +#: audits/signals_handler.py:163 #, python-brace-format msgid "{ApplicationPermission} REMOVE {SystemUser}" msgstr "{ApplicationPermission} 移除 {SystemUser}" -#: authentication/api/connection_token.py:285 +#: authentication/api/connection_token.py:296 msgid "Invalid token" msgstr "无效的令牌" -#: authentication/api/mfa.py:72 +#: authentication/api/mfa.py:64 msgid "Current user not support mfa type: {}" msgstr "当前用户不支持 MFA 类型: {}" -#: authentication/api/mfa.py:119 +#: authentication/api/mfa.py:111 msgid "Code is invalid, {}" msgstr "验证码无效: {}" -#: authentication/backends/api.py:67 +#: authentication/apps.py:7 +msgid "Authentication" +msgstr "认证" + +#: authentication/backends/api.py:70 msgid "Invalid signature header. No credentials provided." msgstr "" -#: authentication/backends/api.py:70 +#: authentication/backends/api.py:73 msgid "Invalid signature header. Signature string should not contain spaces." msgstr "" -#: authentication/backends/api.py:77 +#: authentication/backends/api.py:80 msgid "Invalid signature header. Format like AccessKeyId:Signature" msgstr "" -#: authentication/backends/api.py:81 +#: authentication/backends/api.py:84 msgid "" "Invalid signature header. Signature string should not contain invalid " "characters." msgstr "" -#: authentication/backends/api.py:101 authentication/backends/api.py:117 +#: authentication/backends/api.py:104 authentication/backends/api.py:120 msgid "Invalid signature." msgstr "" -#: authentication/backends/api.py:108 +#: authentication/backends/api.py:111 msgid "HTTP header: Date not provide or not %a, %d %b %Y %H:%M:%S GMT" msgstr "" -#: authentication/backends/api.py:113 +#: authentication/backends/api.py:116 msgid "Expired, more than 15 minutes" msgstr "" -#: authentication/backends/api.py:120 +#: authentication/backends/api.py:123 msgid "User disabled." msgstr "用户已禁用" -#: authentication/backends/api.py:138 +#: authentication/backends/api.py:141 msgid "Invalid token header. No credentials provided." msgstr "" -#: authentication/backends/api.py:141 +#: authentication/backends/api.py:144 msgid "Invalid token header. Sign string should not contain spaces." msgstr "" -#: authentication/backends/api.py:148 +#: authentication/backends/api.py:151 msgid "" "Invalid token header. Sign string should not contain invalid characters." msgstr "" -#: authentication/backends/api.py:159 +#: authentication/backends/api.py:162 msgid "Invalid token or cache refreshed." msgstr "" @@ -1941,14 +1984,30 @@ msgstr "该 MFA ({}) 方式没有启用" msgid "Please change your password" msgstr "请修改密码" -#: authentication/models.py:37 +#: authentication/models.py:33 terminal/serializers/storage.py:30 +msgid "Access key" +msgstr "Access key" + +#: authentication/models.py:40 msgid "Private Token" msgstr "SSH密钥" -#: authentication/models.py:46 +#: authentication/models.py:49 msgid "Expired" msgstr "过期时间" +#: authentication/models.py:53 +msgid "SSO token" +msgstr "" + +#: authentication/models.py:62 +msgid "Can add super connection token" +msgstr "可以添加 超级连接Token" + +#: authentication/models.py:63 +msgid "Can view connect token secret" +msgstr "可以查看 连接Token 密文" + #: authentication/notifications.py:19 msgid "Different city login reminder" msgstr "异地登录提醒" @@ -1980,7 +2039,7 @@ msgid "Secret" msgstr "密钥" #: authentication/templates/authentication/_access_key_modal.html:33 -#: terminal/notifications.py:92 terminal/notifications.py:140 +#: terminal/notifications.py:90 terminal/notifications.py:138 msgid "Date" msgstr "日期" @@ -1990,14 +2049,14 @@ msgid "Show" msgstr "显示" #: authentication/templates/authentication/_access_key_modal.html:66 -#: settings/serializers/security.py:39 users/models/user.py:458 -#: users/serializers/profile.py:120 users/templates/users/mfa_setting.html:60 +#: settings/serializers/security.py:39 users/models/user.py:445 +#: users/serializers/profile.py:111 users/templates/users/mfa_setting.html:60 #: users/templates/users/user_verify_mfa.html:36 msgid "Disable" msgstr "禁用" #: authentication/templates/authentication/_access_key_modal.html:67 -#: users/models/user.py:459 users/serializers/profile.py:121 +#: users/models/user.py:446 users/serializers/profile.py:112 #: users/templates/users/mfa_setting.html:26 #: users/templates/users/mfa_setting.html:67 msgid "Enable" @@ -2246,7 +2305,7 @@ msgid "The FeiShu is already bound to another user" msgstr "该飞书已经绑定其他用户" #: authentication/views/feishu.py:148 authentication/views/login.py:176 -#: notifications/backends/__init__.py:14 users/models/user.py:609 +#: notifications/backends/__init__.py:14 users/models/user.py:598 msgid "FeiShu" msgstr "飞书" @@ -2536,8 +2595,12 @@ msgstr "" "div>
如果你看到了这个页面,证明你访问的不是nginx监听的端口,祝你好运" +#: notifications/apps.py:7 +msgid "Notifications" +msgstr "通知" + #: notifications/backends/__init__.py:10 users/forms/profile.py:101 -#: users/models/user.py:551 +#: users/models/user.py:539 msgid "Email" msgstr "邮件" @@ -2553,7 +2616,7 @@ msgstr "等待任务开始" msgid "Not has host {} permission" msgstr "没有该主机 {} 权限" -#: ops/apps.py:9 ops/notifications.py:15 +#: ops/apps.py:9 ops/notifications.py:16 msgid "Operations" msgstr "运维" @@ -2602,59 +2665,76 @@ msgstr "单位: 时" msgid "Callback" msgstr "回调" -#: ops/models/adhoc.py:149 +#: ops/models/adhoc.py:135 terminal/models/task.py:26 +#: xpack/plugins/gathered_user/models.py:73 +msgid "Task" +msgstr "任务" + +#: ops/models/adhoc.py:138 +msgid "Can view task monitor" +msgstr "可以查看任务监控" + +#: ops/models/adhoc.py:154 msgid "Tasks" msgstr "任务" -#: ops/models/adhoc.py:150 +#: ops/models/adhoc.py:155 msgid "Pattern" msgstr "模式" -#: ops/models/adhoc.py:151 +#: ops/models/adhoc.py:156 msgid "Options" msgstr "选项" -#: ops/models/adhoc.py:153 +#: ops/models/adhoc.py:158 msgid "Run as admin" msgstr "再次执行" -#: ops/models/adhoc.py:156 +#: ops/models/adhoc.py:161 msgid "Become" msgstr "Become" -#: ops/models/adhoc.py:157 +#: ops/models/adhoc.py:162 msgid "Create by" msgstr "创建者" -#: ops/models/adhoc.py:246 +#: ops/models/adhoc.py:243 +msgid "AdHoc" +msgstr "" + +#: ops/models/adhoc.py:252 msgid "Task display" msgstr "任务名称" -#: ops/models/adhoc.py:248 +#: ops/models/adhoc.py:254 msgid "Host amount" msgstr "主机数量" -#: ops/models/adhoc.py:250 +#: ops/models/adhoc.py:256 msgid "Start time" msgstr "开始时间" -#: ops/models/adhoc.py:251 +#: ops/models/adhoc.py:257 msgid "End time" msgstr "完成时间" -#: ops/models/adhoc.py:253 ops/models/command.py:29 +#: ops/models/adhoc.py:259 ops/models/command.py:29 #: terminal/serializers/session.py:39 msgid "Is finished" msgstr "是否完成" -#: ops/models/adhoc.py:255 +#: ops/models/adhoc.py:261 msgid "Adhoc raw result" msgstr "结果" -#: ops/models/adhoc.py:256 +#: ops/models/adhoc.py:262 msgid "Adhoc result summary" msgstr "汇总" +#: ops/models/adhoc.py:339 +msgid "AdHoc execution" +msgstr "命令执行" + #: ops/models/command.py:32 msgid "Date finished" msgstr "结束日期" @@ -2671,30 +2751,34 @@ msgstr "命令 `{}` 不允许被执行 ......." msgid "Task end" msgstr "任务结束" -#: ops/notifications.py:16 +#: ops/models/command.py:160 +msgid "Command execution" +msgstr "命令执行" + +#: ops/notifications.py:17 msgid "Server performance" msgstr "监控告警" -#: ops/notifications.py:22 +#: ops/notifications.py:23 msgid "Terminal health check warning" msgstr "终端健康状况检查警告" -#: ops/notifications.py:63 +#: ops/notifications.py:68 #, python-brace-format msgid "The terminal is offline: {name}" msgstr "终端已离线: {name}" -#: ops/notifications.py:68 +#: ops/notifications.py:73 #, python-brace-format msgid "Disk used more than {max_threshold}%: => {value}" msgstr "硬盘使用率超过 {max_threshold}%: => {value}" -#: ops/notifications.py:73 +#: ops/notifications.py:78 #, python-brace-format msgid "Memory used more than {max_threshold}%: => {value}" msgstr "内存使用率超过 {max_threshold}%: => {value}" -#: ops/notifications.py:78 +#: ops/notifications.py:83 #, python-brace-format msgid "CPU load more than {max_threshold}: => {value}" msgstr "CPU 使用率超过 {max_threshold}: => {value}" @@ -2715,37 +2799,41 @@ msgstr "任务列表" msgid "Update task content: {}" msgstr "更新任务内容: {}" -#: orgs/api.py:79 +#: orgs/api.py:68 msgid "The current organization ({}) cannot be deleted" msgstr "当前组织 ({}) 不能被删除" -#: orgs/api.py:87 +#: orgs/api.py:76 msgid "The organization have resource ({}) cannot be deleted" msgstr "组织存在资源 ({}) 不能被删除" -#: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:37 -#: orgs/models.py:432 orgs/serializers.py:106 -#: tickets/serializers/ticket/ticket.py:77 +#: orgs/apps.py:7 +msgid "Organizations" +msgstr "组织" + +#: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:27 +#: orgs/models.py:193 rbac/const.py:7 rbac/models/rolebinding.py:40 +#: rbac/serializers/rolebinding.py:40 tickets/serializers/ticket/ticket.py:77 msgid "Organization" msgstr "组织" -#: orgs/models.py:17 users/const.py:12 -msgid "Organization administrator" -msgstr "组织管理员" - -#: orgs/models.py:18 users/const.py:13 -msgid "Organization auditor" -msgstr "组织审计员" - -#: orgs/models.py:31 +#: orgs/models.py:21 msgid "GLOBAL" msgstr "全局组织" -#: orgs/models.py:434 users/models/user.py:559 users/serializers/user.py:37 -#: users/templates/users/_select_user_modal.html:15 +#: orgs/models.py:29 +msgid "Can view root org" +msgstr "" + +#: orgs/models.py:198 rbac/models/role.py:46 rbac/models/rolebinding.py:36 +#: users/models/user.py:547 users/templates/users/_select_user_modal.html:15 msgid "Role" msgstr "角色" +#: perms/apps.py:9 rbac/models/role.py:34 +msgid "Permissions" +msgstr "授权" + #: perms/exceptions.py:9 msgid "The administrator is modifying permissions. Please wait" msgstr "管理员正在修改授权,请稍等" @@ -2754,11 +2842,43 @@ msgstr "管理员正在修改授权,请稍等" msgid "The authorization cannot be revoked for the time being" msgstr "该授权暂时不能撤销" -#: perms/models/asset_permission.py:133 +#: perms/models/application_permission.py:40 +msgid "Can view my apps" +msgstr "可以查看授权的应用" + +#: perms/models/application_permission.py:41 +msgid "Can connect my apps" +msgstr "可以连接授权的应用" + +#: perms/models/application_permission.py:42 +msgid "Can view user apps" +msgstr "可以查看授权的应用" + +#: perms/models/application_permission.py:43 +msgid "Can view usergroup apps" +msgstr "可以查看用户组授权的应用" + +#: perms/models/asset_permission.py:32 +msgid "Can view my assets" +msgstr "可以查看授权的资产" + +#: perms/models/asset_permission.py:33 +msgid "Can connect my assets" +msgstr "可以连接登录资产" + +#: perms/models/asset_permission.py:34 +msgid "Can view user assets" +msgstr "可以查看用户授权的资产" + +#: perms/models/asset_permission.py:35 +msgid "Can view usergroup assets" +msgstr "可以查看用户组授权的资产" + +#: perms/models/asset_permission.py:138 msgid "Ungrouped" msgstr "未分组" -#: perms/models/asset_permission.py:135 +#: perms/models/asset_permission.py:140 msgid "Favorite" msgstr "收藏夹" @@ -2793,7 +2913,7 @@ msgstr "剪贴板复制粘贴" #: perms/models/base.py:90 #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:58 #: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:60 -#: users/models/user.py:590 +#: users/models/user.py:579 msgid "Date expired" msgstr "失效日期" @@ -2836,20 +2956,21 @@ msgstr "组织 ({}) 的应用授权" #: perms/serializers/application/permission.py:20 #: perms/serializers/application/permission.py:41 #: perms/serializers/asset/permission.py:19 -#: perms/serializers/asset/permission.py:45 users/serializers/user.py:79 +#: perms/serializers/asset/permission.py:45 users/serializers/user.py:134 msgid "Is valid" msgstr "账户是否有效" #: perms/serializers/application/permission.py:21 #: perms/serializers/application/permission.py:40 #: perms/serializers/asset/permission.py:20 -#: perms/serializers/asset/permission.py:44 users/serializers/user.py:28 -#: users/serializers/user.py:80 +#: perms/serializers/asset/permission.py:44 users/serializers/user.py:83 +#: users/serializers/user.py:136 msgid "Is expired" msgstr "已过期" #: perms/serializers/application/permission.py:43 -#: perms/serializers/asset/permission.py:47 users/serializers/group.py:34 +#: perms/serializers/asset/permission.py:47 rbac/serializers/role.py:26 +#: users/serializers/group.py:34 msgid "Users amount" msgstr "用户数量" @@ -2905,43 +3026,161 @@ msgstr "" msgid "If you have any question, please contact the administrator" msgstr "如果有疑问或需求,请联系系统管理员" -#: settings/api/alibaba_sms.py:30 settings/api/tencent_sms.py:34 +#: rbac/api/role.py:31 +msgid "Internal role, can't be destroy" +msgstr "" + +#: rbac/api/role.py:38 +msgid "Internal role, can't be update" +msgstr "" + +#: rbac/apps.py:7 +msgid "RBAC" +msgstr "RBAC" + +#: rbac/builtin.py:78 +msgid "SystemAdmin" +msgstr "系统管理员" + +#: rbac/builtin.py:81 +msgid "SystemAuditor" +msgstr "系统审计员" + +#: rbac/builtin.py:84 +msgid "SystemComponent" +msgstr "系统组件" + +#: rbac/builtin.py:90 +msgid "OrgAdmin" +msgstr "组织管理员" + +#: rbac/builtin.py:93 +msgid "OrgAuditor" +msgstr "组织审计员" + +#: rbac/builtin.py:96 +msgid "OrgUser" +msgstr "组织用户" + +#: rbac/models/menu.py:13 +msgid "Menu permission" +msgstr "菜单授权" + +#: rbac/models/menu.py:15 +msgid "Console view" +msgstr "控制台" + +#: rbac/models/menu.py:16 +msgid "Audit view" +msgstr "安全审计" + +#: rbac/models/menu.py:17 +msgid "Workspace view" +msgstr "控制台" + +#: rbac/models/permission.py:127 +msgid "View" +msgstr "视图" + +#: rbac/models/permission.py:210 +msgid "Permission" +msgstr "授权" + +#: rbac/models/role.py:31 rbac/models/rolebinding.py:30 +msgid "Scope" +msgstr "范围" + +#: rbac/models/role.py:36 +msgid "Built-in" +msgstr "内置" + +#: rbac/models/role.py:127 +msgid "System role" +msgstr "系统角色" + +#: rbac/models/role.py:135 +msgid "Organization role" +msgstr "组织角色" + +#: rbac/models/rolebinding.py:45 +msgid "Role binding" +msgstr "角色绑定" + +#: rbac/models/rolebinding.py:111 +msgid "" +"User last role in org, can not be delete, you can remove user from org " +"instead" +msgstr "用户最后一个角色,不能删除,你可以将用户从组织移除" + +#: rbac/models/rolebinding.py:118 +msgid "Organization role binding" +msgstr "组织角色绑定" + +#: rbac/models/rolebinding.py:133 +msgid "System role binding" +msgstr "系统角色绑定" + +#: rbac/serializers/permission.py:26 users/serializers/profile.py:125 +msgid "Perms" +msgstr "权限" + +#: rbac/serializers/role.py:11 +msgid "Scope display" +msgstr "范围名称" + +#: rbac/serializers/role.py:27 +msgid "Display name" +msgstr "显示名称" + +#: rbac/serializers/rolebinding.py:23 +msgid "Role display" +msgstr "角色显示" + +#: rbac/serializers/rolebinding.py:56 +msgid "Has bound this role" +msgstr "已经绑定" + +#: settings/api/alibaba_sms.py:31 settings/api/tencent_sms.py:35 msgid "test_phone is required" msgstr "测试手机号 该字段是必填项。" -#: settings/api/alibaba_sms.py:51 settings/api/dingtalk.py:31 -#: settings/api/feishu.py:35 settings/api/tencent_sms.py:56 -#: settings/api/wecom.py:36 +#: settings/api/alibaba_sms.py:52 settings/api/dingtalk.py:28 +#: settings/api/feishu.py:36 settings/api/tencent_sms.py:57 +#: settings/api/wecom.py:37 msgid "Test success" msgstr "测试成功" -#: settings/api/email.py:22 +#: settings/api/email.py:20 msgid "Test mail sent to {}, please check" msgstr "邮件已经发送{}, 请检查" -#: settings/api/ldap.py:157 +#: settings/api/ldap.py:162 msgid "Synchronization start, please wait." msgstr "同步开始,请稍等" -#: settings/api/ldap.py:161 +#: settings/api/ldap.py:166 msgid "Synchronization is running, please wait." msgstr "同步正在运行,请稍等" -#: settings/api/ldap.py:166 +#: settings/api/ldap.py:171 msgid "Synchronization error: {}" msgstr "同步错误: {}" -#: settings/api/ldap.py:199 +#: settings/api/ldap.py:202 msgid "Get ldap users is None" msgstr "获取 LDAP 用户为 None" -#: settings/api/ldap.py:208 +#: settings/api/ldap.py:211 msgid "Imported {} users successfully (Organization: {})" msgstr "成功导入 {} 个用户 ( 组织: {} )" -#: settings/models.py:195 users/templates/users/reset_password.html:29 -msgid "Setting" -msgstr "设置" +#: settings/apps.py:7 +msgid "Settings" +msgstr "系统设置" + +#: settings/models.py:196 +msgid "System setting" +msgstr "系统设置" #: settings/serializers/auth/base.py:10 msgid "CAS Auth" @@ -3713,10 +3952,6 @@ msgstr "" "根据登录 IP 是否所属常用登录城市进行判断,若账号在非常用城市登录,会发送异地" "登录提醒" -#: settings/serializers/sms.py:7 -msgid "Label" -msgstr "标签" - #: settings/serializers/terminal.py:13 msgid "Auto" msgstr "自动" @@ -3767,108 +4002,108 @@ msgstr "RDP 访问地址, 如: dev.jumpserver.org:3389" msgid "Enable XRDP" msgstr "启用 XRDP 服务" -#: settings/utils/ldap.py:415 +#: settings/utils/ldap.py:417 msgid "ldap:// or ldaps:// protocol is used." msgstr "使用 ldap:// 或 ldaps:// 协议" -#: settings/utils/ldap.py:426 +#: settings/utils/ldap.py:428 msgid "Host or port is disconnected: {}" msgstr "主机或端口不可连接: {}" -#: settings/utils/ldap.py:428 +#: settings/utils/ldap.py:430 msgid "The port is not the port of the LDAP service: {}" msgstr "端口不是LDAP服务端口: {}" -#: settings/utils/ldap.py:430 +#: settings/utils/ldap.py:432 msgid "Please add certificate: {}" msgstr "请添加证书" -#: settings/utils/ldap.py:434 settings/utils/ldap.py:461 -#: settings/utils/ldap.py:491 settings/utils/ldap.py:519 +#: settings/utils/ldap.py:436 settings/utils/ldap.py:463 +#: settings/utils/ldap.py:493 settings/utils/ldap.py:521 msgid "Unknown error: {}" msgstr "未知错误: {}" -#: settings/utils/ldap.py:448 +#: settings/utils/ldap.py:450 msgid "Bind DN or Password incorrect" msgstr "绑定DN或密码错误" -#: settings/utils/ldap.py:455 +#: settings/utils/ldap.py:457 msgid "Please enter Bind DN: {}" msgstr "请输入绑定DN: {}" -#: settings/utils/ldap.py:457 +#: settings/utils/ldap.py:459 msgid "Please enter Password: {}" msgstr "请输入密码: {}" -#: settings/utils/ldap.py:459 +#: settings/utils/ldap.py:461 msgid "Please enter correct Bind DN and Password: {}" msgstr "请输入正确的绑定DN和密码: {}" -#: settings/utils/ldap.py:477 +#: settings/utils/ldap.py:479 msgid "Invalid User OU or User search filter: {}" msgstr "不合法的用户OU或用户过滤器: {}" -#: settings/utils/ldap.py:508 +#: settings/utils/ldap.py:510 msgid "LDAP User attr map not include: {}" msgstr "LDAP属性映射没有包含: {}" -#: settings/utils/ldap.py:515 +#: settings/utils/ldap.py:517 msgid "LDAP User attr map is not dict" msgstr "LDAP属性映射不合法" -#: settings/utils/ldap.py:534 +#: settings/utils/ldap.py:536 msgid "LDAP authentication is not enabled" msgstr "LDAP认证没有启用" -#: settings/utils/ldap.py:552 +#: settings/utils/ldap.py:554 msgid "Error (Invalid LDAP server): {}" msgstr "错误 (不合法的LDAP服务器地址): {}" -#: settings/utils/ldap.py:554 +#: settings/utils/ldap.py:556 msgid "Error (Invalid Bind DN): {}" msgstr "错误(不合法的绑定DN): {}" -#: settings/utils/ldap.py:556 +#: settings/utils/ldap.py:558 msgid "Error (Invalid LDAP User attr map): {}" msgstr "错误(不合法的LDAP属性映射): {}" -#: settings/utils/ldap.py:558 +#: settings/utils/ldap.py:560 msgid "Error (Invalid User OU or User search filter): {}" msgstr "错误(不合法的用户OU或用户过滤器): {}" -#: settings/utils/ldap.py:560 +#: settings/utils/ldap.py:562 msgid "Error (Not enabled LDAP authentication): {}" msgstr "错误(没有启用LDAP认证): {}" -#: settings/utils/ldap.py:562 +#: settings/utils/ldap.py:564 msgid "Error (Unknown): {}" msgstr "错误(未知): {}" -#: settings/utils/ldap.py:565 +#: settings/utils/ldap.py:567 msgid "Succeed: Match {} s user" msgstr "成功匹配 {} 个用户" -#: settings/utils/ldap.py:598 +#: settings/utils/ldap.py:600 msgid "Authentication failed (configuration incorrect): {}" msgstr "认证失败(配置错误): {}" -#: settings/utils/ldap.py:600 +#: settings/utils/ldap.py:602 msgid "Authentication failed (before login check failed): {}" msgstr "认证失败(登录前检查失败): {}" -#: settings/utils/ldap.py:602 +#: settings/utils/ldap.py:604 msgid "Authentication failed (username or password incorrect): {}" msgstr "认证失败 (用户名或密码不正确): {}" -#: settings/utils/ldap.py:604 +#: settings/utils/ldap.py:606 msgid "Authentication failed (Unknown): {}" msgstr "认证失败: (未知): {}" -#: settings/utils/ldap.py:607 +#: settings/utils/ldap.py:609 msgid "Authentication success: {}" msgstr "认证成功: {}" -#: templates/_base_list.html:37 templates/_user_profile.html:23 +#: templates/_base_list.html:37 msgid "Search" msgstr "搜索" @@ -3916,8 +4151,7 @@ msgstr "文档" msgid "Commercial support" msgstr "商业支持" -#: templates/_header_bar.html:70 templates/_nav.html:30 -#: templates/_nav_user.html:37 users/forms/profile.py:43 +#: templates/_header_bar.html:70 users/forms/profile.py:43 #: users/templates/users/user_password_update.html:39 msgid "Profile" msgstr "个人信息" @@ -4023,137 +4257,6 @@ msgstr "等待:" msgid "The verification code has been sent" msgstr "验证码已发送" -#: templates/_nav.html:7 -msgid "Dashboard" -msgstr "仪表盘" - -#: templates/_nav.html:20 -msgid "User list" -msgstr "用户列表" - -#: templates/_nav.html:42 -msgid "Asset list" -msgstr "资产列表" - -#: templates/_nav.html:43 -msgid "Domain list" -msgstr "网域列表" - -#: templates/_nav.html:47 -msgid "Command filters" -msgstr "命令过滤" - -#: templates/_nav.html:49 -msgid "Platform list" -msgstr "平台列表" - -#: templates/_nav.html:64 templates/_nav.html:82 templates/_nav_user.html:16 -msgid "RemoteApp" -msgstr "远程应用" - -#: templates/_nav.html:66 templates/_nav.html:86 templates/_nav_user.html:22 -#: users/templates/users/user_database_app_permission.html:39 -#: users/templates/users/user_database_app_permission.html:64 -msgid "DatabaseApp" -msgstr "数据库应用" - -#: templates/_nav.html:75 -msgid "Perms" -msgstr "权限管理" - -#: templates/_nav.html:97 terminal/notifications.py:24 -msgid "Sessions" -msgstr "会话管理" - -#: templates/_nav.html:100 -msgid "Session online" -msgstr "在线会话" - -#: templates/_nav.html:101 -msgid "Session offline" -msgstr "历史会话" - -#: templates/_nav.html:102 -msgid "Commands" -msgstr "命令记录" - -#: templates/_nav.html:105 templates/_nav_user.html:42 -msgid "Web terminal" -msgstr "Web终端" - -#: templates/_nav.html:106 templates/_nav_user.html:47 -msgid "File manager" -msgstr "文件管理" - -#: templates/_nav.html:110 terminal/apps.py:9 -#: terminal/serializers/session.py:38 -msgid "Terminal" -msgstr "终端" - -#: templates/_nav.html:121 -msgid "Job Center" -msgstr "作业中心" - -#: templates/_nav.html:124 -msgid "Task list" -msgstr "任务列表" - -#: templates/_nav.html:125 templates/_nav.html:153 -msgid "Batch command" -msgstr "批量命令" - -#: templates/_nav.html:127 -msgid "Task monitor" -msgstr "任务监控" - -#: templates/_nav.html:137 -msgid "Tickets" -msgstr "工单管理" - -#: templates/_nav.html:146 -msgid "Audits" -msgstr "日志审计" - -#: templates/_nav.html:149 -msgid "Login log" -msgstr "登录日志" - -#: templates/_nav.html:150 -msgid "FTP log" -msgstr "FTP日志" - -#: templates/_nav.html:151 -msgid "Operate log" -msgstr "操作日志" - -#: templates/_nav.html:152 -msgid "Password change log" -msgstr "改密日志" - -#: templates/_nav.html:163 -msgid "XPack" -msgstr "XPack" - -#: templates/_nav.html:171 -msgid "Account list" -msgstr "账户列表" - -#: templates/_nav.html:172 -msgid "Sync instance" -msgstr "同步实例" - -#: templates/_nav.html:187 -msgid "Settings" -msgstr "系统设置" - -#: templates/_nav_user.html:4 -msgid "My assets" -msgstr "我的资产" - -#: templates/_nav_user.html:31 -msgid "Command execution" -msgstr "命令执行" - #: templates/_pagination.html:59 msgid "" "Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" @@ -4362,58 +4465,62 @@ msgstr "Jmservisor 是在 windows 远程应用发布服务器中用来拉起远 msgid "Filters" msgstr "过滤" -#: terminal/api/session.py:192 +#: terminal/api/session.py:250 msgid "Session does not exist: {}" msgstr "会话不存在: {}" -#: terminal/api/session.py:195 +#: terminal/api/session.py:253 msgid "Session is finished or the protocol not supported" msgstr "会话已经完成或协议不支持" -#: terminal/api/session.py:200 +#: terminal/api/session.py:258 msgid "User does not exist: {}" msgstr "用户不存在: {}" -#: terminal/api/session.py:207 +#: terminal/api/session.py:266 msgid "User does not have permission" msgstr "用户没有权限" -#: terminal/api/sharing.py:28 +#: terminal/api/sharing.py:30 msgid "Secure session sharing settings is disabled" msgstr "未开启会话共享" -#: terminal/api/storage.py:30 +#: terminal/api/storage.py:29 msgid "Deleting the default storage is not allowed" msgstr "不允许删除默认存储配置" -#: terminal/api/storage.py:33 +#: terminal/api/storage.py:32 msgid "Cannot delete storage that is being used" msgstr "不允许删除正在使用的存储配置" -#: terminal/api/storage.py:72 terminal/api/storage.py:73 +#: terminal/api/storage.py:73 terminal/api/storage.py:74 msgid "Command storages" msgstr "命令存储" -#: terminal/api/storage.py:79 +#: terminal/api/storage.py:80 msgid "Invalid" msgstr "无效" -#: terminal/api/storage.py:122 +#: terminal/api/storage.py:120 msgid "Test failure: {}" msgstr "测试失败: {}" -#: terminal/api/storage.py:125 +#: terminal/api/storage.py:123 msgid "Test successful" msgstr "测试成功" -#: terminal/api/storage.py:127 +#: terminal/api/storage.py:125 msgid "Test failure: Account invalid" msgstr "测试失败: 账户无效" -#: terminal/api/terminal.py:41 +#: terminal/api/terminal.py:39 msgid "Have online sessions" msgstr "有在线会话" +#: terminal/apps.py:9 +msgid "Terminals" +msgstr "终端管理" + #: terminal/backends/command/es.py:27 msgid "Invalid elasticsearch config" msgstr "无效的 Elasticsearch 配置" @@ -4435,8 +4542,8 @@ msgstr "输入" msgid "Output" msgstr "输出" -#: terminal/backends/command/models.py:24 terminal/models/sharing.py:15 -#: terminal/models/sharing.py:58 +#: terminal/backends/command/models.py:24 terminal/models/replay.py:9 +#: terminal/models/sharing.py:17 terminal/models/sharing.py:64 #: terminal/templates/terminal/_msg_command_alert.html:10 msgid "Session" msgstr "会话" @@ -4487,60 +4594,100 @@ msgstr "不支持批量创建" msgid "Storage is invalid" msgstr "存储无效" -#: terminal/models/session.py:46 terminal/models/sharing.py:81 +#: terminal/models/command.py:24 +msgid "Command record" +msgstr "命令记录" + +#: terminal/models/replay.py:13 +msgid "Can upload session replay" +msgstr "可以上传会话录像" + +#: terminal/models/replay.py:14 +msgid "Can download session replay" +msgstr "可以下载会话录像" + +#: terminal/models/session.py:47 terminal/models/sharing.py:87 msgid "Login from" msgstr "登录来源" -#: terminal/models/session.py:50 +#: terminal/models/session.py:51 msgid "Replay" msgstr "回放" -#: terminal/models/session.py:55 +#: terminal/models/session.py:56 msgid "Date end" msgstr "结束日期" -#: terminal/models/sharing.py:20 +#: terminal/models/session.py:241 +msgid "Session record" +msgstr "会话" + +#: terminal/models/session.py:243 +msgid "Can monitor session" +msgstr "可以监控会话" + +#: terminal/models/session.py:244 +msgid "Can share session" +msgstr "可以分享会话" + +#: terminal/models/session.py:245 +msgid "Can terminate session" +msgstr "可以中断会话" + +#: terminal/models/session.py:246 +msgid "Can validate session action perm" +msgstr "可以验证会话动作权限" + +#: terminal/models/sharing.py:22 msgid "Creator" msgstr "创建者" -#: terminal/models/sharing.py:22 terminal/models/sharing.py:60 +#: terminal/models/sharing.py:24 terminal/models/sharing.py:66 msgid "Verify code" msgstr "验证码" -#: terminal/models/sharing.py:27 +#: terminal/models/sharing.py:29 msgid "Expired time (min)" msgstr "过期时间 (分)" -#: terminal/models/sharing.py:48 -msgid "Link not active" -msgstr "链接失效" - -#: terminal/models/sharing.py:50 -msgid "Link expired" -msgstr "链接过期" - -#: terminal/models/sharing.py:63 +#: terminal/models/sharing.py:34 terminal/models/sharing.py:69 msgid "Session sharing" msgstr "会话分享" -#: terminal/models/sharing.py:67 terminal/serializers/sharing.py:49 +#: terminal/models/sharing.py:36 +msgid "Can add super session sharing" +msgstr "可以创建超级会话分享" + +#: terminal/models/sharing.py:54 +msgid "Link not active" +msgstr "链接失效" + +#: terminal/models/sharing.py:56 +msgid "Link expired" +msgstr "链接过期" + +#: terminal/models/sharing.py:73 terminal/serializers/sharing.py:49 msgid "Joiner" msgstr "加入者" -#: terminal/models/sharing.py:70 +#: terminal/models/sharing.py:76 msgid "Date joined" msgstr "加入日期" -#: terminal/models/sharing.py:73 +#: terminal/models/sharing.py:79 msgid "Date left" msgstr "结束日期" -#: terminal/models/sharing.py:91 +#: terminal/models/sharing.py:97 #: xpack/plugins/change_auth_plan/models/base.py:192 msgid "Finished" msgstr "结束" -#: terminal/models/sharing.py:111 +#: terminal/models/sharing.py:102 +msgid "Session join record" +msgstr "会话加入记录" + +#: terminal/models/sharing.py:118 msgid "Invalid verification code" msgstr "验证码不正确" @@ -4576,6 +4723,14 @@ msgstr "运行时间" msgid "Default storage" msgstr "默认存储" +#: terminal/models/storage.py:113 terminal/models/terminal.py:108 +msgid "Command storage" +msgstr "命令存储" + +#: terminal/models/storage.py:173 terminal/models/terminal.py:109 +msgid "Replay storage" +msgstr "录像存储" + #: terminal/models/task.py:17 msgid "Args" msgstr "参数" @@ -4596,23 +4751,23 @@ msgstr "SSH端口" msgid "HTTP Port" msgstr "HTTP端口" -#: terminal/models/terminal.py:108 -msgid "Command storage" -msgstr "命令存储" +#: terminal/models/terminal.py:183 terminal/serializers/session.py:38 +msgid "Terminal" +msgstr "终端" -#: terminal/models/terminal.py:109 -msgid "Replay storage" -msgstr "录像存储" +#: terminal/notifications.py:22 +msgid "Sessions" +msgstr "会话管理" -#: terminal/notifications.py:70 +#: terminal/notifications.py:68 msgid "Danger command alert" msgstr "危险命令告警" -#: terminal/notifications.py:91 terminal/notifications.py:139 +#: terminal/notifications.py:89 terminal/notifications.py:137 msgid "Level" msgstr "级别" -#: terminal/notifications.py:109 +#: terminal/notifications.py:107 msgid "Batch danger command alert" msgstr "批量危险命令告警" @@ -4656,11 +4811,7 @@ msgstr "端点无效: 移除路径 `{}`" msgid "Bucket" msgstr "桶名称" -#: terminal/serializers/storage.py:30 -msgid "Access key" -msgstr "Access key" - -#: terminal/serializers/storage.py:34 users/models/user.py:582 +#: terminal/serializers/storage.py:34 users/models/user.py:571 msgid "Secret key" msgstr "密钥" @@ -4669,7 +4820,7 @@ msgstr "密钥" msgid "Endpoint" msgstr "端点" -#: terminal/serializers/storage.py:66 xpack/plugins/cloud/models.py:214 +#: terminal/serializers/storage.py:66 xpack/plugins/cloud/models.py:217 msgid "Region" msgstr "地域" @@ -4725,6 +4876,10 @@ msgstr "没有发现" msgid "view" msgstr "查看" +#: tickets/apps.py:7 +msgid "Tickets" +msgstr "工单管理" + #: tickets/const.py:8 msgid "General" msgstr "一般" @@ -4952,39 +5107,47 @@ msgstr "工单批准信息" msgid "Ticket flow" msgstr "工单流程" -#: tickets/models/ticket.py:42 +#: tickets/models/ticket.py:34 +msgid "Ticket step" +msgstr "工单步骤" + +#: tickets/models/ticket.py:45 msgid "Ticket assignee" msgstr "工单受理人" -#: tickets/models/ticket.py:49 +#: tickets/models/ticket.py:52 msgid "Title" msgstr "标题" -#: tickets/models/ticket.py:57 +#: tickets/models/ticket.py:60 msgid "State" msgstr "状态" -#: tickets/models/ticket.py:65 +#: tickets/models/ticket.py:68 msgid "Approval step" msgstr "审批步骤" -#: tickets/models/ticket.py:70 +#: tickets/models/ticket.py:73 msgid "Applicant" msgstr "申请人" -#: tickets/models/ticket.py:72 +#: tickets/models/ticket.py:75 msgid "Applicant display" msgstr "申请人名称" -#: tickets/models/ticket.py:73 +#: tickets/models/ticket.py:76 msgid "Process" msgstr "流程" -#: tickets/models/ticket.py:78 +#: tickets/models/ticket.py:81 msgid "TicketFlow" msgstr "工单流程" -#: tickets/models/ticket.py:297 +#: tickets/models/ticket.py:87 +msgid "Ticket" +msgstr "工单管理" + +#: tickets/models/ticket.py:301 msgid "Please try again" msgstr "请再次尝试" @@ -5135,18 +5298,26 @@ msgstr "当前组织已存在该类型" msgid "Click here to review" msgstr "点击查看" -#: users/api/user.py:209 +#: users/api/user.py:179 msgid "Could not reset self otp, use profile reset instead" msgstr "不能在该页面重置 MFA 多因子认证, 请去个人信息页面重置" -#: users/const.py:10 users/models/user.py:167 +#: users/const.py:10 msgid "System administrator" msgstr "系统管理员" -#: users/const.py:11 users/models/user.py:168 +#: users/const.py:11 msgid "System auditor" msgstr "系统审计员" +#: users/const.py:12 +msgid "Organization administrator" +msgstr "组织管理员" + +#: users/const.py:13 +msgid "Organization auditor" +msgstr "组织审计员" + #: users/const.py:18 msgid "Reset link will be generated and sent to the user" msgstr "生成重置密码链接,通过邮件发送给用户" @@ -5230,55 +5401,75 @@ msgid "Public key should not be the same as your old one." msgstr "不能和原来的密钥相同" #: users/forms/profile.py:149 users/serializers/profile.py:95 -#: users/serializers/profile.py:171 users/serializers/profile.py:184 +#: users/serializers/profile.py:177 users/serializers/profile.py:204 msgid "Not a valid ssh public key" msgstr "SSH密钥不合法" -#: users/forms/profile.py:160 users/models/user.py:579 +#: users/forms/profile.py:160 users/models/user.py:568 #: users/templates/users/user_password_update.html:48 msgid "Public key" msgstr "SSH公钥" -#: users/models/user.py:460 +#: users/models/user.py:447 msgid "Force enable" msgstr "强制启用" -#: users/models/user.py:526 +#: users/models/user.py:514 msgid "Local" msgstr "数据库" -#: users/models/user.py:562 +#: users/models/user.py:549 users/serializers/user.py:135 +msgid "Is service account" +msgstr "服务账号" + +#: users/models/user.py:551 msgid "Avatar" msgstr "头像" -#: users/models/user.py:565 +#: users/models/user.py:554 msgid "Wechat" msgstr "微信" -#: users/models/user.py:576 +#: users/models/user.py:565 msgid "Private key" msgstr "ssh私钥" -#: users/models/user.py:598 +#: users/models/user.py:587 msgid "Source" msgstr "来源" -#: users/models/user.py:602 +#: users/models/user.py:591 msgid "Date password last updated" msgstr "最后更新密码日期" -#: users/models/user.py:605 +#: users/models/user.py:594 msgid "Need update password" msgstr "需要更新密码" -#: users/models/user.py:764 +#: users/models/user.py:759 +msgid "Can invite user" +msgstr "可以邀请用户" + +#: users/models/user.py:760 +msgid "Can remove user" +msgstr "可以移除用户" + +#: users/models/user.py:761 +msgid "Can match user" +msgstr "可以匹配用户" + +#: users/models/user.py:770 msgid "Administrator" msgstr "管理员" -#: users/models/user.py:767 +#: users/models/user.py:773 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超级管理员" +#: users/models/user.py:798 +msgid "User password history" +msgstr "用户密码历史" + #: users/notifications.py:55 #: users/templates/users/_msg_password_expire_reminder.html:17 #: users/templates/users/reset_password.html:5 @@ -5314,7 +5505,7 @@ msgstr "重置 MFA" msgid "The old password is incorrect" msgstr "旧密码错误" -#: users/serializers/profile.py:36 users/serializers/user.py:142 +#: users/serializers/profile.py:36 users/serializers/profile.py:191 msgid "Password does not match security rules" msgstr "密码不满足安全规则" @@ -5326,89 +5517,97 @@ msgstr "新密码不能是最近 {} 次的密码" msgid "The newly set password is inconsistent" msgstr "两次密码不一致" -#: users/serializers/profile.py:142 users/serializers/user.py:78 +#: users/serializers/profile.py:141 users/serializers/user.py:133 msgid "Is first login" msgstr "首次登录" -#: users/serializers/user.py:22 +#: users/serializers/user.py:25 users/serializers/user.py:31 +msgid "System roles" +msgstr "系统角色" + +#: users/serializers/user.py:29 users/serializers/user.py:32 +msgid "Org roles" +msgstr "组织角色" + +#: users/serializers/user.py:75 #: xpack/plugins/change_auth_plan/models/base.py:35 #: xpack/plugins/change_auth_plan/serializers/base.py:22 msgid "Password strategy" msgstr "密码策略" -#: users/serializers/user.py:24 +#: users/serializers/user.py:77 msgid "MFA enabled" msgstr "MFA" -#: users/serializers/user.py:25 +#: users/serializers/user.py:78 msgid "MFA force enabled" msgstr "强制 MFA" -#: users/serializers/user.py:26 +#: users/serializers/user.py:80 msgid "MFA level display" msgstr "MFA 等级名称" -#: users/serializers/user.py:27 +#: users/serializers/user.py:82 msgid "Login blocked" msgstr "登录被阻塞" -#: users/serializers/user.py:29 -msgid "Can update" -msgstr "是否可更新" - -#: users/serializers/user.py:30 -msgid "Can delete" -msgstr "是否可删除" - -#: users/serializers/user.py:32 +#: users/serializers/user.py:85 msgid "Can public key authentication" msgstr "能否公钥认证" -#: users/serializers/user.py:34 users/serializers/user.py:85 -msgid "Organization role name" -msgstr "组织角色名称" - -#: users/serializers/user.py:81 +#: users/serializers/user.py:137 msgid "Avatar url" msgstr "头像路径" -#: users/serializers/user.py:83 +#: users/serializers/user.py:139 msgid "Groups name" msgstr "用户组名" -#: users/serializers/user.py:84 +#: users/serializers/user.py:140 msgid "Source name" msgstr "用户来源名" -#: users/serializers/user.py:86 +#: users/serializers/user.py:141 +msgid "Organization role name" +msgstr "组织角色名称" + +#: users/serializers/user.py:142 msgid "Super role name" msgstr "超级角色名称" -#: users/serializers/user.py:87 +#: users/serializers/user.py:143 msgid "Total role name" msgstr "汇总角色名称" -#: users/serializers/user.py:89 +#: users/serializers/user.py:145 msgid "Is wecom bound" msgstr "是否绑定了企业微信" -#: users/serializers/user.py:90 +#: users/serializers/user.py:146 msgid "Is dingtalk bound" msgstr "是否绑定了钉钉" -#: users/serializers/user.py:91 +#: users/serializers/user.py:147 msgid "Is feishu bound" msgstr "是否绑定了飞书" -#: users/serializers/user.py:92 +#: users/serializers/user.py:148 msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" -#: users/serializers/user.py:116 -msgid "Role limit to {}" -msgstr "角色只能为 {}" +#: users/serializers/user.py:150 +msgid "System role name" +msgstr "系统角色名称" -#: users/serializers/user.py:228 +#: users/serializers/user.py:246 +msgid "Select users" +msgstr "选择用户" + +#: users/serializers/user.py:247 +msgid "For security, only list several users" +msgstr "为了安全,仅列出几个用户" + +#: users/serializers/user.py:280 msgid "name not unique" msgstr "名称重复" @@ -5556,6 +5755,10 @@ msgstr "您的密码必须满足:" msgid "Password strength" msgstr "密码强度:" +#: users/templates/users/reset_password.html:29 +msgid "Setting" +msgstr "设置" + #: users/templates/users/reset_password.html:48 #: users/templates/users/user_password_update.html:102 msgid "Very weak" @@ -5600,6 +5803,11 @@ msgstr "包含" msgid "Exclude" msgstr "不包含" +#: users/templates/users/user_database_app_permission.html:39 +#: users/templates/users/user_database_app_permission.html:64 +msgid "DatabaseApp" +msgstr "数据库应用" + #: users/templates/users/user_otp_check_password.html:6 msgid "Enable OTP" msgstr "启用 MFA(OTP)" @@ -5698,10 +5906,6 @@ msgstr "MFA(OTP) 禁用成功,返回登录页面" msgid "Password invalid" msgstr "用户名或密码无效" -#: users/views/profile/pubkey.py:38 -msgid "Public key update" -msgstr "密钥更新" - #: users/views/profile/reset.py:40 msgid "Send reset password message" msgstr "发送重置密码邮件" @@ -5741,13 +5945,16 @@ msgstr "* 新密码不能是最近 {} 次的密码" msgid "Reset password success, return to login page" msgstr "重置密码成功,返回到登录页面" -#: xpack/plugins/change_auth_plan/api/app.py:114 -#: xpack/plugins/change_auth_plan/api/asset.py:101 +#: xpack/apps.py:8 +msgid "XPACK" +msgstr "" + +#: xpack/plugins/change_auth_plan/api/app.py:109 +#: xpack/plugins/change_auth_plan/api/asset.py:95 msgid "The parameter 'action' must be [{}]" msgstr "参数 'action' 必须是 [{}]" #: xpack/plugins/change_auth_plan/meta.py:9 -#: xpack/plugins/change_auth_plan/models/asset.py:67 #: xpack/plugins/change_auth_plan/models/asset.py:123 msgid "Change auth plan" msgstr "改密计划" @@ -5763,6 +5970,7 @@ msgid "Application change auth plan execution" msgstr "应用改密计划执行" #: xpack/plugins/change_auth_plan/models/app.py:144 +#: xpack/plugins/change_auth_plan/serializers/app.py:64 msgid "App" msgstr "应用" @@ -5788,18 +5996,25 @@ msgid "Replace (The key generated by JumpServer) " msgstr "替换 (由 JumpServer 生成的密钥)" #: xpack/plugins/change_auth_plan/models/asset.py:49 -#: xpack/plugins/change_auth_plan/serializers/asset.py:34 +#: xpack/plugins/change_auth_plan/serializers/asset.py:35 msgid "SSH Key strategy" msgstr "SSH 密钥策略" +#: xpack/plugins/change_auth_plan/models/asset.py:67 +msgid "Asset change auth plan" +msgstr "资产改密计划" + #: xpack/plugins/change_auth_plan/models/asset.py:134 +msgid "Asset change auth plan execution" +msgstr "资产改密计划执行" + #: xpack/plugins/change_auth_plan/models/asset.py:210 msgid "Change auth plan execution" msgstr "改密计划执行" #: xpack/plugins/change_auth_plan/models/asset.py:217 -msgid "Change auth plan task" -msgstr "改密计划任务" +msgid "Asset change auth plan task" +msgstr "资产改密计划任务" #: xpack/plugins/change_auth_plan/models/asset.py:252 msgid "This asset does not have a privileged user set: " @@ -5873,11 +6088,11 @@ msgstr "" "{} - 改密任务已完成: 未设置加密密码 - 请前往个人信息 -> 文件加密密码中设置加" "密密码" -#: xpack/plugins/change_auth_plan/serializers/asset.py:31 +#: xpack/plugins/change_auth_plan/serializers/asset.py:32 msgid "Change Password" msgstr "更改密码" -#: xpack/plugins/change_auth_plan/serializers/asset.py:32 +#: xpack/plugins/change_auth_plan/serializers/asset.py:33 msgid "Change SSH Key" msgstr "修改 SSH Key" @@ -5909,11 +6124,11 @@ msgstr "连接主机失败" msgid "Data could not be sent to remote" msgstr "无法将数据发送到远程" -#: xpack/plugins/cloud/api.py:38 +#: xpack/plugins/cloud/api.py:40 msgid "Test connection successful" msgstr "测试成功" -#: xpack/plugins/cloud/api.py:40 +#: xpack/plugins/cloud/api.py:42 msgid "Test connection failed: {}" msgstr "测试连接失败:{}" @@ -6009,6 +6224,10 @@ msgstr "云服务商" msgid "Cloud account" msgstr "云账号" +#: xpack/plugins/cloud/models.py:82 xpack/plugins/cloud/serializers/task.py:66 +msgid "Account" +msgstr "账户" + #: xpack/plugins/cloud/models.py:85 xpack/plugins/cloud/serializers/task.py:37 msgid "Regions" msgstr "地域" @@ -6041,22 +6260,30 @@ msgstr "最后同步日期" msgid "Sync instance task" msgstr "同步实例任务" -#: xpack/plugins/cloud/models.py:179 xpack/plugins/cloud/models.py:224 +#: xpack/plugins/cloud/models.py:179 xpack/plugins/cloud/models.py:227 msgid "Date sync" msgstr "同步日期" -#: xpack/plugins/cloud/models.py:204 +#: xpack/plugins/cloud/models.py:183 +msgid "Sync instance task execution" +msgstr "同步实例任务执行" + +#: xpack/plugins/cloud/models.py:207 msgid "Sync task" msgstr "同步任务" -#: xpack/plugins/cloud/models.py:208 +#: xpack/plugins/cloud/models.py:211 msgid "Sync instance task history" msgstr "同步实例任务历史" -#: xpack/plugins/cloud/models.py:211 +#: xpack/plugins/cloud/models.py:214 msgid "Instance" msgstr "实例" +#: xpack/plugins/cloud/models.py:231 +msgid "Sync instance detail" +msgstr "同步实例详情" + #: xpack/plugins/cloud/providers/aws_international.py:17 msgid "China (Beijing)" msgstr "中国(北京)" @@ -6300,10 +6527,6 @@ msgstr "收集用户" msgid "Gather user task" msgstr "收集用户任务" -#: xpack/plugins/gathered_user/models.py:73 -msgid "Task" -msgstr "任务" - #: xpack/plugins/gathered_user/models.py:85 msgid "gather user task execution" msgstr "收集用户执行" @@ -6316,11 +6539,11 @@ msgstr "资产为空,请更改节点" msgid "Executed times" msgstr "执行次数" -#: xpack/plugins/interface/api.py:43 +#: xpack/plugins/interface/api.py:46 msgid "It is already in the default setting state!" msgstr "当前已经是初始化状态!" -#: xpack/plugins/interface/api.py:46 +#: xpack/plugins/interface/api.py:49 msgid "Restore default successfully." msgstr "恢复默认成功!" @@ -6348,11 +6571,15 @@ msgstr "管理页面logo" msgid "Logo of logout page" msgstr "退出页面logo" -#: xpack/plugins/license/api.py:37 +#: xpack/plugins/interface/models.py:36 +msgid "Interface setting" +msgstr "界面设置" + +#: xpack/plugins/license/api.py:41 msgid "License import successfully" msgstr "许可证导入成功" -#: xpack/plugins/license/api.py:38 +#: xpack/plugins/license/api.py:42 msgid "License is invalid" msgstr "无效的许可证" @@ -6375,3 +6602,80 @@ msgstr "旗舰版" #: xpack/plugins/license/models.py:77 msgid "Community edition" msgstr "社区版" + +#~ msgid "User and Organization" +#~ msgstr "用户与组织" + +#, python-brace-format +#~ msgid "{User} JOINED {Organization}" +#~ msgstr "{User} 加入 {Organization}" + +#, python-brace-format +#~ msgid "{User} LEFT {Organization}" +#~ msgstr "{User} 离开 {Organization}" + +#~ msgid "Dashboard" +#~ msgstr "仪表盘" + +#~ msgid "User list" +#~ msgstr "用户列表" + +#~ msgid "Asset list" +#~ msgstr "资产列表" + +#~ msgid "Domain list" +#~ msgstr "网域列表" + +#~ msgid "Command filters" +#~ msgstr "命令过滤" + +#~ msgid "Platform list" +#~ msgstr "平台列表" + +#~ msgid "RemoteApp" +#~ msgstr "远程应用" + +#~ msgid "Session offline" +#~ msgstr "历史会话" + +#~ msgid "Commands" +#~ msgstr "命令记录" + +#~ msgid "Web terminal" +#~ msgstr "Web终端" + +#~ msgid "Job Center" +#~ msgstr "作业中心" + +#~ msgid "Task list" +#~ msgstr "任务列表" + +#~ msgid "Batch command" +#~ msgstr "批量命令" + +#~ msgid "FTP log" +#~ msgstr "FTP日志" + +#~ msgid "XPack" +#~ msgstr "XPack" + +#~ msgid "Account list" +#~ msgstr "账户列表" + +#~ msgid "Sync instance" +#~ msgstr "同步实例" + +#~ msgid "My assets" +#~ msgstr "我的资产" + +#~ msgid "Can update" +#~ msgstr "是否可更新" + +#~ msgid "Can delete" +#~ msgstr "是否可删除" + +#~ msgid "Role limit to {}" +#~ msgstr "角色只能为 {}" + +#~ msgid "Public key update" +#~ msgstr "密钥更新" diff --git a/apps/rbac/models/menu.py b/apps/rbac/models/menu.py index 4a8e5b82c..56434feb5 100644 --- a/apps/rbac/models/menu.py +++ b/apps/rbac/models/menu.py @@ -12,7 +12,7 @@ class MenuPermission(models.Model): default_permissions = [] verbose_name = _('Menu permission') permissions = [ - ('view_adminview', _('Admin view')), + ('view_adminview', _('Console view')), ('view_auditview', _('Audit view')), - ('view_userview', _('User view')), + ('view_userview', _('Workspace view')), ] diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 7c8184460..dcf06b636 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -244,7 +244,7 @@ class MiniUserSerializer(serializers.ModelSerializer): class InviteSerializer(RolesSerializerMixin, serializers.Serializer): users = serializers.PrimaryKeyRelatedField( queryset=User.get_nature_users(), many=True, label=_('Select users'), - help_text=_('为了安全,仅会返回 3 个用户,请输入名称精准匹配') + help_text=_('For security, only list several users') ) system_roles = None system_roles_display = None