From f8db9f480e15ef3aa82f6126943968d7b6137d32 Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Fri, 12 Oct 2018 18:26:56 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E6=B7=BB=E5=8A=A0=E7=BF=BB=E8=AF=91?= =?UTF-8?q?-=E4=BA=91=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/models/node.py | 2 + apps/locale/zh/LC_MESSAGES/django.mo | Bin 50439 -> 52151 bytes apps/locale/zh/LC_MESSAGES/django.po | 317 ++++++++++++++++++++++++--- apps/templates/_nav.html | 4 + 4 files changed, 298 insertions(+), 25 deletions(-) diff --git a/apps/assets/models/node.py b/apps/assets/models/node.py index 517996086..25b02dc65 100644 --- a/apps/assets/models/node.py +++ b/apps/assets/models/node.py @@ -31,6 +31,8 @@ class Node(OrgModelMixin): return self.full_value def __eq__(self, other): + if not other: + return False return self.key == other.key def __gt__(self, other): diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 5da9e7a3cb0d2e2a193a863b403a1d56747b03b1..f7c5ab2e24ccf123b4d820cfdc7277c1c547f9e1 100644 GIT binary patch delta 17081 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\n" "Language-Team: Jumpserver team\n" @@ -44,6 +44,8 @@ msgstr "节点管理" #: assets/forms/asset.py:116 assets/models/asset.py:87 #: assets/models/cluster.py:19 assets/models/user.py:73 #: assets/templates/assets/asset_detail.html:73 templates/_nav.html:24 +#: xpack/plugins/cloud/models.py:128 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:75 #: xpack/plugins/orgs/templates/orgs/org_list.html:18 msgid "Admin user" msgstr "管理用户" @@ -73,6 +75,9 @@ msgstr "网域" #: perms/forms.py:44 perms/models.py:79 #: perms/templates/perms/asset_permission_list.html:57 #: perms/templates/perms/asset_permission_list.html:151 +#: xpack/plugins/cloud/models.py:127 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:71 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:66 msgid "Node" msgstr "节点" @@ -121,6 +126,8 @@ msgstr "端口" #: terminal/templates/terminal/command_list.html:73 #: terminal/templates/terminal/session_list.html:41 #: terminal/templates/terminal/session_list.html:72 +#: xpack/plugins/cloud/models.py:173 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:65 #: xpack/plugins/orgs/templates/orgs/org_list.html:16 msgid "Asset" msgstr "资产" @@ -156,6 +163,11 @@ msgstr "不能包含特殊字符" #: users/templates/users/user_list.html:23 #: users/templates/users/user_profile.html:51 #: users/templates/users/user_pubkey_update.html:53 +#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:123 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:52 +#: xpack/plugins/cloud/templates/cloud/account_list.html:12 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:55 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:12 #: xpack/plugins/orgs/templates/orgs/org_detail.html:52 #: xpack/plugins/orgs/templates/orgs/org_list.html:12 #: xpack/templates/orgs/org_list.html:12 @@ -357,6 +369,7 @@ msgstr "标签管理" #: ops/templates/ops/adhoc_detail.html:86 orgs/models.py:15 perms/models.py:37 #: perms/models.py:84 perms/templates/perms/asset_permission_detail.html:98 #: users/models/user.py:92 users/templates/users/user_detail.html:111 +#: xpack/plugins/cloud/models.py:41 xpack/plugins/cloud/models.py:131 msgid "Created by" msgstr "创建者" @@ -370,6 +383,10 @@ msgstr "创建者" #: perms/templates/perms/asset_permission_detail.html:94 #: terminal/templates/terminal/terminal_detail.html:59 users/models/group.py:17 #: users/templates/users/user_group_detail.html:63 +#: xpack/plugins/cloud/models.py:42 xpack/plugins/cloud/models.py:132 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:68 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:87 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:19 #: xpack/plugins/orgs/templates/orgs/org_detail.html:60 msgid "Date created" msgstr "创建日期" @@ -393,7 +410,12 @@ msgstr "创建日期" #: users/templates/users/user_detail.html:123 #: users/templates/users/user_group_detail.html:67 #: users/templates/users/user_group_list.html:14 -#: users/templates/users/user_profile.html:130 +#: users/templates/users/user_profile.html:130 xpack/plugins/cloud/models.py:40 +#: xpack/plugins/cloud/models.py:129 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:72 +#: xpack/plugins/cloud/templates/cloud/account_list.html:15 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:79 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:20 #: xpack/plugins/orgs/templates/orgs/org_detail.html:64 #: xpack/plugins/orgs/templates/orgs/org_list.html:22 #: xpack/templates/orgs/org_list.html:14 @@ -740,6 +762,8 @@ msgstr "其它" #: users/templates/users/user_profile_update.html:63 #: users/templates/users/user_pubkey_update.html:70 #: users/templates/users/user_pubkey_update.html:76 +#: xpack/plugins/cloud/templates/cloud/account_create_update.html:33 +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:35 msgid "Reset" msgstr "重置" @@ -856,6 +880,8 @@ msgstr "测试" #: users/templates/users/user_profile.html:151 #: users/templates/users/user_profile.html:181 #: users/templates/users/user_profile.html:190 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:25 +#: xpack/plugins/cloud/templates/cloud/account_list.html:38 #: xpack/plugins/orgs/templates/orgs/org_detail.html:25 #: xpack/plugins/orgs/templates/orgs/org_list.html:85 #: xpack/templates/orgs/org_list.html:43 @@ -882,6 +908,10 @@ msgstr "更新" #: users/templates/users/user_group_list.html:45 #: users/templates/users/user_list.html:81 #: users/templates/users/user_list.html:85 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:29 +#: xpack/plugins/cloud/templates/cloud/account_list.html:40 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:32 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:45 #: xpack/plugins/orgs/templates/orgs/org_detail.html:29 #: xpack/plugins/orgs/templates/orgs/org_list.html:87 #: xpack/templates/orgs/org_list.html:45 @@ -912,6 +942,8 @@ msgstr "选择节点" #: users/templates/users/user_group_list.html:87 #: users/templates/users/user_list.html:201 #: users/templates/users/user_profile.html:232 +#: xpack/plugins/cloud/templates/cloud/account_create_update.html:34 +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:36 #: xpack/plugins/orgs/templates/orgs/org_create_update.html:33 #: xpack/templates/orgs/org_list.html:86 msgid "Confirm" @@ -967,6 +999,8 @@ msgstr "比例" #: terminal/templates/terminal/terminal_list.html:36 #: users/templates/users/user_group_list.html:15 #: users/templates/users/user_list.html:29 +#: xpack/plugins/cloud/templates/cloud/account_list.html:16 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:21 #: xpack/plugins/orgs/templates/orgs/org_list.html:23 #: xpack/templates/orgs/org_list.html:15 msgid "Action" @@ -1437,7 +1471,8 @@ msgstr "文件名" #: audits/models.py:22 audits/templates/audits/ftp_log_list.html:76 #: ops/templates/ops/task_list.html:39 users/models/authentication.py:66 -#: users/templates/users/user_detail.html:452 +#: users/templates/users/user_detail.html:452 xpack/plugins/cloud/api.py:55 +#: xpack/plugins/cloud/api.py:84 msgid "Success" msgstr "成功" @@ -1480,6 +1515,8 @@ msgstr "选择用户" #: templates/_base_list.html:43 templates/_header_bar.html:8 #: terminal/templates/terminal/command_list.html:60 #: terminal/templates/terminal/session_list.html:61 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:50 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:50 msgid "Search" msgstr "搜索" @@ -1488,6 +1525,8 @@ msgstr "搜索" #: ops/templates/ops/adhoc_history_detail.html:49 #: ops/templates/ops/task_detail.html:55 #: terminal/templates/terminal/session_list.html:70 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:62 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:62 msgid "ID" msgstr "ID" @@ -1512,12 +1551,16 @@ msgid "MFA" msgstr "MFA" #: audits/templates/audits/login_log_list.html:55 -#: users/models/authentication.py:76 +#: users/models/authentication.py:76 xpack/plugins/cloud/models.py:158 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:67 msgid "Reason" msgstr "原因" #: audits/templates/audits/login_log_list.html:56 -#: users/models/authentication.py:77 +#: users/models/authentication.py:77 xpack/plugins/cloud/models.py:157 +#: xpack/plugins/cloud/models.py:174 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:68 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:67 msgid "Status" msgstr "状态" @@ -1881,7 +1924,7 @@ msgid "Special char not allowed" msgstr "不能包含特殊字符" #: common/views.py:19 common/views.py:45 common/views.py:71 common/views.py:101 -#: common/views.py:129 templates/_nav.html:100 +#: common/views.py:129 templates/_nav.html:104 msgid "Settings" msgstr "系统设置" @@ -1890,7 +1933,7 @@ msgstr "系统设置" msgid "Update setting successfully, please restart program" msgstr "更新设置成功, 请手动重启程序" -#: jumpserver/views.py:178 +#: jumpserver/views.py:180 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, coco, " "configure nginx for url distribution,
If you see this page, " @@ -1953,6 +1996,7 @@ msgid "Become" msgstr "Become" #: ops/models/adhoc.py:163 users/templates/users/user_group_detail.html:59 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:64 #: xpack/plugins/orgs/templates/orgs/org_detail.html:56 msgid "Create by" msgstr "创建者" @@ -2124,6 +2168,7 @@ msgid "Versions" msgstr "版本" #: ops/templates/ops/task_list.html:71 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:43 msgid "Run" msgstr "执行" @@ -2400,6 +2445,14 @@ msgstr "作业中心" msgid "XPack" msgstr "" +#: templates/_nav.html:95 xpack/plugins/cloud/views.py:26 +msgid "Account list" +msgstr "账户列表" + +#: templates/_nav.html:96 xpack/plugins/cloud/views.py:85 +msgid "Sync task list" +msgstr "同步任务列表" + #: templates/_pagination.html:59 msgid "" "Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" @@ -2797,23 +2850,23 @@ msgid "" "You should use your ssh client tools connect terminal: {}

