From 1f037b1933cafdfcdddb0e2b6ca9d2597ec4a869 Mon Sep 17 00:00:00 2001
From: ibuler <ibuler@qq.com>
Date: Wed, 2 Sep 2020 10:58:35 +0800
Subject: [PATCH] =?UTF-8?q?feat(i18n):=20=E6=B7=BB=E5=8A=A0=E6=96=B0?=
 =?UTF-8?q?=E7=BF=BB=E8=AF=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 apps/locale/zh/LC_MESSAGES/django.mo | Bin 56957 -> 56992 bytes
 apps/locale/zh/LC_MESSAGES/django.po | 147 ++++++++++++++-------------
 2 files changed, 75 insertions(+), 72 deletions(-)

diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo
index e0e23c4e4e75e48efbe1062411e431adbaca42a0..0fb6a067bbeb96fa18010b7fff2b1393273e01e4 100644
GIT binary patch
delta 16086
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

delta 16060
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

diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po
index ec532c0b6..f0eb5102e 100644
--- a/apps/locale/zh/LC_MESSAGES/django.po
+++ b/apps/locale/zh/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: JumpServer 0.3.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-08-19 18:10+0800\n"
+"POT-Creation-Date: 2020-09-02 10:54+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: ibuler <ibuler@qq.com>\n"
 "Language-Team: JumpServer team<ibuler@qq.com>\n"
@@ -29,7 +29,7 @@ msgstr "自定义"
 #: orgs/models.py:22 perms/models/base.py:48 settings/models.py:27
 #: terminal/models.py:27 terminal/models.py:344 terminal/models.py:376
 #: terminal/models.py:413 users/forms/profile.py:20 users/models/group.py:15
-#: users/models/user.py:491 users/templates/users/_select_user_modal.html:13
+#: users/models/user.py:501 users/templates/users/_select_user_modal.html:13
 #: users/templates/users/user_asset_permission.html:37
 #: users/templates/users/user_asset_permission.html:154
 #: users/templates/users/user_database_app_permission.html:36
@@ -79,7 +79,7 @@ msgstr "数据库"
 #: assets/models/label.py:23 ops/models/adhoc.py:37 orgs/models.py:25
 #: perms/models/base.py:56 settings/models.py:32 terminal/models.py:37
 #: terminal/models.py:383 terminal/models.py:420 users/models/group.py:16
-#: users/models/user.py:524 users/templates/users/user_detail.html:115
+#: users/models/user.py:534 users/templates/users/user_detail.html:115
 #: users/templates/users/user_granted_database_app.html:38
 #: users/templates/users/user_granted_remote_app.html:37
 #: users/templates/users/user_group_detail.html:62
@@ -147,7 +147,7 @@ msgstr "参数"
 #: assets/models/cmd_filter.py:26 assets/models/cmd_filter.py:60
 #: assets/models/group.py:21 common/db/models.py:67 common/mixins/models.py:49
 #: orgs/models.py:23 orgs/models.py:389 perms/models/base.py:54
-#: users/models/user.py:532 users/serializers/group.py:35
+#: users/models/user.py:542 users/serializers/group.py:35
 #: users/templates/users/user_detail.html:97
 #: xpack/plugins/change_auth_plan/models.py:81 xpack/plugins/cloud/models.py:56
 #: xpack/plugins/cloud/models.py:146 xpack/plugins/gathered_user/models.py:30
@@ -354,7 +354,7 @@ msgstr ""
 #: audits/models.py:99 authentication/forms.py:11
 #: authentication/templates/authentication/login.html:21
 #: authentication/templates/authentication/xpack_login.html:101
-#: ops/models/adhoc.py:148 users/forms/profile.py:19 users/models/user.py:489
+#: ops/models/adhoc.py:148 users/forms/profile.py:19 users/models/user.py:499
 #: users/templates/users/_select_user_modal.html:14
 #: users/templates/users/user_detail.html:53
 #: users/templates/users/user_list.html:15
@@ -407,7 +407,7 @@ msgstr "带宽"
 msgid "Contact"
 msgstr "联系人"
 
