From 3b0f68c4c7f34c1a078becded19bd0c5518197b9 Mon Sep 17 00:00:00 2001 From: Bai Date: Thu, 2 Mar 2023 16:08:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20ldap=20=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=99=BB=E5=BD=95=E6=97=B6=E9=82=AE=E7=AE=B1=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=20500=20=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/views/login.py | 11 +++ apps/locale/ja/LC_MESSAGES/django.po | 129 +++++++++++---------------- apps/locale/zh/LC_MESSAGES/django.po | 102 ++++++++++----------- 3 files changed, 115 insertions(+), 127 deletions(-) diff --git a/apps/authentication/views/login.py b/apps/authentication/views/login.py index 1a2e9e244..208582f30 100644 --- a/apps/authentication/views/login.py +++ b/apps/authentication/views/login.py @@ -6,6 +6,7 @@ import os import datetime from typing import Callable +from django.db import IntegrityError from django.templatetags.static import static from django.contrib.auth import login as auth_login, logout as auth_logout from django.http import HttpResponse, HttpRequest @@ -229,6 +230,16 @@ class UserLoginView(mixins.AuthMixin, UserLoginContextMixin, FormView): ) as e: form.add_error('code', e.msg) return super().form_invalid(form) + except (IntegrityError,) as e: + # (1062, "Duplicate entry 'youtester001@example.com' for key 'users_user.email'") + msg_list = e.args[1].split("'") + email, field = msg_list[1], msg_list[3] + if field == 'users_user.email': + error = _('User email already exists ({})').format(email) + else: + error = str(e) + form.add_error(None, error) + return super().form_invalid(form) self.clear_rsa_key() return self.redirect_to_guard_view() diff --git a/apps/locale/ja/LC_MESSAGES/django.po b/apps/locale/ja/LC_MESSAGES/django.po index c5cda4241..24944541e 100644 --- a/apps/locale/ja/LC_MESSAGES/django.po +++ b/apps/locale/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 19:11+0800\n" +"POT-Creation-Date: 2023-03-02 16:00+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -394,7 +394,7 @@ msgid "Date last login" msgstr "最終ログイン日" #: accounts/models/automations/gather_account.py:15 -#: accounts/models/automations/push_account.py:13 accounts/models/base.py:34 +#: accounts/models/automations/push_account.py:14 accounts/models/base.py:34 #: acls/serializers/base.py:18 acls/serializers/base.py:49 #: assets/models/_user.py:23 audits/models.py:157 authentication/forms.py:25 #: authentication/forms.py:27 authentication/models/temp_token.py:9 @@ -419,11 +419,11 @@ msgstr "自動収集アカウント" msgid "Gather asset accounts" msgstr "アカウントのコレクション" -#: accounts/models/automations/push_account.py:12 +#: accounts/models/automations/push_account.py:13 msgid "Triggers" msgstr "トリガー方式" -#: accounts/models/automations/push_account.py:14 acls/models/base.py:81 +#: accounts/models/automations/push_account.py:15 acls/models/base.py:81 #: acls/serializers/base.py:81 acls/serializers/login_acl.py:25 #: assets/models/cmd_filter.py:81 audits/models.py:65 audits/serializers.py:82 #: authentication/serializers/connect_token_secret.py:109 @@ -431,7 +431,7 @@ msgstr "トリガー方式" msgid "Action" msgstr "アクション" -#: accounts/models/automations/push_account.py:40 +#: accounts/models/automations/push_account.py:43 msgid "Push asset account" msgstr "アカウントプッシュ" @@ -447,7 +447,7 @@ msgstr "アカウントの確認" #: assets/models/group.py:20 assets/models/label.py:18 #: assets/models/platform.py:21 assets/models/platform.py:76 #: assets/serializers/asset/common.py:67 assets/serializers/asset/common.py:143 -#: assets/serializers/platform.py:91 assets/serializers/platform.py:136 +#: assets/serializers/platform.py:133 #: authentication/serializers/connect_token_secret.py:103 ops/mixin.py:21 #: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57 #: ops/models/job.py:91 ops/models/playbook.py:23 ops/serializers/job.py:19 @@ -533,7 +533,7 @@ msgstr "エスクローされたパスワード" #: accounts/serializers/account/account.py:75 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:77 #: assets/serializers/asset/common.py:120 assets/serializers/cagegory.py:8 -#: assets/serializers/platform.py:97 assets/serializers/platform.py:137 +#: assets/serializers/platform.py:94 assets/serializers/platform.py:134 #: perms/serializers/user_permission.py:26 settings/models.py:35 #: tickets/models/ticket/apply_application.py:13 msgid "Category" @@ -544,7 +544,7 @@ msgstr "カテゴリ" #: acls/serializers/command_acl.py:18 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:78 -#: assets/serializers/asset/common.py:121 assets/serializers/platform.py:96 +#: assets/serializers/asset/common.py:121 assets/serializers/platform.py:93 #: audits/serializers.py:48 #: authentication/serializers/connect_token_secret.py:116 ops/models/job.py:102 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:31 @@ -741,7 +741,7 @@ msgstr "アクティブ" #: authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58 -#: perms/serializers/permission.py:23 rbac/builtin.py:118 +#: perms/serializers/permission.py:23 rbac/builtin.py:122 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19 #: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32 #: terminal/notifications.py:96 terminal/notifications.py:144 @@ -908,7 +908,7 @@ msgstr "アプリケーション" msgid "Can match application" msgstr "アプリケーションを一致させることができます" -#: assets/api/asset/asset.py:142 +#: assets/api/asset/asset.py:143 msgid "Cannot create asset directly, you should create a host or other" msgstr "" "資産を直接作成することはできません。ホストまたはその他を作成する必要がありま" @@ -944,10 +944,8 @@ msgid "No account" msgstr "アカウントなし" #: assets/automations/ping_gateway/manager.py:36 -#, fuzzy -#| msgid "Assets amount" msgid "Asset, {}, using account {}" -msgstr "資産額" +msgstr "資産, {}, アカウントを使用 {}" #: assets/automations/ping_gateway/manager.py:55 #, python-brace-format @@ -1459,23 +1457,23 @@ msgstr "メタ" msgid "Internal" msgstr "ビルトイン" -#: assets/models/platform.py:83 assets/serializers/platform.py:94 +#: assets/models/platform.py:83 assets/serializers/platform.py:91 msgid "Charset" msgstr "シャーセット" -#: assets/models/platform.py:85 assets/serializers/platform.py:122 +#: assets/models/platform.py:85 assets/serializers/platform.py:119 msgid "Domain enabled" msgstr "ドメインを有効にする" -#: assets/models/platform.py:87 assets/serializers/platform.py:121 +#: assets/models/platform.py:87 assets/serializers/platform.py:118 msgid "Su enabled" msgstr "アカウントの切り替えを有効にする" -#: assets/models/platform.py:88 assets/serializers/platform.py:104 +#: assets/models/platform.py:88 assets/serializers/platform.py:101 msgid "Su method" msgstr "アカウントの切り替え方法" -#: assets/models/platform.py:90 assets/serializers/platform.py:101 +#: assets/models/platform.py:90 assets/serializers/platform.py:98 msgid "Automation" msgstr "オートメーション" @@ -1488,7 +1486,7 @@ msgstr "%(value)s は偶数ではありません" msgid "Auto fill" msgstr "自動充填" -#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:99 +#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:96 #: authentication/serializers/connect_token_secret.py:28 #: authentication/serializers/connect_token_secret.py:66 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99 @@ -1629,7 +1627,7 @@ msgstr "アカウントの収集方法" msgid "Primary" msgstr "主要" -#: assets/serializers/platform.py:123 +#: assets/serializers/platform.py:120 msgid "Default Domain" msgstr "デフォルト ドメイン" @@ -1940,20 +1938,20 @@ msgid "Auth Token" msgstr "認証トークン" #: audits/signal_handlers/login_log.py:31 authentication/notifications.py:73 -#: authentication/views/login.py:73 authentication/views/wecom.py:177 +#: authentication/views/login.py:74 authentication/views/wecom.py:177 #: notifications/backends/__init__.py:11 settings/serializers/auth/wecom.py:10 #: users/models/user.py:778 msgid "WeCom" msgstr "企業微信" #: audits/signal_handlers/login_log.py:32 authentication/views/feishu.py:144 -#: authentication/views/login.py:85 notifications/backends/__init__.py:14 +#: authentication/views/login.py:86 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 users/models/user.py:780 msgid "FeiShu" msgstr "本を飛ばす" #: audits/signal_handlers/login_log.py:33 authentication/views/dingtalk.py:179 -#: authentication/views/login.py:79 notifications/backends/__init__.py:12 +#: authentication/views/login.py:80 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:10 users/models/user.py:779 msgid "DingTalk" msgstr "DingTalk" @@ -2237,15 +2235,15 @@ msgstr "本を飛ばすは拘束されていません" msgid "Your password is invalid" msgstr "パスワードが無効です" -#: authentication/errors/redirect.py:85 authentication/mixins.py:306 +#: authentication/errors/redirect.py:85 authentication/mixins.py:307 msgid "Your password is too simple, please change it for security" msgstr "パスワードがシンプルすぎるので、セキュリティのために変更してください" -#: authentication/errors/redirect.py:93 authentication/mixins.py:313 +#: authentication/errors/redirect.py:93 authentication/mixins.py:314 msgid "You should to change your password before login" msgstr "ログインする前にパスワードを変更する必要があります" -#: authentication/errors/redirect.py:101 authentication/mixins.py:320 +#: authentication/errors/redirect.py:101 authentication/mixins.py:321 msgid "Your password has expired, please reset before logging in" msgstr "" "パスワードの有効期限が切れました。ログインする前にリセットしてください。" @@ -2348,11 +2346,11 @@ msgstr "無効にする電話番号をクリアする" msgid "Authentication failed (before login check failed): {}" msgstr "認証に失敗しました (ログインチェックが失敗する前): {}" -#: authentication/mixins.py:256 +#: authentication/mixins.py:257 msgid "The MFA type ({}) is not enabled" msgstr "MFAタイプ ({}) が有効になっていない" -#: authentication/mixins.py:296 +#: authentication/mixins.py:297 msgid "Please change your password" msgstr "パスワードを変更してください" @@ -2812,19 +2810,23 @@ msgstr "本を飛ばすからユーザーを取得できませんでした" msgid "Please login with a password and then bind the FeiShu" msgstr "パスワードでログインしてから本を飛ばすをバインドしてください" -#: authentication/views/login.py:181 +#: authentication/views/login.py:182 msgid "Redirecting" msgstr "リダイレクト" -#: authentication/views/login.py:182 +#: authentication/views/login.py:183 msgid "Redirecting to {} authentication" msgstr "{} 認証へのリダイレクト" -#: authentication/views/login.py:205 +#: authentication/views/login.py:206 msgid "Please enable cookies and try again." msgstr "クッキーを有効にして、もう一度お試しください。" -#: authentication/views/login.py:307 +#: authentication/views/login.py:238 +msgid "User email already exists ({})" +msgstr "ユーザー メールボックスは既に存在します ({})" + +#: authentication/views/login.py:318 msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -2832,15 +2834,15 @@ msgstr "" "{} 確認を待ちます。彼女/彼へのリンクをコピーすることもできます
\n" " このページを閉じないでください" -#: authentication/views/login.py:312 +#: authentication/views/login.py:323 msgid "No ticket found" msgstr "チケットが見つかりません" -#: authentication/views/login.py:348 +#: authentication/views/login.py:359 msgid "Logout success" msgstr "ログアウト成功" -#: authentication/views/login.py:349 +#: authentication/views/login.py:360 msgid "Logout success, return login page" msgstr "ログアウト成功、ログインページを返す" @@ -3509,15 +3511,15 @@ msgstr "終了しました" msgid "Time cost" msgstr "時を過ごす" -#: ops/tasks.py:32 +#: ops/tasks.py:34 msgid "Run ansible task" msgstr "Ansible タスクを実行する" -#: ops/tasks.py:61 +#: ops/tasks.py:63 msgid "Run ansible task execution" msgstr "Ansible タスクの実行を開始する" -#: ops/tasks.py:77 +#: ops/tasks.py:79 msgid "Clear celery periodic tasks" msgstr "タスクログを定期的にクリアする" @@ -3735,7 +3737,7 @@ msgstr "内部の役割は、破壊することはできません" msgid "The role has been bound to users, can't be destroy" msgstr "ロールはユーザーにバインドされており、破壊することはできません" -#: rbac/api/role.py:83 +#: rbac/api/role.py:87 msgid "Internal role, can't be update" msgstr "内部ロール、更新できません" @@ -3747,27 +3749,27 @@ msgstr "{} 少なくとも1つのシステムロール" msgid "RBAC" msgstr "RBAC" -#: rbac/builtin.py:109 +#: rbac/builtin.py:113 msgid "SystemAdmin" msgstr "システム管理者" -#: rbac/builtin.py:112 +#: rbac/builtin.py:116 msgid "SystemAuditor" msgstr "システム監査人" -#: rbac/builtin.py:115 +#: rbac/builtin.py:119 msgid "SystemComponent" msgstr "システムコンポーネント" -#: rbac/builtin.py:121 +#: rbac/builtin.py:125 msgid "OrgAdmin" msgstr "組織管理者" -#: rbac/builtin.py:124 +#: rbac/builtin.py:128 msgid "OrgAuditor" msgstr "監査員を組織する" -#: rbac/builtin.py:127 +#: rbac/builtin.py:131 msgid "OrgUser" msgstr "組織ユーザー" @@ -5408,9 +5410,9 @@ msgstr "セッション" msgid "Risk level" msgstr "リスクレベル" -#: terminal/connect_methods.py:47 terminal/connect_methods.py:48 -#: terminal/connect_methods.py:49 terminal/connect_methods.py:50 -#: terminal/connect_methods.py:51 +#: terminal/connect_methods.py:54 terminal/connect_methods.py:55 +#: terminal/connect_methods.py:56 terminal/connect_methods.py:57 +#: terminal/connect_methods.py:58 msgid "DB Client" msgstr "データベース クライアント" @@ -5899,11 +5901,11 @@ msgstr "孤立したセッションをクリアする" msgid "Upload session replay to external storage" msgstr "セッションの記録を外部ストレージにアップロードする" -#: terminal/tasks.py:83 +#: terminal/tasks.py:84 msgid "Run applet host deployment" msgstr "アプリケーション マシンの展開を実行する" -#: terminal/tasks.py:90 +#: terminal/tasks.py:94 msgid "Install applet" msgstr "アプリをインストールする" @@ -7388,30 +7390,3 @@ msgstr "究極のエディション" #: xpack/plugins/license/models.py:85 msgid "Community edition" msgstr "コミュニティ版" - -#, fuzzy -#~| msgid "Only admin users" -#~ msgid "Unix admin user" -#~ msgstr "管理者のみ" - -#, fuzzy -#~| msgid "Only admin users" -#~ msgid "Windows admin user" -#~ msgstr "管理者のみ" - -#, fuzzy -#~| msgid "Only admin users" -#~ msgid "Linux admin user" -#~ msgstr "管理者のみ" - -#~ msgid "Can push account to asset" -#~ msgstr "アカウントをアセットにプッシュできます" - -#~ msgid "Add asset to node" -#~ msgstr "ノードにアセットを追加する" - -#~ msgid "Move asset to node" -#~ msgstr "アセットをノードに移動する" - -#~ msgid "Remove asset from node" -#~ msgstr "ノードからアセットを削除" diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index b8db40723..1a9ae66eb 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 19:11+0800\n" +"POT-Creation-Date: 2023-03-02 16:00+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -393,7 +393,7 @@ msgid "Date last login" msgstr "最后登录日期" #: accounts/models/automations/gather_account.py:15 -#: accounts/models/automations/push_account.py:13 accounts/models/base.py:34 +#: accounts/models/automations/push_account.py:14 accounts/models/base.py:34 #: acls/serializers/base.py:18 acls/serializers/base.py:49 #: assets/models/_user.py:23 audits/models.py:157 authentication/forms.py:25 #: authentication/forms.py:27 authentication/models/temp_token.py:9 @@ -418,11 +418,11 @@ msgstr "自动化收集账号" msgid "Gather asset accounts" msgstr "收集账号" -#: accounts/models/automations/push_account.py:12 +#: accounts/models/automations/push_account.py:13 msgid "Triggers" msgstr "触发方式" -#: accounts/models/automations/push_account.py:14 acls/models/base.py:81 +#: accounts/models/automations/push_account.py:15 acls/models/base.py:81 #: acls/serializers/base.py:81 acls/serializers/login_acl.py:25 #: assets/models/cmd_filter.py:81 audits/models.py:65 audits/serializers.py:82 #: authentication/serializers/connect_token_secret.py:109 @@ -430,7 +430,7 @@ msgstr "触发方式" msgid "Action" msgstr "动作" -#: accounts/models/automations/push_account.py:40 +#: accounts/models/automations/push_account.py:43 msgid "Push asset account" msgstr "账号推送" @@ -446,7 +446,7 @@ msgstr "账号验证" #: assets/models/group.py:20 assets/models/label.py:18 #: assets/models/platform.py:21 assets/models/platform.py:76 #: assets/serializers/asset/common.py:67 assets/serializers/asset/common.py:143 -#: assets/serializers/platform.py:91 assets/serializers/platform.py:136 +#: assets/serializers/platform.py:133 #: authentication/serializers/connect_token_secret.py:103 ops/mixin.py:21 #: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57 #: ops/models/job.py:91 ops/models/playbook.py:23 ops/serializers/job.py:19 @@ -529,7 +529,7 @@ msgstr "已托管密码" #: accounts/serializers/account/account.py:75 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:77 #: assets/serializers/asset/common.py:120 assets/serializers/cagegory.py:8 -#: assets/serializers/platform.py:97 assets/serializers/platform.py:137 +#: assets/serializers/platform.py:94 assets/serializers/platform.py:134 #: perms/serializers/user_permission.py:26 settings/models.py:35 #: tickets/models/ticket/apply_application.py:13 msgid "Category" @@ -540,7 +540,7 @@ msgstr "类别" #: acls/serializers/command_acl.py:18 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:78 -#: assets/serializers/asset/common.py:121 assets/serializers/platform.py:96 +#: assets/serializers/asset/common.py:121 assets/serializers/platform.py:93 #: audits/serializers.py:48 #: authentication/serializers/connect_token_secret.py:116 ops/models/job.py:102 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:31 @@ -737,7 +737,7 @@ msgstr "激活中" #: authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58 -#: perms/serializers/permission.py:23 rbac/builtin.py:118 +#: perms/serializers/permission.py:23 rbac/builtin.py:122 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19 #: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32 #: terminal/notifications.py:96 terminal/notifications.py:144 @@ -902,7 +902,7 @@ msgstr "应用程序" msgid "Can match application" msgstr "匹配应用" -#: assets/api/asset/asset.py:142 +#: assets/api/asset/asset.py:143 msgid "Cannot create asset directly, you should create a host or other" msgstr "不能直接创建资产, 你应该创建主机或其他资产" @@ -936,10 +936,8 @@ msgid "No account" msgstr "没有账号" #: assets/automations/ping_gateway/manager.py:36 -#, fuzzy -#| msgid "Assets amount" msgid "Asset, {}, using account {}" -msgstr "资产数量" +msgstr "资产, {}, 使用账号 {}" #: assets/automations/ping_gateway/manager.py:55 #, python-brace-format @@ -1451,23 +1449,23 @@ msgstr "元数据" msgid "Internal" msgstr "内置" -#: assets/models/platform.py:83 assets/serializers/platform.py:94 +#: assets/models/platform.py:83 assets/serializers/platform.py:91 msgid "Charset" msgstr "编码" -#: assets/models/platform.py:85 assets/serializers/platform.py:122 +#: assets/models/platform.py:85 assets/serializers/platform.py:119 msgid "Domain enabled" msgstr "启用网域" -#: assets/models/platform.py:87 assets/serializers/platform.py:121 +#: assets/models/platform.py:87 assets/serializers/platform.py:118 msgid "Su enabled" msgstr "启用账号切换" -#: assets/models/platform.py:88 assets/serializers/platform.py:104 +#: assets/models/platform.py:88 assets/serializers/platform.py:101 msgid "Su method" msgstr "账号切换方式" -#: assets/models/platform.py:90 assets/serializers/platform.py:101 +#: assets/models/platform.py:90 assets/serializers/platform.py:98 msgid "Automation" msgstr "自动化" @@ -1480,7 +1478,7 @@ msgstr "%(value)s is not an even number" msgid "Auto fill" msgstr "自动代填" -#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:99 +#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:96 #: authentication/serializers/connect_token_secret.py:28 #: authentication/serializers/connect_token_secret.py:66 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99 @@ -1621,7 +1619,7 @@ msgstr "收集账号方式" msgid "Primary" msgstr "主要的" -#: assets/serializers/platform.py:123 +#: assets/serializers/platform.py:120 msgid "Default Domain" msgstr "默认网域" @@ -1930,20 +1928,20 @@ msgid "Auth Token" msgstr "认证令牌" #: audits/signal_handlers/login_log.py:31 authentication/notifications.py:73 -#: authentication/views/login.py:73 authentication/views/wecom.py:177 +#: authentication/views/login.py:74 authentication/views/wecom.py:177 #: notifications/backends/__init__.py:11 settings/serializers/auth/wecom.py:10 #: users/models/user.py:778 msgid "WeCom" msgstr "企业微信" #: audits/signal_handlers/login_log.py:32 authentication/views/feishu.py:144 -#: authentication/views/login.py:85 notifications/backends/__init__.py:14 +#: authentication/views/login.py:86 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 users/models/user.py:780 msgid "FeiShu" msgstr "飞书" #: audits/signal_handlers/login_log.py:33 authentication/views/dingtalk.py:179 -#: authentication/views/login.py:79 notifications/backends/__init__.py:12 +#: authentication/views/login.py:80 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:10 users/models/user.py:779 msgid "DingTalk" msgstr "钉钉" @@ -2217,15 +2215,15 @@ msgstr "没有绑定飞书" msgid "Your password is invalid" msgstr "您的密码无效" -#: authentication/errors/redirect.py:85 authentication/mixins.py:306 +#: authentication/errors/redirect.py:85 authentication/mixins.py:307 msgid "Your password is too simple, please change it for security" msgstr "你的密码过于简单,为了安全,请修改" -#: authentication/errors/redirect.py:93 authentication/mixins.py:313 +#: authentication/errors/redirect.py:93 authentication/mixins.py:314 msgid "You should to change your password before login" msgstr "登录完成前,请先修改密码" -#: authentication/errors/redirect.py:101 authentication/mixins.py:320 +#: authentication/errors/redirect.py:101 authentication/mixins.py:321 msgid "Your password has expired, please reset before logging in" msgstr "您的密码已过期,先修改再登录" @@ -2326,11 +2324,11 @@ msgstr "清空手机号码禁用" msgid "Authentication failed (before login check failed): {}" msgstr "认证失败(登录前检查失败): {}" -#: authentication/mixins.py:256 +#: authentication/mixins.py:257 msgid "The MFA type ({}) is not enabled" msgstr "该 MFA ({}) 方式没有启用" -#: authentication/mixins.py:296 +#: authentication/mixins.py:297 msgid "Please change your password" msgstr "请修改密码" @@ -2782,19 +2780,23 @@ msgstr "从飞书获取用户失败" msgid "Please login with a password and then bind the FeiShu" msgstr "请使用密码登录,然后绑定飞书" -#: authentication/views/login.py:181 +#: authentication/views/login.py:182 msgid "Redirecting" msgstr "跳转中" -#: authentication/views/login.py:182 +#: authentication/views/login.py:183 msgid "Redirecting to {} authentication" msgstr "正在跳转到 {} 认证" -#: authentication/views/login.py:205 +#: authentication/views/login.py:206 msgid "Please enable cookies and try again." msgstr "设置你的浏览器支持cookie" -#: authentication/views/login.py:307 +#: authentication/views/login.py:238 +msgid "User email already exists ({})" +msgstr "用户邮箱已存在 ({})" + +#: authentication/views/login.py:318 msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -2802,15 +2804,15 @@ msgstr "" "等待 {} 确认, 你也可以复制链接发给他/她
\n" " 不要关闭本页面" -#: authentication/views/login.py:312 +#: authentication/views/login.py:323 msgid "No ticket found" msgstr "没有发现工单" -#: authentication/views/login.py:348 +#: authentication/views/login.py:359 msgid "Logout success" msgstr "退出登录成功" -#: authentication/views/login.py:349 +#: authentication/views/login.py:360 msgid "Logout success, return login page" msgstr "退出登录成功,返回到登录页面" @@ -3474,15 +3476,15 @@ msgstr "是否完成" msgid "Time cost" msgstr "花费时间" -#: ops/tasks.py:32 +#: ops/tasks.py:34 msgid "Run ansible task" msgstr "运行 Ansible 任务" -#: ops/tasks.py:61 +#: ops/tasks.py:63 msgid "Run ansible task execution" msgstr "开始执行 Ansible 任务" -#: ops/tasks.py:77 +#: ops/tasks.py:79 msgid "Clear celery periodic tasks" msgstr "清理周期任务" @@ -3699,7 +3701,7 @@ msgstr "内部角色,不能删除" msgid "The role has been bound to users, can't be destroy" msgstr "角色已绑定用户,不能删除" -#: rbac/api/role.py:83 +#: rbac/api/role.py:87 msgid "Internal role, can't be update" msgstr "内部角色,不能更新" @@ -3711,27 +3713,27 @@ msgstr "{} 至少有一个系统角色" msgid "RBAC" msgstr "RBAC" -#: rbac/builtin.py:109 +#: rbac/builtin.py:113 msgid "SystemAdmin" msgstr "系统管理员" -#: rbac/builtin.py:112 +#: rbac/builtin.py:116 msgid "SystemAuditor" msgstr "系统审计员" -#: rbac/builtin.py:115 +#: rbac/builtin.py:119 msgid "SystemComponent" msgstr "系统组件" -#: rbac/builtin.py:121 +#: rbac/builtin.py:125 msgid "OrgAdmin" msgstr "组织管理员" -#: rbac/builtin.py:124 +#: rbac/builtin.py:128 msgid "OrgAuditor" msgstr "组织审计员" -#: rbac/builtin.py:127 +#: rbac/builtin.py:131 msgid "OrgUser" msgstr "组织用户" @@ -5336,9 +5338,9 @@ msgstr "会话" msgid "Risk level" msgstr "风险等级" -#: terminal/connect_methods.py:47 terminal/connect_methods.py:48 -#: terminal/connect_methods.py:49 terminal/connect_methods.py:50 -#: terminal/connect_methods.py:51 +#: terminal/connect_methods.py:54 terminal/connect_methods.py:55 +#: terminal/connect_methods.py:56 terminal/connect_methods.py:57 +#: terminal/connect_methods.py:58 msgid "DB Client" msgstr "数据库客户端" @@ -5825,11 +5827,11 @@ msgstr "清除孤儿会话" msgid "Upload session replay to external storage" msgstr "上传会话录像到外部存储" -#: terminal/tasks.py:83 +#: terminal/tasks.py:84 msgid "Run applet host deployment" msgstr "运行应用机部署" -#: terminal/tasks.py:90 +#: terminal/tasks.py:94 msgid "Install applet" msgstr "安装应用"