{}" msgstr "你可以使用ssh客户端工具连接终端" -#: users/api/auth.py:38 users/templates/users/login.html:52 +#: users/api/auth.py:40 users/templates/users/login.html:52 msgid "Log in frequently and try again later" msgstr "登录频繁, 稍后重试" -#: users/api/auth.py:77 +#: users/api/auth.py:79 msgid "Please carry seed value and conduct MFA secondary certification" msgstr "请携带seed值, 进行MFA二次认证" -#: users/api/auth.py:190 +#: users/api/auth.py:192 msgid "Please verify the user name and password first" msgstr "请先进行用户名和密码验证" -#: users/api/auth.py:202 +#: users/api/auth.py:204 msgid "MFA certification failed" msgstr "MFA认证失败" -#: users/api/user.py:134 +#: users/api/user.py:135 msgid "Could not reset self otp, use profile reset instead" msgstr "不能再该页面重置MFA, 请去个人信息页面重置" @@ -2994,7 +3047,8 @@ msgstr "用户名/密码 校验失败" msgid "MFA authentication failed" msgstr "MFA 认证失败" -#: users/models/authentication.py:67 +#: users/models/authentication.py:67 xpack/plugins/cloud/models.py:150 +#: xpack/plugins/cloud/models.py:164 msgid "Failed" msgstr "失败" @@ -3074,6 +3128,9 @@ msgstr "安全令牌验证" #: users/templates/users/_base_otp.html:44 users/templates/users/_user.html:13 #: users/templates/users/user_profile_update.html:51 +#: xpack/plugins/cloud/models.py:124 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:59 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:13 msgid "Account" msgstr "账户" @@ -3133,7 +3190,7 @@ msgstr "上一步" #: users/templates/users/first_login.html:105 #: users/templates/users/login_otp.html:67 #: users/templates/users/user_otp_authentication.html:26 -#: users/templates/users/user_otp_enable_bind.html:23 +#: users/templates/users/user_otp_enable_bind.html:29 #: users/templates/users/user_otp_enable_install_app.html:26 #: users/templates/users/user_password_authentication.html:21 msgid "Next" @@ -3222,7 +3279,7 @@ msgstr "请打开手机Google Authenticator应用,输入6位动态码" #: users/templates/users/login_otp.html:65 #: users/templates/users/user_otp_authentication.html:23 -#: users/templates/users/user_otp_enable_bind.html:20 +#: users/templates/users/user_otp_enable_bind.html:26 msgid "Six figures" msgstr "6位数字" @@ -3496,7 +3553,7 @@ msgstr "解绑 MFA" msgid "Bind" msgstr "绑定 MFA" -#: users/templates/users/user_otp_enable_bind.html:12 +#: users/templates/users/user_otp_enable_bind.html:14 msgid "" "Use the mobile Google Authenticator application to scan the following qr " "code for a 6-bit verification code" @@ -3737,7 +3794,7 @@ msgstr "用户组授权资产" msgid "Please enable cookies and try again." msgstr "设置你的浏览器支持cookie" -#: users/views/login.py:175 users/views/user.py:524 users/views/user.py:549 +#: users/views/login.py:175 users/views/user.py:526 users/views/user.py:551 msgid "MFA code invalid, or ntp sync server time" msgstr "MFA验证码不正确,或者服务器端时间不对" @@ -3818,32 +3875,242 @@ msgstr "密钥更新" msgid "Password invalid" msgstr "用户名或密码无效" -#: users/views/user.py:579 +#: users/views/user.py:581 msgid "MFA enable success" msgstr "MFA 绑定成功" -#: users/views/user.py:580 +#: users/views/user.py:582 msgid "MFA enable success, return login page" msgstr "MFA 绑定成功,返回到登录页面" -#: users/views/user.py:582 +#: users/views/user.py:584 msgid "MFA disable success" msgstr "MFA 解绑成功" -#: users/views/user.py:583 +#: users/views/user.py:585 msgid "MFA disable success, return login page" msgstr "MFA 解绑成功,返回登录页面" +#: xpack/plugins/cloud/api.py:54 xpack/plugins/cloud/providers/provider.py:76 +#, fuzzy +#| msgid "Unavailable" +msgid "Account unavailable" +msgstr "无效" + +#: xpack/plugins/cloud/api.py:79 +#, fuzzy +#| msgid "Create sync task" +msgid "Get sync task error" +msgstr "创建同步任务" + +#: xpack/plugins/cloud/api.py:82 +msgid "New provider error" +msgstr "" + +#: xpack/plugins/cloud/forms.py:13 +msgid "Access Key ID" +msgstr "" + +#: xpack/plugins/cloud/forms.py:14 +msgid "Access Key Secret" +msgstr "" + +#: xpack/plugins/cloud/forms.py:59 +msgid "Select account" +msgstr "选择账户" + +#: xpack/plugins/cloud/forms.py:65 +msgid "Select regions" +msgstr "选择地域" + +#: xpack/plugins/cloud/forms.py:71 +msgid "Select instances" +msgstr "选择实例" + +#: xpack/plugins/cloud/forms.py:77 +msgid "Select node" +msgstr "选择节点" + +#: xpack/plugins/cloud/forms.py:83 xpack/plugins/orgs/forms.py:18 +msgid "Select admins" +msgstr "选择管理员" + +#: xpack/plugins/cloud/meta.py:9 xpack/plugins/cloud/views.py:25 +#: xpack/plugins/cloud/views.py:41 xpack/plugins/cloud/views.py:57 +#: xpack/plugins/cloud/views.py:71 xpack/plugins/cloud/views.py:84 +#: xpack/plugins/cloud/views.py:100 xpack/plugins/cloud/views.py:121 +#: xpack/plugins/cloud/views.py:136 xpack/plugins/cloud/views.py:179 +msgid "Cloud" +msgstr "云管理" + +#: xpack/plugins/cloud/models.py:25 +msgid "Aliyun" +msgstr "阿里云" + +#: xpack/plugins/cloud/models.py:26 +msgid "AWS (China)" +msgstr "AWS (中国)" + +#: xpack/plugins/cloud/models.py:27 +msgid "AWS (International)" +msgstr "AWS (国际)" + +#: xpack/plugins/cloud/models.py:30 +msgid "Available" +msgstr "有效" + +#: xpack/plugins/cloud/models.py:31 +msgid "Unavailable" +msgstr "无效" + +#: xpack/plugins/cloud/models.py:36 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:56 +#: xpack/plugins/cloud/templates/cloud/account_list.html:13 +msgid "Provider" +msgstr "云服务商" + +#: xpack/plugins/cloud/models.py:37 +msgid "Access key id" +msgstr "" + +#: xpack/plugins/cloud/models.py:38 +msgid "Access key secret" +msgstr "" + +#: xpack/plugins/cloud/models.py:39 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:60 +#: xpack/plugins/cloud/templates/cloud/account_list.html:14 +msgid "Validity" +msgstr "账户状态" + +#: xpack/plugins/cloud/models.py:125 +msgid "Regions" +msgstr "地域" + +#: xpack/plugins/cloud/models.py:126 +msgid "Instances" +msgstr "实例" + +#: xpack/plugins/cloud/models.py:130 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:83 +msgid "Date last sync" +msgstr "最后同步日期" + +#: xpack/plugins/cloud/models.py:151 xpack/plugins/cloud/models.py:165 +msgid "Succeed" +msgstr "成功" + +#: xpack/plugins/cloud/models.py:152 +msgid "Partial succeed" +msgstr "" + +#: xpack/plugins/cloud/models.py:155 xpack/plugins/cloud/models.py:169 +msgid "Sync task" +msgstr "同步任务" + +#: xpack/plugins/cloud/models.py:156 +msgid "Result" +msgstr "" + +#: xpack/plugins/cloud/models.py:159 xpack/plugins/cloud/models.py:175 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:69 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:68 +msgid "Date sync" +msgstr "同步日期" + +#: xpack/plugins/cloud/models.py:166 +msgid "Exist" +msgstr "存在" + +#: xpack/plugins/cloud/models.py:170 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:25 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:26 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:26 +#: xpack/plugins/cloud/views.py:137 +msgid "Sync task history" +msgstr "同步历史列表" + +#: xpack/plugins/cloud/models.py:171 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:67 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:63 +msgid "Instance" +msgstr "实例" + +#: xpack/plugins/cloud/models.py:172 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:63 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:64 +msgid "Region" +msgstr "地域" + +#: xpack/plugins/cloud/templates/cloud/account_detail.html:22 +#: xpack/plugins/cloud/views.py:72 +msgid "Account detail" +msgstr "账户详情" + +#: xpack/plugins/cloud/templates/cloud/account_list.html:5 +#: xpack/plugins/cloud/views.py:42 +msgid "Create account" +msgstr "创建账户" + +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:91 +msgid "Loading..." +msgstr "" + +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:106 +#, fuzzy +#| msgid "Create node failed" +msgid "Load failed" +msgstr "创建节点失败" + +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:22 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:23 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:23 +#: xpack/plugins/cloud/views.py:122 +msgid "Sync task detail" +msgstr "同步任务详情" + +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:28 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:29 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:29 +#: xpack/plugins/cloud/views.py:180 +msgid "Sync task instance" +msgstr "同步实例列表" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:63 +msgid "Total count" +msgstr "总数" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:64 +msgid "Succeed count" +msgstr "成功" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:65 +msgid "Failed count" +msgstr "失败" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:66 +msgid "Exist count" +msgstr "存在" + +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:5 +#: xpack/plugins/cloud/views.py:101 +msgid "Create sync task" +msgstr "创建同步任务" + +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:80 +msgid "Sync success" +msgstr "同步成功" + +#: xpack/plugins/cloud/views.py:58 +msgid "Update account" +msgstr "更新账户" + #: xpack/plugins/orgs/forms.py:14 #: xpack/plugins/orgs/templates/orgs/org_detail.html:76 #: xpack/plugins/orgs/templates/orgs/org_list.html:13 msgid "Admin" msgstr "管理员" -#: xpack/plugins/orgs/forms.py:18 -msgid "Select admins" -msgstr "选择管理员" - #: xpack/plugins/orgs/meta.py:8 msgid "Organizations" msgstr "组织管理" diff --git a/apps/templates/_nav.html b/apps/templates/_nav.html index b85e9aebe..be57b7dd7 100644 --- a/apps/templates/_nav.html +++ b/apps/templates/_nav.html @@ -91,6 +91,10 @@ {% for plugin in XPACK_PLUGINS %}
  • {% trans plugin.verbose_name %}
  • {% endfor %} + +
  • {% trans 'Account list' %}
  • +
  • {% trans 'Sync task list' %}
  • + {% endif %}