-#: assets/models/cluster.py:22 users/models/user.py:510
+#: assets/models/cluster.py:22 users/models/user.py:520
 #: users/templates/users/user_detail.html:62
 msgid "Phone"
 msgstr "手机"
@@ -433,7 +433,7 @@ msgid "Default"
 msgstr "默认"
 
 #: assets/models/cluster.py:36 assets/models/label.py:14
-#: users/models/user.py:657
+#: users/models/user.py:661
 msgid "System"
 msgstr "系统"
 
@@ -547,7 +547,7 @@ msgstr "默认资产组"
 
 #: assets/models/label.py:15 audits/models.py:36 audits/models.py:56
 #: audits/models.py:69 audits/serializers.py:77 authentication/models.py:46
-#: authentication/models.py:90 orgs/models.py:16 orgs/models.py:385
+#: authentication/models.py:90 orgs/models.py:17 orgs/models.py:385
 #: perms/forms/asset_permission.py:83 perms/forms/database_app_permission.py:38
 #: perms/forms/remote_app_permission.py:40 perms/models/base.py:49
 #: templates/index.html:78 terminal/backends/command/models.py:18
@@ -555,7 +555,7 @@ msgstr "默认资产组"
 #: tickets/models/ticket.py:30 tickets/models/ticket.py:137
 #: tickets/serializers/request_asset_perm.py:65
 #: tickets/serializers/ticket.py:31 users/forms/group.py:15
-#: users/models/user.py:158 users/models/user.py:645
+#: users/models/user.py:159 users/models/user.py:649
 #: users/serializers/group.py:20
 #: users/templates/users/user_asset_permission.html:38
 #: users/templates/users/user_asset_permission.html:64
@@ -733,14 +733,14 @@ msgid "Backend"
 msgstr "后端"
 
 #: assets/serializers/asset_user.py:75 users/forms/profile.py:148
-#: users/models/user.py:521 users/templates/users/user_password_update.html:48
+#: users/models/user.py:531 users/templates/users/user_password_update.html:48
 #: users/templates/users/user_profile.html:69
 #: users/templates/users/user_profile_update.html:46
 #: users/templates/users/user_pubkey_update.html:46
 msgid "Public key"
 msgstr "SSH公钥"
 
-#: assets/serializers/asset_user.py:79 users/models/user.py:518
+#: assets/serializers/asset_user.py:79 users/models/user.py:528
 msgid "Private key"
 msgstr "ssh私钥"
 
@@ -1025,8 +1025,8 @@ msgstr "Agent"
 #: audits/models.py:104
 #: authentication/templates/authentication/_mfa_confirm_modal.html:14
 #: authentication/templates/authentication/login_otp.html:6
-#: users/forms/profile.py:52 users/models/user.py:513
-#: users/serializers/user.py:240 users/templates/users/user_detail.html:77
+#: users/forms/profile.py:52 users/models/user.py:523
+#: users/serializers/user.py:229 users/templates/users/user_detail.html:77
 #: users/templates/users/user_profile.html:87
 msgid "MFA"
 msgstr "多因子认证"
@@ -1199,7 +1199,7 @@ msgstr "登录复核 {}"
 msgid "SSO auth closed"
 msgstr "SSO 认证关闭了"
 
-#: authentication/errors.py:218 authentication/views/login.py:243
+#: authentication/errors.py:218 authentication/views/login.py:244
 msgid "Your password is too simple, please change it for security"
 msgstr "你的密码过于简单,为了安全,请修改"
 
@@ -1265,7 +1265,7 @@ msgid "Show"
 msgstr "显示"
 
 #: authentication/templates/authentication/_access_key_modal.html:66
-#: users/models/user.py:411 users/serializers/user.py:237
+#: users/models/user.py:421 users/serializers/user.py:226
 #: users/templates/users/user_profile.html:94
 #: users/templates/users/user_profile.html:163
 #: users/templates/users/user_profile.html:166
@@ -1274,7 +1274,7 @@ msgid "Disable"
 msgstr "禁用"
 
 #: authentication/templates/authentication/_access_key_modal.html:67
