Commit e9705889 authored by ibuler's avatar ibuler

[Update] 支持生成api key

parent 367ebebf
...@@ -12,6 +12,7 @@ class AccessKeyViewSet(ModelViewSet): ...@@ -12,6 +12,7 @@ class AccessKeyViewSet(ModelViewSet):
permission_classes = (IsValidUser,) permission_classes = (IsValidUser,)
serializer_class = serializers.AccessKeySerializer serializer_class = serializers.AccessKeySerializer
pagination_class = LimitOffsetPagination pagination_class = LimitOffsetPagination
search_fields = ['^id', '^secret']
def get_queryset(self): def get_queryset(self):
return self.request.user.access_keys.all() return self.request.user.access_keys.all()
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
{% load i18n %} {% load i18n %}
{% load static %} {% load static %}
{% block modal_id %}access_key_modal{% endblock %} {% block modal_id %}access_key_modal{% endblock %}
{% block modal_class %}modal-lg{% endblock %}
{% block modal_title%}{% trans "API key list" %}{% endblock %} {% block modal_title%}{% trans "API key list" %}{% endblock %}
{% block modal_body %} {% block modal_body %}
<style> <style>
...@@ -21,6 +22,7 @@ ...@@ -21,6 +22,7 @@
</th> </th>
<th class="text-center">{% trans 'ID' %}</th> <th class="text-center">{% trans 'ID' %}</th>
<th class="text-center">{% trans 'Secret' %}</th> <th class="text-center">{% trans 'Secret' %}</th>
<th class="text-center">{% trans 'Active' %}</th>
<th class="text-center">{% trans 'Date' %}</th> <th class="text-center">{% trans 'Date' %}</th>
<th class="text-center">{% trans 'Action' %}</th> <th class="text-center">{% trans 'Action' %}</th>
</tr> </tr>
...@@ -39,11 +41,36 @@ function initTable() { ...@@ -39,11 +41,36 @@ function initTable() {
var options = { var options = {
ele: $('#access_key_list_table'), ele: $('#access_key_list_table'),
columnDefs: [ columnDefs: [
{targets: 2, createdCell: function (td, cellData, rowData) { {targets: 2, createdCell: function (td, cellData) {
$(td).html(detail_btn.replace('{{ DEFAULT_PK }}', cellData.id)); var btn = '<button class="btn btn-primary btn-xs btn-secret" data-secret="SECRET">{% trans 'Show' %}</button>';
btn = btn.replace("SECRET", cellData);
$(td).html(btn)
}}, }},
{targets: 4, createdCell: function (td, cellData, rowData) { {targets: 3, createdCell: function (td, cellData) {
$(td).html(update_btn + del_btn) if (cellData) {
$(td).html('<i class="fa fa-check text-navy"></i>')
} else {
$(td).html('<i class="fa fa-times text-danger"></i>')
}
}},
{targets: 4, createdCell: function (td, cellData) {
var date = toSafeLocalDateStr(cellData);
$(td).html(date)
}},
{targets: 5, createdCell: function (td, cellData, rowData) {
var btn = '';
var btn_del = '<a class="btn btn-xs btn-danger m-l-xs btn-del" data-id="ID">{% trans "Delete" %}</a>';
var btn_inactive = '<a class="btn btn-xs btn-info m-l-xs btn-inactive" data-id="ID">{% trans "Disable" %}</a>';
var btn_active = '<a class="btn btn-xs btn-primary m-l-xs btn-active" data-id="ID">{% trans "Enable" %}</a>';
btn += btn_del;
if (rowData.is_active) {
btn += btn_inactive
} else {
btn += btn_active
}
btn = btn.replaceAll("ID", cellData);
$(td).html(btn);
}} }}
], ],
ajax_url: '{% url "api-auth:access-key-list" %}', ajax_url: '{% url "api-auth:access-key-list" %}',
...@@ -51,6 +78,7 @@ function initTable() { ...@@ -51,6 +78,7 @@ function initTable() {
{data: "id"}, {data: "id"},
{data: "id"}, {data: "id"},
{data: "secret"}, {data: "secret"},
{data: "is_active"},
{data: "date_created"}, {data: "date_created"},
{data: "id", orderable: false} {data: "id", orderable: false}
], ],
...@@ -61,17 +89,50 @@ function initTable() { ...@@ -61,17 +89,50 @@ function initTable() {
$(document).ready(function () { $(document).ready(function () {
}).on("show.bs.modal", "#access_key_modal", function () { }).on("show.bs.modal", "#access_key_modal", function () {
initTable() if (!table) {
initTable()
}
}).on("click", "#create-btn", function () { }).on("click", "#create-btn", function () {
var url = "{% url "api-auth:access-key-list" %}"; var url = "{% url "api-auth:access-key-list" %}";
var body = { var data = {
url: url, url: url,
method: 'POST', method: 'POST',
success: function () { success: function () {
table.ajax.reload(); table.ajax.reload();
} }
}; };
requestApi(body) requestApi(data)
}).on("click", ".btn-secret", function () {
var $this = $(this);
$this.parent().html($this.data("secret"))
}).on("click", ".btn-del", function () {
var url = "{% url "api-auth:access-key-detail" pk=DEFAULT_PK %}";
url = url.replace("{{ DEFAULT_PK }}", $(this).data("id")) ;
objectDelete($(this), $(this).data("id"), url);
}).on("click", ".btn-active", function () {
var url = "{% url "api-auth:access-key-detail" pk=DEFAULT_PK %}";
url = url.replace("{{ DEFAULT_PK }}", $(this).data("id")) ;
var data = {
url: url,
body: JSON.stringify({"is_active": true}),
method: "PATCH",
success: function () {
table.ajax.reload();
}
};
requestApi(data)
}).on("click", ".btn-inactive", function () {
var url = "{% url "api-auth:access-key-detail" pk=DEFAULT_PK %}";
url = url.replace("{{ DEFAULT_PK }}", $(this).data("id")) ;
var data = {
url: url,
body: JSON.stringify({"is_active": false}),
method: "PATCH",
success: function () {
table.ajax.reload();
}
};
requestApi(data)
}) })
</script> </script>
{% endblock %} {% endblock %}
......
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Jumpserver 0.3.3\n" "Project-Id-Version: Jumpserver 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-07-18 13:18+0800\n" "POT-Creation-Date: 2019-07-29 16:27+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: ibuler <ibuler@qq.com>\n" "Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: Jumpserver team<ibuler@qq.com>\n" "Language-Team: Jumpserver team<ibuler@qq.com>\n"
...@@ -167,7 +167,7 @@ msgstr "系统用户" ...@@ -167,7 +167,7 @@ msgstr "系统用户"
#: settings/templates/settings/terminal_setting.html:105 terminal/models.py:22 #: settings/templates/settings/terminal_setting.html:105 terminal/models.py:22
#: terminal/models.py:258 terminal/templates/terminal/terminal_detail.html:43 #: terminal/models.py:258 terminal/templates/terminal/terminal_detail.html:43
#: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:14 #: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:14
#: users/models/user.py:324 users/templates/users/_select_user_modal.html:13 #: users/models/user.py:325 users/templates/users/_select_user_modal.html:13
#: users/templates/users/user_detail.html:63 #: users/templates/users/user_detail.html:63
#: users/templates/users/user_group_detail.html:55 #: users/templates/users/user_group_detail.html:55
#: users/templates/users/user_group_list.html:35 #: users/templates/users/user_group_list.html:35
...@@ -218,7 +218,7 @@ msgstr "参数" ...@@ -218,7 +218,7 @@ msgstr "参数"
#: perms/models/asset_permission.py:117 perms/models/base.py:41 #: perms/models/asset_permission.py:117 perms/models/base.py:41
#: perms/templates/perms/asset_permission_detail.html:98 #: perms/templates/perms/asset_permission_detail.html:98
#: perms/templates/perms/remote_app_permission_detail.html:90 #: perms/templates/perms/remote_app_permission_detail.html:90
#: users/models/user.py:365 users/serializers/v1.py:120 #: users/models/user.py:366 users/serializers/v1.py:119
#: users/templates/users/user_detail.html:111 #: users/templates/users/user_detail.html:111
#: xpack/plugins/change_auth_plan/models.py:106 #: xpack/plugins/change_auth_plan/models.py:106
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:113 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:113
...@@ -279,7 +279,7 @@ msgstr "创建日期" ...@@ -279,7 +279,7 @@ msgstr "创建日期"
#: perms/templates/perms/remote_app_permission_detail.html:94 #: perms/templates/perms/remote_app_permission_detail.html:94
#: settings/models.py:34 terminal/models.py:32 #: settings/models.py:34 terminal/models.py:32
#: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:15 #: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:15
#: users/models/user.py:357 users/templates/users/user_detail.html:127 #: users/models/user.py:358 users/templates/users/user_detail.html:127
#: users/templates/users/user_group_detail.html:67 #: users/templates/users/user_group_detail.html:67
#: users/templates/users/user_group_list.html:37 #: users/templates/users/user_group_list.html:37
#: users/templates/users/user_profile.html:134 #: users/templates/users/user_profile.html:134
...@@ -393,7 +393,7 @@ msgstr "提交" ...@@ -393,7 +393,7 @@ msgstr "提交"
#: assets/templates/assets/system_user_detail.html:18 #: assets/templates/assets/system_user_detail.html:18
#: ops/templates/ops/adhoc_history.html:130 #: ops/templates/ops/adhoc_history.html:130
#: ops/templates/ops/task_adhoc.html:116 #: ops/templates/ops/task_adhoc.html:116
#: ops/templates/ops/task_history.html:136 #: ops/templates/ops/task_history.html:137
#: perms/templates/perms/asset_permission_asset.html:18 #: perms/templates/perms/asset_permission_asset.html:18
#: perms/templates/perms/asset_permission_detail.html:18 #: perms/templates/perms/asset_permission_detail.html:18
#: perms/templates/perms/asset_permission_user.html:18 #: perms/templates/perms/asset_permission_user.html:18
...@@ -410,13 +410,13 @@ msgstr "详情" ...@@ -410,13 +410,13 @@ msgstr "详情"
#: applications/templates/applications/remote_app_detail.html:21 #: applications/templates/applications/remote_app_detail.html:21
#: applications/templates/applications/remote_app_list.html:56 #: applications/templates/applications/remote_app_list.html:56
#: assets/templates/assets/_asset_user_list.html:70 #: assets/templates/assets/_asset_user_list.html:69
#: assets/templates/assets/admin_user_detail.html:24 #: assets/templates/assets/admin_user_detail.html:24
#: assets/templates/assets/admin_user_list.html:26 #: assets/templates/assets/admin_user_list.html:26
#: assets/templates/assets/admin_user_list.html:111 #: assets/templates/assets/admin_user_list.html:111
#: assets/templates/assets/asset_detail.html:27 #: assets/templates/assets/asset_detail.html:27
#: assets/templates/assets/asset_list.html:78 #: assets/templates/assets/asset_list.html:78
#: assets/templates/assets/asset_list.html:169 #: assets/templates/assets/asset_list.html:168
#: assets/templates/assets/cmd_filter_detail.html:29 #: assets/templates/assets/cmd_filter_detail.html:29
#: assets/templates/assets/cmd_filter_list.html:58 #: assets/templates/assets/cmd_filter_list.html:58
#: assets/templates/assets/cmd_filter_rule_list.html:86 #: assets/templates/assets/cmd_filter_rule_list.html:86
...@@ -458,7 +458,7 @@ msgstr "更新" ...@@ -458,7 +458,7 @@ msgstr "更新"
#: assets/templates/assets/admin_user_detail.html:28 #: assets/templates/assets/admin_user_detail.html:28
#: assets/templates/assets/admin_user_list.html:112 #: assets/templates/assets/admin_user_list.html:112
#: assets/templates/assets/asset_detail.html:31 #: assets/templates/assets/asset_detail.html:31
#: assets/templates/assets/asset_list.html:170 #: assets/templates/assets/asset_list.html:169
#: assets/templates/assets/cmd_filter_detail.html:33 #: assets/templates/assets/cmd_filter_detail.html:33
#: assets/templates/assets/cmd_filter_list.html:59 #: assets/templates/assets/cmd_filter_list.html:59
#: assets/templates/assets/cmd_filter_rule_list.html:87 #: assets/templates/assets/cmd_filter_rule_list.html:87
...@@ -469,6 +469,7 @@ msgstr "更新" ...@@ -469,6 +469,7 @@ msgstr "更新"
#: assets/templates/assets/label_list.html:40 #: assets/templates/assets/label_list.html:40
#: assets/templates/assets/system_user_detail.html:30 #: assets/templates/assets/system_user_detail.html:30
#: assets/templates/assets/system_user_list.html:86 audits/models.py:34 #: assets/templates/assets/system_user_list.html:86 audits/models.py:34
#: authentication/templates/authentication/_access_key_modal.html:62
#: ops/templates/ops/task_list.html:64 #: ops/templates/ops/task_list.html:64
#: perms/templates/perms/asset_permission_detail.html:34 #: perms/templates/perms/asset_permission_detail.html:34
#: perms/templates/perms/asset_permission_list.html:174 #: perms/templates/perms/asset_permission_list.html:174
...@@ -525,6 +526,7 @@ msgstr "创建远程应用" ...@@ -525,6 +526,7 @@ msgstr "创建远程应用"
#: assets/templates/assets/system_user_list.html:60 audits/models.py:38 #: assets/templates/assets/system_user_list.html:60 audits/models.py:38
#: audits/templates/audits/operate_log_list.html:41 #: audits/templates/audits/operate_log_list.html:41
#: audits/templates/audits/operate_log_list.html:67 #: audits/templates/audits/operate_log_list.html:67
#: authentication/templates/authentication/_access_key_modal.html:27
#: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:64 #: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:64
#: ops/templates/ops/task_history.html:65 ops/templates/ops/task_list.html:34 #: ops/templates/ops/task_history.html:65 ops/templates/ops/task_list.html:34
#: perms/forms/asset_permission.py:21 #: perms/forms/asset_permission.py:21
...@@ -576,15 +578,11 @@ msgstr "远程应用详情" ...@@ -576,15 +578,11 @@ msgstr "远程应用详情"
msgid "My RemoteApp" msgid "My RemoteApp"
msgstr "我的远程应用" msgstr "我的远程应用"
#: assets/api/asset.py:51 #: assets/api/asset.py:42
#, python-format #, python-format
msgid "%(hostname)s was %(action)s successfully" msgid "%(hostname)s was %(action)s successfully"
msgstr "%(hostname)s %(action)s成功" msgstr "%(hostname)s %(action)s成功"
#: assets/api/asset.py:125
msgid "Please select assets that need to be updated"
msgstr "请选择需要更新的资产"
#: assets/api/node.py:61 #: assets/api/node.py:61
msgid "You can't update the root node name" msgid "You can't update the root node name"
msgstr "不能修改根节点名称" msgstr "不能修改根节点名称"
...@@ -606,7 +604,7 @@ msgstr "不可达" ...@@ -606,7 +604,7 @@ msgstr "不可达"
msgid "Reachable" msgid "Reachable"
msgstr "可连接" msgstr "可连接"
#: assets/const.py:79 assets/models/utils.py:45 authentication/utils.py:9 #: assets/const.py:79 assets/models/utils.py:45 authentication/utils.py:13
#: xpack/plugins/license/models.py:78 #: xpack/plugins/license/models.py:78
msgid "Unknown" msgid "Unknown"
msgstr "未知" msgstr "未知"
...@@ -715,7 +713,7 @@ msgstr "SSH网关,支持代理SSH,RDP和VNC" ...@@ -715,7 +713,7 @@ msgstr "SSH网关,支持代理SSH,RDP和VNC"
#: assets/templates/assets/admin_user_list.html:45 #: assets/templates/assets/admin_user_list.html:45
#: assets/templates/assets/domain_gateway_list.html:71 #: assets/templates/assets/domain_gateway_list.html:71
#: assets/templates/assets/system_user_detail.html:62 #: assets/templates/assets/system_user_detail.html:62
#: assets/templates/assets/system_user_list.html:52 audits/models.py:94 #: assets/templates/assets/system_user_list.html:52 audits/models.py:80
#: audits/templates/audits/login_log_list.html:51 authentication/forms.py:11 #: audits/templates/audits/login_log_list.html:51 authentication/forms.py:11
#: authentication/templates/authentication/login.html:64 #: authentication/templates/authentication/login.html:64
#: authentication/templates/authentication/new_login.html:90 #: authentication/templates/authentication/new_login.html:90
...@@ -723,7 +721,7 @@ msgstr "SSH网关,支持代理SSH,RDP和VNC" ...@@ -723,7 +721,7 @@ msgstr "SSH网关,支持代理SSH,RDP和VNC"
#: perms/templates/perms/asset_permission_user.html:55 #: perms/templates/perms/asset_permission_user.html:55
#: perms/templates/perms/remote_app_permission_user.html:54 #: perms/templates/perms/remote_app_permission_user.html:54
#: settings/templates/settings/_ldap_list_users_modal.html:37 users/forms.py:14 #: settings/templates/settings/_ldap_list_users_modal.html:37 users/forms.py:14
#: users/models/user.py:322 users/templates/users/_select_user_modal.html:14 #: users/models/user.py:323 users/templates/users/_select_user_modal.html:14
#: users/templates/users/user_detail.html:67 #: users/templates/users/user_detail.html:67
#: users/templates/users/user_list.html:36 #: users/templates/users/user_list.html:36
#: users/templates/users/user_profile.html:47 #: users/templates/users/user_profile.html:47
...@@ -762,7 +760,7 @@ msgstr "密码" ...@@ -762,7 +760,7 @@ msgstr "密码"
#: assets/forms/user.py:29 assets/serializers/asset_user.py:70 #: assets/forms/user.py:29 assets/serializers/asset_user.py:70
#: assets/templates/assets/_asset_user_auth_update_modal.html:27 #: assets/templates/assets/_asset_user_auth_update_modal.html:27
#: users/models/user.py:351 #: users/models/user.py:352
msgid "Private key" msgid "Private key"
msgstr "ssh私钥" msgstr "ssh私钥"
...@@ -968,7 +966,7 @@ msgstr "带宽" ...@@ -968,7 +966,7 @@ msgstr "带宽"
msgid "Contact" msgid "Contact"
msgstr "联系人" msgstr "联系人"
#: assets/models/cluster.py:22 users/models/user.py:343 #: assets/models/cluster.py:22 users/models/user.py:344
#: users/templates/users/user_detail.html:76 #: users/templates/users/user_detail.html:76
msgid "Phone" msgid "Phone"
msgstr "手机" msgstr "手机"
...@@ -994,7 +992,7 @@ msgid "Default" ...@@ -994,7 +992,7 @@ msgid "Default"
msgstr "默认" msgstr "默认"
#: assets/models/cluster.py:36 assets/models/label.py:14 #: assets/models/cluster.py:36 assets/models/label.py:14
#: users/models/user.py:451 #: users/models/user.py:452
msgid "System" msgid "System"
msgstr "系统" msgstr "系统"
...@@ -1113,8 +1111,8 @@ msgstr "默认资产组" ...@@ -1113,8 +1111,8 @@ msgstr "默认资产组"
#: terminal/templates/terminal/command_list.html:65 #: terminal/templates/terminal/command_list.html:65
#: terminal/templates/terminal/session_list.html:27 #: terminal/templates/terminal/session_list.html:27
#: terminal/templates/terminal/session_list.html:71 users/forms.py:316 #: terminal/templates/terminal/session_list.html:71 users/forms.py:316
#: users/models/user.py:121 users/models/user.py:439 #: users/models/user.py:121 users/models/user.py:440
#: users/serializers/v1.py:109 users/templates/users/user_group_detail.html:78 #: users/serializers/v1.py:108 users/templates/users/user_group_detail.html:78
#: users/templates/users/user_group_list.html:36 users/views/user.py:251 #: users/templates/users/user_group_list.html:36 users/views/user.py:251
#: xpack/plugins/orgs/forms.py:26 #: xpack/plugins/orgs/forms.py:26
#: xpack/plugins/orgs/templates/orgs/org_detail.html:113 #: xpack/plugins/orgs/templates/orgs/org_detail.html:113
...@@ -1153,9 +1151,9 @@ msgstr "手动登录" ...@@ -1153,9 +1151,9 @@ msgstr "手动登录"
#: assets/templates/assets/system_user_detail.html:22 #: assets/templates/assets/system_user_detail.html:22
#: assets/views/admin_user.py:30 assets/views/admin_user.py:49 #: assets/views/admin_user.py:30 assets/views/admin_user.py:49
#: assets/views/admin_user.py:67 assets/views/admin_user.py:84 #: assets/views/admin_user.py:67 assets/views/admin_user.py:84
#: assets/views/admin_user.py:109 assets/views/asset.py:40 #: assets/views/admin_user.py:109 assets/views/asset.py:38
#: assets/views/asset.py:57 assets/views/asset.py:106 assets/views/asset.py:133 #: assets/views/asset.py:55 assets/views/asset.py:104 assets/views/asset.py:131
#: assets/views/asset.py:173 assets/views/asset.py:203 #: assets/views/asset.py:171 assets/views/asset.py:203
#: assets/views/cmd_filter.py:31 assets/views/cmd_filter.py:48 #: assets/views/cmd_filter.py:31 assets/views/cmd_filter.py:48
#: assets/views/cmd_filter.py:66 assets/views/cmd_filter.py:84 #: assets/views/cmd_filter.py:66 assets/views/cmd_filter.py:84
#: assets/views/cmd_filter.py:104 assets/views/cmd_filter.py:138 #: assets/views/cmd_filter.py:104 assets/views/cmd_filter.py:138
...@@ -1220,7 +1218,7 @@ msgid "Backend" ...@@ -1220,7 +1218,7 @@ msgid "Backend"
msgstr "后端" msgstr "后端"
#: assets/serializers/asset_user.py:66 users/forms.py:263 #: assets/serializers/asset_user.py:66 users/forms.py:263
#: users/models/user.py:354 users/templates/users/first_login.html:42 #: users/models/user.py:355 users/templates/users/first_login.html:42
#: users/templates/users/user_password_update.html:46 #: users/templates/users/user_password_update.html:46
#: users/templates/users/user_profile.html:68 #: users/templates/users/user_profile.html:68
#: users/templates/users/user_profile_update.html:43 #: users/templates/users/user_profile_update.html:43
...@@ -1237,7 +1235,7 @@ msgstr "暂不支持OPENSSH格式的密钥,使用 ssh-keygen -t rsa -m pem生 ...@@ -1237,7 +1235,7 @@ msgstr "暂不支持OPENSSH格式的密钥,使用 ssh-keygen -t rsa -m pem生
msgid "private key invalid" msgid "private key invalid"
msgstr "密钥不合法" msgstr "密钥不合法"
#: assets/serializers/node.py:32 #: assets/serializers/node.py:33
msgid "The same level node name cannot be the same" msgid "The same level node name cannot be the same"
msgstr "同级别节点名字不能重复" msgstr "同级别节点名字不能重复"
...@@ -1253,86 +1251,86 @@ msgstr "自动登录模式,必须填写用户名" ...@@ -1253,86 +1251,86 @@ msgstr "自动登录模式,必须填写用户名"
msgid "Password or private key required" msgid "Password or private key required"
msgstr "密码或密钥密码需要一个" msgstr "密码或密钥密码需要一个"
#: assets/tasks.py:34 #: assets/tasks.py:33
msgid "Asset has been disabled, skipped: {}" msgid "Asset has been disabled, skipped: {}"
msgstr "资产或许不支持ansible, 跳过: {}" msgstr "资产或许不支持ansible, 跳过: {}"
#: assets/tasks.py:38 #: assets/tasks.py:37
msgid "Asset may not be support ansible, skipped: {}" msgid "Asset may not be support ansible, skipped: {}"
msgstr "资产或许不支持ansible, 跳过: {}" msgstr "资产或许不支持ansible, 跳过: {}"
#: assets/tasks.py:51 #: assets/tasks.py:50
msgid "No assets matched, stop task" msgid "No assets matched, stop task"
msgstr "没有匹配到资产,结束任务" msgstr "没有匹配到资产,结束任务"
#: assets/tasks.py:61 #: assets/tasks.py:60
msgid "No assets matched related system user protocol, stop task" msgid "No assets matched related system user protocol, stop task"
msgstr "没有匹配到与系统用户协议相关的资产,结束任务" msgstr "没有匹配到与系统用户协议相关的资产,结束任务"
#: assets/tasks.py:87 #: assets/tasks.py:86
msgid "Get asset info failed: {}" msgid "Get asset info failed: {}"
msgstr "获取资产信息失败:{}" msgstr "获取资产信息失败:{}"
#: assets/tasks.py:137 #: assets/tasks.py:136
msgid "Update some assets hardware info" msgid "Update some assets hardware info"
msgstr "更新资产硬件信息" msgstr "更新资产硬件信息"
#: assets/tasks.py:154 #: assets/tasks.py:153
msgid "Update asset hardware info: {}" msgid "Update asset hardware info: {}"
msgstr "更新资产硬件信息: {}" msgstr "更新资产硬件信息: {}"
#: assets/tasks.py:179 #: assets/tasks.py:178
msgid "Test assets connectivity" msgid "Test assets connectivity"
msgstr "测试资产可连接性" msgstr "测试资产可连接性"
#: assets/tasks.py:233 #: assets/tasks.py:232
msgid "Test assets connectivity: {}" msgid "Test assets connectivity: {}"
msgstr "测试资产可连接性: {}" msgstr "测试资产可连接性: {}"
#: assets/tasks.py:275 #: assets/tasks.py:274
msgid "Test admin user connectivity period: {}" msgid "Test admin user connectivity period: {}"
msgstr "定期测试管理账号可连接性: {}" msgstr "定期测试管理账号可连接性: {}"
#: assets/tasks.py:282 #: assets/tasks.py:281
msgid "Test admin user connectivity: {}" msgid "Test admin user connectivity: {}"
msgstr "测试管理行号可连接性: {}" msgstr "测试管理行号可连接性: {}"
#: assets/tasks.py:350 #: assets/tasks.py:349
msgid "Test system user connectivity: {}" msgid "Test system user connectivity: {}"
msgstr "测试系统用户可连接性: {}" msgstr "测试系统用户可连接性: {}"
#: assets/tasks.py:357 #: assets/tasks.py:356
msgid "Test system user connectivity: {} => {}" msgid "Test system user connectivity: {} => {}"
msgstr "测试系统用户可连接性: {} => {}" msgstr "测试系统用户可连接性: {} => {}"
#: assets/tasks.py:370 #: assets/tasks.py:369
msgid "Test system user connectivity period: {}" msgid "Test system user connectivity period: {}"
msgstr "定期测试系统用户可连接性: {}" msgstr "定期测试系统用户可连接性: {}"
#: assets/tasks.py:471 assets/tasks.py:557 #: assets/tasks.py:470 assets/tasks.py:556
#: xpack/plugins/change_auth_plan/models.py:522 #: xpack/plugins/change_auth_plan/models.py:522
msgid "The asset {} system platform {} does not support run Ansible tasks" msgid "The asset {} system platform {} does not support run Ansible tasks"
msgstr "资产 {} 系统平台 {} 不支持运行 Ansible 任务" msgstr "资产 {} 系统平台 {} 不支持运行 Ansible 任务"
#: assets/tasks.py:483 #: assets/tasks.py:482
msgid "" msgid ""
"Push system user task skip, auto push not enable or protocol is not ssh or " "Push system user task skip, auto push not enable or protocol is not ssh or "
"rdp: {}" "rdp: {}"
msgstr "推送系统用户任务跳过,自动推送没有打开,或协议不是ssh或rdp: {}" msgstr "推送系统用户任务跳过,自动推送没有打开,或协议不是ssh或rdp: {}"
#: assets/tasks.py:490 #: assets/tasks.py:489
msgid "For security, do not push user {}" msgid "For security, do not push user {}"
msgstr "为了安全,禁止推送用户 {}" msgstr "为了安全,禁止推送用户 {}"
#: assets/tasks.py:518 assets/tasks.py:532 #: assets/tasks.py:517 assets/tasks.py:531
msgid "Push system users to assets: {}" msgid "Push system users to assets: {}"
msgstr "推送系统用户到入资产: {}" msgstr "推送系统用户到入资产: {}"
#: assets/tasks.py:524 #: assets/tasks.py:523
msgid "Push system users to asset: {} => {}" msgid "Push system users to asset: {} => {}"
msgstr "推送系统用户到入资产: {} => {}" msgstr "推送系统用户到入资产: {} => {}"
#: assets/tasks.py:604 #: assets/tasks.py:603
msgid "Test asset user connectivity: {}" msgid "Test asset user connectivity: {}"
msgstr "测试资产用户可连接性: {}" msgstr "测试资产用户可连接性: {}"
...@@ -1375,7 +1373,7 @@ msgstr "启用MFA" ...@@ -1375,7 +1373,7 @@ msgstr "启用MFA"
msgid "Import assets" msgid "Import assets"
msgstr "导入资产" msgstr "导入资产"
#: assets/templates/assets/_asset_list_modal.html:7 assets/views/asset.py:41 #: assets/templates/assets/_asset_list_modal.html:7 assets/views/asset.py:39
#: templates/_nav.html:22 xpack/plugins/change_auth_plan/views.py:116 #: templates/_nav.html:22 xpack/plugins/change_auth_plan/views.py:116
msgid "Asset list" msgid "Asset list"
msgstr "资产列表" msgstr "资产列表"
...@@ -1415,6 +1413,7 @@ msgstr "获取认证信息错误" ...@@ -1415,6 +1413,7 @@ msgstr "获取认证信息错误"
#: assets/templates/assets/_asset_user_auth_view_modal.html:97 #: assets/templates/assets/_asset_user_auth_view_modal.html:97
#: assets/templates/assets/_user_asset_detail_modal.html:23 #: assets/templates/assets/_user_asset_detail_modal.html:23
#: authentication/templates/authentication/_access_key_modal.html:140
#: authentication/templates/authentication/_mfa_confirm_modal.html:53 #: authentication/templates/authentication/_mfa_confirm_modal.html:53
#: settings/templates/settings/_ldap_list_users_modal.html:99 #: settings/templates/settings/_ldap_list_users_modal.html:99
#: templates/_modal.html:22 #: templates/_modal.html:22
...@@ -1435,11 +1434,11 @@ msgstr "日期" ...@@ -1435,11 +1434,11 @@ msgstr "日期"
msgid "Test datetime: " msgid "Test datetime: "
msgstr "测试日期: " msgstr "测试日期: "
#: assets/templates/assets/_asset_user_list.html:69 #: assets/templates/assets/_asset_user_list.html:68
msgid "View" msgid "View"
msgstr "查看" msgstr "查看"
#: assets/templates/assets/_asset_user_list.html:71 #: assets/templates/assets/_asset_user_list.html:70
#: assets/templates/assets/admin_user_assets.html:61 #: assets/templates/assets/admin_user_assets.html:61
#: assets/templates/assets/asset_asset_user_list.html:57 #: assets/templates/assets/asset_asset_user_list.html:57
#: assets/templates/assets/asset_detail.html:178 #: assets/templates/assets/asset_detail.html:178
...@@ -1448,7 +1447,7 @@ msgstr "查看" ...@@ -1448,7 +1447,7 @@ msgstr "查看"
msgid "Test" msgid "Test"
msgstr "测试" msgstr "测试"
#: assets/templates/assets/_asset_user_list.html:72 #: assets/templates/assets/_asset_user_list.html:71
#: assets/templates/assets/system_user_assets.html:72 #: assets/templates/assets/system_user_assets.html:72
#: assets/templates/assets/system_user_detail.html:142 #: assets/templates/assets/system_user_detail.html:142
msgid "Push" msgid "Push"
...@@ -1577,7 +1576,7 @@ msgstr "选择节点" ...@@ -1577,7 +1576,7 @@ msgstr "选择节点"
#: assets/templates/assets/admin_user_detail.html:100 #: assets/templates/assets/admin_user_detail.html:100
#: assets/templates/assets/asset_detail.html:207 #: assets/templates/assets/asset_detail.html:207
#: assets/templates/assets/asset_list.html:387 #: assets/templates/assets/asset_list.html:386
#: assets/templates/assets/cmd_filter_detail.html:106 #: assets/templates/assets/cmd_filter_detail.html:106
#: assets/templates/assets/system_user_assets.html:100 #: assets/templates/assets/system_user_assets.html:100
#: assets/templates/assets/system_user_detail.html:182 #: assets/templates/assets/system_user_detail.html:182
...@@ -1640,8 +1639,8 @@ msgstr "创建管理用户" ...@@ -1640,8 +1639,8 @@ msgstr "创建管理用户"
#: assets/templates/assets/admin_user_list.html:162 #: assets/templates/assets/admin_user_list.html:162
#: assets/templates/assets/admin_user_list.html:193 #: assets/templates/assets/admin_user_list.html:193
#: assets/templates/assets/asset_list.html:268 #: assets/templates/assets/asset_list.html:267
#: assets/templates/assets/asset_list.html:305 #: assets/templates/assets/asset_list.html:304
#: assets/templates/assets/system_user_list.html:192 #: assets/templates/assets/system_user_list.html:192
#: assets/templates/assets/system_user_list.html:223 #: assets/templates/assets/system_user_list.html:223
#: users/templates/users/user_group_list.html:163 #: users/templates/users/user_group_list.html:163
...@@ -1653,7 +1652,7 @@ msgid "Please select file" ...@@ -1653,7 +1652,7 @@ msgid "Please select file"
msgstr "选择文件" msgstr "选择文件"
#: assets/templates/assets/asset_asset_user_list.html:16 #: assets/templates/assets/asset_asset_user_list.html:16
#: assets/templates/assets/asset_detail.html:23 assets/views/asset.py:58 #: assets/templates/assets/asset_detail.html:23 assets/views/asset.py:56
msgid "Asset user list" msgid "Asset user list"
msgstr "资产用户列表" msgstr "资产用户列表"
...@@ -1695,7 +1694,8 @@ msgstr "硬盘" ...@@ -1695,7 +1694,8 @@ msgstr "硬盘"
msgid "Date joined" msgid "Date joined"
msgstr "创建日期" msgstr "创建日期"
#: assets/templates/assets/asset_detail.html:150 #: assets/templates/assets/asset_detail.html:150 authentication/models.py:15
#: authentication/templates/authentication/_access_key_modal.html:25
#: perms/models/asset_permission.py:115 perms/models/base.py:38 #: perms/models/asset_permission.py:115 perms/models/base.py:38
#: perms/templates/perms/asset_permission_create_update.html:55 #: perms/templates/perms/asset_permission_create_update.html:55
#: perms/templates/perms/asset_permission_detail.html:120 #: perms/templates/perms/asset_permission_detail.html:120
...@@ -1725,7 +1725,7 @@ msgstr "" ...@@ -1725,7 +1725,7 @@ msgstr ""
"左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的," "左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的,"
"右侧是属于该节点下的资产" "右侧是属于该节点下的资产"
#: assets/templates/assets/asset_list.html:61 assets/views/asset.py:107 #: assets/templates/assets/asset_list.html:61 assets/views/asset.py:105
msgid "Create asset" msgid "Create asset"
msgstr "创建资产" msgstr "创建资产"
...@@ -1757,31 +1757,31 @@ msgstr "禁用所选" ...@@ -1757,31 +1757,31 @@ msgstr "禁用所选"
msgid "Active selected" msgid "Active selected"
msgstr "激活所选" msgstr "激活所选"
#: assets/templates/assets/asset_list.html:191 #: assets/templates/assets/asset_list.html:190
msgid "Add assets to node" msgid "Add assets to node"
msgstr "添加资产到节点" msgstr "添加资产到节点"
#: assets/templates/assets/asset_list.html:192 #: assets/templates/assets/asset_list.html:191
msgid "Move assets to node" msgid "Move assets to node"
msgstr "移动资产到节点" msgstr "移动资产到节点"
#: assets/templates/assets/asset_list.html:194 #: assets/templates/assets/asset_list.html:193
msgid "Refresh node hardware info" msgid "Refresh node hardware info"
msgstr "更新节点资产硬件信息" msgstr "更新节点资产硬件信息"
#: assets/templates/assets/asset_list.html:195 #: assets/templates/assets/asset_list.html:194
msgid "Test node connective" msgid "Test node connective"
msgstr "测试节点资产可连接性" msgstr "测试节点资产可连接性"
#: assets/templates/assets/asset_list.html:197 #: assets/templates/assets/asset_list.html:196
msgid "Display only current node assets" msgid "Display only current node assets"
msgstr "仅显示当前节点资产" msgstr "仅显示当前节点资产"
#: assets/templates/assets/asset_list.html:198 #: assets/templates/assets/asset_list.html:197
msgid "Displays all child node assets" msgid "Displays all child node assets"
msgstr "显示所有子节点资产" msgstr "显示所有子节点资产"
#: assets/templates/assets/asset_list.html:381 #: assets/templates/assets/asset_list.html:380
#: assets/templates/assets/system_user_list.html:133 #: assets/templates/assets/system_user_list.html:133
#: users/templates/users/user_detail.html:382 #: users/templates/users/user_detail.html:382
#: users/templates/users/user_detail.html:408 #: users/templates/users/user_detail.html:408
...@@ -1792,11 +1792,11 @@ msgstr "显示所有子节点资产" ...@@ -1792,11 +1792,11 @@ msgstr "显示所有子节点资产"
msgid "Are you sure?" msgid "Are you sure?"
msgstr "你确认吗?" msgstr "你确认吗?"
#: assets/templates/assets/asset_list.html:382 #: assets/templates/assets/asset_list.html:381
msgid "This will delete the selected assets !!!" msgid "This will delete the selected assets !!!"
msgstr "删除选择资产" msgstr "删除选择资产"
#: assets/templates/assets/asset_list.html:385 #: assets/templates/assets/asset_list.html:384
#: assets/templates/assets/system_user_list.html:137 #: assets/templates/assets/system_user_list.html:137
#: settings/templates/settings/terminal_setting.html:166 #: settings/templates/settings/terminal_setting.html:166
#: users/templates/users/user_detail.html:386 #: users/templates/users/user_detail.html:386
...@@ -1810,16 +1810,16 @@ msgstr "删除选择资产" ...@@ -1810,16 +1810,16 @@ msgstr "删除选择资产"
msgid "Cancel" msgid "Cancel"
msgstr "取消" msgstr "取消"
#: assets/templates/assets/asset_list.html:398 #: assets/templates/assets/asset_list.html:397
msgid "Asset Deleted." msgid "Asset Deleted."
msgstr "已被删除" msgstr "已被删除"
#: assets/templates/assets/asset_list.html:399 #: assets/templates/assets/asset_list.html:398
#: assets/templates/assets/asset_list.html:403 #: assets/templates/assets/asset_list.html:402
msgid "Asset Delete" msgid "Asset Delete"
msgstr "删除" msgstr "删除"
#: assets/templates/assets/asset_list.html:402 #: assets/templates/assets/asset_list.html:401
msgid "Asset Deleting failed." msgid "Asset Deleting failed."
msgstr "删除失败" msgstr "删除失败"
...@@ -2024,19 +2024,19 @@ msgstr "管理用户列表" ...@@ -2024,19 +2024,19 @@ msgstr "管理用户列表"
msgid "Admin user detail" msgid "Admin user detail"
msgstr "管理用户详情" msgstr "管理用户详情"
#: assets/views/asset.py:70 templates/_nav_user.html:4 #: assets/views/asset.py:68 templates/_nav_user.html:4
msgid "My assets" msgid "My assets"
msgstr "我的资产" msgstr "我的资产"
#: assets/views/asset.py:134 #: assets/views/asset.py:132
msgid "Update asset" msgid "Update asset"
msgstr "更新资产" msgstr "更新资产"
#: assets/views/asset.py:146 #: assets/views/asset.py:144
msgid "Bulk update asset success" msgid "Bulk update asset success"
msgstr "批量更新资产成功" msgstr "批量更新资产成功"
#: assets/views/asset.py:174 #: assets/views/asset.py:172
msgid "Bulk update asset" msgid "Bulk update asset"
msgstr "批量更新资产" msgstr "批量更新资产"
...@@ -2127,7 +2127,7 @@ msgstr "操作" ...@@ -2127,7 +2127,7 @@ msgstr "操作"
msgid "Filename" msgid "Filename"
msgstr "文件名" msgstr "文件名"
#: audits/models.py:23 audits/models.py:90 #: audits/models.py:23 audits/models.py:76
#: audits/templates/audits/ftp_log_list.html:76 #: audits/templates/audits/ftp_log_list.html:76
#: ops/templates/ops/command_execution_list.html:65 #: ops/templates/ops/command_execution_list.html:65
#: ops/templates/ops/task_list.html:31 #: ops/templates/ops/task_list.html:31
...@@ -2137,7 +2137,9 @@ msgstr "文件名" ...@@ -2137,7 +2137,9 @@ msgstr "文件名"
msgid "Success" msgid "Success"
msgstr "成功" msgstr "成功"
#: audits/models.py:32 xpack/plugins/vault/templates/vault/vault.html:46 #: audits/models.py:32
#: authentication/templates/authentication/_access_key_modal.html:35
#: xpack/plugins/vault/templates/vault/vault.html:46
msgid "Create" msgid "Create"
msgstr "创建" msgstr "创建"
...@@ -2163,55 +2165,39 @@ msgstr "禁用" ...@@ -2163,55 +2165,39 @@ msgstr "禁用"
msgid "Enabled" msgid "Enabled"
msgstr "启用" msgstr "启用"
#: audits/models.py:72 audits/models.py:82 #: audits/models.py:72
msgid "-" msgid "-"
msgstr "" msgstr ""
#: audits/models.py:83 #: audits/models.py:77 xpack/plugins/cloud/models.py:164
msgid "Username/password check failed"
msgstr "用户名/密码 校验失败"
#: audits/models.py:84
msgid "MFA authentication failed"
msgstr "MFA 认证失败"
#: audits/models.py:85
msgid "Username does not exist"
msgstr "用户名不存在"
#: audits/models.py:86
msgid "Password expired"
msgstr "密码过期"
#: audits/models.py:91 xpack/plugins/cloud/models.py:164
#: xpack/plugins/cloud/models.py:178 #: xpack/plugins/cloud/models.py:178
msgid "Failed" msgid "Failed"
msgstr "失败" msgstr "失败"
#: audits/models.py:95 #: audits/models.py:81
msgid "Login type" msgid "Login type"
msgstr "登录方式" msgstr "登录方式"
#: audits/models.py:96 #: audits/models.py:82
msgid "Login ip" msgid "Login ip"
msgstr "登录IP" msgstr "登录IP"
#: audits/models.py:97 #: audits/models.py:83
msgid "Login city" msgid "Login city"
msgstr "登录城市" msgstr "登录城市"
#: audits/models.py:98 #: audits/models.py:84
msgid "User agent" msgid "User agent"
msgstr "Agent" msgstr "Agent"
#: audits/models.py:99 audits/templates/audits/login_log_list.html:56 #: audits/models.py:85 audits/templates/audits/login_log_list.html:56
#: authentication/templates/authentication/_mfa_confirm_modal.html:14 #: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: users/forms.py:175 users/models/user.py:346 #: users/forms.py:175 users/models/user.py:347
#: users/templates/users/first_login.html:45 #: users/templates/users/first_login.html:45
msgid "MFA" msgid "MFA"
msgstr "MFA" msgstr "MFA"
#: audits/models.py:100 audits/templates/audits/login_log_list.html:57 #: audits/models.py:86 audits/templates/audits/login_log_list.html:57
#: xpack/plugins/change_auth_plan/models.py:417 #: xpack/plugins/change_auth_plan/models.py:417
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:15 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_subtask_list.html:15
#: xpack/plugins/cloud/models.py:172 #: xpack/plugins/cloud/models.py:172
...@@ -2219,14 +2205,14 @@ msgstr "MFA" ...@@ -2219,14 +2205,14 @@ msgstr "MFA"
msgid "Reason" msgid "Reason"
msgstr "原因" msgstr "原因"
#: audits/models.py:101 audits/templates/audits/login_log_list.html:58 #: audits/models.py:87 audits/templates/audits/login_log_list.html:58
#: xpack/plugins/cloud/models.py:171 xpack/plugins/cloud/models.py:188 #: xpack/plugins/cloud/models.py:171 xpack/plugins/cloud/models.py:188
#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:70 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:70
#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:65 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:65
msgid "Status" msgid "Status"
msgstr "状态" msgstr "状态"
#: audits/models.py:102 #: audits/models.py:88
msgid "Date login" msgid "Date login"
msgstr "登录日期" msgstr "登录日期"
...@@ -2258,13 +2244,14 @@ msgstr "选择用户" ...@@ -2258,13 +2244,14 @@ msgstr "选择用户"
#: ops/templates/ops/command_execution_list.html:43 #: ops/templates/ops/command_execution_list.html:43
#: ops/templates/ops/command_execution_list.html:48 #: ops/templates/ops/command_execution_list.html:48
#: ops/templates/ops/task_list.html:13 ops/templates/ops/task_list.html:18 #: ops/templates/ops/task_list.html:13 ops/templates/ops/task_list.html:18
#: templates/_base_list.html:41 templates/_header_bar.html:8 #: templates/_base_list.html:41
#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:52 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:52
#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:48 #: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:48
msgid "Search" msgid "Search"
msgstr "搜索" msgstr "搜索"
#: audits/templates/audits/login_log_list.html:50 #: audits/templates/audits/login_log_list.html:50
#: authentication/templates/authentication/_access_key_modal.html:23
#: ops/templates/ops/adhoc_detail.html:49 #: ops/templates/ops/adhoc_detail.html:49
#: ops/templates/ops/adhoc_history_detail.html:49 #: ops/templates/ops/adhoc_history_detail.html:49
#: ops/templates/ops/task_detail.html:56 #: ops/templates/ops/task_detail.html:56
...@@ -2283,6 +2270,7 @@ msgid "City" ...@@ -2283,6 +2270,7 @@ msgid "City"
msgstr "城市" msgstr "城市"
#: audits/templates/audits/login_log_list.html:59 #: audits/templates/audits/login_log_list.html:59
#: authentication/templates/authentication/_access_key_modal.html:26
#: ops/templates/ops/task_list.html:32 #: ops/templates/ops/task_list.html:32
msgid "Date" msgid "Date"
msgstr "日期" msgstr "日期"
...@@ -2313,79 +2301,99 @@ msgstr "登录日志" ...@@ -2313,79 +2301,99 @@ msgstr "登录日志"
msgid "Command execution log" msgid "Command execution log"
msgstr "命令执行" msgstr "命令执行"
#: authentication/api/auth.py:49 #: authentication/api/auth.py:51 authentication/api/token.py:45
#: authentication/templates/authentication/login.html:52 #: authentication/templates/authentication/login.html:52
#: authentication/templates/authentication/new_login.html:77 #: authentication/templates/authentication/new_login.html:77
msgid "Log in frequently and try again later" msgid "Log in frequently and try again later"
msgstr "登录频繁, 稍后重试" msgstr "登录频繁, 稍后重试"
#: authentication/api/auth.py:67 #: authentication/api/auth.py:76
msgid "The user {} password has expired, please update."
msgstr "用户 {} 密码已经过期,请更新。"
#: authentication/api/auth.py:86
msgid "Please carry seed value and conduct MFA secondary certification" msgid "Please carry seed value and conduct MFA secondary certification"
msgstr "请携带seed值, 进行MFA二次认证" msgstr "请携带seed值, 进行MFA二次认证"
#: authentication/api/auth.py:166 #: authentication/api/auth.py:156
msgid "Please verify the user name and password first" msgid "Please verify the user name and password first"
msgstr "请先进行用户名和密码验证" msgstr "请先进行用户名和密码验证"
#: authentication/api/auth.py:171 #: authentication/api/auth.py:161
msgid "MFA certification failed" msgid "MFA certification failed"
msgstr "MFA认证失败" msgstr "MFA认证失败"
#: authentication/backends/api.py:52 #: authentication/api/token.py:80
msgid "MFA required"
msgstr ""
#: authentication/backends/api.py:53
msgid "Invalid signature header. No credentials provided." msgid "Invalid signature header. No credentials provided."
msgstr "" msgstr ""
#: authentication/backends/api.py:55 #: authentication/backends/api.py:56
msgid "Invalid signature header. Signature string should not contain spaces." msgid "Invalid signature header. Signature string should not contain spaces."
msgstr "" msgstr ""
#: authentication/backends/api.py:62 #: authentication/backends/api.py:63
msgid "Invalid signature header. Format like AccessKeyId:Signature" msgid "Invalid signature header. Format like AccessKeyId:Signature"
msgstr "" msgstr ""
#: authentication/backends/api.py:66 #: authentication/backends/api.py:67
msgid "" msgid ""
"Invalid signature header. Signature string should not contain invalid " "Invalid signature header. Signature string should not contain invalid "
"characters." "characters."
msgstr "" msgstr ""
#: authentication/backends/api.py:86 authentication/backends/api.py:102 #: authentication/backends/api.py:87 authentication/backends/api.py:103
msgid "Invalid signature." msgid "Invalid signature."
msgstr "" msgstr ""
#: authentication/backends/api.py:93 #: authentication/backends/api.py:94
msgid "HTTP header: Date not provide or not %a, %d %b %Y %H:%M:%S GMT" msgid "HTTP header: Date not provide or not %a, %d %b %Y %H:%M:%S GMT"
msgstr "" msgstr ""
#: authentication/backends/api.py:98 #: authentication/backends/api.py:99
msgid "Expired, more than 15 minutes" msgid "Expired, more than 15 minutes"
msgstr "" msgstr ""
#: authentication/backends/api.py:105 #: authentication/backends/api.py:106
msgid "User disabled." msgid "User disabled."
msgstr "用户已禁用" msgstr "用户已禁用"
#: authentication/backends/api.py:120 #: authentication/backends/api.py:121
msgid "Invalid token header. No credentials provided." msgid "Invalid token header. No credentials provided."
msgstr "" msgstr ""
#: authentication/backends/api.py:123 #: authentication/backends/api.py:124
msgid "Invalid token header. Sign string should not contain spaces." msgid "Invalid token header. Sign string should not contain spaces."
msgstr "" msgstr ""
#: authentication/backends/api.py:130 #: authentication/backends/api.py:131
msgid "" msgid ""
"Invalid token header. Sign string should not contain invalid characters." "Invalid token header. Sign string should not contain invalid characters."
msgstr "" msgstr ""
#: authentication/backends/api.py:140 #: authentication/backends/api.py:141
msgid "Invalid token or cache refreshed." msgid "Invalid token or cache refreshed."
msgstr "" msgstr ""
#: authentication/const.py:6
msgid "Username/password check failed"
msgstr "用户名/密码 校验失败"
#: authentication/const.py:7
msgid "MFA authentication failed"
msgstr "MFA 认证失败"
#: authentication/const.py:8
msgid "Username does not exist"
msgstr "用户名不存在"
#: authentication/const.py:9
msgid "Password expired"
msgstr "密码过期"
#: authentication/const.py:10
msgid "Disabled or expired"
msgstr "禁用或失效"
#: authentication/forms.py:19 #: authentication/forms.py:19
msgid "" msgid ""
"Please enter a correct username and password. Note that both fields may be " "Please enter a correct username and password. Note that both fields may be "
...@@ -2400,10 +2408,35 @@ msgstr "此账户无效" ...@@ -2400,10 +2408,35 @@ msgstr "此账户无效"
msgid "MFA code" msgid "MFA code"
msgstr "MFA 验证码" msgstr "MFA 验证码"
#: authentication/models.py:33 #: authentication/models.py:35
msgid "Private Token" msgid "Private Token"
msgstr "ssh密钥" msgstr "ssh密钥"
#: authentication/templates/authentication/_access_key_modal.html:6
msgid "API key list"
msgstr "API Key 列表"
#: authentication/templates/authentication/_access_key_modal.html:24
msgid "Secret"
msgstr "密文"
#: authentication/templates/authentication/_access_key_modal.html:45
msgid "Show"
msgstr "显示"
#: authentication/templates/authentication/_access_key_modal.html:63
#: users/models/user.py:282 users/templates/users/user_profile.html:92
#: users/templates/users/user_profile.html:159
#: users/templates/users/user_profile.html:162
msgid "Disable"
msgstr "禁用"
#: authentication/templates/authentication/_access_key_modal.html:64
#: users/models/user.py:283 users/templates/users/user_profile.html:90
#: users/templates/users/user_profile.html:166
msgid "Enable"
msgstr "启用"
#: authentication/templates/authentication/_mfa_confirm_modal.html:5 #: authentication/templates/authentication/_mfa_confirm_modal.html:5
msgid "MFA confirm" msgid "MFA confirm"
msgstr "MFA确认" msgstr "MFA确认"
...@@ -2462,7 +2495,7 @@ msgstr "改变世界,从一点点开始。" ...@@ -2462,7 +2495,7 @@ msgstr "改变世界,从一点点开始。"
#: authentication/templates/authentication/login.html:46 #: authentication/templates/authentication/login.html:46
#: authentication/templates/authentication/login.html:72 #: authentication/templates/authentication/login.html:72
#: authentication/templates/authentication/new_login.html:99 #: authentication/templates/authentication/new_login.html:99
#: templates/_header_bar.html:101 #: templates/_header_bar.html:83
msgid "Login" msgid "Login"
msgstr "登录" msgstr "登录"
...@@ -2988,11 +3021,11 @@ msgstr "命令执行" ...@@ -2988,11 +3021,11 @@ msgstr "命令执行"
msgid "Organization" msgid "Organization"
msgstr "组织" msgstr "组织"
#: perms/api/mixin.py:142 #: perms/api/mixin.py:148
msgid "ungrouped" msgid "ungrouped"
msgstr "未分组" msgstr "未分组"
#: perms/api/mixin.py:147 #: perms/api/mixin.py:153
msgid "empty" msgid "empty"
msgstr "空" msgstr "空"
...@@ -3003,7 +3036,7 @@ msgstr "空" ...@@ -3003,7 +3036,7 @@ msgstr "空"
#: perms/templates/perms/asset_permission_list.html:114 #: perms/templates/perms/asset_permission_list.html:114
#: perms/templates/perms/remote_app_permission_list.html:16 #: perms/templates/perms/remote_app_permission_list.html:16
#: templates/_nav.html:14 users/forms.py:286 users/models/group.py:26 #: templates/_nav.html:14 users/forms.py:286 users/models/group.py:26
#: users/models/user.py:330 users/templates/users/_select_user_modal.html:16 #: users/models/user.py:331 users/templates/users/_select_user_modal.html:16
#: users/templates/users/user_detail.html:213 #: users/templates/users/user_detail.html:213
#: users/templates/users/user_list.html:38 #: users/templates/users/user_list.html:38
#: xpack/plugins/orgs/templates/orgs/org_list.html:15 #: xpack/plugins/orgs/templates/orgs/org_list.html:15
...@@ -3052,7 +3085,7 @@ msgstr "资产授权" ...@@ -3052,7 +3085,7 @@ msgstr "资产授权"
#: perms/models/asset_permission.py:116 perms/models/base.py:40 #: perms/models/asset_permission.py:116 perms/models/base.py:40
#: perms/templates/perms/asset_permission_detail.html:90 #: perms/templates/perms/asset_permission_detail.html:90
#: perms/templates/perms/remote_app_permission_detail.html:82 #: perms/templates/perms/remote_app_permission_detail.html:82
#: users/models/user.py:362 users/templates/users/user_detail.html:107 #: users/models/user.py:363 users/templates/users/user_detail.html:107
#: users/templates/users/user_profile.html:116 #: users/templates/users/user_profile.html:116
msgid "Date expired" msgid "Date expired"
msgstr "失效日期" msgstr "失效日期"
...@@ -3198,9 +3231,9 @@ msgstr "添加用户" ...@@ -3198,9 +3231,9 @@ msgstr "添加用户"
msgid "Add user group to this permission" msgid "Add user group to this permission"
msgstr "添加用户组" msgstr "添加用户组"
#: perms/views/asset_permission.py:33 perms/views/asset_permission.py:64 #: perms/views/asset_permission.py:34 perms/views/asset_permission.py:65
#: perms/views/asset_permission.py:81 perms/views/asset_permission.py:98 #: perms/views/asset_permission.py:82 perms/views/asset_permission.py:99
#: perms/views/asset_permission.py:135 perms/views/asset_permission.py:169 #: perms/views/asset_permission.py:136 perms/views/asset_permission.py:173
#: perms/views/remote_app_permission.py:33 #: perms/views/remote_app_permission.py:33
#: perms/views/remote_app_permission.py:49 #: perms/views/remote_app_permission.py:49
#: perms/views/remote_app_permission.py:66 #: perms/views/remote_app_permission.py:66
...@@ -3211,27 +3244,27 @@ msgstr "添加用户组" ...@@ -3211,27 +3244,27 @@ msgstr "添加用户组"
msgid "Perms" msgid "Perms"
msgstr "权限管理" msgstr "权限管理"
#: perms/views/asset_permission.py:34 #: perms/views/asset_permission.py:35
msgid "Asset permission list" msgid "Asset permission list"
msgstr "资产授权列表" msgstr "资产授权列表"
#: perms/views/asset_permission.py:65 #: perms/views/asset_permission.py:66
msgid "Create asset permission" msgid "Create asset permission"
msgstr "创建权限规则" msgstr "创建权限规则"
#: perms/views/asset_permission.py:82 #: perms/views/asset_permission.py:83
msgid "Update asset permission" msgid "Update asset permission"
msgstr "更新资产授权" msgstr "更新资产授权"
#: perms/views/asset_permission.py:99 #: perms/views/asset_permission.py:100
msgid "Asset permission detail" msgid "Asset permission detail"
msgstr "资产授权详情" msgstr "资产授权详情"
#: perms/views/asset_permission.py:136 #: perms/views/asset_permission.py:137
msgid "Asset permission user list" msgid "Asset permission user list"
msgstr "资产授权用户列表" msgstr "资产授权用户列表"
#: perms/views/asset_permission.py:170 #: perms/views/asset_permission.py:174
msgid "Asset permission asset list" msgid "Asset permission asset list"
msgstr "资产授权资产列表" msgstr "资产授权资产列表"
...@@ -3271,21 +3304,21 @@ msgstr "连接LDAP成功" ...@@ -3271,21 +3304,21 @@ msgstr "连接LDAP成功"
msgid "Match {} s users" msgid "Match {} s users"
msgstr "匹配 {} 个用户" msgstr "匹配 {} 个用户"
#: settings/api.py:160 #: settings/api.py:161
msgid "succeed: {} failed: {} total: {}" msgid "succeed: {} failed: {} total: {}"
msgstr "成功:{} 失败:{} 总数:{}" msgstr "成功:{} 失败:{} 总数:{}"
#: settings/api.py:182 settings/api.py:218 #: settings/api.py:183 settings/api.py:219
msgid "" msgid ""
"Error: Account invalid (Please make sure the information such as Access key " "Error: Account invalid (Please make sure the information such as Access key "
"or Secret key is correct)" "or Secret key is correct)"
msgstr "错误:账户无效 (请确保 Access key 或 Secret key 等信息正确)" msgstr "错误:账户无效 (请确保 Access key 或 Secret key 等信息正确)"
#: settings/api.py:188 settings/api.py:224 #: settings/api.py:189 settings/api.py:225
msgid "Create succeed" msgid "Create succeed"
msgstr "创建成功" msgstr "创建成功"
#: settings/api.py:206 settings/api.py:244 #: settings/api.py:207 settings/api.py:245
#: settings/templates/settings/terminal_setting.html:154 #: settings/templates/settings/terminal_setting.html:154
msgid "Delete succeed" msgid "Delete succeed"
msgstr "删除成功" msgstr "删除成功"
...@@ -3598,7 +3631,7 @@ msgid "Please submit the LDAP configuration before import" ...@@ -3598,7 +3631,7 @@ msgid "Please submit the LDAP configuration before import"
msgstr "请先提交LDAP配置再进行导入" msgstr "请先提交LDAP配置再进行导入"
#: settings/templates/settings/_ldap_list_users_modal.html:39 #: settings/templates/settings/_ldap_list_users_modal.html:39
#: users/models/user.py:326 users/templates/users/user_detail.html:71 #: users/models/user.py:327 users/templates/users/user_detail.html:71
#: users/templates/users/user_profile.html:59 #: users/templates/users/user_profile.html:59
msgid "Email" msgid "Email"
msgstr "邮件" msgstr "邮件"
...@@ -3819,19 +3852,19 @@ msgstr "创建录像存储" ...@@ -3819,19 +3852,19 @@ msgstr "创建录像存储"
msgid "Create command storage" msgid "Create command storage"
msgstr "创建命令存储" msgstr "创建命令存储"
#: templates/_header_bar.html:31 #: templates/_header_bar.html:12
msgid "Help" msgid "Help"
msgstr "帮助" msgstr "帮助"
#: templates/_header_bar.html:38 users/templates/users/_base_otp.html:29 #: templates/_header_bar.html:19 users/templates/users/_base_otp.html:29
msgid "Docs" msgid "Docs"
msgstr "文档" msgstr "文档"
#: templates/_header_bar.html:44 #: templates/_header_bar.html:25
msgid "Commercial support" msgid "Commercial support"
msgstr "商业支持" msgstr "商业支持"
#: templates/_header_bar.html:89 templates/_nav_user.html:32 users/forms.py:154 #: templates/_header_bar.html:70 templates/_nav_user.html:32 users/forms.py:154
#: users/templates/users/_user.html:43 #: users/templates/users/_user.html:43
#: users/templates/users/first_login.html:39 #: users/templates/users/first_login.html:39
#: users/templates/users/user_password_update.html:40 #: users/templates/users/user_password_update.html:40
...@@ -3842,15 +3875,19 @@ msgstr "商业支持" ...@@ -3842,15 +3875,19 @@ msgstr "商业支持"
msgid "Profile" msgid "Profile"
msgstr "个人信息" msgstr "个人信息"
#: templates/_header_bar.html:92 #: templates/_header_bar.html:73
msgid "Admin page" msgid "Admin page"
msgstr "管理页面" msgstr "管理页面"
#: templates/_header_bar.html:94 #: templates/_header_bar.html:75
msgid "User page" msgid "User page"
msgstr "用户页面" msgstr "用户页面"
#: templates/_header_bar.html:97 #: templates/_header_bar.html:78
msgid "API Key"
msgstr ""
#: templates/_header_bar.html:79
msgid "Logout" msgid "Logout"
msgstr "注销登录" msgstr "注销登录"
...@@ -4253,7 +4290,7 @@ msgstr "参数" ...@@ -4253,7 +4290,7 @@ msgstr "参数"
msgid "Export command" msgid "Export command"
msgstr "导出命令" msgstr "导出命令"
#: terminal/templates/terminal/command_list.html:189 #: terminal/templates/terminal/command_list.html:191
msgid "Goto" msgid "Goto"
msgstr "转到" msgstr "转到"
...@@ -4373,7 +4410,7 @@ msgid "" ...@@ -4373,7 +4410,7 @@ msgid ""
"You should use your ssh client tools connect terminal: {} <br /> <br />{}" "You should use your ssh client tools connect terminal: {} <br /> <br />{}"
msgstr "你可以使用ssh客户端工具连接终端" msgstr "你可以使用ssh客户端工具连接终端"
#: users/api/user.py:97 #: users/api/user.py:96
msgid "You do not have permission." msgid "You do not have permission."
msgstr "你没有权限" msgstr "你没有权限"
...@@ -4381,7 +4418,7 @@ msgstr "你没有权限" ...@@ -4381,7 +4418,7 @@ msgstr "你没有权限"
msgid "Could not reset self otp, use profile reset instead" msgid "Could not reset self otp, use profile reset instead"
msgstr "不能再该页面重置MFA, 请去个人信息页面重置" msgstr "不能再该页面重置MFA, 请去个人信息页面重置"
#: users/forms.py:33 users/models/user.py:334 #: users/forms.py:33 users/models/user.py:335
#: users/templates/users/_select_user_modal.html:15 #: users/templates/users/_select_user_modal.html:15
#: users/templates/users/user_detail.html:87 #: users/templates/users/user_detail.html:87
#: users/templates/users/user_list.html:37 #: users/templates/users/user_list.html:37
...@@ -4409,7 +4446,7 @@ msgstr "添加到用户组" ...@@ -4409,7 +4446,7 @@ msgstr "添加到用户组"
msgid "Public key should not be the same as your old one." msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同" msgstr "不能和原来的密钥相同"
#: users/forms.py:91 users/forms.py:252 users/serializers/v1.py:95 #: users/forms.py:91 users/forms.py:252 users/serializers/v1.py:94
msgid "Not a valid ssh public key" msgid "Not a valid ssh public key"
msgstr "ssh密钥不合法" msgstr "ssh密钥不合法"
...@@ -4499,7 +4536,7 @@ msgstr "选择用户" ...@@ -4499,7 +4536,7 @@ msgstr "选择用户"
msgid "User auth from {}, go there change password" msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码" msgstr "用户认证源来自 {}, 请去相应系统修改密码"
#: users/models/user.py:120 users/models/user.py:447 #: users/models/user.py:120 users/models/user.py:448
msgid "Administrator" msgid "Administrator"
msgstr "管理员" msgstr "管理员"
...@@ -4511,76 +4548,65 @@ msgstr "应用程序" ...@@ -4511,76 +4548,65 @@ msgstr "应用程序"
msgid "Auditor" msgid "Auditor"
msgstr "审计员" msgstr "审计员"
#: users/models/user.py:281 users/templates/users/user_profile.html:92 #: users/models/user.py:284 users/templates/users/user_profile.html:88
#: users/templates/users/user_profile.html:159
#: users/templates/users/user_profile.html:162
msgid "Disable"
msgstr "禁用"
#: users/models/user.py:282 users/templates/users/user_profile.html:90
#: users/templates/users/user_profile.html:166
msgid "Enable"
msgstr "启用"
#: users/models/user.py:283 users/templates/users/user_profile.html:88
msgid "Force enable" msgid "Force enable"
msgstr "强制启用" msgstr "强制启用"
#: users/models/user.py:337 #: users/models/user.py:338
msgid "Avatar" msgid "Avatar"
msgstr "头像" msgstr "头像"
#: users/models/user.py:340 users/templates/users/user_detail.html:82 #: users/models/user.py:341 users/templates/users/user_detail.html:82
msgid "Wechat" msgid "Wechat"
msgstr "微信" msgstr "微信"
#: users/models/user.py:369 users/templates/users/user_detail.html:103 #: users/models/user.py:370 users/templates/users/user_detail.html:103
#: users/templates/users/user_list.html:39 #: users/templates/users/user_list.html:39
#: users/templates/users/user_profile.html:100 #: users/templates/users/user_profile.html:100
msgid "Source" msgid "Source"
msgstr "用户来源" msgstr "用户来源"
#: users/models/user.py:373 #: users/models/user.py:374
msgid "Date password last updated" msgid "Date password last updated"
msgstr "最后更新密码日期" msgstr "最后更新密码日期"
#: users/models/user.py:450 #: users/models/user.py:451
msgid "Administrator is the super user of system" msgid "Administrator is the super user of system"
msgstr "Administrator是初始的超级管理员" msgstr "Administrator是初始的超级管理员"
#: users/serializers/v1.py:41 #: users/serializers/v1.py:39
msgid "Groups name" msgid "Groups name"
msgstr "用户组名" msgstr "用户组名"
#: users/serializers/v1.py:42 #: users/serializers/v1.py:40
msgid "Source name" msgid "Source name"
msgstr "用户来源名" msgstr "用户来源名"
#: users/serializers/v1.py:43 #: users/serializers/v1.py:41
msgid "Is first login" msgid "Is first login"
msgstr "首次登录" msgstr "首次登录"
#: users/serializers/v1.py:44 #: users/serializers/v1.py:42
msgid "Role name" msgid "Role name"
msgstr "角色名" msgstr "角色名"
#: users/serializers/v1.py:45 #: users/serializers/v1.py:43
msgid "Is valid" msgid "Is valid"
msgstr "账户是否有效" msgstr "账户是否有效"
#: users/serializers/v1.py:46 #: users/serializers/v1.py:44
msgid "Is expired" msgid "Is expired"
msgstr " 是否过期" msgstr " 是否过期"
#: users/serializers/v1.py:47 #: users/serializers/v1.py:45
msgid "Avatar url" msgid "Avatar url"
msgstr "头像路径" msgstr "头像路径"
#: users/serializers/v1.py:55 #: users/serializers/v1.py:54
msgid "Role limit to {}" msgid "Role limit to {}"
msgstr "角色只能为 {}" msgstr "角色只能为 {}"
#: users/serializers/v1.py:67 #: users/serializers/v1.py:66
msgid "Password does not match security rules" msgid "Password does not match security rules"
msgstr "密码不满足安全规则" msgstr "密码不满足安全规则"
...@@ -4707,7 +4733,7 @@ msgid "Always young, always with tears in my eyes. Stay foolish Stay hungry" ...@@ -4707,7 +4733,7 @@ msgid "Always young, always with tears in my eyes. Stay foolish Stay hungry"
msgstr "永远年轻,永远热泪盈眶 stay foolish stay hungry" msgstr "永远年轻,永远热泪盈眶 stay foolish stay hungry"
#: users/templates/users/reset_password.html:46 #: users/templates/users/reset_password.html:46
#: users/templates/users/user_detail.html:373 users/utils.py:88 #: users/templates/users/user_detail.html:373 users/utils.py:84
msgid "Reset password" msgid "Reset password"
msgstr "重置密码" msgstr "重置密码"
...@@ -5023,7 +5049,7 @@ msgid "" ...@@ -5023,7 +5049,7 @@ msgid ""
"corresponding private key." "corresponding private key."
msgstr "新的公钥已设置成功,请下载对应的私钥" msgstr "新的公钥已设置成功,请下载对应的私钥"
#: users/utils.py:28 #: users/utils.py:24
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
...@@ -5068,16 +5094,16 @@ msgstr "" ...@@ -5068,16 +5094,16 @@ msgstr ""
" </p>\n" " </p>\n"
" " " "
#: users/utils.py:63 #: users/utils.py:59
msgid "Create account successfully" msgid "Create account successfully"
msgstr "创建账户成功" msgstr "创建账户成功"
#: users/utils.py:67 #: users/utils.py:63
#, python-format #, python-format
msgid "Hello %(name)s" msgid "Hello %(name)s"
msgstr "您好 %(name)s" msgstr "您好 %(name)s"
#: users/utils.py:90 #: users/utils.py:86
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
...@@ -5121,11 +5147,11 @@ msgstr "" ...@@ -5121,11 +5147,11 @@ msgstr ""
" </br>\n" " </br>\n"
" " " "
#: users/utils.py:121 #: users/utils.py:117
msgid "Security notice" msgid "Security notice"
msgstr "安全通知" msgstr "安全通知"
#: users/utils.py:123 #: users/utils.py:119
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
...@@ -5174,11 +5200,11 @@ msgstr "" ...@@ -5174,11 +5200,11 @@ msgstr ""
" </br>\n" " </br>\n"
" " " "
#: users/utils.py:159 #: users/utils.py:155
msgid "SSH Key Reset" msgid "SSH Key Reset"
msgstr "重置ssh密钥" msgstr "重置ssh密钥"
#: users/utils.py:161 #: users/utils.py:157
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
...@@ -5203,18 +5229,6 @@ msgstr "" ...@@ -5203,18 +5229,6 @@ msgstr ""
" </br>\n" " </br>\n"
" " " "
#: users/utils.py:194
msgid "User not exist"
msgstr "用户不存在"
#: users/utils.py:196
msgid "Disabled or expired"
msgstr "禁用或失效"
#: users/utils.py:209
msgid "Password or SSH public key invalid"
msgstr "密码或密钥不合法"
#: users/views/group.py:29 #: users/views/group.py:29
msgid "User group list" msgid "User group list"
msgstr "用户组列表" msgstr "用户组列表"
...@@ -5931,6 +5945,18 @@ msgstr "密码匣子" ...@@ -5931,6 +5945,18 @@ msgstr "密码匣子"
msgid "vault create" msgid "vault create"
msgstr "创建" msgstr "创建"
#~ msgid "Please select assets that need to be updated"
#~ msgstr "请选择需要更新的资产"
#~ msgid "The user {} password has expired, please update."
#~ msgstr "用户 {} 密码已经过期,请更新。"
#~ msgid "User not exist"
#~ msgstr "用户不存在"
#~ msgid "Password or SSH public key invalid"
#~ msgstr "密码或密钥不合法"
#~ msgid "Interface" #~ msgid "Interface"
#~ msgstr "界面" #~ msgstr "界面"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment