mirror of https://github.com/jumpserver/jumpserver
feat: 同步ldap用户消息通知
parent
1275087f19
commit
e428eb351b
|
@ -282,6 +282,7 @@ class Config(dict):
|
|||
'AUTH_LDAP_SYNC_INTERVAL': None,
|
||||
'AUTH_LDAP_SYNC_CRONTAB': None,
|
||||
'AUTH_LDAP_SYNC_ORG_IDS': ['00000000-0000-0000-0000-000000000002'],
|
||||
'AUTH_LDAP_SYNC_RECEIVERS': [],
|
||||
'AUTH_LDAP_USER_LOGIN_ONLY_IN_USERS': False,
|
||||
'AUTH_LDAP_OPTIONS_OPT_REFERRALS': -1,
|
||||
|
||||
|
|
|
@ -50,6 +50,7 @@ AUTH_LDAP_SYNC_IS_PERIODIC = CONFIG.AUTH_LDAP_SYNC_IS_PERIODIC
|
|||
AUTH_LDAP_SYNC_INTERVAL = CONFIG.AUTH_LDAP_SYNC_INTERVAL
|
||||
AUTH_LDAP_SYNC_CRONTAB = CONFIG.AUTH_LDAP_SYNC_CRONTAB
|
||||
AUTH_LDAP_SYNC_ORG_IDS = CONFIG.AUTH_LDAP_SYNC_ORG_IDS
|
||||
AUTH_LDAP_SYNC_RECEIVERS = CONFIG.AUTH_LDAP_SYNC_RECEIVERS
|
||||
AUTH_LDAP_USER_LOGIN_ONLY_IN_USERS = CONFIG.AUTH_LDAP_USER_LOGIN_ONLY_IN_USERS
|
||||
|
||||
# ==============================================================================
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d8f3d621226f7e11db46fb35abf0b5f5528eb454a3a6f889499d7872d41a275d
|
||||
size 170675
|
||||
oid sha256:18c4618e0d0470e25d99b143e83de9a439ac691e5cb1d92ea5406cc32338e8f8
|
||||
size 170813
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-01-03 11:23+0800\n"
|
||||
"POT-Creation-Date: 2024-01-11 18:58+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -29,8 +29,9 @@ msgstr "パラメータ 'action' は [{}] でなければなりません。"
|
|||
#: authentication/confirm/password.py:26 authentication/forms.py:32
|
||||
#: authentication/templates/authentication/login.html:330
|
||||
#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47
|
||||
#: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142
|
||||
#: users/forms/profile.py:22 users/serializers/user.py:104
|
||||
#: settings/serializers/msg.py:35 terminal/serializers/storage.py:123
|
||||
#: terminal/serializers/storage.py:142 users/forms/profile.py:22
|
||||
#: users/serializers/user.py:104
|
||||
#: users/templates/users/_msg_user_created.html:13
|
||||
#: users/templates/users/user_password_verify.html:18
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:28
|
||||
|
@ -200,10 +201,10 @@ msgstr "作成のみ"
|
|||
#: authentication/serializers/password_mfa.py:16
|
||||
#: authentication/serializers/password_mfa.py:24
|
||||
#: notifications/backends/__init__.py:10 settings/serializers/msg.py:22
|
||||
#: settings/serializers/msg.py:57 users/forms/profile.py:102
|
||||
#: settings/serializers/msg.py:64 users/forms/profile.py:102
|
||||
#: users/forms/profile.py:109 users/models/user.py:802
|
||||
#: users/templates/users/forgot_password.html:117
|
||||
#: users/views/profile/reset.py:92
|
||||
#: users/views/profile/reset.py:93
|
||||
msgid "Email"
|
||||
msgstr "メール"
|
||||
|
||||
|
@ -287,11 +288,11 @@ msgstr "ソース ID"
|
|||
#: accounts/serializers/automations/change_secret.py:107
|
||||
#: accounts/serializers/automations/change_secret.py:127
|
||||
#: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7
|
||||
#: assets/serializers/asset/common.py:125 assets/serializers/gateway.py:28
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28
|
||||
#: audits/models.py:59 authentication/api/connection_token.py:405
|
||||
#: ops/models/base.py:18 perms/models/asset_permission.py:75
|
||||
#: perms/serializers/permission.py:41 terminal/backends/command/models.py:18
|
||||
#: terminal/models/session/session.py:33
|
||||
#: perms/serializers/permission.py:41 settings/serializers/msg.py:33
|
||||
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33
|
||||
#: terminal/templates/terminal/_msg_command_warning.html:8
|
||||
#: terminal/templates/terminal/_msg_session_sharing.html:8
|
||||
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89
|
||||
|
@ -361,8 +362,9 @@ msgstr "アカウントバックアップ計画"
|
|||
#: assets/models/automations/base.py:115 audits/models.py:65
|
||||
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:235
|
||||
#: ops/templates/ops/celery_task_log.html:75
|
||||
#: perms/models/asset_permission.py:78 terminal/models/applet/host.py:141
|
||||
#: terminal/models/session/session.py:44
|
||||
#: perms/models/asset_permission.py:78
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:25
|
||||
#: terminal/models/applet/host.py:141 terminal/models/session/session.py:44
|
||||
#: tickets/models/ticket/apply_application.py:30
|
||||
#: tickets/models/ticket/apply_asset.py:19
|
||||
msgid "Date start"
|
||||
|
@ -371,6 +373,7 @@ msgstr "開始日"
|
|||
#: accounts/models/automations/backup_account.py:122
|
||||
#: authentication/templates/authentication/_msg_oauth_bind.html:11
|
||||
#: notifications/notifications.py:186
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:23
|
||||
msgid "Time"
|
||||
msgstr "時間"
|
||||
|
||||
|
@ -446,6 +449,7 @@ msgstr "SSHキープッシュ方式"
|
|||
#: accounts/models/automations/gather_account.py:58
|
||||
#: accounts/serializers/account/backup.py:41
|
||||
#: accounts/serializers/automations/change_secret.py:56
|
||||
#: settings/serializers/auth/ldap.py:81
|
||||
msgid "Recipient"
|
||||
msgstr "受信者"
|
||||
|
||||
|
@ -491,6 +495,7 @@ msgstr "ステータス"
|
|||
#: authentication/templates/authentication/passkey.html:173
|
||||
#: authentication/views/base.py:42 authentication/views/base.py:43
|
||||
#: authentication/views/base.py:44 common/const/choices.py:20
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:16
|
||||
msgid "Error"
|
||||
msgstr "間違い"
|
||||
|
||||
|
@ -593,8 +598,8 @@ msgstr "パスワードルール"
|
|||
#: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21
|
||||
#: assets/models/domain.py:19 assets/models/group.py:17
|
||||
#: assets/models/label.py:18 assets/models/platform.py:16
|
||||
#: assets/models/platform.py:95 assets/serializers/asset/common.py:146
|
||||
#: assets/serializers/platform.py:118 assets/serializers/platform.py:235
|
||||
#: assets/models/platform.py:95 assets/serializers/asset/common.py:149
|
||||
#: assets/serializers/platform.py:118 assets/serializers/platform.py:228
|
||||
#: authentication/backends/passkey/models.py:10
|
||||
#: authentication/serializers/connect_token_secret.py:113
|
||||
#: authentication/serializers/connect_token_secret.py:168 labels/models.py:11
|
||||
|
@ -602,7 +607,7 @@ msgstr "パスワードルール"
|
|||
#: ops/models/celery.py:57 ops/models/job.py:136 ops/models/playbook.py:28
|
||||
#: ops/serializers/job.py:18 orgs/models.py:82
|
||||
#: perms/models/asset_permission.py:61 rbac/models/role.py:29
|
||||
#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:82
|
||||
#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89
|
||||
#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
|
||||
#: terminal/models/component/endpoint.py:95
|
||||
#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13
|
||||
|
@ -738,8 +743,8 @@ msgstr "アカウントの存在ポリシー"
|
|||
|
||||
#: accounts/serializers/account/account.py:193 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:96
|
||||
#: assets/serializers/asset/common.py:122 assets/serializers/cagegory.py:12
|
||||
#: assets/serializers/platform.py:140 assets/serializers/platform.py:236
|
||||
#: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12
|
||||
#: assets/serializers/platform.py:140 assets/serializers/platform.py:229
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:35
|
||||
#: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12
|
||||
msgid "Category"
|
||||
|
@ -750,7 +755,7 @@ msgstr "カテゴリ"
|
|||
#: acls/serializers/command_acl.py:19 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:97
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:120
|
||||
#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120
|
||||
#: assets/serializers/platform.py:139 audits/serializers.py:53
|
||||
#: audits/serializers.py:170
|
||||
#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:144
|
||||
|
@ -868,7 +873,7 @@ msgid "Key password"
|
|||
msgstr "キーパスワード"
|
||||
|
||||
#: accounts/serializers/account/base.py:78
|
||||
#: assets/serializers/asset/common.py:379
|
||||
#: assets/serializers/asset/common.py:381
|
||||
msgid "Spec info"
|
||||
msgstr "特別情報"
|
||||
|
||||
|
@ -1117,8 +1122,8 @@ msgid "Users"
|
|||
msgstr "ユーザー"
|
||||
|
||||
#: acls/models/base.py:98 assets/models/automations/base.py:17
|
||||
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:378
|
||||
#: perms/serializers/user_permission.py:75 rbac/tree.py:35
|
||||
#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75
|
||||
#: rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "アカウント"
|
||||
|
||||
|
@ -1423,8 +1428,8 @@ msgstr "脚本"
|
|||
|
||||
#: assets/const/category.py:10 assets/models/asset/host.py:8
|
||||
#: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:71
|
||||
#: settings/serializers/feature.py:49 terminal/models/component/endpoint.py:13
|
||||
#: terminal/serializers/applet.py:17
|
||||
#: settings/serializers/feature.py:49 settings/serializers/msg.py:31
|
||||
#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:72
|
||||
msgid "Host"
|
||||
msgstr "ホスト"
|
||||
|
@ -1548,7 +1553,7 @@ msgid "We will consider login success when we see this prompt"
|
|||
msgstr "このプロンプトが表示されたらログイン成功とみなします"
|
||||
|
||||
#: assets/const/protocol.py:119 assets/models/asset/database.py:10
|
||||
#: settings/serializers/msg.py:40
|
||||
#: settings/serializers/msg.py:47
|
||||
msgid "Use SSL"
|
||||
msgstr "SSLの使用"
|
||||
|
||||
|
@ -1663,7 +1668,7 @@ msgstr "ユーザーと同じユーザー名"
|
|||
|
||||
#: assets/models/_user.py:52 authentication/models/connection_token.py:41
|
||||
#: authentication/serializers/connect_token_secret.py:114
|
||||
#: terminal/models/applet/applet.py:42
|
||||
#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42
|
||||
#: terminal/models/virtualapp/virtualapp.py:24
|
||||
#: terminal/serializers/session.py:19 terminal/serializers/session.py:45
|
||||
#: terminal/serializers/storage.py:71
|
||||
|
@ -1716,12 +1721,12 @@ msgstr "クラウド サービス"
|
|||
|
||||
#: assets/models/asset/common.py:94 assets/models/platform.py:17
|
||||
#: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72
|
||||
#: terminal/serializers/storage.py:133
|
||||
#: settings/serializers/msg.py:32 terminal/serializers/storage.py:133
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:73
|
||||
msgid "Port"
|
||||
msgstr "ポート"
|
||||
|
||||
#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:147
|
||||
#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150
|
||||
msgid "Address"
|
||||
msgstr "アドレス"
|
||||
|
||||
|
@ -1745,7 +1750,7 @@ msgstr "ドメイン"
|
|||
msgid "Node"
|
||||
msgstr "ノード"
|
||||
|
||||
#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:380
|
||||
#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:382
|
||||
#: assets/serializers/asset/host.py:11
|
||||
msgid "Gathered info"
|
||||
msgstr "資産ハードウェア情報の収集"
|
||||
|
@ -1894,7 +1899,7 @@ msgstr "値"
|
|||
#: assets/serializers/platform.py:119
|
||||
#: authentication/serializers/connect_token_secret.py:124
|
||||
#: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33
|
||||
#: labels/serializers.py:45 settings/serializers/msg.py:83
|
||||
#: labels/serializers.py:45 settings/serializers/msg.py:90
|
||||
msgid "Label"
|
||||
msgstr "ラベル"
|
||||
|
||||
|
@ -2065,7 +2070,7 @@ msgstr ""
|
|||
"プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ"
|
||||
"ラットフォーム"
|
||||
|
||||
#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:141
|
||||
#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141
|
||||
#: authentication/serializers/connect_token_secret.py:30
|
||||
#: authentication/serializers/connect_token_secret.py:75
|
||||
#: perms/models/asset_permission.py:76 perms/serializers/permission.py:42
|
||||
|
@ -2074,29 +2079,29 @@ msgstr ""
|
|||
msgid "Protocols"
|
||||
msgstr "プロトコル"
|
||||
|
||||
#: assets/serializers/asset/common.py:126
|
||||
#: assets/serializers/asset/common.py:148
|
||||
#: assets/serializers/asset/common.py:129
|
||||
#: assets/serializers/asset/common.py:151
|
||||
msgid "Node path"
|
||||
msgstr "ノードパスです"
|
||||
|
||||
#: assets/serializers/asset/common.py:145
|
||||
#: assets/serializers/asset/common.py:381
|
||||
#: assets/serializers/asset/common.py:148
|
||||
#: assets/serializers/asset/common.py:383
|
||||
msgid "Auto info"
|
||||
msgstr "自動情報"
|
||||
|
||||
#: assets/serializers/asset/common.py:239
|
||||
#: assets/serializers/asset/common.py:242
|
||||
msgid "Platform not exist"
|
||||
msgstr "プラットフォームが存在しません"
|
||||
|
||||
#: assets/serializers/asset/common.py:275
|
||||
#: assets/serializers/asset/common.py:278
|
||||
msgid "port out of range (0-65535)"
|
||||
msgstr "ポート番号が範囲外です (0-65535)"
|
||||
|
||||
#: assets/serializers/asset/common.py:282
|
||||
#: assets/serializers/asset/common.py:285
|
||||
msgid "Protocol is required: {}"
|
||||
msgstr "プロトコルが必要です: {}"
|
||||
|
||||
#: assets/serializers/asset/common.py:310
|
||||
#: assets/serializers/asset/common.py:313
|
||||
msgid "Invalid data"
|
||||
msgstr "無効なデータ"
|
||||
|
||||
|
@ -2251,7 +2256,7 @@ msgstr "デフォルト ドメイン"
|
|||
msgid "type is required"
|
||||
msgstr "タイプ このフィールドは必須です."
|
||||
|
||||
#: assets/serializers/platform.py:211
|
||||
#: assets/serializers/platform.py:204
|
||||
msgid "Protocols is required"
|
||||
msgstr "同意が必要です"
|
||||
|
||||
|
@ -2606,8 +2611,8 @@ msgstr "認証トークン"
|
|||
|
||||
#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73
|
||||
#: authentication/views/login.py:77 notifications/backends/__init__.py:11
|
||||
#: settings/serializers/auth/wecom.py:10 users/models/user.py:749
|
||||
#: users/models/user.py:855
|
||||
#: settings/notifications.py:68 settings/serializers/auth/wecom.py:10
|
||||
#: users/models/user.py:749 users/models/user.py:855
|
||||
msgid "WeCom"
|
||||
msgstr "企業微信"
|
||||
|
||||
|
@ -2694,16 +2699,16 @@ msgstr "ACL アクションはレビューです"
|
|||
msgid "Current user not support mfa type: {}"
|
||||
msgstr "現在のユーザーはmfaタイプをサポートしていません: {}"
|
||||
|
||||
#: authentication/api/password.py:34 terminal/api/session/session.py:305
|
||||
#: users/views/profile/reset.py:61
|
||||
#: authentication/api/password.py:33 terminal/api/session/session.py:305
|
||||
#: users/views/profile/reset.py:62
|
||||
msgid "User does not exist: {}"
|
||||
msgstr "ユーザーが存在しない: {}"
|
||||
|
||||
#: authentication/api/password.py:34 users/views/profile/reset.py:163
|
||||
#: authentication/api/password.py:33 users/views/profile/reset.py:163
|
||||
msgid "No user matched"
|
||||
msgstr "ユーザーにマッチしなかった"
|
||||
|
||||
#: authentication/api/password.py:38
|
||||
#: authentication/api/password.py:37
|
||||
msgid ""
|
||||
"The user is from {}, please go to the corresponding system to change the "
|
||||
"password"
|
||||
|
@ -2711,7 +2716,7 @@ msgstr ""
|
|||
"ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ"
|
||||
"さい。"
|
||||
|
||||
#: authentication/api/password.py:67
|
||||
#: authentication/api/password.py:65
|
||||
#: authentication/templates/authentication/login.html:361
|
||||
#: users/templates/users/forgot_password.html:27
|
||||
#: users/templates/users/forgot_password.html:28
|
||||
|
@ -3031,7 +3036,7 @@ msgstr "メッセージ検証コードが無効"
|
|||
#: authentication/serializers/password_mfa.py:24
|
||||
#: settings/serializers/auth/sms.py:32 users/forms/profile.py:104
|
||||
#: users/forms/profile.py:109 users/templates/users/forgot_password.html:112
|
||||
#: users/views/profile/reset.py:98
|
||||
#: users/views/profile/reset.py:99
|
||||
msgid "SMS"
|
||||
msgstr "メッセージ"
|
||||
|
||||
|
@ -3047,7 +3052,7 @@ msgstr "電話番号を設定して有効にする"
|
|||
msgid "Clear phone number to disable"
|
||||
msgstr "無効にする電話番号をクリアする"
|
||||
|
||||
#: authentication/middleware.py:94 settings/utils/ldap.py:676
|
||||
#: authentication/middleware.py:94 settings/utils/ldap.py:679
|
||||
msgid "Authentication failed (before login check failed): {}"
|
||||
msgstr "認証に失敗しました (ログインチェックが失敗する前): {}"
|
||||
|
||||
|
@ -3171,7 +3176,7 @@ msgstr "確認済み"
|
|||
msgid "Different city login reminder"
|
||||
msgstr "異なる都市ログインのリマインダー"
|
||||
|
||||
#: authentication/notifications.py:52
|
||||
#: authentication/notifications.py:52 settings/notifications.py:47
|
||||
msgid "binding reminder"
|
||||
msgstr "バインディングリマインダー"
|
||||
|
||||
|
@ -3309,7 +3314,7 @@ msgstr "コードエラー"
|
|||
#: authentication/templates/authentication/_msg_reset_password_code.html:9
|
||||
#: authentication/templates/authentication/_msg_rest_password_success.html:2
|
||||
#: authentication/templates/authentication/_msg_rest_public_key_success.html:2
|
||||
#: jumpserver/conf.py:457
|
||||
#: jumpserver/conf.py:460
|
||||
#: perms/templates/perms/_msg_item_permissions_expire.html:3
|
||||
#: perms/templates/perms/_msg_permed_items_expire.html:3
|
||||
#: tickets/templates/tickets/approve_check_password.html:32
|
||||
|
@ -3481,7 +3486,7 @@ msgstr ""
|
|||
msgid "Do you want to retry ?"
|
||||
msgstr "再試行しますか?"
|
||||
|
||||
#: authentication/utils.py:23 common/utils/ip/geoip/utils.py:24
|
||||
#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24
|
||||
#: xpack/plugins/cloud/const.py:32
|
||||
msgid "LAN"
|
||||
msgstr "ローカルエリアネットワーク"
|
||||
|
@ -3818,7 +3823,7 @@ msgstr "サポートされていません Elasticsearch8"
|
|||
msgid "Network error, please contact system administrator"
|
||||
msgstr "ネットワークエラー、システム管理者に連絡してください"
|
||||
|
||||
#: common/sdk/im/slack/__init__.py:79
|
||||
#: common/sdk/im/slack/__init__.py:77
|
||||
msgid "Unknown error occur"
|
||||
msgstr "不明なエラーが発生しました"
|
||||
|
||||
|
@ -3913,15 +3918,15 @@ msgstr "無効なオプション: {}"
|
|||
msgid "Labels"
|
||||
msgstr "ラベル"
|
||||
|
||||
#: common/tasks.py:21 common/utils/verify_code.py:16
|
||||
#: common/tasks.py:31 common/utils/verify_code.py:16
|
||||
msgid "Send email"
|
||||
msgstr "メールを送る"
|
||||
|
||||
#: common/tasks.py:48
|
||||
#: common/tasks.py:58
|
||||
msgid "Send email attachment"
|
||||
msgstr "メールの添付ファイルを送信"
|
||||
|
||||
#: common/tasks.py:69 terminal/tasks.py:62
|
||||
#: common/tasks.py:80 terminal/tasks.py:62
|
||||
msgid "Upload session replay to external storage"
|
||||
msgstr "セッションの記録を外部ストレージにアップロードする"
|
||||
|
||||
|
@ -3950,16 +3955,16 @@ msgstr "特殊文字を含むべきではない"
|
|||
msgid "The mobile phone number format is incorrect"
|
||||
msgstr "携帯電話番号の形式が正しくありません"
|
||||
|
||||
#: jumpserver/conf.py:452
|
||||
#: jumpserver/conf.py:454
|
||||
#, python-brace-format
|
||||
msgid "The verification code is: {code}"
|
||||
msgstr "認証コードは: {code}"
|
||||
|
||||
#: jumpserver/conf.py:456
|
||||
#: jumpserver/conf.py:459
|
||||
msgid "Create account successfully"
|
||||
msgstr "アカウントを正常に作成"
|
||||
|
||||
#: jumpserver/conf.py:458
|
||||
#: jumpserver/conf.py:461
|
||||
msgid "Your account has been created successfully"
|
||||
msgstr "アカウントが正常に作成されました"
|
||||
|
||||
|
@ -4382,6 +4387,7 @@ msgid "Is finished"
|
|||
msgstr "終了しました"
|
||||
|
||||
#: ops/serializers/job.py:66
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:27
|
||||
msgid "Time cost"
|
||||
msgstr "時を過ごす"
|
||||
|
||||
|
@ -4867,7 +4873,7 @@ msgstr "チャットAIがオンになっていない"
|
|||
msgid "Test success"
|
||||
msgstr "テストの成功"
|
||||
|
||||
#: settings/api/email.py:21
|
||||
#: settings/api/email.py:22
|
||||
msgid "Test mail sent to {}, please check"
|
||||
msgstr "{}に送信されたテストメールを確認してください"
|
||||
|
||||
|
@ -4970,6 +4976,10 @@ msgstr "他の設定を変えることができます"
|
|||
msgid "Chat prompt"
|
||||
msgstr "チャットのヒント"
|
||||
|
||||
#: settings/notifications.py:22
|
||||
msgid "Notification of Synchronized LDAP User Task Results"
|
||||
msgstr "LDAPユーザータスクの結果通知を同期する"
|
||||
|
||||
#: settings/serializers/auth/base.py:12
|
||||
msgid "LDAP Auth"
|
||||
msgstr "LDAP 認証"
|
||||
|
@ -5125,7 +5135,7 @@ msgstr "接続タイムアウト (秒)"
|
|||
msgid "Search paged size (piece)"
|
||||
msgstr "ページサイズを検索 (じょう)"
|
||||
|
||||
#: settings/serializers/auth/ldap.py:81
|
||||
#: settings/serializers/auth/ldap.py:84
|
||||
msgid "Enable LDAP auth"
|
||||
msgstr "LDAP認証の有効化"
|
||||
|
||||
|
@ -5342,7 +5352,7 @@ msgstr "認証コード長"
|
|||
|
||||
#: settings/serializers/auth/sms.py:27 settings/serializers/auth/sms.py:49
|
||||
#: settings/serializers/auth/sms.py:57 settings/serializers/auth/sms.py:66
|
||||
#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:76
|
||||
#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:83
|
||||
msgid "Signature"
|
||||
msgstr "署名"
|
||||
|
||||
|
@ -5628,74 +5638,68 @@ msgstr "仮想アプリケーション"
|
|||
msgid "Enable virtual app"
|
||||
msgstr "仮想アプリケーションの有効化"
|
||||
|
||||
#: settings/serializers/msg.py:24
|
||||
msgid "SMTP host"
|
||||
#: settings/serializers/msg.py:25
|
||||
#, fuzzy
|
||||
#| msgid "SMTP host"
|
||||
msgid "SMTP"
|
||||
msgstr "SMTPホスト"
|
||||
|
||||
#: settings/serializers/msg.py:25
|
||||
msgid "SMTP port"
|
||||
msgstr "SMTPポート"
|
||||
|
||||
#: settings/serializers/msg.py:26
|
||||
msgid "SMTP account"
|
||||
msgstr "SMTPアカウント"
|
||||
msgid "EXCHANGE"
|
||||
msgstr ""
|
||||
|
||||
#: settings/serializers/msg.py:28
|
||||
msgid "SMTP password"
|
||||
msgstr "SMTPパスワード"
|
||||
|
||||
#: settings/serializers/msg.py:29
|
||||
#: settings/serializers/msg.py:36
|
||||
msgid "Tips: Some provider use token except password"
|
||||
msgstr "ヒント: 一部のプロバイダーはパスワード以外のトークンを使用します"
|
||||
|
||||
#: settings/serializers/msg.py:32
|
||||
#: settings/serializers/msg.py:39
|
||||
msgid "Send user"
|
||||
msgstr "ユーザーを送信"
|
||||
|
||||
#: settings/serializers/msg.py:33
|
||||
#: settings/serializers/msg.py:40
|
||||
msgid "Tips: Send mail account, default SMTP account as the send account"
|
||||
msgstr ""
|
||||
"ヒント: 送信メールアカウント、送信アカウントとしてのデフォルトのSMTPアカウン"
|
||||
"ト"
|
||||
|
||||
#: settings/serializers/msg.py:36
|
||||
#: settings/serializers/msg.py:43
|
||||
msgid "Test recipient"
|
||||
msgstr "テスト受信者"
|
||||
|
||||
#: settings/serializers/msg.py:37
|
||||
#: settings/serializers/msg.py:44
|
||||
msgid "Tips: Used only as a test mail recipient"
|
||||
msgstr "ヒント: テストメールの受信者としてのみ使用"
|
||||
|
||||
#: settings/serializers/msg.py:41
|
||||
#: settings/serializers/msg.py:48
|
||||
msgid "If SMTP port is 465, may be select"
|
||||
msgstr "SMTPポートが465の場合は、"
|
||||
|
||||
#: settings/serializers/msg.py:44
|
||||
#: settings/serializers/msg.py:51
|
||||
msgid "Use TLS"
|
||||
msgstr "TLSの使用"
|
||||
|
||||
#: settings/serializers/msg.py:45
|
||||
#: settings/serializers/msg.py:52
|
||||
msgid "If SMTP port is 587, may be select"
|
||||
msgstr "SMTPポートが587の場合は、"
|
||||
|
||||
#: settings/serializers/msg.py:48
|
||||
#: settings/serializers/msg.py:55
|
||||
msgid "Subject prefix"
|
||||
msgstr "件名プレフィックス"
|
||||
|
||||
#: settings/serializers/msg.py:51
|
||||
#: settings/serializers/msg.py:58
|
||||
msgid "Email suffix"
|
||||
msgstr "メールのサフィックス"
|
||||
|
||||
#: settings/serializers/msg.py:52
|
||||
#: settings/serializers/msg.py:59
|
||||
msgid ""
|
||||
"This is used by default if no email is returned during SSO authentication"
|
||||
msgstr "これは、SSO認証中にメールが返されない場合にデフォルトで使用されます。"
|
||||
|
||||
#: settings/serializers/msg.py:61
|
||||
#: settings/serializers/msg.py:68
|
||||
msgid "Create user email subject"
|
||||
msgstr "ユーザーメール件名の作成"
|
||||
|
||||
#: settings/serializers/msg.py:62
|
||||
#: settings/serializers/msg.py:69
|
||||
msgid ""
|
||||
"Tips: When creating a user, send the subject of the email (eg:Create account "
|
||||
"successfully)"
|
||||
|
@ -5703,20 +5707,20 @@ msgstr ""
|
|||
"ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを"
|
||||
"正常に作成)"
|
||||
|
||||
#: settings/serializers/msg.py:66
|
||||
#: settings/serializers/msg.py:73
|
||||
msgid "Create user honorific"
|
||||
msgstr "ユーザー敬語の作成"
|
||||
|
||||
#: settings/serializers/msg.py:67
|
||||
#: settings/serializers/msg.py:74
|
||||
msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)"
|
||||
msgstr ""
|
||||
"ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)"
|
||||
|
||||
#: settings/serializers/msg.py:71
|
||||
#: settings/serializers/msg.py:78
|
||||
msgid "Create user email content"
|
||||
msgstr "ユーザーのメールコンテンツを作成する"
|
||||
|
||||
#: settings/serializers/msg.py:73
|
||||
#: settings/serializers/msg.py:80
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Tips: When creating a user, send the content of the email, support "
|
||||
|
@ -5725,7 +5729,7 @@ msgstr ""
|
|||
"ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}"
|
||||
"{email}ラベルをサポートします。"
|
||||
|
||||
#: settings/serializers/msg.py:77
|
||||
#: settings/serializers/msg.py:84
|
||||
msgid "Tips: Email signature (eg:jumpserver)"
|
||||
msgstr "ヒント: メール署名 (例: jumpserver)"
|
||||
|
||||
|
@ -6085,112 +6089,129 @@ msgstr "Razor の有効化"
|
|||
msgid "Enable SSH Client"
|
||||
msgstr "SSH Clientの有効化"
|
||||
|
||||
#: settings/tasks/ldap.py:24
|
||||
#: settings/tasks/ldap.py:29
|
||||
msgid "Periodic import ldap user"
|
||||
msgstr "LDAP ユーザーを定期的にインポートする"
|
||||
|
||||
#: settings/tasks/ldap.py:45
|
||||
#: settings/tasks/ldap.py:66
|
||||
msgid "Registration periodic import ldap user task"
|
||||
msgstr "登録サイクルLDAPユーザータスクのインポート"
|
||||
|
||||
#: settings/utils/ldap.py:491
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:2
|
||||
msgid "Sync task Finish"
|
||||
msgstr "同期タスクが完了しました"
|
||||
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:3
|
||||
msgid "Synced Organization"
|
||||
msgstr "組織が同期されました"
|
||||
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:9
|
||||
msgid "Synced User"
|
||||
msgstr "同期されたユーザー"
|
||||
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:26
|
||||
#: terminal/models/session/session.py:45
|
||||
msgid "Date end"
|
||||
msgstr "終了日"
|
||||
|
||||
#: settings/utils/ldap.py:494
|
||||
msgid "ldap:// or ldaps:// protocol is used."
|
||||
msgstr "ldap:// または ldaps:// プロトコルが使用されます。"
|
||||
|
||||
#: settings/utils/ldap.py:502
|
||||
#: settings/utils/ldap.py:505
|
||||
msgid "Host or port is disconnected: {}"
|
||||
msgstr "ホストまたはポートが切断されました: {}"
|
||||
|
||||
#: settings/utils/ldap.py:504
|
||||
#: settings/utils/ldap.py:507
|
||||
msgid "The port is not the port of the LDAP service: {}"
|
||||
msgstr "ポートはLDAPサービスのポートではありません: {}"
|
||||
|
||||
#: settings/utils/ldap.py:506
|
||||
#: settings/utils/ldap.py:509
|
||||
msgid "Please add certificate: {}"
|
||||
msgstr "証明書を追加してください: {}"
|
||||
|
||||
#: settings/utils/ldap.py:510 settings/utils/ldap.py:537
|
||||
#: settings/utils/ldap.py:567 settings/utils/ldap.py:595
|
||||
#: settings/utils/ldap.py:513 settings/utils/ldap.py:540
|
||||
#: settings/utils/ldap.py:570 settings/utils/ldap.py:598
|
||||
msgid "Unknown error: {}"
|
||||
msgstr "不明なエラー: {}"
|
||||
|
||||
#: settings/utils/ldap.py:524
|
||||
#: settings/utils/ldap.py:527
|
||||
msgid "Bind DN or Password incorrect"
|
||||
msgstr "DNまたはパスワードのバインドが正しくありません"
|
||||
|
||||
#: settings/utils/ldap.py:531
|
||||
#: settings/utils/ldap.py:534
|
||||
msgid "Please enter Bind DN: {}"
|
||||
msgstr "バインドDN: {} を入力してください"
|
||||
|
||||
#: settings/utils/ldap.py:533
|
||||
#: settings/utils/ldap.py:536
|
||||
msgid "Please enter Password: {}"
|
||||
msgstr "パスワードを入力してください: {}"
|
||||
|
||||
#: settings/utils/ldap.py:535
|
||||
#: settings/utils/ldap.py:538
|
||||
msgid "Please enter correct Bind DN and Password: {}"
|
||||
msgstr "正しいバインドDNとパスワードを入力してください: {}"
|
||||
|
||||
#: settings/utils/ldap.py:553
|
||||
#: settings/utils/ldap.py:556
|
||||
msgid "Invalid User OU or User search filter: {}"
|
||||
msgstr "無効なユーザー OU またはユーザー検索フィルター: {}"
|
||||
|
||||
#: settings/utils/ldap.py:584
|
||||
#: settings/utils/ldap.py:587
|
||||
msgid "LDAP User attr map not include: {}"
|
||||
msgstr "LDAP ユーザーattrマップは含まれません: {}"
|
||||
|
||||
#: settings/utils/ldap.py:591
|
||||
#: settings/utils/ldap.py:594
|
||||
msgid "LDAP User attr map is not dict"
|
||||
msgstr "LDAPユーザーattrマップはdictではありません"
|
||||
|
||||
#: settings/utils/ldap.py:610
|
||||
#: settings/utils/ldap.py:613
|
||||
msgid "LDAP authentication is not enabled"
|
||||
msgstr "LDAP 認証が有効になっていない"
|
||||
|
||||
#: settings/utils/ldap.py:628
|
||||
#: settings/utils/ldap.py:631
|
||||
msgid "Error (Invalid LDAP server): {}"
|
||||
msgstr "エラー (LDAPサーバーが無効): {}"
|
||||
|
||||
#: settings/utils/ldap.py:630
|
||||
#: settings/utils/ldap.py:633
|
||||
msgid "Error (Invalid Bind DN): {}"
|
||||
msgstr "エラー (DNのバインドが無効): {}"
|
||||
|
||||
#: settings/utils/ldap.py:632
|
||||
#: settings/utils/ldap.py:635
|
||||
msgid "Error (Invalid LDAP User attr map): {}"
|
||||
msgstr "エラー (LDAPユーザーattrマップが無効): {}"
|
||||
|
||||
#: settings/utils/ldap.py:634
|
||||
#: settings/utils/ldap.py:637
|
||||
msgid "Error (Invalid User OU or User search filter): {}"
|
||||
msgstr "エラー (ユーザーOUまたはユーザー検索フィルターが無効): {}"
|
||||
|
||||
#: settings/utils/ldap.py:636
|
||||
#: settings/utils/ldap.py:639
|
||||
msgid "Error (Not enabled LDAP authentication): {}"
|
||||
msgstr "エラー (LDAP認証が有効化されていません): {}"
|
||||
|
||||
#: settings/utils/ldap.py:638
|
||||
#: settings/utils/ldap.py:641
|
||||
msgid "Error (Unknown): {}"
|
||||
msgstr "エラー (不明): {}"
|
||||
|
||||
#: settings/utils/ldap.py:641
|
||||
#: settings/utils/ldap.py:644
|
||||
msgid "Succeed: Match {} s user"
|
||||
msgstr "成功: {} 人のユーザーに一致"
|
||||
|
||||
#: settings/utils/ldap.py:652
|
||||
#: settings/utils/ldap.py:655
|
||||
msgid "Please test the connection first"
|
||||
msgstr "まず接続をテストしてください"
|
||||
|
||||
#: settings/utils/ldap.py:674
|
||||
#: settings/utils/ldap.py:677
|
||||
msgid "Authentication failed (configuration incorrect): {}"
|
||||
msgstr "認証に失敗しました (設定が正しくありません): {}"
|
||||
|
||||
#: settings/utils/ldap.py:678
|
||||
#: settings/utils/ldap.py:681
|
||||
msgid "Authentication failed (username or password incorrect): {}"
|
||||
msgstr "認証に失敗しました (ユーザー名またはパスワードが正しくありません): {}"
|
||||
|
||||
#: settings/utils/ldap.py:680
|
||||
#: settings/utils/ldap.py:683
|
||||
msgid "Authentication failed (Unknown): {}"
|
||||
msgstr "認証に失敗しました (不明): {}"
|
||||
|
||||
#: settings/utils/ldap.py:683
|
||||
#: settings/utils/ldap.py:686
|
||||
msgid "Authentication success: {}"
|
||||
msgstr "認証成功: {}"
|
||||
|
||||
|
@ -6803,10 +6824,6 @@ msgstr "ログイン元"
|
|||
msgid "Replay"
|
||||
msgstr "リプレイ"
|
||||
|
||||
#: terminal/models/session/session.py:45
|
||||
msgid "Date end"
|
||||
msgstr "終了日"
|
||||
|
||||
#: terminal/models/session/session.py:47 terminal/serializers/session.py:65
|
||||
msgid "Command amount"
|
||||
msgstr "コマンド量"
|
||||
|
@ -8315,7 +8332,7 @@ msgstr "OTP無効化成功、ログインページを返す"
|
|||
msgid "Password invalid"
|
||||
msgstr "パスワード無効"
|
||||
|
||||
#: users/views/profile/reset.py:64
|
||||
#: users/views/profile/reset.py:65
|
||||
msgid ""
|
||||
"Non-local users can log in only from third-party platforms and cannot change "
|
||||
"their passwords: {}"
|
||||
|
@ -8492,7 +8509,7 @@ msgstr "そして"
|
|||
msgid "Or"
|
||||
msgstr "または"
|
||||
|
||||
#: xpack/plugins/cloud/manager.py:56
|
||||
#: xpack/plugins/cloud/manager.py:57
|
||||
msgid "Account unavailable"
|
||||
msgstr "利用できないアカウント"
|
||||
|
||||
|
@ -9042,6 +9059,15 @@ msgstr "エンタープライズプロフェッショナル版"
|
|||
msgid "Ultimate edition"
|
||||
msgstr "エンタープライズ・フラッグシップ・エディション"
|
||||
|
||||
#~ msgid "SMTP port"
|
||||
#~ msgstr "SMTPポート"
|
||||
|
||||
#~ msgid "SMTP account"
|
||||
#~ msgstr "SMTPアカウント"
|
||||
|
||||
#~ msgid "SMTP password"
|
||||
#~ msgstr "SMTPパスワード"
|
||||
|
||||
#~ msgid "Password can not contains `{{` or `}}`"
|
||||
#~ msgstr "パスワードには `{` または `}` 文字を含めることはできません"
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:44d560db28dc9dd1a450f7e715b6de7a18ba44caece18f4e7da40c1659eefc48
|
||||
size 139920
|
||||
oid sha256:933315b682ee1387f7433b5a870d8597c07634f4fede4c56a42b4cab540e4208
|
||||
size 140012
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: JumpServer 0.3.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-01-03 11:23+0800\n"
|
||||
"POT-Creation-Date: 2024-01-11 18:58+0800\n"
|
||||
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
|
||||
"Last-Translator: ibuler <ibuler@qq.com>\n"
|
||||
"Language-Team: JumpServer team<ibuler@qq.com>\n"
|
||||
|
@ -28,8 +28,9 @@ msgstr "参数 'action' 必须是 [{}]"
|
|||
#: authentication/confirm/password.py:26 authentication/forms.py:32
|
||||
#: authentication/templates/authentication/login.html:330
|
||||
#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47
|
||||
#: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142
|
||||
#: users/forms/profile.py:22 users/serializers/user.py:104
|
||||
#: settings/serializers/msg.py:35 terminal/serializers/storage.py:123
|
||||
#: terminal/serializers/storage.py:142 users/forms/profile.py:22
|
||||
#: users/serializers/user.py:104
|
||||
#: users/templates/users/_msg_user_created.html:13
|
||||
#: users/templates/users/user_password_verify.html:18
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:28
|
||||
|
@ -199,10 +200,10 @@ msgstr "仅创建"
|
|||
#: authentication/serializers/password_mfa.py:16
|
||||
#: authentication/serializers/password_mfa.py:24
|
||||
#: notifications/backends/__init__.py:10 settings/serializers/msg.py:22
|
||||
#: settings/serializers/msg.py:57 users/forms/profile.py:102
|
||||
#: settings/serializers/msg.py:64 users/forms/profile.py:102
|
||||
#: users/forms/profile.py:109 users/models/user.py:802
|
||||
#: users/templates/users/forgot_password.html:117
|
||||
#: users/views/profile/reset.py:92
|
||||
#: users/views/profile/reset.py:93
|
||||
msgid "Email"
|
||||
msgstr "邮箱"
|
||||
|
||||
|
@ -286,11 +287,11 @@ msgstr "来源 ID"
|
|||
#: accounts/serializers/automations/change_secret.py:107
|
||||
#: accounts/serializers/automations/change_secret.py:127
|
||||
#: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7
|
||||
#: assets/serializers/asset/common.py:125 assets/serializers/gateway.py:28
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28
|
||||
#: audits/models.py:59 authentication/api/connection_token.py:405
|
||||
#: ops/models/base.py:18 perms/models/asset_permission.py:75
|
||||
#: perms/serializers/permission.py:41 terminal/backends/command/models.py:18
|
||||
#: terminal/models/session/session.py:33
|
||||
#: perms/serializers/permission.py:41 settings/serializers/msg.py:33
|
||||
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33
|
||||
#: terminal/templates/terminal/_msg_command_warning.html:8
|
||||
#: terminal/templates/terminal/_msg_session_sharing.html:8
|
||||
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89
|
||||
|
@ -360,8 +361,9 @@ msgstr "账号备份计划"
|
|||
#: assets/models/automations/base.py:115 audits/models.py:65
|
||||
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:235
|
||||
#: ops/templates/ops/celery_task_log.html:75
|
||||
#: perms/models/asset_permission.py:78 terminal/models/applet/host.py:141
|
||||
#: terminal/models/session/session.py:44
|
||||
#: perms/models/asset_permission.py:78
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:25
|
||||
#: terminal/models/applet/host.py:141 terminal/models/session/session.py:44
|
||||
#: tickets/models/ticket/apply_application.py:30
|
||||
#: tickets/models/ticket/apply_asset.py:19
|
||||
msgid "Date start"
|
||||
|
@ -370,6 +372,7 @@ msgstr "开始日期"
|
|||
#: accounts/models/automations/backup_account.py:122
|
||||
#: authentication/templates/authentication/_msg_oauth_bind.html:11
|
||||
#: notifications/notifications.py:186
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:23
|
||||
msgid "Time"
|
||||
msgstr "时间"
|
||||
|
||||
|
@ -445,6 +448,7 @@ msgstr "SSH 密钥推送方式"
|
|||
#: accounts/models/automations/gather_account.py:58
|
||||
#: accounts/serializers/account/backup.py:41
|
||||
#: accounts/serializers/automations/change_secret.py:56
|
||||
#: settings/serializers/auth/ldap.py:81
|
||||
msgid "Recipient"
|
||||
msgstr "收件人"
|
||||
|
||||
|
@ -490,6 +494,7 @@ msgstr "状态"
|
|||
#: authentication/templates/authentication/passkey.html:173
|
||||
#: authentication/views/base.py:42 authentication/views/base.py:43
|
||||
#: authentication/views/base.py:44 common/const/choices.py:20
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:16
|
||||
msgid "Error"
|
||||
msgstr "错误"
|
||||
|
||||
|
@ -592,8 +597,8 @@ msgstr "密码规则"
|
|||
#: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21
|
||||
#: assets/models/domain.py:19 assets/models/group.py:17
|
||||
#: assets/models/label.py:18 assets/models/platform.py:16
|
||||
#: assets/models/platform.py:95 assets/serializers/asset/common.py:146
|
||||
#: assets/serializers/platform.py:118 assets/serializers/platform.py:235
|
||||
#: assets/models/platform.py:95 assets/serializers/asset/common.py:149
|
||||
#: assets/serializers/platform.py:118 assets/serializers/platform.py:228
|
||||
#: authentication/backends/passkey/models.py:10
|
||||
#: authentication/serializers/connect_token_secret.py:113
|
||||
#: authentication/serializers/connect_token_secret.py:168 labels/models.py:11
|
||||
|
@ -601,7 +606,7 @@ msgstr "密码规则"
|
|||
#: ops/models/celery.py:57 ops/models/job.py:136 ops/models/playbook.py:28
|
||||
#: ops/serializers/job.py:18 orgs/models.py:82
|
||||
#: perms/models/asset_permission.py:61 rbac/models/role.py:29
|
||||
#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:82
|
||||
#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89
|
||||
#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
|
||||
#: terminal/models/component/endpoint.py:95
|
||||
#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13
|
||||
|
@ -736,8 +741,8 @@ msgstr "账号存在策略"
|
|||
|
||||
#: accounts/serializers/account/account.py:193 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:96
|
||||
#: assets/serializers/asset/common.py:122 assets/serializers/cagegory.py:12
|
||||
#: assets/serializers/platform.py:140 assets/serializers/platform.py:236
|
||||
#: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12
|
||||
#: assets/serializers/platform.py:140 assets/serializers/platform.py:229
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:35
|
||||
#: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12
|
||||
msgid "Category"
|
||||
|
@ -748,7 +753,7 @@ msgstr "类别"
|
|||
#: acls/serializers/command_acl.py:19 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:97
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:120
|
||||
#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120
|
||||
#: assets/serializers/platform.py:139 audits/serializers.py:53
|
||||
#: audits/serializers.py:170
|
||||
#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:144
|
||||
|
@ -866,7 +871,7 @@ msgid "Key password"
|
|||
msgstr "密钥密码"
|
||||
|
||||
#: accounts/serializers/account/base.py:78
|
||||
#: assets/serializers/asset/common.py:379
|
||||
#: assets/serializers/asset/common.py:381
|
||||
msgid "Spec info"
|
||||
msgstr "特殊信息"
|
||||
|
||||
|
@ -1113,8 +1118,8 @@ msgid "Users"
|
|||
msgstr "用户管理"
|
||||
|
||||
#: acls/models/base.py:98 assets/models/automations/base.py:17
|
||||
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:378
|
||||
#: perms/serializers/user_permission.py:75 rbac/tree.py:35
|
||||
#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75
|
||||
#: rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "账号管理"
|
||||
|
||||
|
@ -1415,8 +1420,8 @@ msgstr "脚本"
|
|||
|
||||
#: assets/const/category.py:10 assets/models/asset/host.py:8
|
||||
#: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:71
|
||||
#: settings/serializers/feature.py:49 terminal/models/component/endpoint.py:13
|
||||
#: terminal/serializers/applet.py:17
|
||||
#: settings/serializers/feature.py:49 settings/serializers/msg.py:31
|
||||
#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:72
|
||||
msgid "Host"
|
||||
msgstr "主机"
|
||||
|
@ -1539,7 +1544,7 @@ msgid "We will consider login success when we see this prompt"
|
|||
msgstr "当我们看到这个提示时,我们将认为登录成功"
|
||||
|
||||
#: assets/const/protocol.py:119 assets/models/asset/database.py:10
|
||||
#: settings/serializers/msg.py:40
|
||||
#: settings/serializers/msg.py:47
|
||||
msgid "Use SSL"
|
||||
msgstr "使用 SSL"
|
||||
|
||||
|
@ -1655,7 +1660,7 @@ msgstr "用户名与用户相同"
|
|||
|
||||
#: assets/models/_user.py:52 authentication/models/connection_token.py:41
|
||||
#: authentication/serializers/connect_token_secret.py:114
|
||||
#: terminal/models/applet/applet.py:42
|
||||
#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42
|
||||
#: terminal/models/virtualapp/virtualapp.py:24
|
||||
#: terminal/serializers/session.py:19 terminal/serializers/session.py:45
|
||||
#: terminal/serializers/storage.py:71
|
||||
|
@ -1708,12 +1713,12 @@ msgstr "云服务"
|
|||
|
||||
#: assets/models/asset/common.py:94 assets/models/platform.py:17
|
||||
#: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72
|
||||
#: terminal/serializers/storage.py:133
|
||||
#: settings/serializers/msg.py:32 terminal/serializers/storage.py:133
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:73
|
||||
msgid "Port"
|
||||
msgstr "端口"
|
||||
|
||||
#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:147
|
||||
#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150
|
||||
msgid "Address"
|
||||
msgstr "地址"
|
||||
|
||||
|
@ -1737,7 +1742,7 @@ msgstr "网域"
|
|||
msgid "Node"
|
||||
msgstr "节点"
|
||||
|
||||
#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:380
|
||||
#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:382
|
||||
#: assets/serializers/asset/host.py:11
|
||||
msgid "Gathered info"
|
||||
msgstr "收集资产硬件信息"
|
||||
|
@ -1886,7 +1891,7 @@ msgstr "值"
|
|||
#: assets/serializers/platform.py:119
|
||||
#: authentication/serializers/connect_token_secret.py:124
|
||||
#: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33
|
||||
#: labels/serializers.py:45 settings/serializers/msg.py:83
|
||||
#: labels/serializers.py:45 settings/serializers/msg.py:90
|
||||
msgid "Label"
|
||||
msgstr "标签"
|
||||
|
||||
|
@ -2055,7 +2060,7 @@ msgid ""
|
|||
"type"
|
||||
msgstr "资产中批量更新平台,不符合平台类型跳过的资产"
|
||||
|
||||
#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:141
|
||||
#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141
|
||||
#: authentication/serializers/connect_token_secret.py:30
|
||||
#: authentication/serializers/connect_token_secret.py:75
|
||||
#: perms/models/asset_permission.py:76 perms/serializers/permission.py:42
|
||||
|
@ -2064,29 +2069,29 @@ msgstr "资产中批量更新平台,不符合平台类型跳过的资产"
|
|||
msgid "Protocols"
|
||||
msgstr "协议组"
|
||||
|
||||
#: assets/serializers/asset/common.py:126
|
||||
#: assets/serializers/asset/common.py:148
|
||||
#: assets/serializers/asset/common.py:129
|
||||
#: assets/serializers/asset/common.py:151
|
||||
msgid "Node path"
|
||||
msgstr "节点路径"
|
||||
|
||||
#: assets/serializers/asset/common.py:145
|
||||
#: assets/serializers/asset/common.py:381
|
||||
#: assets/serializers/asset/common.py:148
|
||||
#: assets/serializers/asset/common.py:383
|
||||
msgid "Auto info"
|
||||
msgstr "自动化信息"
|
||||
|
||||
#: assets/serializers/asset/common.py:239
|
||||
#: assets/serializers/asset/common.py:242
|
||||
msgid "Platform not exist"
|
||||
msgstr "平台不存在"
|
||||
|
||||
#: assets/serializers/asset/common.py:275
|
||||
#: assets/serializers/asset/common.py:278
|
||||
msgid "port out of range (0-65535)"
|
||||
msgstr "端口超出范围 (0-65535)"
|
||||
|
||||
#: assets/serializers/asset/common.py:282
|
||||
#: assets/serializers/asset/common.py:285
|
||||
msgid "Protocol is required: {}"
|
||||
msgstr "协议是必填的: {}"
|
||||
|
||||
#: assets/serializers/asset/common.py:310
|
||||
#: assets/serializers/asset/common.py:313
|
||||
msgid "Invalid data"
|
||||
msgstr "无效的数据"
|
||||
|
||||
|
@ -2236,7 +2241,7 @@ msgstr "默认网域"
|
|||
msgid "type is required"
|
||||
msgstr "类型 该字段是必填项。"
|
||||
|
||||
#: assets/serializers/platform.py:211
|
||||
#: assets/serializers/platform.py:204
|
||||
msgid "Protocols is required"
|
||||
msgstr "协议是必填的"
|
||||
|
||||
|
@ -2589,8 +2594,8 @@ msgstr "认证令牌"
|
|||
|
||||
#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73
|
||||
#: authentication/views/login.py:77 notifications/backends/__init__.py:11
|
||||
#: settings/serializers/auth/wecom.py:10 users/models/user.py:749
|
||||
#: users/models/user.py:855
|
||||
#: settings/notifications.py:68 settings/serializers/auth/wecom.py:10
|
||||
#: users/models/user.py:749 users/models/user.py:855
|
||||
msgid "WeCom"
|
||||
msgstr "企业微信"
|
||||
|
||||
|
@ -2675,22 +2680,22 @@ msgstr "ACL 动作是复核"
|
|||
msgid "Current user not support mfa type: {}"
|
||||
msgstr "当前用户不支持 MFA 类型: {}"
|
||||
|
||||
#: authentication/api/password.py:34 terminal/api/session/session.py:305
|
||||
#: users/views/profile/reset.py:61
|
||||
#: authentication/api/password.py:33 terminal/api/session/session.py:305
|
||||
#: users/views/profile/reset.py:62
|
||||
msgid "User does not exist: {}"
|
||||
msgstr "用户不存在: {}"
|
||||
|
||||
#: authentication/api/password.py:34 users/views/profile/reset.py:163
|
||||
#: authentication/api/password.py:33 users/views/profile/reset.py:163
|
||||
msgid "No user matched"
|
||||
msgstr "没有匹配到用户"
|
||||
|
||||
#: authentication/api/password.py:38
|
||||
#: authentication/api/password.py:37
|
||||
msgid ""
|
||||
"The user is from {}, please go to the corresponding system to change the "
|
||||
"password"
|
||||
msgstr "用户来自 {} 请去相应系统修改密码"
|
||||
|
||||
#: authentication/api/password.py:67
|
||||
#: authentication/api/password.py:65
|
||||
#: authentication/templates/authentication/login.html:361
|
||||
#: users/templates/users/forgot_password.html:27
|
||||
#: users/templates/users/forgot_password.html:28
|
||||
|
@ -3001,7 +3006,7 @@ msgstr "短信验证码校验失败"
|
|||
#: authentication/serializers/password_mfa.py:24
|
||||
#: settings/serializers/auth/sms.py:32 users/forms/profile.py:104
|
||||
#: users/forms/profile.py:109 users/templates/users/forgot_password.html:112
|
||||
#: users/views/profile/reset.py:98
|
||||
#: users/views/profile/reset.py:99
|
||||
msgid "SMS"
|
||||
msgstr "短信"
|
||||
|
||||
|
@ -3017,7 +3022,7 @@ msgstr "设置手机号码启用"
|
|||
msgid "Clear phone number to disable"
|
||||
msgstr "清空手机号码禁用"
|
||||
|
||||
#: authentication/middleware.py:94 settings/utils/ldap.py:676
|
||||
#: authentication/middleware.py:94 settings/utils/ldap.py:679
|
||||
msgid "Authentication failed (before login check failed): {}"
|
||||
msgstr "认证失败 (登录前检查失败): {}"
|
||||
|
||||
|
@ -3139,7 +3144,7 @@ msgstr "已校验"
|
|||
msgid "Different city login reminder"
|
||||
msgstr "异地登录提醒"
|
||||
|
||||
#: authentication/notifications.py:52
|
||||
#: authentication/notifications.py:52 settings/notifications.py:47
|
||||
msgid "binding reminder"
|
||||
msgstr "绑定提醒"
|
||||
|
||||
|
@ -3277,7 +3282,7 @@ msgstr "代码错误"
|
|||
#: authentication/templates/authentication/_msg_reset_password_code.html:9
|
||||
#: authentication/templates/authentication/_msg_rest_password_success.html:2
|
||||
#: authentication/templates/authentication/_msg_rest_public_key_success.html:2
|
||||
#: jumpserver/conf.py:457
|
||||
#: jumpserver/conf.py:460
|
||||
#: perms/templates/perms/_msg_item_permissions_expire.html:3
|
||||
#: perms/templates/perms/_msg_permed_items_expire.html:3
|
||||
#: tickets/templates/tickets/approve_check_password.html:32
|
||||
|
@ -3437,7 +3442,7 @@ msgstr "本页面未使用 HTTPS 协议,请使用 HTTPS 协议以确保您的
|
|||
msgid "Do you want to retry ?"
|
||||
msgstr "是否重试 ?"
|
||||
|
||||
#: authentication/utils.py:23 common/utils/ip/geoip/utils.py:24
|
||||
#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24
|
||||
#: xpack/plugins/cloud/const.py:32
|
||||
msgid "LAN"
|
||||
msgstr "局域网"
|
||||
|
@ -3772,7 +3777,7 @@ msgstr "不支持 Elasticsearch8"
|
|||
msgid "Network error, please contact system administrator"
|
||||
msgstr "网络错误,请联系系统管理员"
|
||||
|
||||
#: common/sdk/im/slack/__init__.py:79
|
||||
#: common/sdk/im/slack/__init__.py:77
|
||||
msgid "Unknown error occur"
|
||||
msgstr "发生未知错误"
|
||||
|
||||
|
@ -3869,15 +3874,15 @@ msgstr "标签管理"
|
|||
|
||||
# msgid "Labels"
|
||||
# msgstr "标签管理"
|
||||
#: common/tasks.py:21 common/utils/verify_code.py:16
|
||||
#: common/tasks.py:31 common/utils/verify_code.py:16
|
||||
msgid "Send email"
|
||||
msgstr "发件邮件"
|
||||
|
||||
#: common/tasks.py:48
|
||||
#: common/tasks.py:58
|
||||
msgid "Send email attachment"
|
||||
msgstr "发送邮件附件"
|
||||
|
||||
#: common/tasks.py:69 terminal/tasks.py:62
|
||||
#: common/tasks.py:80 terminal/tasks.py:62
|
||||
msgid "Upload session replay to external storage"
|
||||
msgstr "上传会话录像到外部存储"
|
||||
|
||||
|
@ -3906,16 +3911,16 @@ msgstr "不能包含特殊字符"
|
|||
msgid "The mobile phone number format is incorrect"
|
||||
msgstr "手机号格式不正确"
|
||||
|
||||
#: jumpserver/conf.py:452
|
||||
#: jumpserver/conf.py:454
|
||||
#, python-brace-format
|
||||
msgid "The verification code is: {code}"
|
||||
msgstr "验证码为: {code}"
|
||||
|
||||
#: jumpserver/conf.py:456
|
||||
#: jumpserver/conf.py:459
|
||||
msgid "Create account successfully"
|
||||
msgstr "创建账号成功"
|
||||
|
||||
#: jumpserver/conf.py:458
|
||||
#: jumpserver/conf.py:461
|
||||
msgid "Your account has been created successfully"
|
||||
msgstr "你的账号已创建成功"
|
||||
|
||||
|
@ -4331,6 +4336,7 @@ msgid "Is finished"
|
|||
msgstr "是否完成"
|
||||
|
||||
#: ops/serializers/job.py:66
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:27
|
||||
msgid "Time cost"
|
||||
msgstr "花费时间"
|
||||
|
||||
|
@ -4814,7 +4820,7 @@ msgstr "聊天 AI 没有开启"
|
|||
msgid "Test success"
|
||||
msgstr "测试成功"
|
||||
|
||||
#: settings/api/email.py:21
|
||||
#: settings/api/email.py:22
|
||||
msgid "Test mail sent to {}, please check"
|
||||
msgstr "邮件已经发送{}, 请检查"
|
||||
|
||||
|
@ -4915,6 +4921,10 @@ msgstr "其它设置"
|
|||
msgid "Chat prompt"
|
||||
msgstr "聊天提示"
|
||||
|
||||
#: settings/notifications.py:22
|
||||
msgid "Notification of Synchronized LDAP User Task Results"
|
||||
msgstr "同步LDAP用户任务结果通知"
|
||||
|
||||
#: settings/serializers/auth/base.py:12
|
||||
msgid "LDAP Auth"
|
||||
msgstr "LDAP 认证"
|
||||
|
@ -5070,7 +5080,7 @@ msgstr "连接超时时间 (秒)"
|
|||
msgid "Search paged size (piece)"
|
||||
msgstr "搜索分页数量 (条)"
|
||||
|
||||
#: settings/serializers/auth/ldap.py:81
|
||||
#: settings/serializers/auth/ldap.py:84
|
||||
msgid "Enable LDAP auth"
|
||||
msgstr "启用 LDAP 认证"
|
||||
|
||||
|
@ -5286,7 +5296,7 @@ msgstr "验证码长度"
|
|||
|
||||
#: settings/serializers/auth/sms.py:27 settings/serializers/auth/sms.py:49
|
||||
#: settings/serializers/auth/sms.py:57 settings/serializers/auth/sms.py:66
|
||||
#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:76
|
||||
#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:83
|
||||
msgid "Signature"
|
||||
msgstr "签名"
|
||||
|
||||
|
@ -5568,90 +5578,84 @@ msgstr "虚拟应用"
|
|||
msgid "Enable virtual app"
|
||||
msgstr "启用虚拟应用"
|
||||
|
||||
#: settings/serializers/msg.py:24
|
||||
msgid "SMTP host"
|
||||
#: settings/serializers/msg.py:25
|
||||
#, fuzzy
|
||||
#| msgid "SMTP host"
|
||||
msgid "SMTP"
|
||||
msgstr "SMTP 主机"
|
||||
|
||||
#: settings/serializers/msg.py:25
|
||||
msgid "SMTP port"
|
||||
msgstr "SMTP 端口"
|
||||
|
||||
#: settings/serializers/msg.py:26
|
||||
msgid "SMTP account"
|
||||
msgstr "SMTP 账号"
|
||||
msgid "EXCHANGE"
|
||||
msgstr ""
|
||||
|
||||
#: settings/serializers/msg.py:28
|
||||
msgid "SMTP password"
|
||||
msgstr "SMTP 密码"
|
||||
|
||||
#: settings/serializers/msg.py:29
|
||||
#: settings/serializers/msg.py:36
|
||||
msgid "Tips: Some provider use token except password"
|
||||
msgstr "提示:一些邮件提供商需要输入的是授权码"
|
||||
|
||||
#: settings/serializers/msg.py:32
|
||||
#: settings/serializers/msg.py:39
|
||||
msgid "Send user"
|
||||
msgstr "发件人"
|
||||
|
||||
#: settings/serializers/msg.py:33
|
||||
#: settings/serializers/msg.py:40
|
||||
msgid "Tips: Send mail account, default SMTP account as the send account"
|
||||
msgstr "提示:发送邮件账号,默认使用 SMTP 账号作为发送账号"
|
||||
|
||||
#: settings/serializers/msg.py:36
|
||||
#: settings/serializers/msg.py:43
|
||||
msgid "Test recipient"
|
||||
msgstr "测试收件人"
|
||||
|
||||
#: settings/serializers/msg.py:37
|
||||
#: settings/serializers/msg.py:44
|
||||
msgid "Tips: Used only as a test mail recipient"
|
||||
msgstr "提示:仅用来作为测试邮件收件人"
|
||||
|
||||
#: settings/serializers/msg.py:41
|
||||
#: settings/serializers/msg.py:48
|
||||
msgid "If SMTP port is 465, may be select"
|
||||
msgstr "如果SMTP端口是465,通常需要启用 SSL"
|
||||
|
||||
#: settings/serializers/msg.py:44
|
||||
#: settings/serializers/msg.py:51
|
||||
msgid "Use TLS"
|
||||
msgstr "使用 TLS"
|
||||
|
||||
#: settings/serializers/msg.py:45
|
||||
#: settings/serializers/msg.py:52
|
||||
msgid "If SMTP port is 587, may be select"
|
||||
msgstr "如果SMTP端口是587,通常需要启用 TLS"
|
||||
|
||||
#: settings/serializers/msg.py:48
|
||||
#: settings/serializers/msg.py:55
|
||||
msgid "Subject prefix"
|
||||
msgstr "主题前缀"
|
||||
|
||||
#: settings/serializers/msg.py:51
|
||||
#: settings/serializers/msg.py:58
|
||||
msgid "Email suffix"
|
||||
msgstr "邮件后缀"
|
||||
|
||||
#: settings/serializers/msg.py:52
|
||||
#: settings/serializers/msg.py:59
|
||||
msgid ""
|
||||
"This is used by default if no email is returned during SSO authentication"
|
||||
msgstr "SSO认证时,如果没有返回邮件地址,将使用该后缀"
|
||||
|
||||
#: settings/serializers/msg.py:61
|
||||
#: settings/serializers/msg.py:68
|
||||
msgid "Create user email subject"
|
||||
msgstr "邮件主题"
|
||||
|
||||
#: settings/serializers/msg.py:62
|
||||
#: settings/serializers/msg.py:69
|
||||
msgid ""
|
||||
"Tips: When creating a user, send the subject of the email (eg:Create account "
|
||||
"successfully)"
|
||||
msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)"
|
||||
|
||||
#: settings/serializers/msg.py:66
|
||||
#: settings/serializers/msg.py:73
|
||||
msgid "Create user honorific"
|
||||
msgstr "邮件问候语"
|
||||
|
||||
#: settings/serializers/msg.py:67
|
||||
#: settings/serializers/msg.py:74
|
||||
msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)"
|
||||
msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 你好)"
|
||||
|
||||
#: settings/serializers/msg.py:71
|
||||
#: settings/serializers/msg.py:78
|
||||
msgid "Create user email content"
|
||||
msgstr "邮件的内容"
|
||||
|
||||
#: settings/serializers/msg.py:73
|
||||
#: settings/serializers/msg.py:80
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Tips: When creating a user, send the content of the email, support "
|
||||
|
@ -5659,7 +5663,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"提示: 创建用户时,发送设置密码邮件的内容, 支持 {username} {name} {email} 标签"
|
||||
|
||||
#: settings/serializers/msg.py:77
|
||||
#: settings/serializers/msg.py:84
|
||||
msgid "Tips: Email signature (eg:jumpserver)"
|
||||
msgstr "邮件署名 (如:jumpserver)"
|
||||
|
||||
|
@ -6001,112 +6005,129 @@ msgstr "启用 Razor 服务"
|
|||
msgid "Enable SSH Client"
|
||||
msgstr "启用 SSH Client"
|
||||
|
||||
#: settings/tasks/ldap.py:24
|
||||
#: settings/tasks/ldap.py:29
|
||||
msgid "Periodic import ldap user"
|
||||
msgstr "周期导入 LDAP 用户"
|
||||
|
||||
#: settings/tasks/ldap.py:45
|
||||
#: settings/tasks/ldap.py:66
|
||||
msgid "Registration periodic import ldap user task"
|
||||
msgstr "注册周期导入 LDAP 用户 任务"
|
||||
|
||||
#: settings/utils/ldap.py:491
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:2
|
||||
msgid "Sync task Finish"
|
||||
msgstr "同步任务完成"
|
||||
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:3
|
||||
msgid "Synced Organization"
|
||||
msgstr "已同步组织"
|
||||
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:9
|
||||
msgid "Synced User"
|
||||
msgstr "已同步用户"
|
||||
|
||||
#: settings/templates/ldap/_msg_import_ldap_user.html:26
|
||||
#: terminal/models/session/session.py:45
|
||||
msgid "Date end"
|
||||
msgstr "结束日期"
|
||||
|
||||
#: settings/utils/ldap.py:494
|
||||
msgid "ldap:// or ldaps:// protocol is used."
|
||||
msgstr "使用 ldap:// 或 ldaps:// 协议"
|
||||
|
||||
#: settings/utils/ldap.py:502
|
||||
#: settings/utils/ldap.py:505
|
||||
msgid "Host or port is disconnected: {}"
|
||||
msgstr "主机或端口不可连接: {}"
|
||||
|
||||
#: settings/utils/ldap.py:504
|
||||
#: settings/utils/ldap.py:507
|
||||
msgid "The port is not the port of the LDAP service: {}"
|
||||
msgstr "端口不是LDAP服务端口: {}"
|
||||
|
||||
#: settings/utils/ldap.py:506
|
||||
#: settings/utils/ldap.py:509
|
||||
msgid "Please add certificate: {}"
|
||||
msgstr "请添加证书"
|
||||
|
||||
#: settings/utils/ldap.py:510 settings/utils/ldap.py:537
|
||||
#: settings/utils/ldap.py:567 settings/utils/ldap.py:595
|
||||
#: settings/utils/ldap.py:513 settings/utils/ldap.py:540
|
||||
#: settings/utils/ldap.py:570 settings/utils/ldap.py:598
|
||||
msgid "Unknown error: {}"
|
||||
msgstr "未知错误: {}"
|
||||
|
||||
#: settings/utils/ldap.py:524
|
||||
#: settings/utils/ldap.py:527
|
||||
msgid "Bind DN or Password incorrect"
|
||||
msgstr "绑定DN或密码错误"
|
||||
|
||||
#: settings/utils/ldap.py:531
|
||||
#: settings/utils/ldap.py:534
|
||||
msgid "Please enter Bind DN: {}"
|
||||
msgstr "请输入绑定DN: {}"
|
||||
|
||||
#: settings/utils/ldap.py:533
|
||||
#: settings/utils/ldap.py:536
|
||||
msgid "Please enter Password: {}"
|
||||
msgstr "请输入密码: {}"
|
||||
|
||||
#: settings/utils/ldap.py:535
|
||||
#: settings/utils/ldap.py:538
|
||||
msgid "Please enter correct Bind DN and Password: {}"
|
||||
msgstr "请输入正确的绑定DN和密码: {}"
|
||||
|
||||
#: settings/utils/ldap.py:553
|
||||
#: settings/utils/ldap.py:556
|
||||
msgid "Invalid User OU or User search filter: {}"
|
||||
msgstr "不合法的用户OU或用户过滤器: {}"
|
||||
|
||||
#: settings/utils/ldap.py:584
|
||||
#: settings/utils/ldap.py:587
|
||||
msgid "LDAP User attr map not include: {}"
|
||||
msgstr "LDAP属性映射没有包含: {}"
|
||||
|
||||
#: settings/utils/ldap.py:591
|
||||
#: settings/utils/ldap.py:594
|
||||
msgid "LDAP User attr map is not dict"
|
||||
msgstr "LDAP属性映射不合法"
|
||||
|
||||
#: settings/utils/ldap.py:610
|
||||
#: settings/utils/ldap.py:613
|
||||
msgid "LDAP authentication is not enabled"
|
||||
msgstr "LDAP认证没有启用"
|
||||
|
||||
#: settings/utils/ldap.py:628
|
||||
#: settings/utils/ldap.py:631
|
||||
msgid "Error (Invalid LDAP server): {}"
|
||||
msgstr "错误 (不合法的LDAP服务器地址): {}"
|
||||
|
||||
#: settings/utils/ldap.py:630
|
||||
#: settings/utils/ldap.py:633
|
||||
msgid "Error (Invalid Bind DN): {}"
|
||||
msgstr "错误 (不合法的绑定DN): {}"
|
||||
|
||||
#: settings/utils/ldap.py:632
|
||||
#: settings/utils/ldap.py:635
|
||||
msgid "Error (Invalid LDAP User attr map): {}"
|
||||
msgstr "错误 (不合法的LDAP属性映射): {}"
|
||||
|
||||
#: settings/utils/ldap.py:634
|
||||
#: settings/utils/ldap.py:637
|
||||
msgid "Error (Invalid User OU or User search filter): {}"
|
||||
msgstr "错误 (不合法的用户OU或用户过滤器): {}"
|
||||
|
||||
#: settings/utils/ldap.py:636
|
||||
#: settings/utils/ldap.py:639
|
||||
msgid "Error (Not enabled LDAP authentication): {}"
|
||||
msgstr "错误 (没有启用LDAP认证): {}"
|
||||
|
||||
#: settings/utils/ldap.py:638
|
||||
#: settings/utils/ldap.py:641
|
||||
msgid "Error (Unknown): {}"
|
||||
msgstr "错误 (未知): {}"
|
||||
|
||||
#: settings/utils/ldap.py:641
|
||||
#: settings/utils/ldap.py:644
|
||||
msgid "Succeed: Match {} s user"
|
||||
msgstr "成功匹配 {} 个用户"
|
||||
|
||||
#: settings/utils/ldap.py:652
|
||||
#: settings/utils/ldap.py:655
|
||||
msgid "Please test the connection first"
|
||||
msgstr "请先测试连接"
|
||||
|
||||
#: settings/utils/ldap.py:674
|
||||
#: settings/utils/ldap.py:677
|
||||
msgid "Authentication failed (configuration incorrect): {}"
|
||||
msgstr "认证失败 (配置错误): {}"
|
||||
|
||||
#: settings/utils/ldap.py:678
|
||||
#: settings/utils/ldap.py:681
|
||||
msgid "Authentication failed (username or password incorrect): {}"
|
||||
msgstr "认证失败 (用户名或密码不正确): {}"
|
||||
|
||||
#: settings/utils/ldap.py:680
|
||||
#: settings/utils/ldap.py:683
|
||||
msgid "Authentication failed (Unknown): {}"
|
||||
msgstr "认证失败: (未知): {}"
|
||||
|
||||
#: settings/utils/ldap.py:683
|
||||
#: settings/utils/ldap.py:686
|
||||
msgid "Authentication success: {}"
|
||||
msgstr "认证成功: {}"
|
||||
|
||||
|
@ -6709,10 +6730,6 @@ msgstr "登录来源"
|
|||
msgid "Replay"
|
||||
msgstr "回放"
|
||||
|
||||
#: terminal/models/session/session.py:45
|
||||
msgid "Date end"
|
||||
msgstr "结束日期"
|
||||
|
||||
#: terminal/models/session/session.py:47 terminal/serializers/session.py:65
|
||||
msgid "Command amount"
|
||||
msgstr "命令数量"
|
||||
|
@ -8193,7 +8210,7 @@ msgstr "MFA(OTP) 禁用成功,返回登录页面"
|
|||
msgid "Password invalid"
|
||||
msgstr "用户名或密码无效"
|
||||
|
||||
#: users/views/profile/reset.py:64
|
||||
#: users/views/profile/reset.py:65
|
||||
msgid ""
|
||||
"Non-local users can log in only from third-party platforms and cannot change "
|
||||
"their passwords: {}"
|
||||
|
@ -8368,7 +8385,7 @@ msgstr "与"
|
|||
msgid "Or"
|
||||
msgstr "或"
|
||||
|
||||
#: xpack/plugins/cloud/manager.py:56
|
||||
#: xpack/plugins/cloud/manager.py:57
|
||||
msgid "Account unavailable"
|
||||
msgstr "账号无效"
|
||||
|
||||
|
@ -8915,6 +8932,15 @@ msgstr "企业专业版"
|
|||
msgid "Ultimate edition"
|
||||
msgstr "企业旗舰版"
|
||||
|
||||
#~ msgid "SMTP port"
|
||||
#~ msgstr "SMTP 端口"
|
||||
|
||||
#~ msgid "SMTP account"
|
||||
#~ msgstr "SMTP 账号"
|
||||
|
||||
#~ msgid "SMTP password"
|
||||
#~ msgstr "SMTP 密码"
|
||||
|
||||
#~ msgid "Password can not contains `{{` or `}}`"
|
||||
#~ msgstr "密码不能包含 `{{` 或 `}}` 字符"
|
||||
|
||||
|
|
|
@ -137,7 +137,7 @@ class LDAPUserImportAPI(APIView):
|
|||
return Response({'msg': _('Get ldap users is None')}, status=400)
|
||||
|
||||
orgs = self.get_orgs()
|
||||
errors = LDAPImportUtil().perform_import(users, orgs)
|
||||
new_users, errors = LDAPImportUtil().perform_import(users, orgs)
|
||||
if errors:
|
||||
return Response({'errors': errors}, status=400)
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
from django.template.loader import render_to_string
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from common.utils import get_logger
|
||||
from common.utils.timezone import local_now_display
|
||||
from notifications.notifications import UserMessage
|
||||
|
||||
logger = get_logger(__file__)
|
||||
|
||||
|
||||
class LDAPImportMessage(UserMessage):
|
||||
def __init__(self, user, extra_kwargs):
|
||||
super().__init__(user)
|
||||
self.orgs = extra_kwargs.pop('orgs', [])
|
||||
self.end_time = extra_kwargs.pop('end_time', '')
|
||||
self.start_time = extra_kwargs.pop('start_time', '')
|
||||
self.time_start_display = extra_kwargs.pop('time_start_display', '')
|
||||
self.new_users = extra_kwargs.pop('new_users', [])
|
||||
self.errors = extra_kwargs.pop('errors', [])
|
||||
|
||||
def get_html_msg(self) -> dict:
|
||||
subject = _('Notification of Synchronized LDAP User Task Results')
|
||||
context = {
|
||||
'orgs': self.orgs,
|
||||
'start_time': self.time_start_display,
|
||||
'end_time': local_now_display(),
|
||||
'cost_time': self.end_time - self.start_time,
|
||||
'users': self.new_users,
|
||||
'errors': self.errors
|
||||
}
|
||||
message = render_to_string('ldap/_msg_import_ldap_user.html', context)
|
||||
return {
|
||||
'subject': subject,
|
||||
'message': message
|
||||
}
|
|
@ -77,6 +77,9 @@ class LDAPSettingSerializer(serializers.Serializer):
|
|||
required=False, label=_('Connect timeout (s)'),
|
||||
)
|
||||
AUTH_LDAP_SEARCH_PAGED_SIZE = serializers.IntegerField(required=False, label=_('Search paged size (piece)'))
|
||||
AUTH_LDAP_SYNC_RECEIVERS = serializers.ListField(
|
||||
required=False, label=_('Recipient'), max_length=36
|
||||
)
|
||||
|
||||
AUTH_LDAP = serializers.BooleanField(required=False, label=_('Enable LDAP auth'))
|
||||
|
||||
|
|
|
@ -1,15 +1,19 @@
|
|||
# coding: utf-8
|
||||
#
|
||||
import time
|
||||
from celery import shared_task
|
||||
from django.conf import settings
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from common.utils import get_logger
|
||||
from common.utils.timezone import local_now_display
|
||||
from ops.celery.decorator import after_app_ready_start
|
||||
from ops.celery.utils import (
|
||||
create_or_update_celery_periodic_tasks, disable_celery_periodic_task
|
||||
)
|
||||
from orgs.models import Organization
|
||||
from settings.notifications import LDAPImportMessage
|
||||
from users.models import User
|
||||
from ..utils import LDAPSyncUtil, LDAPServerUtil, LDAPImportUtil
|
||||
|
||||
__all__ = ['sync_ldap_user', 'import_ldap_user_periodic', 'import_ldap_user']
|
||||
|
@ -23,6 +27,8 @@ def sync_ldap_user():
|
|||
|
||||
@shared_task(verbose_name=_('Periodic import ldap user'))
|
||||
def import_ldap_user():
|
||||
start_time = time.time()
|
||||
time_start_display = local_now_display()
|
||||
logger.info("Start import ldap user task")
|
||||
util_server = LDAPServerUtil()
|
||||
util_import = LDAPImportUtil()
|
||||
|
@ -35,11 +41,25 @@ def import_ldap_user():
|
|||
org_ids = [Organization.DEFAULT_ID]
|
||||
default_org = Organization.default()
|
||||
orgs = list(set([Organization.get_instance(org_id, default=default_org) for org_id in org_ids]))
|
||||
errors = util_import.perform_import(users, orgs)
|
||||
new_users, errors = util_import.perform_import(users, orgs)
|
||||
if errors:
|
||||
logger.error("Imported LDAP users errors: {}".format(errors))
|
||||
else:
|
||||
logger.info('Imported {} users successfully'.format(len(users)))
|
||||
if settings.AUTH_LDAP_SYNC_RECEIVERS:
|
||||
user_ids = settings.AUTH_LDAP_SYNC_RECEIVERS
|
||||
recipient_list = User.objects.filter(id__in=list(user_ids))
|
||||
end_time = time.time()
|
||||
extra_kwargs = {
|
||||
'orgs': orgs,
|
||||
'end_time': end_time,
|
||||
'start_time': start_time,
|
||||
'time_start_display': time_start_display,
|
||||
'new_users': new_users,
|
||||
'errors': errors,
|
||||
}
|
||||
for user in recipient_list:
|
||||
LDAPImportMessage(user, extra_kwargs).publish()
|
||||
|
||||
|
||||
@shared_task(verbose_name=_('Registration periodic import ldap user task'))
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
{% load i18n %}
|
||||
<p>{% trans "Sync task Finish" %}</p>
|
||||
<b>{% trans 'Time' %}:</b>
|
||||
<ul>
|
||||
<li>{% trans 'Date start' %}: {{ start_time }}</li>
|
||||
<li>{% trans 'Date end' %}: {{ end_time }}</li>
|
||||
<li>{% trans 'Time cost' %}: {{ cost_time| floatformat:0 }}s</li>
|
||||
</ul>
|
||||
<b>{% trans "Synced Organization" %}:</b>
|
||||
<ul>
|
||||
{% for org in orgs %}
|
||||
<li>{{ org }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<b>{% trans "Synced User" %}:</b>
|
||||
<ul>
|
||||
{% for user in users %}
|
||||
<li>{{ user }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% if errors %}
|
||||
<b>{% trans 'Error' %}:</b>
|
||||
<ul>
|
||||
{% for error in errors %}
|
||||
<li>{{ error }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
|
|
@ -400,11 +400,14 @@ class LDAPImportUtil(object):
|
|||
logger.info('Start perform import ldap users, count: {}'.format(len(users)))
|
||||
errors = []
|
||||
objs = []
|
||||
new_users = []
|
||||
group_users_mapper = defaultdict(set)
|
||||
for user in users:
|
||||
groups = user.pop('groups', [])
|
||||
try:
|
||||
obj, created = self.update_or_create(user)
|
||||
if created:
|
||||
new_users.append(obj)
|
||||
objs.append(obj)
|
||||
except Exception as e:
|
||||
errors.append({user['username']: str(e)})
|
||||
|
@ -421,7 +424,7 @@ class LDAPImportUtil(object):
|
|||
for org in orgs:
|
||||
self.bind_org(org, objs, group_users_mapper)
|
||||
logger.info('End perform import ldap users')
|
||||
return errors
|
||||
return new_users, errors
|
||||
|
||||
def exit_user_group(self, user_groups_mapper):
|
||||
# 通过对比查询本次导入用户需要移除的用户组
|
||||
|
|
Loading…
Reference in New Issue