From 337e1ba20647c31e697b6857d9795098c87bdfa7 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Mon, 2 Aug 2021 12:29:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9xpack=20=E5=9B=BD?= =?UTF-8?q?=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + apps/locale/zh/LC_MESSAGES/django.mo | Bin 80121 -> 81401 bytes apps/locale/zh/LC_MESSAGES/django.po | 282 ++++++++++++++++----------- 3 files changed, 169 insertions(+), 114 deletions(-) diff --git a/.gitignore b/.gitignore index 5d5eb57db..ecbb47960 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ logs/* .vagrant/ release/* releashe +/apps/script.py diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index c541ded64954b10a4b5fdb52a5861086efb9901a..64246b90076fa1817564f0871c2ff354386ec52c 100644 GIT binary patch delta 24775 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�J)e^Mt&w2D5{cMJ>gyPveaZzXZ#SH&-x6u)8roqZdeyU|hcD~G#F zj9)b>cHI2`v--~ZId^8S_^^8Jmuda7=k<-i&2-mgt;Wsyuf*-KV?bKJ#))TEiVK*V zDzjg*xmSbz8Y|jSCbM6?1l~LA*4^G2b$jR9*h#zYj-DJlZquCwqjY;?qc_DajEdbf zCVuI6cV?}=y)Qa;+&8g%c2ga{ZPe}EtK4?CqDJVJd+zR;7r$Y7Y}8)vc>I#pcb4zI zyI^Wu^lo?9_pRa^X+ID>bE-e{{VQ<4+H=J delta 23586 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 Yfx$C-#|32KF9vG_Zf;a4U}?Jl1MS!;7XSbN diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 16199457b..a9d942468 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: 2021-07-30 19:09+0800\n" +"POT-Creation-Date: 2021-08-02 14:17+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -18,7 +18,7 @@ msgstr "" "X-Generator: Poedit 2.4.3\n" #: acls/models/base.py:25 acls/serializers/login_asset_acl.py:47 -#: applications/models/application.py:163 assets/models/asset.py:139 +#: applications/models/application.py:166 assets/models/asset.py:139 #: assets/models/base.py:175 assets/models/cluster.py:18 #: assets/models/cmd_filter.py:21 assets/models/domain.py:21 #: assets/models/group.py:20 assets/models/label.py:18 ops/mixin.py:24 @@ -52,7 +52,7 @@ msgstr "激活中" # msgid "Date created" # msgstr "创建日期" -#: acls/models/base.py:32 applications/models/application.py:176 +#: acls/models/base.py:32 applications/models/application.py:179 #: assets/models/asset.py:144 assets/models/asset.py:220 #: assets/models/base.py:180 assets/models/cluster.py:29 #: assets/models/cmd_filter.py:23 assets/models/cmd_filter.py:64 @@ -61,8 +61,8 @@ msgstr "激活中" #: orgs/models.py:27 perms/models/base.py:57 settings/models.py:34 #: terminal/models/storage.py:26 terminal/models/terminal.py:114 #: tickets/models/ticket.py:73 users/models/group.py:16 -#: users/models/user.py:589 xpack/plugins/change_auth_plan/models.py:77 -#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:98 +#: users/models/user.py:589 xpack/plugins/change_auth_plan/models.py:87 +#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:108 #: xpack/plugins/gathered_user/models.py:26 msgid "Comment" msgstr "备注" @@ -126,8 +126,8 @@ msgstr "系统用户" #: terminal/backends/command/serializers.py:13 terminal/models/session.py:40 #: users/templates/users/user_asset_permission.html:40 #: users/templates/users/user_asset_permission.html:70 -#: xpack/plugins/change_auth_plan/models.py:282 -#: xpack/plugins/cloud/models.py:202 +#: xpack/plugins/change_auth_plan/models.py:320 +#: xpack/plugins/cloud/models.py:212 msgid "Asset" msgstr "资产" @@ -140,7 +140,7 @@ msgstr "审批人" msgid "Login asset confirm" msgstr "登录资产复核" -#: acls/serializers/login_acl.py:18 +#: acls/serializers/login_acl.py:18 xpack/plugins/cloud/serializers.py:165 msgid "IP address invalid: `{}`" msgstr "IP 地址无效: `{}`" @@ -181,9 +181,9 @@ msgstr "格式为逗号分隔的字符串, * 表示匹配所有. " #: audits/models.py:100 authentication/forms.py:15 authentication/forms.py:17 #: ops/models/adhoc.py:148 users/forms/profile.py:31 users/models/user.py:554 #: users/templates/users/_select_user_modal.html:14 -#: xpack/plugins/change_auth_plan/models.py:47 -#: xpack/plugins/change_auth_plan/models.py:278 -#: xpack/plugins/cloud/serializers.py:65 +#: xpack/plugins/change_auth_plan/models.py:50 +#: xpack/plugins/change_auth_plan/models.py:316 +#: xpack/plugins/cloud/serializers.py:67 msgid "Username" msgstr "用户名" @@ -247,11 +247,11 @@ msgstr "远程应用" msgid "Custom" msgstr "自定义" -#: applications/models/application.py:47 templates/_nav.html:60 +#: applications/models/application.py:50 templates/_nav.html:60 msgid "Applications" msgstr "应用管理" -#: applications/models/application.py:165 +#: applications/models/application.py:168 #: applications/serializers/application.py:78 assets/models/label.py:21 #: perms/models/application_permission.py:20 #: perms/serializers/application/user_permission.py:33 @@ -259,7 +259,7 @@ msgstr "应用管理" msgid "Category" msgstr "类别" -#: applications/models/application.py:168 +#: applications/models/application.py:171 #: applications/serializers/application.py:80 assets/models/cmd_filter.py:53 #: assets/models/user.py:202 perms/models/application_permission.py:23 #: perms/serializers/application/user_permission.py:34 @@ -269,12 +269,12 @@ msgstr "类别" msgid "Type" msgstr "类型" -#: applications/models/application.py:172 assets/models/asset.py:188 +#: applications/models/application.py:175 assets/models/asset.py:188 #: assets/models/domain.py:27 assets/models/domain.py:52 msgid "Domain" msgstr "网域" -#: applications/models/application.py:174 xpack/plugins/cloud/models.py:33 +#: applications/models/application.py:177 xpack/plugins/cloud/models.py:33 msgid "Attrs" msgstr "" @@ -307,10 +307,10 @@ msgstr "类型名称" #: users/templates/users/user_otp_check_password.html:13 #: users/templates/users/user_password_update.html:43 #: users/templates/users/user_password_verify.html:18 -#: xpack/plugins/change_auth_plan/models.py:68 -#: xpack/plugins/change_auth_plan/models.py:190 -#: xpack/plugins/change_auth_plan/models.py:285 -#: xpack/plugins/cloud/serializers.py:67 +#: xpack/plugins/change_auth_plan/models.py:71 +#: xpack/plugins/change_auth_plan/models.py:212 +#: xpack/plugins/change_auth_plan/models.py:323 +#: xpack/plugins/cloud/serializers.py:69 msgid "Password" msgstr "密码" @@ -351,7 +351,7 @@ msgid "Cluster" msgstr "集群" #: applications/serializers/attrs/application_category/db.py:11 -#: ops/models/adhoc.py:146 xpack/plugins/cloud/serializers.py:63 +#: ops/models/adhoc.py:146 xpack/plugins/cloud/serializers.py:65 msgid "Host" msgstr "主机" @@ -361,7 +361,7 @@ msgstr "主机" #: applications/serializers/attrs/application_type/oracle.py:11 #: applications/serializers/attrs/application_type/pgsql.py:11 #: assets/models/asset.py:185 assets/models/domain.py:50 -#: xpack/plugins/cloud/serializers.py:64 +#: xpack/plugins/cloud/serializers.py:66 msgid "Port" msgstr "端口" @@ -425,12 +425,13 @@ msgstr "系统平台" #: assets/models/asset.py:186 assets/serializers/asset.py:65 #: perms/serializers/asset/user_permission.py:41 +#: xpack/plugins/cloud/models.py:99 xpack/plugins/cloud/serializers.py:183 msgid "Protocols" msgstr "协议组" #: assets/models/asset.py:189 assets/models/user.py:194 #: perms/models/asset_permission.py:100 -#: xpack/plugins/change_auth_plan/models.py:56 +#: xpack/plugins/change_auth_plan/models.py:59 #: xpack/plugins/gathered_user/models.py:24 msgid "Nodes" msgstr "节点" @@ -443,7 +444,7 @@ msgstr "激活" #: assets/models/asset.py:193 assets/models/cluster.py:19 #: assets/models/user.py:191 assets/models/user.py:326 templates/_nav.html:44 -#: xpack/plugins/cloud/models.py:92 xpack/plugins/cloud/serializers.py:179 +#: xpack/plugins/cloud/models.py:96 xpack/plugins/cloud/serializers.py:205 msgid "Admin user" msgstr "特权用户" @@ -520,8 +521,8 @@ msgstr "标签管理" #: assets/models/cmd_filter.py:67 assets/models/group.py:21 #: common/db/models.py:70 common/mixins/models.py:49 orgs/models.py:25 #: orgs/models.py:437 perms/models/base.py:55 users/models/user.py:597 -#: users/serializers/group.py:33 xpack/plugins/change_auth_plan/models.py:81 -#: xpack/plugins/cloud/models.py:104 xpack/plugins/gathered_user/models.py:30 +#: users/serializers/group.py:33 xpack/plugins/change_auth_plan/models.py:91 +#: xpack/plugins/cloud/models.py:114 xpack/plugins/gathered_user/models.py:30 msgid "Created by" msgstr "创建者" @@ -533,7 +534,7 @@ msgstr "创建者" #: assets/models/label.py:25 common/db/models.py:72 common/mixins/models.py:50 #: ops/models/adhoc.py:38 ops/models/command.py:29 orgs/models.py:26 #: orgs/models.py:435 perms/models/base.py:56 users/models/group.py:18 -#: users/models/user.py:779 xpack/plugins/cloud/models.py:107 +#: users/models/user.py:779 xpack/plugins/cloud/models.py:117 msgid "Date created" msgstr "创建日期" @@ -565,15 +566,15 @@ msgstr "可连接性" msgid "Date verified" msgstr "校验日期" -#: assets/models/base.py:178 xpack/plugins/change_auth_plan/models.py:72 -#: xpack/plugins/change_auth_plan/models.py:197 -#: xpack/plugins/change_auth_plan/models.py:292 +#: assets/models/base.py:178 xpack/plugins/change_auth_plan/models.py:81 +#: xpack/plugins/change_auth_plan/models.py:219 +#: xpack/plugins/change_auth_plan/models.py:330 msgid "SSH private key" msgstr "SSH密钥" -#: assets/models/base.py:179 xpack/plugins/change_auth_plan/models.py:75 -#: xpack/plugins/change_auth_plan/models.py:193 -#: xpack/plugins/change_auth_plan/models.py:288 +#: assets/models/base.py:179 xpack/plugins/change_auth_plan/models.py:84 +#: xpack/plugins/change_auth_plan/models.py:215 +#: xpack/plugins/change_auth_plan/models.py:326 msgid "SSH public key" msgstr "SSH公钥" @@ -731,7 +732,7 @@ msgstr "ssh私钥" #: users/templates/users/user_asset_permission.html:41 #: users/templates/users/user_asset_permission.html:73 #: users/templates/users/user_asset_permission.html:158 -#: xpack/plugins/cloud/models.py:89 xpack/plugins/cloud/serializers.py:180 +#: xpack/plugins/cloud/models.py:93 xpack/plugins/cloud/serializers.py:206 msgid "Node" msgstr "节点" @@ -752,7 +753,7 @@ msgid "Username same with user" msgstr "用户名与用户相同" #: assets/models/user.py:196 assets/serializers/domain.py:28 -#: templates/_nav.html:39 xpack/plugins/change_auth_plan/models.py:52 +#: templates/_nav.html:39 xpack/plugins/change_auth_plan/models.py:55 msgid "Assets" msgstr "资产" @@ -1075,8 +1076,8 @@ msgstr "成功" #: tickets/serializers/ticket/meta/ticket_type/apply_application.py:74 #: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:40 #: tickets/serializers/ticket/meta/ticket_type/apply_asset.py:78 -#: xpack/plugins/change_auth_plan/models.py:177 -#: xpack/plugins/change_auth_plan/models.py:307 +#: xpack/plugins/change_auth_plan/models.py:199 +#: xpack/plugins/change_auth_plan/models.py:345 #: xpack/plugins/gathered_user/models.py:76 msgid "Date start" msgstr "开始日期" @@ -1147,13 +1148,13 @@ msgstr "用户代理" msgid "MFA" msgstr "多因子认证" -#: audits/models.py:106 xpack/plugins/change_auth_plan/models.py:303 -#: xpack/plugins/cloud/models.py:161 +#: audits/models.py:106 xpack/plugins/change_auth_plan/models.py:341 +#: xpack/plugins/cloud/models.py:171 msgid "Reason" msgstr "原因" #: audits/models.py:107 tickets/models/ticket.py:47 -#: xpack/plugins/cloud/models.py:157 xpack/plugins/cloud/models.py:206 +#: xpack/plugins/cloud/models.py:167 xpack/plugins/cloud/models.py:216 msgid "Status" msgstr "状态" @@ -1187,7 +1188,7 @@ msgid "Hosts display" msgstr "主机名称" #: audits/serializers.py:89 ops/models/command.py:26 -#: xpack/plugins/cloud/models.py:155 +#: xpack/plugins/cloud/models.py:165 msgid "Result" msgstr "结果" @@ -2041,7 +2042,7 @@ msgid "Regularly perform" msgstr "定期执行" #: ops/mixin.py:106 ops/mixin.py:147 -#: xpack/plugins/change_auth_plan/serializers.py:51 +#: xpack/plugins/change_auth_plan/serializers.py:59 msgid "Periodic perform" msgstr "定时执行" @@ -2120,8 +2121,8 @@ msgstr "开始时间" msgid "End time" msgstr "完成时间" -#: ops/models/adhoc.py:246 xpack/plugins/change_auth_plan/models.py:180 -#: xpack/plugins/change_auth_plan/models.py:310 +#: ops/models/adhoc.py:246 xpack/plugins/change_auth_plan/models.py:202 +#: xpack/plugins/change_auth_plan/models.py:348 #: xpack/plugins/gathered_user/models.py:79 msgid "Time" msgstr "时间" @@ -3597,7 +3598,7 @@ msgstr "Secret key" msgid "Endpoint" msgstr "端点" -#: terminal/serializers/storage.py:66 xpack/plugins/cloud/models.py:199 +#: terminal/serializers/storage.py:66 xpack/plugins/cloud/models.py:209 msgid "Region" msgstr "地域" @@ -4186,8 +4187,8 @@ msgstr "生成重置密码链接,通过邮件发送给用户" msgid "Set password" msgstr "设置密码" -#: users/serializers/user.py:27 xpack/plugins/change_auth_plan/models.py:61 -#: xpack/plugins/change_auth_plan/serializers.py:29 +#: users/serializers/user.py:27 xpack/plugins/change_auth_plan/models.py:64 +#: xpack/plugins/change_auth_plan/serializers.py:31 msgid "Password strategy" msgstr "密码策略" @@ -4814,93 +4815,150 @@ msgid "Reset password success, return to login page" msgstr "重置密码成功,返回到登录页面" #: xpack/plugins/change_auth_plan/meta.py:9 -#: xpack/plugins/change_auth_plan/models.py:89 -#: xpack/plugins/change_auth_plan/models.py:184 +#: xpack/plugins/change_auth_plan/models.py:99 +#: xpack/plugins/change_auth_plan/models.py:206 msgid "Change auth plan" msgstr "改密计划" -#: xpack/plugins/change_auth_plan/models.py:41 +#: xpack/plugins/change_auth_plan/models.py:39 msgid "Custom password" msgstr "自定义密码" -#: xpack/plugins/change_auth_plan/models.py:42 +#: xpack/plugins/change_auth_plan/models.py:40 msgid "All assets use the same random password" msgstr "所有资产使用相同的随机密码" -#: xpack/plugins/change_auth_plan/models.py:43 +#: xpack/plugins/change_auth_plan/models.py:41 msgid "All assets use different random password" msgstr "所有资产使用不同的随机密码" -#: xpack/plugins/change_auth_plan/models.py:65 +#: xpack/plugins/change_auth_plan/models.py:45 +msgid "Append SSH KEY" +msgstr "追加新密钥" + +#: xpack/plugins/change_auth_plan/models.py:46 +msgid "Empty and append SSH KEY" +msgstr "清空所有密钥再追加新密钥" + +#: xpack/plugins/change_auth_plan/models.py:47 +msgid "Empty current user and append SSH KEY" +msgstr "清空当前账号密钥再追加新密钥" + +#: xpack/plugins/change_auth_plan/models.py:68 msgid "Password rules" msgstr "密码规则" -#: xpack/plugins/change_auth_plan/models.py:187 +#: xpack/plugins/change_auth_plan/models.py:77 +#, fuzzy +#| msgid "Hostname strategy" +msgid "SSH key strategy" +msgstr "主机名策略" + +#: xpack/plugins/change_auth_plan/models.py:194 +msgid "Manual trigger" +msgstr "手动触发" + +#: xpack/plugins/change_auth_plan/models.py:195 +msgid "Timing trigger" +msgstr "定时触发" + +#: xpack/plugins/change_auth_plan/models.py:209 msgid "Change auth plan snapshot" msgstr "改密计划快照" -#: xpack/plugins/change_auth_plan/models.py:202 -#: xpack/plugins/change_auth_plan/models.py:296 +#: xpack/plugins/change_auth_plan/models.py:223 +#: xpack/plugins/change_auth_plan/serializers.py:163 +msgid "Trigger mode" +msgstr "触发模式" + +#: xpack/plugins/change_auth_plan/models.py:228 +#: xpack/plugins/change_auth_plan/models.py:334 msgid "Change auth plan execution" msgstr "改密计划执行" -#: xpack/plugins/change_auth_plan/models.py:269 +#: xpack/plugins/change_auth_plan/models.py:307 msgid "Ready" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:270 +#: xpack/plugins/change_auth_plan/models.py:308 msgid "Preflight check" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:271 +#: xpack/plugins/change_auth_plan/models.py:309 msgid "Change auth" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:272 +#: xpack/plugins/change_auth_plan/models.py:310 msgid "Verify auth" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:273 +#: xpack/plugins/change_auth_plan/models.py:311 msgid "Keep auth" msgstr "" -#: xpack/plugins/change_auth_plan/models.py:274 +#: xpack/plugins/change_auth_plan/models.py:312 msgid "Finished" msgstr "结束" -#: xpack/plugins/change_auth_plan/models.py:300 +#: xpack/plugins/change_auth_plan/models.py:338 msgid "Step" msgstr "步骤" -#: xpack/plugins/change_auth_plan/models.py:317 +#: xpack/plugins/change_auth_plan/models.py:355 msgid "Change auth plan task" msgstr "改密计划任务" -#: xpack/plugins/change_auth_plan/serializers.py:52 +#: xpack/plugins/change_auth_plan/serializers.py:27 +msgid "Change Password" +msgstr "修改密码" + +#: xpack/plugins/change_auth_plan/serializers.py:28 +msgid "Change SSH Key" +msgstr "修改密钥" + +#: xpack/plugins/change_auth_plan/serializers.py:33 +#, fuzzy +#| msgid "SSH Key Reset" +msgid "SSH Key strategy" +msgstr "重置SSH密钥" + +#: xpack/plugins/change_auth_plan/serializers.py:60 msgid "Run times" msgstr "执行次数" -#: xpack/plugins/change_auth_plan/serializers.py:68 -msgid "* Please enter custom password" -msgstr "* 请输入自定义密码" - #: xpack/plugins/change_auth_plan/serializers.py:78 +msgid "Require password strategy perform setting" +msgstr "需要密码策略执行设置" + +#: xpack/plugins/change_auth_plan/serializers.py:81 +msgid "Require password perform setting" +msgstr "需要密码执行设置" + +#: xpack/plugins/change_auth_plan/serializers.py:84 +msgid "Require password rule perform setting" +msgstr "需要密码规则执行设置" + +#: xpack/plugins/change_auth_plan/serializers.py:96 msgid "* Please enter the correct password length" msgstr "* 请输入正确的密码长度" -#: xpack/plugins/change_auth_plan/serializers.py:81 +#: xpack/plugins/change_auth_plan/serializers.py:99 msgid "* Password length range 6-30 bits" msgstr "* 密码长度范围 6-30 位" -#: xpack/plugins/change_auth_plan/utils.py:442 +#: xpack/plugins/change_auth_plan/serializers.py:118 +msgid "Require ssh key strategy or ssh key perform setting" +msgstr "需要ssh密钥策略或ssh密钥执行设置" + +#: xpack/plugins/change_auth_plan/utils.py:485 msgid "Invalid/incorrect password" msgstr "无效/错误 密码" -#: xpack/plugins/change_auth_plan/utils.py:444 +#: xpack/plugins/change_auth_plan/utils.py:487 msgid "Failed to connect to the host" msgstr "连接主机失败" -#: xpack/plugins/change_auth_plan/utils.py:446 +#: xpack/plugins/change_auth_plan/utils.py:489 msgid "Data could not be sent to remote" msgstr "无法将数据发送到远程" @@ -4996,43 +5054,47 @@ msgstr "云服务商" msgid "Cloud account" msgstr "云账号" -#: xpack/plugins/cloud/models.py:78 xpack/plugins/cloud/serializers.py:178 +#: xpack/plugins/cloud/models.py:82 xpack/plugins/cloud/serializers.py:204 msgid "Account" msgstr "账户" -#: xpack/plugins/cloud/models.py:81 xpack/plugins/cloud/serializers.py:160 +#: xpack/plugins/cloud/models.py:85 xpack/plugins/cloud/serializers.py:179 msgid "Regions" msgstr "地域" -#: xpack/plugins/cloud/models.py:84 +#: xpack/plugins/cloud/models.py:88 msgid "Hostname strategy" msgstr "主机名策略" -#: xpack/plugins/cloud/models.py:95 xpack/plugins/cloud/serializers.py:182 +#: xpack/plugins/cloud/models.py:102 xpack/plugins/cloud/serializers.py:186 +msgid "IP network segment group" +msgstr "IP网段组" + +#: xpack/plugins/cloud/models.py:105 xpack/plugins/cloud/serializers.py:208 msgid "Always update" msgstr "总是更新" -#: xpack/plugins/cloud/models.py:101 +#: xpack/plugins/cloud/models.py:111 msgid "Date last sync" msgstr "最后同步日期" -#: xpack/plugins/cloud/models.py:112 xpack/plugins/cloud/models.py:153 +#: xpack/plugins/cloud/models.py:122 xpack/plugins/cloud/models.py:163 msgid "Sync instance task" msgstr "同步实例任务" -#: xpack/plugins/cloud/models.py:164 xpack/plugins/cloud/models.py:209 +#: xpack/plugins/cloud/models.py:174 xpack/plugins/cloud/models.py:219 msgid "Date sync" msgstr "同步日期" -#: xpack/plugins/cloud/models.py:189 +#: xpack/plugins/cloud/models.py:199 msgid "Sync task" msgstr "同步任务" -#: xpack/plugins/cloud/models.py:193 +#: xpack/plugins/cloud/models.py:203 msgid "Sync instance task history" msgstr "同步实例任务历史" -#: xpack/plugins/cloud/models.py:196 +#: xpack/plugins/cloud/models.py:206 msgid "Instance" msgstr "实例" @@ -5176,47 +5238,56 @@ msgstr "西南-贵阳1" msgid "EU-Paris" msgstr "欧洲-巴黎" -#: xpack/plugins/cloud/serializers.py:19 +#: xpack/plugins/cloud/serializers.py:21 msgid "AccessKey ID" msgstr "" -#: xpack/plugins/cloud/serializers.py:22 +#: xpack/plugins/cloud/serializers.py:24 msgid "AccessKey Secret" msgstr "" -#: xpack/plugins/cloud/serializers.py:28 +#: xpack/plugins/cloud/serializers.py:30 msgid "Client ID" msgstr "" -#: xpack/plugins/cloud/serializers.py:31 +#: xpack/plugins/cloud/serializers.py:33 msgid "Client Secret" msgstr "" -#: xpack/plugins/cloud/serializers.py:34 +#: xpack/plugins/cloud/serializers.py:36 msgid "Tenant ID" msgstr "" -#: xpack/plugins/cloud/serializers.py:37 +#: xpack/plugins/cloud/serializers.py:39 msgid "Subscription ID" msgstr "" -#: xpack/plugins/cloud/serializers.py:49 +#: xpack/plugins/cloud/serializers.py:51 msgid "This field is required" msgstr "这个字段是必填项" -#: xpack/plugins/cloud/serializers.py:83 xpack/plugins/cloud/serializers.py:87 +#: xpack/plugins/cloud/serializers.py:85 xpack/plugins/cloud/serializers.py:89 msgid "API Endpoint" msgstr "API 端点" -#: xpack/plugins/cloud/serializers.py:158 +#: xpack/plugins/cloud/serializers.py:171 +msgid "" +"The IP address that is first matched to will be used as the IP of the " +"created asset.
The default * indicates a random match.
Format for " +"comma-delimited string, Such as: 192.168.1.0/24, 10.1.1.1-10.1.1.20" +msgstr "" +"第一个匹配到的 IP 地址将被用作创建的资产的 IP。
默认值 * 表示随机匹配。" +"
格式为以逗号分隔的字符串,例如:192.168.1.0/24,10.1.1.1-10.1.1.20" + +#: xpack/plugins/cloud/serializers.py:177 msgid "History count" msgstr "执行次数" -#: xpack/plugins/cloud/serializers.py:159 +#: xpack/plugins/cloud/serializers.py:178 msgid "Instance count" msgstr "实例个数" -#: xpack/plugins/cloud/serializers.py:181 +#: xpack/plugins/cloud/serializers.py:207 #: xpack/plugins/gathered_user/serializers.py:20 msgid "Periodic display" msgstr "定时执行" @@ -5309,6 +5380,9 @@ msgstr "旗舰版" msgid "Community edition" msgstr "社区版" +#~ msgid "* Please enter custom password" +#~ msgstr "* 请输入自定义密码" + #~ msgid "Category(Display)" #~ msgstr "类别 (显示名称)" @@ -5345,25 +5419,5 @@ msgstr "社区版" #~ msgid "Application type" #~ msgstr "应用类型" -#~ msgid "Manual trigger" -#~ msgstr "手动触发" - -#~ msgid "Timing trigger" -#~ msgstr "定时触发" - -#~ msgid "Trigger mode" -#~ msgstr "触发模式" - -#~ msgid "IP network segment group" -#~ msgstr "IP网段组" - -#~ msgid "" -#~ "The IP address that is first matched to will be used as the IP of the " -#~ "created asset.
The default * indicates a random match.
Format for " -#~ "comma-delimited string, Such as: 192.168.1.0/24, 10.1.1.1-10.1.1.20" -#~ msgstr "" -#~ "第一个匹配到的 IP 地址将被用作创建的资产的 IP。
默认值 * 表示随机匹" -#~ "配。
格式为以逗号分隔的字符串,例如:192.168.1.0/24,10.1.1.1-10.1.1.20" - #~ msgid "Trigger" #~ msgstr "触发"