-#: users/models/user.py:412 users/serializers/user.py:238
+#: users/models/user.py:422 users/serializers/user.py:227
 #: users/templates/users/user_profile.html:92
 #: users/templates/users/user_profile.html:170
 msgid "Enable"
@@ -1382,11 +1382,11 @@ msgstr "复制成功"
 msgid "Welcome back, please enter username and password to login"
 msgstr "欢迎回来,请输入用户名和密码登录"
 
-#: authentication/views/login.py:84
+#: authentication/views/login.py:85
 msgid "Please enable cookies and try again."
 msgstr "设置你的浏览器支持cookie"
 
-#: authentication/views/login.py:189
+#: authentication/views/login.py:190
 msgid ""
 "Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
 "                  Don't close this page"
@@ -1394,19 +1394,19 @@ msgstr ""
 "等待 <b>{}</b> 确认, 你也可以复制链接发给他/她 <br/>\n"
 "                  不要关闭本页面"
 
-#: authentication/views/login.py:194
+#: authentication/views/login.py:195
 msgid "No ticket found"
 msgstr "没有发现工单"
 
-#: authentication/views/login.py:226
+#: authentication/views/login.py:227
 msgid "Logout success"
 msgstr "退出登录成功"
 
-#: authentication/views/login.py:227
+#: authentication/views/login.py:228
 msgid "Logout success, return login page"
 msgstr "退出登录成功,返回到登录页面"
 
-#: authentication/views/login.py:242
+#: authentication/views/login.py:243
 msgid "Please change your password"
 msgstr "请修改密码"
 
@@ -1466,7 +1466,7 @@ msgstr ""
 msgid "Marshal data to text field"
 msgstr ""
 
-#: common/fields/model.py:157
+#: common/fields/model.py:165
 msgid "Encrypt field using Secret Key"
 msgstr ""
 
@@ -1503,11 +1503,11 @@ msgstr ""
 "<div>Luna是单独部署的一个程序,你需要部署luna,koko, </div><div>如果你看到了"
 "这个页面,证明你访问的不是nginx监听的端口,祝你好运</div>"
 
-#: jumpserver/views/other.py:76
+#: jumpserver/views/other.py:77
 msgid "Websocket server run on port: {}, you should proxy it on nginx"
 msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置"
 
-#: jumpserver/views/other.py:90
+#: jumpserver/views/other.py:91
 msgid ""
 "<div>Koko is a separately deployed program, you need to deploy Koko, "
 "configure nginx for url distribution,</div> </div>If you see this page, "
@@ -1693,11 +1693,11 @@ msgstr "组织"
 msgid "Organization administrator"
 msgstr "组织管理员"
 
-#: orgs/models.py:17
+#: orgs/models.py:16
 msgid "Organization auditor"
 msgstr "组织审计员"
 
-#: orgs/models.py:386 users/forms/user.py:27 users/models/user.py:501
+#: orgs/models.py:386 users/forms/user.py:27 users/models/user.py:511
 #: users/templates/users/_select_user_modal.html:15
 #: users/templates/users/user_detail.html:73
 #: users/templates/users/user_list.html:16
@@ -1722,8 +1722,7 @@ msgstr "提示:RDP 协议不支持单独控制上传或下载文件"
 #: perms/forms/asset_permission.py:86 perms/forms/database_app_permission.py:41
 #: perms/forms/remote_app_permission.py:43 perms/models/base.py:50
 #: templates/_nav.html:21 users/forms/user.py:168 users/models/group.py:31
-#: users/models/user.py:497 users/serializers/user.py:48
-#: users/templates/users/_select_user_modal.html:16
+#: users/models/user.py:507 users/templates/users/_select_user_modal.html:16
 #: users/templates/users/user_asset_permission.html:39
 #: users/templates/users/user_asset_permission.html:67
 #: users/templates/users/user_database_app_permission.html:38
@@ -1789,7 +1788,7 @@ msgid "Asset permission"
 msgstr "资产授权"
 
 #: perms/models/base.py:53 tickets/serializers/request_asset_perm.py:31
-#: users/models/user.py:529 users/templates/users/user_detail.html:93
+#: users/models/user.py:539 users/templates/users/user_detail.html:93
 #: users/templates/users/user_profile.html:120
 msgid "Date expired"
 msgstr "失效日期"
@@ -2537,37 +2536,37 @@ msgstr "结束日期"
 msgid "Args"
 msgstr "参数"
 
-#: tickets/api/request_asset_perm.py:46
+#: tickets/api/request_asset_perm.py:48
 #, python-format
 msgid "Ticket has %s"
 msgstr "工单已%s"
 
-#: tickets/api/request_asset_perm.py:91
+#: tickets/api/request_asset_perm.py:93
 msgid "Confirm assets first"
 msgstr "请先确认资产"
 
-#: tickets/api/request_asset_perm.py:94
+#: tickets/api/request_asset_perm.py:96
 msgid "Confirmed assets changed"
 msgstr "确认的资产变更了"
 
-#: tickets/api/request_asset_perm.py:98
+#: tickets/api/request_asset_perm.py:100
 msgid "Confirm system-user first"
 msgstr "请先确认系统用户"
 
-#: tickets/api/request_asset_perm.py:102
+#: tickets/api/request_asset_perm.py:104
 msgid "Confirmed system-user changed"
 msgstr "确认的系统用户变更了"
 
-#: tickets/api/request_asset_perm.py:105 tickets/api/request_asset_perm.py:112
+#: tickets/api/request_asset_perm.py:107 tickets/api/request_asset_perm.py:114
 #: xpack/plugins/cloud/models.py:202
 msgid "Succeed"
 msgstr "成功"
 
-#: tickets/api/request_asset_perm.py:120
+#: tickets/api/request_asset_perm.py:122
 msgid "From request ticket: {} {}"
 msgstr "来自工单申请: {} {}"
 
-#: tickets/api/request_asset_perm.py:122
+#: tickets/api/request_asset_perm.py:124
 msgid "{} request assets, approved by {}"
 msgstr "{} 申请资产,通过人 {}"
 
@@ -2686,11 +2685,11 @@ msgstr ""
 "        过期时间: {date_expired}<br>\n"
 "        "
 
-#: tickets/utils.py:20
+#: tickets/utils.py:21
 msgid "New ticket"
 msgstr "新工单"
 
-#: tickets/utils.py:28
+#: tickets/utils.py:25
 #, python-brace-format
 msgid ""
 "\n"
@@ -2715,11 +2714,11 @@ msgstr ""
 "        </div>\n"
 "    "
 
-#: tickets/utils.py:47
+#: tickets/utils.py:44
 msgid "Ticket has been reply"
 msgstr "工单已被回复"
 
-#: tickets/utils.py:48
+#: tickets/utils.py:45
 #, python-brace-format
 msgid ""
 "\n"
@@ -2750,7 +2749,7 @@ msgstr ""
 "        </div>\n"
 "     "
 
-#: users/api/user.py:158
+#: users/api/user.py:156
 msgid "Could not reset self otp, use profile reset instead"
 msgstr "不能在该页面重置多因子认证, 请去个人信息页面重置"
 
@@ -2796,7 +2795,7 @@ msgstr "确认密码"
 msgid "Password does not match"
 msgstr "密码不一致"
 
-#: users/forms/profile.py:89 users/models/user.py:493
+#: users/forms/profile.py:89 users/models/user.py:503
 #: users/templates/users/user_detail.html:57
 #: users/templates/users/user_profile.html:59
 msgid "Email"
@@ -2832,12 +2831,12 @@ msgid "Public key should not be the same as your old one."
 msgstr "不能和原来的密钥相同"
 
 #: users/forms/profile.py:137 users/forms/user.py:90
-#: users/serializers/user.py:200 users/serializers/user.py:282
-#: users/serializers/user.py:340
+#: users/serializers/user.py:189 users/serializers/user.py:271
+#: users/serializers/user.py:329
 msgid "Not a valid ssh public key"
 msgstr "SSH密钥不合法"
 
-#: users/forms/user.py:31 users/models/user.py:536
+#: users/forms/user.py:31 users/models/user.py:546
 #: users/templates/users/user_detail.html:89
 #: users/templates/users/user_list.html:18
 #: users/templates/users/user_profile.html:102
@@ -2875,7 +2874,7 @@ msgstr "密码策略"
 msgid "System administrator"
 msgstr "系统管理员"
 
-#: users/models/user.py:159
+#: users/models/user.py:158
 msgid "System auditor"
 msgstr "系统审计员"
 
@@ -2883,83 +2882,83 @@ msgstr "系统审计员"
 msgid "Application"
 msgstr "应用程序"
 
-#: users/models/user.py:413 users/templates/users/user_profile.html:90
+#: users/models/user.py:423 users/templates/users/user_profile.html:90
 msgid "Force enable"
 msgstr "强制启用"
 
-#: users/models/user.py:480
+#: users/models/user.py:490
 msgid "Local"
 msgstr "数据库"
 
-#: users/models/user.py:504
+#: users/models/user.py:514
 msgid "Avatar"
 msgstr "头像"
 
-#: users/models/user.py:507 users/templates/users/user_detail.html:68
+#: users/models/user.py:517 users/templates/users/user_detail.html:68
 msgid "Wechat"
 msgstr "微信"
 
-#: users/models/user.py:540
+#: users/models/user.py:550
 msgid "Date password last updated"
 msgstr "最后更新密码日期"
 
-#: users/models/user.py:653
+#: users/models/user.py:657
 msgid "Administrator"
 msgstr "管理员"
 
-#: users/models/user.py:656
+#: users/models/user.py:660
 msgid "Administrator is the super user of system"
 msgstr "Administrator是初始的超级管理员"
 
-#: users/serializers/user.py:53 users/serializers/user.py:88
+#: users/serializers/user.py:50 users/serializers/user.py:84
 msgid "Organization role name"
 msgstr "组织角色名称"
 
-#: users/serializers/user.py:55
-msgid "Total role name"
-msgstr "汇总角色名称"
-
-#: users/serializers/user.py:79 users/serializers/user.py:253
+#: users/serializers/user.py:75 users/serializers/user.py:242
 msgid "Is first login"
 msgstr "首次登录"
 
-#: users/serializers/user.py:80
+#: users/serializers/user.py:76
 msgid "Is valid"
 msgstr "账户是否有效"
 
-#: users/serializers/user.py:81
+#: users/serializers/user.py:77
 msgid "Is expired"
 msgstr " 是否过期"
 
-#: users/serializers/user.py:82
+#: users/serializers/user.py:78
 msgid "Avatar url"
 msgstr "头像路径"
 
-#: users/serializers/user.py:86
+#: users/serializers/user.py:82
 msgid "Groups name"
 msgstr "用户组名"
 
-#: users/serializers/user.py:87
+#: users/serializers/user.py:83
 msgid "Source name"
 msgstr "用户来源名"
 
-#: users/serializers/user.py:89
+#: users/serializers/user.py:85
 msgid "Super role name"
 msgstr "超级角色名称"
 
-#: users/serializers/user.py:120
+#: users/serializers/user.py:86
+msgid "Total role name"
+msgstr "汇总角色名称"
+
+#: users/serializers/user.py:109
 msgid "Role limit to {}"
 msgstr "角色只能为 {}"
 
-#: users/serializers/user.py:132 users/serializers/user.py:306
+#: users/serializers/user.py:121 users/serializers/user.py:295
 msgid "Password does not match security rules"
 msgstr "密码不满足安全规则"
 
-#: users/serializers/user.py:298
+#: users/serializers/user.py:287
 msgid "The old password is incorrect"
 msgstr "旧密码错误"
 
-#: users/serializers/user.py:312
+#: users/serializers/user.py:301
 msgid "The newly set password is inconsistent"
 msgstr "两次密码不一致"
 
@@ -3888,7 +3887,11 @@ msgstr "同步日期"
 msgid "Unsync"
 msgstr "未同步"
 
-#: xpack/plugins/cloud/models.py:246 xpack/plugins/cloud/models.py:247
+#: xpack/plugins/cloud/models.py:246
+msgid "New Sync"
+msgstr "新同步"
+
+#: xpack/plugins/cloud/models.py:247
 msgid "Synced"
 msgstr "已同步"