perf: 企业微信、钉钉工单审批增加拒绝功能 (#8208)

* perf: 工单直接审批增加拒绝功能

* feat: 翻译

* perf: 修改动作名词

* perf: 修改翻译
pull/8217/head
jiangweidong 2022-05-10 16:30:25 +08:00 committed by GitHub
parent 094446c548
commit b44fa64994
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 282 additions and 270 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-05 13:03+0800\n"
"POT-Creation-Date: 2022-05-10 10:46+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"
@ -30,8 +30,8 @@ msgstr "Acls"
#: orgs/models.py:65 perms/models/base.py:83 rbac/models/role.py:29
#: settings/models.py:29 settings/serializers/sms.py:6
#: terminal/models/endpoint.py:10 terminal/models/endpoint.py:58
#: terminal/models/storage.py:24 terminal/models/task.py:16
#: terminal/models/terminal.py:100 users/forms/profile.py:32
#: terminal/models/storage.py:25 terminal/models/task.py:16
#: terminal/models/terminal.py:100 users/forms/profile.py:33
#: users/models/group.py:15 users/models/user.py:661
#: xpack/plugins/cloud/models.py:28
msgid "Name"
@ -62,7 +62,7 @@ msgstr "アクティブ"
#: assets/models/label.py:23 ops/models/adhoc.py:38 orgs/models.py:68
#: perms/models/base.py:93 rbac/models/role.py:37 settings/models.py:34
#: terminal/models/endpoint.py:20 terminal/models/endpoint.py:68
#: terminal/models/storage.py:27 terminal/models/terminal.py:114
#: terminal/models/storage.py:28 terminal/models/terminal.py:114
#: tickets/models/comment.py:24 tickets/models/ticket.py:154
#: users/models/group.py:16 users/models/user.py:698
#: xpack/plugins/change_auth_plan/models/base.py:44
@ -153,11 +153,11 @@ msgstr "コンマ区切り文字列の形式。* はすべて一致すること
#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:17
#: acls/serializers/login_asset_acl.py:51 assets/models/base.py:176
#: assets/models/gathered_user.py:15 audits/models.py:121
#: authentication/forms.py:15 authentication/forms.py:17
#: authentication/forms.py:25 authentication/forms.py:27
#: authentication/models.py:69
#: authentication/templates/authentication/_msg_different_city.html:9
#: authentication/templates/authentication/_msg_oauth_bind.html:9
#: ops/models/adhoc.py:159 users/forms/profile.py:31 users/models/user.py:659
#: ops/models/adhoc.py:159 users/forms/profile.py:32 users/models/user.py:659
#: users/templates/users/_msg_user_created.html:12
#: xpack/plugins/change_auth_plan/models/asset.py:34
#: xpack/plugins/change_auth_plan/models/asset.py:195
@ -305,7 +305,7 @@ msgstr "カテゴリ"
#: assets/models/cmd_filter.py:82 assets/models/user.py:246
#: perms/models/application_permission.py:24
#: perms/serializers/application/user_permission.py:34
#: terminal/models/storage.py:56 terminal/models/storage.py:136
#: terminal/models/storage.py:57 terminal/models/storage.py:141
#: tickets/models/flow.py:56 tickets/models/ticket.py:131
#: tickets/serializers/ticket/meta/ticket_type/apply_application.py:29
#: xpack/plugins/change_auth_plan/models/app.py:28
@ -757,9 +757,9 @@ msgid "Date verified"
msgstr "確認済みの日付"
#: assets/models/base.py:177 audits/signal_handlers.py:48
#: authentication/forms.py:22
#: authentication/templates/authentication/login.html:181
#: settings/serializers/auth/ldap.py:43 users/forms/profile.py:21
#: authentication/forms.py:32
#: authentication/templates/authentication/login.html:182
#: settings/serializers/auth/ldap.py:45 users/forms/profile.py:22
#: users/templates/users/_msg_user_created.html:13
#: users/templates/users/user_password_verify.html:18
#: xpack/plugins/change_auth_plan/models/base.py:42
@ -1108,7 +1108,7 @@ msgid "Actions"
msgstr "アクション"
#: assets/serializers/backup.py:31 ops/mixin.py:106 ops/mixin.py:147
#: settings/serializers/auth/ldap.py:62
#: settings/serializers/auth/ldap.py:64
#: xpack/plugins/change_auth_plan/serializers/base.py:42
msgid "Periodic perform"
msgstr "定期的なパフォーマンス"
@ -1118,11 +1118,11 @@ msgstr "定期的なパフォーマンス"
msgid "Currently only mail sending is supported"
msgstr "現在、メール送信のみがサポートされています"
#: assets/serializers/base.py:36
#: assets/serializers/base.py:39
msgid "Key password"
msgstr "キーパスワード"
#: assets/serializers/base.py:49
#: assets/serializers/base.py:52
msgid "private key invalid or passphrase error"
msgstr "秘密鍵が無効またはpassphraseエラー"
@ -1313,11 +1313,11 @@ msgstr "プラットフォームのプッシュシステムユーザーを開始
msgid "Hosts count: {}"
msgstr "ホスト数: {}"
#: assets/tasks/push_system_user.py:259 assets/tasks/push_system_user.py:292
#: assets/tasks/push_system_user.py:263 assets/tasks/push_system_user.py:296
msgid "Push system users to assets: "
msgstr "システムユーザーを資産にプッシュする:"
#: assets/tasks/push_system_user.py:271
#: assets/tasks/push_system_user.py:275
msgid "Push system users to asset: "
msgstr "システムユーザーをアセットにプッシュする:"
@ -1401,8 +1401,8 @@ msgstr "操作"
msgid "Filename"
msgstr "ファイル名"
#: audits/models.py:43 audits/models.py:115 terminal/models/sharing.py:90
#: tickets/views/approve.py:93
#: audits/models.py:43 audits/models.py:117 terminal/models/sharing.py:90
#: tickets/views/approve.py:98
#: xpack/plugins/change_auth_plan/serializers/app.py:87
#: xpack/plugins/change_auth_plan/serializers/asset.py:197
msgid "Success"
@ -1418,7 +1418,6 @@ msgstr "ファイル転送ログ"
msgid "Create"
msgstr "作成"
#: audits/models.py:56 rbac/tree.py:227 templates/_csv_import_export.html:18
#: audits/models.py:57 rbac/tree.py:226
msgid "View"
msgstr "表示"
@ -1486,8 +1485,8 @@ msgstr "ユーザーエージェント"
#: audits/models.py:126
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: users/forms/profile.py:64 users/models/user.py:684
#: users/serializers/profile.py:121
#: users/forms/profile.py:65 users/models/user.py:684
#: users/serializers/profile.py:124
msgid "MFA"
msgstr "MFA"
@ -1562,14 +1561,13 @@ msgstr "SSO"
msgid "Auth Token"
msgstr "認証トークン"
#: audits/signal_handlers.py:71 authentication/notifications.py:73
#: audits/signal_handlers.py:51 authentication/notifications.py:73
#: authentication/views/login.py:164 authentication/views/wecom.py:181
#: authentication/views/login.py:164 authentication/views/wecom.py:182
#: notifications/backends/__init__.py:11 users/models/user.py:720
msgid "WeCom"
msgstr "企業微信"
#: audits/signal_handlers.py:72 authentication/views/dingtalk.py:183
#: audits/signal_handlers.py:52 authentication/views/dingtalk.py:183
#: authentication/views/login.py:170 notifications/backends/__init__.py:12
#: users/models/user.py:721
msgid "DingTalk"
@ -1936,15 +1934,15 @@ msgstr "期間は許可されていません"
msgid "SSO auth closed"
msgstr "SSO authは閉鎖されました"
#: authentication/errors.py:300 authentication/mixins.py:372
#: authentication/errors.py:300 authentication/mixins.py:305
msgid "Your password is too simple, please change it for security"
msgstr "パスワードがシンプルすぎるので、セキュリティのために変更してください"
#: authentication/errors.py:309 authentication/mixins.py:379
#: authentication/errors.py:309 authentication/mixins.py:312
msgid "You should to change your password before login"
msgstr "ログインする前にパスワードを変更する必要があります"
#: authentication/errors.py:318 authentication/mixins.py:386
#: authentication/errors.py:318 authentication/mixins.py:319
msgid "Your password has expired, please reset before logging in"
msgstr ""
"パスワードの有効期限が切れました。ログインする前にリセットしてください。"
@ -1965,23 +1963,23 @@ msgstr "SMSコードを入力してください"
msgid "Phone not set"
msgstr "電話が設定されていない"
#: authentication/forms.py:35
#: authentication/forms.py:45
msgid "{} days auto login"
msgstr "{} 日自動ログイン"
#: authentication/forms.py:46
#: authentication/forms.py:56
msgid "MFA Code"
msgstr "MFAコード"
#: authentication/forms.py:47
#: authentication/forms.py:57
msgid "MFA type"
msgstr "MFAタイプ"
#: authentication/forms.py:60 users/forms/profile.py:27
#: authentication/forms.py:70 users/forms/profile.py:28
msgid "MFA code"
msgstr "MFAコード"
#: authentication/forms.py:62
#: authentication/forms.py:72
msgid "Dynamic code"
msgstr "動的コード"
@ -2037,11 +2035,11 @@ msgstr "電話番号を設定して有効にする"
msgid "Clear phone number to disable"
msgstr "無効にする電話番号をクリアする"
#: authentication/mixins.py:322
#: authentication/mixins.py:255
msgid "The MFA type ({}) is not enabled"
msgstr "MFAタイプ ({}) が有効になっていない"
#: authentication/mixins.py:362
#: authentication/mixins.py:295
msgid "Please change your password"
msgstr "パスワードを変更してください"
@ -2134,13 +2132,13 @@ msgstr "表示"
#: authentication/templates/authentication/_access_key_modal.html:66
#: settings/serializers/security.py:39 users/models/user.py:556
#: users/serializers/profile.py:111 users/templates/users/mfa_setting.html:61
#: users/serializers/profile.py:114 users/templates/users/mfa_setting.html:61
#: users/templates/users/user_verify_mfa.html:36
msgid "Disable"
msgstr "無効化"
#: authentication/templates/authentication/_access_key_modal.html:67
#: users/models/user.py:557 users/serializers/profile.py:112
#: users/models/user.py:557 users/serializers/profile.py:115
#: users/templates/users/mfa_setting.html:26
#: users/templates/users/mfa_setting.html:68
msgid "Enable"
@ -2161,7 +2159,7 @@ msgid "Play CAPTCHA as audio file"
msgstr "CAPTCHAをオーディオファイルとして再生する"
#: authentication/templates/authentication/_captcha_field.html:15
#: users/forms/profile.py:102
#: users/forms/profile.py:103
msgid "Captcha"
msgstr "キャプチャ"
@ -2279,23 +2277,23 @@ msgstr ""
"公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可"
"能性があります"
#: authentication/templates/authentication/login.html:173
#: authentication/templates/authentication/login.html:174
msgid "Welcome back, please enter username and password to login"
msgstr ""
"おかえりなさい、ログインするためにユーザー名とパスワードを入力してください"
#: authentication/templates/authentication/login.html:209
#: authentication/templates/authentication/login.html:210
#: users/templates/users/forgot_password.html:15
#: users/templates/users/forgot_password.html:16
msgid "Forgot password"
msgstr "パスワードを忘れた"
#: authentication/templates/authentication/login.html:216
#: authentication/templates/authentication/login.html:217
#: templates/_header_bar.html:89
msgid "Login"
msgstr "ログイン"
#: authentication/templates/authentication/login.html:223
#: authentication/templates/authentication/login.html:224
msgid "More login options"
msgstr "その他のログインオプション"
@ -2501,6 +2499,34 @@ msgstr "%(name)s は正常に更新されました"
msgid "ugettext_lazy"
msgstr "ugettext_lazy"
#: common/db/fields.py:80
msgid "Marshal dict data to char field"
msgstr "チャーフィールドへのマーシャルディクトデータ"
#: common/db/fields.py:84
msgid "Marshal dict data to text field"
msgstr "テキストフィールドへのマーシャルディクトデータ"
#: common/db/fields.py:96
msgid "Marshal list data to char field"
msgstr "元帥リストデータをチャーフィールドに"
#: common/db/fields.py:100
msgid "Marshal list data to text field"
msgstr "マーシャルリストデータをテキストフィールドに"
#: common/db/fields.py:104
msgid "Marshal data to char field"
msgstr "チャーフィールドへのマーシャルデータ"
#: common/db/fields.py:108
msgid "Marshal data to text field"
msgstr "テキストフィールドへのマーシャルデータ"
#: common/db/fields.py:150
msgid "Encrypt field using Secret Key"
msgstr "Secret Keyを使用したフィールドの暗号化"
#: common/db/models.py:112
msgid "Updated by"
msgstr "によって更新"
@ -2546,34 +2572,6 @@ msgstr "このアクションでは、MFAの確認が必要です。"
msgid "Unexpect error occur"
msgstr "予期しないエラーが発生します"
#: common/fields/model.py:80
msgid "Marshal dict data to char field"
msgstr "チャーフィールドへのマーシャルディクトデータ"
#: common/fields/model.py:84
msgid "Marshal dict data to text field"
msgstr "テキストフィールドへのマーシャルディクトデータ"
#: common/fields/model.py:96
msgid "Marshal list data to char field"
msgstr "元帥リストデータをチャーフィールドに"
#: common/fields/model.py:100
msgid "Marshal list data to text field"
msgstr "マーシャルリストデータをテキストフィールドに"
#: common/fields/model.py:104
msgid "Marshal data to char field"
msgstr "チャーフィールドへのマーシャルデータ"
#: common/fields/model.py:108
msgid "Marshal data to text field"
msgstr "テキストフィールドへのマーシャルデータ"
#: common/fields/model.py:150
msgid "Encrypt field using Secret Key"
msgstr "Secret Keyを使用したフィールドの暗号化"
#: common/mixins/api/action.py:52
msgid "Request file format may be wrong"
msgstr "リクエストファイルの形式が間違っている可能性があります"
@ -2586,15 +2584,15 @@ msgstr "は破棄されます"
msgid "discard time"
msgstr "時間を捨てる"
#: common/mixins/views.py:41
#: common/mixins/views.py:42
msgid "Export all"
msgstr "すべてエクスポート"
#: common/mixins/views.py:43
#: common/mixins/views.py:44
msgid "Export only selected items"
msgstr "選択項目のみエクスポート"
#: common/mixins/views.py:48
#: common/mixins/views.py:49
#, python-format
msgid "Export filtered: %s"
msgstr "検索のエクスポート: %s"
@ -2711,7 +2709,7 @@ msgstr ""
msgid "Notifications"
msgstr "通知"
#: notifications/backends/__init__.py:10 users/forms/profile.py:101
#: notifications/backends/__init__.py:10 users/forms/profile.py:102
#: users/models/user.py:663
msgid "Email"
msgstr "メール"
@ -2733,12 +2731,12 @@ msgid "App ops"
msgstr "アプリ操作"
#: ops/mixin.py:29 ops/mixin.py:92 ops/mixin.py:162
#: settings/serializers/auth/ldap.py:69
#: settings/serializers/auth/ldap.py:71
msgid "Cycle perform"
msgstr "サイクル実行"
#: ops/mixin.py:33 ops/mixin.py:90 ops/mixin.py:109 ops/mixin.py:150
#: settings/serializers/auth/ldap.py:66
#: settings/serializers/auth/ldap.py:68
msgid "Regularly perform"
msgstr "定期的に実行する"
@ -2928,7 +2926,7 @@ msgstr "アプリ組織"
#: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:80
#: orgs/models.py:211 rbac/const.py:7 rbac/models/rolebinding.py:48
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:59
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:61
#: tickets/serializers/ticket/ticket.py:77
msgid "Organization"
msgstr "組織"
@ -3134,15 +3132,15 @@ msgstr "質問があったら、管理者に連絡して下さい"
msgid "My applications"
msgstr "私のアプリケーション"
#: rbac/api/role.py:33
#: rbac/api/role.py:34
msgid "Internal role, can't be destroy"
msgstr "内部の役割は、破壊することはできません"
#: rbac/api/role.py:37
#: rbac/api/role.py:38
msgid "The role has been bound to users, can't be destroy"
msgstr "ロールはユーザーにバインドされており、破壊することはできません"
#: rbac/api/role.py:44
#: rbac/api/role.py:45
msgid "Internal role, can't be update"
msgstr "内部ロール、更新できません"
@ -3245,7 +3243,7 @@ msgstr "組織の役割バインディング"
msgid "System role binding"
msgstr "システムロールバインディング"
#: rbac/serializers/permission.py:26 users/serializers/profile.py:127
#: rbac/serializers/permission.py:26 users/serializers/profile.py:130
msgid "Perms"
msgstr "パーマ"
@ -3507,40 +3505,40 @@ msgstr "ピン認証の有効化"
msgid "Enable FeiShu Auth"
msgstr "飛本認証の有効化"
#: settings/serializers/auth/ldap.py:38
#: settings/serializers/auth/ldap.py:40
msgid "LDAP server"
msgstr "LDAPサーバー"
#: settings/serializers/auth/ldap.py:39
#: settings/serializers/auth/ldap.py:41
msgid "eg: ldap://localhost:389"
msgstr "例: ldap://localhost:389"
#: settings/serializers/auth/ldap.py:41
#: settings/serializers/auth/ldap.py:43
msgid "Bind DN"
msgstr "DN のバインド"
#: settings/serializers/auth/ldap.py:46
#: settings/serializers/auth/ldap.py:48
msgid "User OU"
msgstr "ユーザー OU"
#: settings/serializers/auth/ldap.py:47
#: settings/serializers/auth/ldap.py:49
msgid "Use | split multi OUs"
msgstr "使用 | splitマルチ OU"
#: settings/serializers/auth/ldap.py:50
#: settings/serializers/auth/ldap.py:52
msgid "User search filter"
msgstr "ユーザー検索フィルター"
#: settings/serializers/auth/ldap.py:51
#: settings/serializers/auth/ldap.py:53
#, python-format
msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)"
msgstr "選択は (cnまたはuidまたはsAMAccountName)=%(user)s)"
#: settings/serializers/auth/ldap.py:54
#: settings/serializers/auth/ldap.py:56
msgid "User attr map"
msgstr "ユーザー属性マッピング"
#: settings/serializers/auth/ldap.py:55
#: settings/serializers/auth/ldap.py:57
msgid ""
"User attr map present how to map LDAP user attr to jumpserver, username,name,"
"email is jumpserver attr"
@ -3548,15 +3546,15 @@ msgstr ""
"ユーザー属性マッピングは、LDAPのユーザー属性をjumpserverユーザーにマッピング"
"する方法、username, name,emailはjumpserverのユーザーが必要とする属性です"
#: settings/serializers/auth/ldap.py:73
#: settings/serializers/auth/ldap.py:75
msgid "Connect timeout"
msgstr "接続タイムアウト"
#: settings/serializers/auth/ldap.py:75
#: settings/serializers/auth/ldap.py:77
msgid "Search paged size"
msgstr "ページサイズを検索"
#: settings/serializers/auth/ldap.py:77
#: settings/serializers/auth/ldap.py:79
msgid "Enable LDAP auth"
msgstr "LDAP認証の有効化"
@ -4420,7 +4418,7 @@ msgstr "ドキュメント"
msgid "Commercial support"
msgstr "商用サポート"
#: templates/_header_bar.html:76 users/forms/profile.py:43
#: templates/_header_bar.html:76 users/forms/profile.py:44
msgid "Profile"
msgstr "プロフィール"
@ -4883,15 +4881,15 @@ msgstr "スレッド"
msgid "Boot Time"
msgstr "ブート時間"
#: terminal/models/storage.py:26
#: terminal/models/storage.py:27
msgid "Default storage"
msgstr "デフォルトのストレージ"
#: terminal/models/storage.py:130 terminal/models/terminal.py:108
#: terminal/models/storage.py:135 terminal/models/terminal.py:108
msgid "Command storage"
msgstr "コマンドストレージ"
#: terminal/models/storage.py:190 terminal/models/terminal.py:109
#: terminal/models/storage.py:195 terminal/models/terminal.py:109
msgid "Replay storage"
msgstr "再生ストレージ"
@ -5016,18 +5014,14 @@ msgid "Whether to create an index by date"
msgstr "現在の日付に基づいてインデックスを動的に作成するかどうか"
#: terminal/serializers/storage.py:163
msgid "Index prefix"
msgstr "インデックス接頭辞"
#: terminal/serializers/storage.py:166
msgid "Index"
msgstr "インデックス"
#: terminal/serializers/storage.py:168
#: terminal/serializers/storage.py:165
msgid "Doc type"
msgstr "Docタイプ"
#: terminal/serializers/storage.py:170
#: terminal/serializers/storage.py:167
msgid "Ignore Certificate Verification"
msgstr "証明書の検証を無視する"
@ -5489,17 +5483,19 @@ msgid "Ticket information"
msgstr "作業指示情報"
#: tickets/templates/tickets/approve_check_password.html:19
#, fuzzy
#| msgid "Ticket flow approval rule"
#: tickets/views/approve.py:25
msgid "Ticket approval"
msgstr "作業指示の承認"
#: tickets/templates/tickets/approve_check_password.html:35
#: tickets/views/approve.py:25
msgid "Ticket direct approval"
msgstr "作業指示の直接承認"
#: tickets/templates/tickets/approve_check_password.html:40
#: tickets/templates/tickets/approve_check_password.html:39
msgid "Ticket direct reject"
msgstr "作業指示の直接却下"
#: tickets/templates/tickets/approve_check_password.html:44
msgid "Go Login"
msgstr "ログイン"
@ -5511,14 +5507,18 @@ msgstr ""
"なっています"
#: tickets/views/approve.py:55
msgid "Click the button to approve directly"
msgstr "ボタンをクリックすると、直接承認に成功します。"
msgid "Click the button below to approve or reject"
msgstr "下のボタンをクリックして同意または拒否。"
#: tickets/views/approve.py:57
msgid "After successful authentication, this ticket can be approved directly"
msgstr "認証に成功した後、作業指示書は直接承認することができる。"
#: tickets/views/approve.py:84
#: tickets/views/approve.py:79
msgid "Illegal approval action"
msgstr "無効な承認アクション"
#: tickets/views/approve.py:89
msgid "This user is not authorized to approve this ticket"
msgstr "このユーザーはこの作業指示を承認する権限がありません"
@ -5558,7 +5558,7 @@ msgstr "MFAが有効化されていません"
msgid "MFA method not support"
msgstr "MFAメソッドはサポートしていません"
#: users/forms/profile.py:49
#: users/forms/profile.py:50
msgid ""
"When enabled, you will enter the MFA binding process the next time you log "
"in. you can also directly bind in \"personal information -> quick "
@ -5567,11 +5567,11 @@ msgstr ""
"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入りま"
"す。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!"
#: users/forms/profile.py:60
#: users/forms/profile.py:61
msgid "* Enable MFA to make the account more secure."
msgstr "* アカウントをより安全にするためにMFAを有効にします。"
#: users/forms/profile.py:69
#: users/forms/profile.py:70
msgid ""
"In order to protect you and your company, please keep your account, password "
"and key sensitive information properly. (for example: setting complex "
@ -5580,56 +5580,56 @@ msgstr ""
"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報"
"を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)"
#: users/forms/profile.py:76
#: users/forms/profile.py:77
msgid "Finish"
msgstr "仕上げ"
#: users/forms/profile.py:83
#: users/forms/profile.py:84
msgid "New password"
msgstr "新しいパスワード"
#: users/forms/profile.py:88
#: users/forms/profile.py:89
msgid "Confirm password"
msgstr "パスワードの確認"
#: users/forms/profile.py:96
#: users/forms/profile.py:97
msgid "Password does not match"
msgstr "パスワードが一致しない"
#: users/forms/profile.py:108
#: users/forms/profile.py:109
msgid "Old password"
msgstr "古いパスワード"
#: users/forms/profile.py:118
#: users/forms/profile.py:119
msgid "Old password error"
msgstr "古いパスワードエラー"
#: users/forms/profile.py:128
#: users/forms/profile.py:129
msgid "Automatically configure and download the SSH key"
msgstr "SSHキーの自動設定とダウンロード"
#: users/forms/profile.py:130
#: users/forms/profile.py:131
msgid "ssh public key"
msgstr "ssh公開キー"
#: users/forms/profile.py:131
#: users/forms/profile.py:132
msgid "ssh-rsa AAAA..."
msgstr "ssh-rsa AAAA.."
#: users/forms/profile.py:132
#: users/forms/profile.py:133
msgid "Paste your id_rsa.pub here."
msgstr "ここにid_rsa.pubを貼り付けます。"
#: users/forms/profile.py:145
#: users/forms/profile.py:146
msgid "Public key should not be the same as your old one."
msgstr "公開鍵は古いものと同じであってはなりません。"
#: users/forms/profile.py:149 users/serializers/profile.py:95
#: users/serializers/profile.py:178 users/serializers/profile.py:205
#: users/forms/profile.py:150 users/serializers/profile.py:98
#: users/serializers/profile.py:181 users/serializers/profile.py:208
msgid "Not a valid ssh public key"
msgstr "有効なssh公開鍵ではありません"
#: users/forms/profile.py:160 users/models/user.py:692
#: users/forms/profile.py:161 users/models/user.py:692
msgid "Public key"
msgstr "公開キー"
@ -5724,23 +5724,23 @@ msgstr "SSHキーのリセット"
msgid "Reset MFA"
msgstr "MFAのリセット"
#: users/serializers/profile.py:29
#: users/serializers/profile.py:30
msgid "The old password is incorrect"
msgstr "古いパスワードが正しくありません"
#: users/serializers/profile.py:36 users/serializers/profile.py:192
#: users/serializers/profile.py:37 users/serializers/profile.py:195
msgid "Password does not match security rules"
msgstr "パスワードがセキュリティルールと一致しない"
#: users/serializers/profile.py:40
#: users/serializers/profile.py:41
msgid "The new password cannot be the last {} passwords"
msgstr "新しいパスワードを最後の {} 個のパスワードにすることはできません"
#: users/serializers/profile.py:46 users/serializers/profile.py:66
#: users/serializers/profile.py:49 users/serializers/profile.py:69
msgid "The newly set password is inconsistent"
msgstr "新しく設定されたパスワードが一致しない"
#: users/serializers/profile.py:144 users/serializers/user.py:140
#: users/serializers/profile.py:147 users/serializers/user.py:140
msgid "Is first login"
msgstr "最初のログインです"
@ -6773,11 +6773,11 @@ msgstr "ログアウトページのロゴ"
msgid "Interface setting"
msgstr "インターフェイスの設定"
#: xpack/plugins/license/api.py:43
#: xpack/plugins/license/api.py:50
msgid "License import successfully"
msgstr "ライセンスのインポートに成功"
#: xpack/plugins/license/api.py:44
#: xpack/plugins/license/api.py:51
msgid "License is invalid"
msgstr "ライセンスが無効です"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-05 13:03+0800\n"
"POT-Creation-Date: 2022-05-10 10:45+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"
@ -29,8 +29,8 @@ msgstr "访问控制"
#: orgs/models.py:65 perms/models/base.py:83 rbac/models/role.py:29
#: settings/models.py:29 settings/serializers/sms.py:6
#: terminal/models/endpoint.py:10 terminal/models/endpoint.py:58
#: terminal/models/storage.py:24 terminal/models/task.py:16
#: terminal/models/terminal.py:100 users/forms/profile.py:32
#: terminal/models/storage.py:25 terminal/models/task.py:16
#: terminal/models/terminal.py:100 users/forms/profile.py:33
#: users/models/group.py:15 users/models/user.py:661
#: xpack/plugins/cloud/models.py:28
msgid "Name"
@ -61,7 +61,7 @@ msgstr "激活中"
#: assets/models/label.py:23 ops/models/adhoc.py:38 orgs/models.py:68
#: perms/models/base.py:93 rbac/models/role.py:37 settings/models.py:34
#: terminal/models/endpoint.py:20 terminal/models/endpoint.py:68
#: terminal/models/storage.py:27 terminal/models/terminal.py:114
#: terminal/models/storage.py:28 terminal/models/terminal.py:114
#: tickets/models/comment.py:24 tickets/models/ticket.py:154
#: users/models/group.py:16 users/models/user.py:698
#: xpack/plugins/change_auth_plan/models/base.py:44
@ -152,11 +152,11 @@ msgstr "格式为逗号分隔的字符串, * 表示匹配所有. "
#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:17
#: acls/serializers/login_asset_acl.py:51 assets/models/base.py:176
#: assets/models/gathered_user.py:15 audits/models.py:121
#: authentication/forms.py:15 authentication/forms.py:17
#: authentication/forms.py:25 authentication/forms.py:27
#: authentication/models.py:69
#: authentication/templates/authentication/_msg_different_city.html:9
#: authentication/templates/authentication/_msg_oauth_bind.html:9
#: ops/models/adhoc.py:159 users/forms/profile.py:31 users/models/user.py:659
#: ops/models/adhoc.py:159 users/forms/profile.py:32 users/models/user.py:659
#: users/templates/users/_msg_user_created.html:12
#: xpack/plugins/change_auth_plan/models/asset.py:34
#: xpack/plugins/change_auth_plan/models/asset.py:195
@ -300,7 +300,7 @@ msgstr "类别"
#: assets/models/cmd_filter.py:82 assets/models/user.py:246
#: perms/models/application_permission.py:24
#: perms/serializers/application/user_permission.py:34
#: terminal/models/storage.py:56 terminal/models/storage.py:136
#: terminal/models/storage.py:57 terminal/models/storage.py:141
#: tickets/models/flow.py:56 tickets/models/ticket.py:131
#: tickets/serializers/ticket/meta/ticket_type/apply_application.py:29
#: xpack/plugins/change_auth_plan/models/app.py:28
@ -752,9 +752,9 @@ msgid "Date verified"
msgstr "校验日期"
#: assets/models/base.py:177 audits/signal_handlers.py:48
#: authentication/forms.py:22
#: authentication/templates/authentication/login.html:181
#: settings/serializers/auth/ldap.py:43 users/forms/profile.py:21
#: authentication/forms.py:32
#: authentication/templates/authentication/login.html:182
#: settings/serializers/auth/ldap.py:45 users/forms/profile.py:22
#: users/templates/users/_msg_user_created.html:13
#: users/templates/users/user_password_verify.html:18
#: xpack/plugins/change_auth_plan/models/base.py:42
@ -1100,7 +1100,7 @@ msgid "Actions"
msgstr "动作"
#: assets/serializers/backup.py:31 ops/mixin.py:106 ops/mixin.py:147
#: settings/serializers/auth/ldap.py:62
#: settings/serializers/auth/ldap.py:64
#: xpack/plugins/change_auth_plan/serializers/base.py:42
msgid "Periodic perform"
msgstr "定时执行"
@ -1110,11 +1110,11 @@ msgstr "定时执行"
msgid "Currently only mail sending is supported"
msgstr "当前只支持邮件发送"
#: assets/serializers/base.py:36
#: assets/serializers/base.py:39
msgid "Key password"
msgstr "密钥密码"
#: assets/serializers/base.py:49
#: assets/serializers/base.py:52
msgid "private key invalid or passphrase error"
msgstr "密钥不合法或密钥密码错误"
@ -1301,11 +1301,11 @@ msgstr "推送系统用户到平台: [{}]"
msgid "Hosts count: {}"
msgstr "主机数量: {}"
#: assets/tasks/push_system_user.py:259 assets/tasks/push_system_user.py:292
#: assets/tasks/push_system_user.py:263 assets/tasks/push_system_user.py:296
msgid "Push system users to assets: "
msgstr "推送系统用户到入资产: "
#: assets/tasks/push_system_user.py:271
#: assets/tasks/push_system_user.py:275
msgid "Push system users to asset: "
msgstr "推送系统用户到入资产: "
@ -1389,8 +1389,8 @@ msgstr "操作"
msgid "Filename"
msgstr "文件名"
#: audits/models.py:43 audits/models.py:115 terminal/models/sharing.py:90
#: tickets/views/approve.py:93
#: audits/models.py:43 audits/models.py:117 terminal/models/sharing.py:90
#: tickets/views/approve.py:98
#: xpack/plugins/change_auth_plan/serializers/app.py:87
#: xpack/plugins/change_auth_plan/serializers/asset.py:197
msgid "Success"
@ -1406,7 +1406,11 @@ msgstr "文件管理"
msgid "Create"
msgstr "创建"
#: audits/models.py:56 rbac/tree.py:227 templates/_csv_import_export.html:18
#: audits/models.py:57 rbac/tree.py:226
msgid "View"
msgstr "查看"
#: audits/models.py:58 rbac/tree.py:227 templates/_csv_import_export.html:18
#: templates/_csv_update_modal.html:6
msgid "Update"
msgstr "更新"
@ -1469,8 +1473,8 @@ msgstr "用户代理"
#: audits/models.py:126
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: users/forms/profile.py:64 users/models/user.py:684
#: users/serializers/profile.py:121
#: users/forms/profile.py:65 users/models/user.py:684
#: users/serializers/profile.py:124
msgid "MFA"
msgstr "MFA"
@ -1545,13 +1549,13 @@ msgstr "SSO"
msgid "Auth Token"
msgstr "认证令牌"
#: audits/signal_handlers.py:71 authentication/notifications.py:73
#: audits/signal_handlers.py:51 authentication/notifications.py:73
#: authentication/views/login.py:164 authentication/views/wecom.py:182
#: notifications/backends/__init__.py:11 users/models/user.py:720
msgid "WeCom"
msgstr "企业微信"
#: audits/signal_handlers.py:72 authentication/views/dingtalk.py:183
#: audits/signal_handlers.py:52 authentication/views/dingtalk.py:183
#: authentication/views/login.py:170 notifications/backends/__init__.py:12
#: users/models/user.py:721
msgid "DingTalk"
@ -1910,15 +1914,15 @@ msgstr "该 时间段 不被允许登录"
msgid "SSO auth closed"
msgstr "SSO 认证关闭了"
#: authentication/errors.py:300 authentication/mixins.py:372
#: authentication/errors.py:300 authentication/mixins.py:305
msgid "Your password is too simple, please change it for security"
msgstr "你的密码过于简单,为了安全,请修改"
#: authentication/errors.py:309 authentication/mixins.py:379
#: authentication/errors.py:309 authentication/mixins.py:312
msgid "You should to change your password before login"
msgstr "登录完成前,请先修改密码"
#: authentication/errors.py:318 authentication/mixins.py:386
#: authentication/errors.py:318 authentication/mixins.py:319
msgid "Your password has expired, please reset before logging in"
msgstr "您的密码已过期,先修改再登录"
@ -1938,23 +1942,23 @@ msgstr "请输入短信验证码"
msgid "Phone not set"
msgstr "手机号没有设置"
#: authentication/forms.py:35
#: authentication/forms.py:45
msgid "{} days auto login"
msgstr "{} 天内自动登录"
#: authentication/forms.py:46
#: authentication/forms.py:56
msgid "MFA Code"
msgstr "MFA 验证码"
#: authentication/forms.py:47
#: authentication/forms.py:57
msgid "MFA type"
msgstr "MFA 类型"
#: authentication/forms.py:60 users/forms/profile.py:27
#: authentication/forms.py:70 users/forms/profile.py:28
msgid "MFA code"
msgstr "MFA 验证码"
#: authentication/forms.py:62
#: authentication/forms.py:72
msgid "Dynamic code"
msgstr "动态码"
@ -2010,11 +2014,11 @@ msgstr "设置手机号码启用"
msgid "Clear phone number to disable"
msgstr "清空手机号码禁用"
#: authentication/mixins.py:322
#: authentication/mixins.py:255
msgid "The MFA type ({}) is not enabled"
msgstr "该 MFA ({}) 方式没有启用"
#: authentication/mixins.py:362
#: authentication/mixins.py:295
msgid "Please change your password"
msgstr "请修改密码"
@ -2107,13 +2111,13 @@ msgstr "显示"
#: authentication/templates/authentication/_access_key_modal.html:66
#: settings/serializers/security.py:39 users/models/user.py:556
#: users/serializers/profile.py:111 users/templates/users/mfa_setting.html:61
#: users/serializers/profile.py:114 users/templates/users/mfa_setting.html:61
#: users/templates/users/user_verify_mfa.html:36
msgid "Disable"
msgstr "禁用"
#: authentication/templates/authentication/_access_key_modal.html:67
#: users/models/user.py:557 users/serializers/profile.py:112
#: users/models/user.py:557 users/serializers/profile.py:115
#: users/templates/users/mfa_setting.html:26
#: users/templates/users/mfa_setting.html:68
msgid "Enable"
@ -2134,7 +2138,7 @@ msgid "Play CAPTCHA as audio file"
msgstr "语言播放验证码"
#: authentication/templates/authentication/_captcha_field.html:15
#: users/forms/profile.py:102
#: users/forms/profile.py:103
msgid "Captcha"
msgstr "验证码"
@ -2244,22 +2248,22 @@ msgid ""
"security issues"
msgstr "如果这次公钥更新不是由你发起的,那么你的账号可能存在安全问题"
#: authentication/templates/authentication/login.html:173
#: authentication/templates/authentication/login.html:174
msgid "Welcome back, please enter username and password to login"
msgstr "欢迎回来,请输入用户名和密码登录"
#: authentication/templates/authentication/login.html:209
#: authentication/templates/authentication/login.html:210
#: users/templates/users/forgot_password.html:15
#: users/templates/users/forgot_password.html:16
msgid "Forgot password"
msgstr "忘记密码"
#: authentication/templates/authentication/login.html:216
#: authentication/templates/authentication/login.html:217
#: templates/_header_bar.html:89
msgid "Login"
msgstr "登录"
#: authentication/templates/authentication/login.html:223
#: authentication/templates/authentication/login.html:224
msgid "More login options"
msgstr "更多登录方式"
@ -2465,6 +2469,34 @@ msgstr "%(name)s 更新成功"
msgid "ugettext_lazy"
msgstr "ugettext_lazy"
#: common/db/fields.py:80
msgid "Marshal dict data to char field"
msgstr "编码 dict 为 char"
#: common/db/fields.py:84
msgid "Marshal dict data to text field"
msgstr "编码 dict 为 text"
#: common/db/fields.py:96
msgid "Marshal list data to char field"
msgstr "编码 list 为 char"
#: common/db/fields.py:100
msgid "Marshal list data to text field"
msgstr "编码 list 为 text"
#: common/db/fields.py:104
msgid "Marshal data to char field"
msgstr "编码数据为 char"
#: common/db/fields.py:108
msgid "Marshal data to text field"
msgstr "编码数据为 text"
#: common/db/fields.py:150
msgid "Encrypt field using Secret Key"
msgstr "加密的字段"
#: common/db/models.py:112
msgid "Updated by"
msgstr "更新人"
@ -2510,34 +2542,6 @@ msgstr "这个操作需要验证 MFA"
msgid "Unexpect error occur"
msgstr "发生意外错误"
#: common/fields/model.py:80
msgid "Marshal dict data to char field"
msgstr "编码 dict 为 char"
#: common/fields/model.py:84
msgid "Marshal dict data to text field"
msgstr "编码 dict 为 text"
#: common/fields/model.py:96
msgid "Marshal list data to char field"
msgstr "编码 list 为 char"
#: common/fields/model.py:100
msgid "Marshal list data to text field"
msgstr "编码 list 为 text"
#: common/fields/model.py:104
msgid "Marshal data to char field"
msgstr "编码数据为 char"
#: common/fields/model.py:108
msgid "Marshal data to text field"
msgstr "编码数据为 text"
#: common/fields/model.py:150
msgid "Encrypt field using Secret Key"
msgstr "加密的字段"
#: common/mixins/api/action.py:52
msgid "Request file format may be wrong"
msgstr "上传的文件格式错误 或 其它类型资源的文件"
@ -2550,15 +2554,15 @@ msgstr "忽略的"
msgid "discard time"
msgstr "忽略时间"
#: common/mixins/views.py:41
#: common/mixins/views.py:42
msgid "Export all"
msgstr "导出所有"
#: common/mixins/views.py:43
#: common/mixins/views.py:44
msgid "Export only selected items"
msgstr "仅导出选择项"
#: common/mixins/views.py:48
#: common/mixins/views.py:49
#, python-format
msgid "Export filtered: %s"
msgstr "导出搜素: %s"
@ -2670,7 +2674,7 @@ msgstr ""
msgid "Notifications"
msgstr "通知"
#: notifications/backends/__init__.py:10 users/forms/profile.py:101
#: notifications/backends/__init__.py:10 users/forms/profile.py:102
#: users/models/user.py:663
msgid "Email"
msgstr "邮件"
@ -2692,12 +2696,12 @@ msgid "App ops"
msgstr "作业中心"
#: ops/mixin.py:29 ops/mixin.py:92 ops/mixin.py:162
#: settings/serializers/auth/ldap.py:69
#: settings/serializers/auth/ldap.py:71
msgid "Cycle perform"
msgstr "周期执行"
#: ops/mixin.py:33 ops/mixin.py:90 ops/mixin.py:109 ops/mixin.py:150
#: settings/serializers/auth/ldap.py:66
#: settings/serializers/auth/ldap.py:68
msgid "Regularly perform"
msgstr "定期执行"
@ -2886,7 +2890,7 @@ msgstr "组织管理"
#: orgs/mixins/models.py:46 orgs/mixins/serializers.py:25 orgs/models.py:80
#: orgs/models.py:211 rbac/const.py:7 rbac/models/rolebinding.py:48
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:59
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:61
#: tickets/serializers/ticket/ticket.py:77
msgid "Organization"
msgstr "组织"
@ -3090,15 +3094,15 @@ msgstr "如果有疑问或需求,请联系系统管理员"
msgid "My applications"
msgstr "我的应用"
#: rbac/api/role.py:33
#: rbac/api/role.py:34
msgid "Internal role, can't be destroy"
msgstr "内部角色,不能删除"
#: rbac/api/role.py:37
#: rbac/api/role.py:38
msgid "The role has been bound to users, can't be destroy"
msgstr "角色已绑定用户,不能删除"
#: rbac/api/role.py:44
#: rbac/api/role.py:45
msgid "Internal role, can't be update"
msgstr "内部角色,不能更新"
@ -3200,7 +3204,7 @@ msgstr "组织角色绑定"
msgid "System role binding"
msgstr "系统角色绑定"
#: rbac/serializers/permission.py:26 users/serializers/profile.py:127
#: rbac/serializers/permission.py:26 users/serializers/profile.py:130
msgid "Perms"
msgstr "权限"
@ -3304,10 +3308,6 @@ msgstr "查看授权树"
msgid "Execute batch command"
msgstr "执行批量命令"
#: rbac/tree.py:226
msgid "View"
msgstr "查看"
#: settings/api/alibaba_sms.py:31 settings/api/tencent_sms.py:35
msgid "test_phone is required"
msgstr "测试手机号 该字段是必填项。"
@ -3466,40 +3466,40 @@ msgstr "启用钉钉认证"
msgid "Enable FeiShu Auth"
msgstr "启用飞书认证"
#: settings/serializers/auth/ldap.py:38
#: settings/serializers/auth/ldap.py:40
msgid "LDAP server"
msgstr "LDAP 地址"
#: settings/serializers/auth/ldap.py:39
#: settings/serializers/auth/ldap.py:41
msgid "eg: ldap://localhost:389"
msgstr "如: ldap://localhost:389"
#: settings/serializers/auth/ldap.py:41
#: settings/serializers/auth/ldap.py:43
msgid "Bind DN"
msgstr "绑定 DN"
#: settings/serializers/auth/ldap.py:46
#: settings/serializers/auth/ldap.py:48
msgid "User OU"
msgstr "用户 OU"
#: settings/serializers/auth/ldap.py:47
#: settings/serializers/auth/ldap.py:49
msgid "Use | split multi OUs"
msgstr "多个 OU 使用 | 分割"
#: settings/serializers/auth/ldap.py:50
#: settings/serializers/auth/ldap.py:52
msgid "User search filter"
msgstr "用户过滤器"
#: settings/serializers/auth/ldap.py:51
#: settings/serializers/auth/ldap.py:53
#, python-format
msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)"
msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)"
#: settings/serializers/auth/ldap.py:54
#: settings/serializers/auth/ldap.py:56
msgid "User attr map"
msgstr "用户属性映射"
#: settings/serializers/auth/ldap.py:55
#: settings/serializers/auth/ldap.py:57
msgid ""
"User attr map present how to map LDAP user attr to jumpserver, username,name,"
"email is jumpserver attr"
@ -3507,15 +3507,15 @@ msgstr ""
"用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上username, name,"
"email 是jumpserver的用户需要属性"
#: settings/serializers/auth/ldap.py:73
#: settings/serializers/auth/ldap.py:75
msgid "Connect timeout"
msgstr "连接超时时间"
#: settings/serializers/auth/ldap.py:75
#: settings/serializers/auth/ldap.py:77
msgid "Search paged size"
msgstr "搜索分页数量"
#: settings/serializers/auth/ldap.py:77
#: settings/serializers/auth/ldap.py:79
msgid "Enable LDAP auth"
msgstr "启用 LDAP 认证"
@ -4352,7 +4352,7 @@ msgstr "文档"
msgid "Commercial support"
msgstr "商业支持"
#: templates/_header_bar.html:76 users/forms/profile.py:43
#: templates/_header_bar.html:76 users/forms/profile.py:44
msgid "Profile"
msgstr "个人信息"
@ -4809,15 +4809,15 @@ msgstr "线程数"
msgid "Boot Time"
msgstr "运行时间"
#: terminal/models/storage.py:26
#: terminal/models/storage.py:27
msgid "Default storage"
msgstr "默认存储"
#: terminal/models/storage.py:130 terminal/models/terminal.py:108
#: terminal/models/storage.py:135 terminal/models/terminal.py:108
msgid "Command storage"
msgstr "命令存储"
#: terminal/models/storage.py:190 terminal/models/terminal.py:109
#: terminal/models/storage.py:195 terminal/models/terminal.py:109
msgid "Replay storage"
msgstr "录像存储"
@ -4942,18 +4942,14 @@ msgid "Whether to create an index by date"
msgstr "是否根据日期动态建立索引"
#: terminal/serializers/storage.py:163
msgid "Index prefix"
msgstr "索引前缀"
#: terminal/serializers/storage.py:166
msgid "Index"
msgstr "索引"
#: terminal/serializers/storage.py:168
#: terminal/serializers/storage.py:165
msgid "Doc type"
msgstr "文档类型"
#: terminal/serializers/storage.py:170
#: terminal/serializers/storage.py:167
msgid "Ignore Certificate Verification"
msgstr "忽略证书认证"
@ -5411,15 +5407,19 @@ msgid "Ticket information"
msgstr "工单信息"
#: tickets/templates/tickets/approve_check_password.html:19
#: tickets/views/approve.py:25
msgid "Ticket approval"
msgstr "工单审批"
#: tickets/templates/tickets/approve_check_password.html:35
#: tickets/views/approve.py:25
msgid "Ticket direct approval"
msgstr "工单直接审批"
#: tickets/templates/tickets/approve_check_password.html:40
#: tickets/templates/tickets/approve_check_password.html:39
msgid "Ticket direct reject"
msgstr "工单直接拒绝"
#: tickets/templates/tickets/approve_check_password.html:44
msgid "Go Login"
msgstr "去登录"
@ -5429,14 +5429,18 @@ msgid ""
msgstr "工单不存在,或者工单流程已经结束,或者此链接已经过期"
#: tickets/views/approve.py:55
msgid "Click the button to approve directly"
msgstr "点击按钮,即可直接审批成功"
msgid "Click the button below to approve or reject"
msgstr "点击下方按钮同意或者拒绝"
#: tickets/views/approve.py:57
msgid "After successful authentication, this ticket can be approved directly"
msgstr "认证成功后,工单可直接审批"
#: tickets/views/approve.py:84
#: tickets/views/approve.py:79
msgid "Illegal approval action"
msgstr "无效的审批动作"
#: tickets/views/approve.py:89
msgid "This user is not authorized to approve this ticket"
msgstr "此用户无权审批此工单"
@ -5476,7 +5480,7 @@ msgstr "MFA 多因子认证没有开启"
msgid "MFA method not support"
msgstr "不支持该 MFA 方式"
#: users/forms/profile.py:49
#: users/forms/profile.py:50
msgid ""
"When enabled, you will enter the MFA binding process the next time you log "
"in. you can also directly bind in \"personal information -> quick "
@ -5485,11 +5489,11 @@ msgstr ""
"启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速"
"修改->设置 MFA 多因子认证)中直接绑定!"
#: users/forms/profile.py:60
#: users/forms/profile.py:61
msgid "* Enable MFA to make the account more secure."
msgstr "* 启用 MFA 多因子认证,使账号更加安全。"
#: users/forms/profile.py:69
#: users/forms/profile.py:70
msgid ""
"In order to protect you and your company, please keep your account, password "
"and key sensitive information properly. (for example: setting complex "
@ -5498,56 +5502,56 @@ msgstr ""
"为了保护您和公司的安全,请妥善保管您的账号、密码和密钥等重要敏感信息;(如:"
"设置复杂密码,并启用 MFA 多因子认证)"
#: users/forms/profile.py:76
#: users/forms/profile.py:77
msgid "Finish"
msgstr "完成"
#: users/forms/profile.py:83
#: users/forms/profile.py:84
msgid "New password"
msgstr "新密码"
#: users/forms/profile.py:88
#: users/forms/profile.py:89
msgid "Confirm password"
msgstr "确认密码"
#: users/forms/profile.py:96
#: users/forms/profile.py:97
msgid "Password does not match"
msgstr "密码不一致"
#: users/forms/profile.py:108
#: users/forms/profile.py:109
msgid "Old password"
msgstr "原来密码"
#: users/forms/profile.py:118
#: users/forms/profile.py:119
msgid "Old password error"
msgstr "原来密码错误"
#: users/forms/profile.py:128
#: users/forms/profile.py:129
msgid "Automatically configure and download the SSH key"
msgstr "自动配置并下载SSH密钥"
#: users/forms/profile.py:130
#: users/forms/profile.py:131
msgid "ssh public key"
msgstr "SSH公钥"
#: users/forms/profile.py:131
#: users/forms/profile.py:132
msgid "ssh-rsa AAAA..."
msgstr "ssh-rsa AAAA..."
#: users/forms/profile.py:132
#: users/forms/profile.py:133
msgid "Paste your id_rsa.pub here."
msgstr "复制你的公钥到这里"
#: users/forms/profile.py:145
#: users/forms/profile.py:146
msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同"
#: users/forms/profile.py:149 users/serializers/profile.py:95
#: users/serializers/profile.py:178 users/serializers/profile.py:205
#: users/forms/profile.py:150 users/serializers/profile.py:98
#: users/serializers/profile.py:181 users/serializers/profile.py:208
msgid "Not a valid ssh public key"
msgstr "SSH密钥不合法"
#: users/forms/profile.py:160 users/models/user.py:692
#: users/forms/profile.py:161 users/models/user.py:692
msgid "Public key"
msgstr "SSH公钥"
@ -5642,23 +5646,23 @@ msgstr "重置 SSH 密钥"
msgid "Reset MFA"
msgstr "重置 MFA"
#: users/serializers/profile.py:29
#: users/serializers/profile.py:30
msgid "The old password is incorrect"
msgstr "旧密码错误"
#: users/serializers/profile.py:36 users/serializers/profile.py:192
#: users/serializers/profile.py:37 users/serializers/profile.py:195
msgid "Password does not match security rules"
msgstr "密码不满足安全规则"
#: users/serializers/profile.py:40
#: users/serializers/profile.py:41
msgid "The new password cannot be the last {} passwords"
msgstr "新密码不能是最近 {} 次的密码"
#: users/serializers/profile.py:46 users/serializers/profile.py:66
#: users/serializers/profile.py:49 users/serializers/profile.py:69
msgid "The newly set password is inconsistent"
msgstr "两次密码不一致"
#: users/serializers/profile.py:144 users/serializers/user.py:140
#: users/serializers/profile.py:147 users/serializers/user.py:140
msgid "Is first login"
msgstr "首次登录"
@ -6677,11 +6681,11 @@ msgstr "退出页面logo"
msgid "Interface setting"
msgstr "界面设置"
#: xpack/plugins/license/api.py:43
#: xpack/plugins/license/api.py:50
msgid "License import successfully"
msgstr "许可证导入成功"
#: xpack/plugins/license/api.py:44
#: xpack/plugins/license/api.py:51
msgid "License is invalid"
msgstr "无效的许可证"

View File

@ -14,7 +14,6 @@
<script src="{% static "js/jumpserver.js" %}"></script>
<style>
.outerBox {
max-width: 80%;
margin: 0 auto;
padding: 100px 20px 20px 20px;
}

View File

@ -30,10 +30,14 @@
{% csrf_token %}
<div class="form-group" style="">
{% if user.is_authenticated %}
<button id='approve_button' class="btn btn-primary block full-width m-b"
<button class="btn btn-primary block full-width m-b" name="action" value="approve"
type="submit">
{% trans 'Ticket direct approval' %}
</button>
<button class="btn btn-primary block full-width m-b" name="action" value="reject"
type="submit">
{% trans 'Ticket direct reject' %}
</button>
{% else %}
<a id='login_button' class="btn btn-primary block full-width m-b"
href="{{ login_url }}">

View File

@ -22,7 +22,7 @@ class TicketDirectApproveView(TemplateView):
@property
def message_data(self):
return {
'title': _('Ticket direct approval'),
'title': _('Ticket approval'),
'error': _("This ticket does not exist, "
"the process has ended, or this link has expired"),
'redirect_url': self.login_url,
@ -52,7 +52,7 @@ class TicketDirectApproveView(TemplateView):
token = kwargs.get('token')
ticket_info = cache.get(token, {}).get('body', '')
if self.request.user.is_authenticated:
prompt_msg = _('Click the button to approve directly')
prompt_msg = _('Click the button below to approve or reject')
else:
prompt_msg = _('After successful authentication, this ticket can be approved directly')
kwargs.update({
@ -74,6 +74,11 @@ class TicketDirectApproveView(TemplateView):
def post(self, request, **kwargs):
user = request.user
token = kwargs.get('token')
action = request.POST.get('action')
if action not in ['approve', 'reject']:
msg = _('Illegal approval action')
return self.redirect_message_response(error=str(msg))
ticket_info = cache.get(token)
if not ticket_info:
return self.redirect_message_response(redirect_url=self.login_url)
@ -82,7 +87,7 @@ class TicketDirectApproveView(TemplateView):
ticket = Ticket.all().get(id=ticket_id)
if not ticket.has_current_assignee(user):
raise Exception(_("This user is not authorized to approve this ticket"))
ticket.approve(user)
getattr(ticket, action)(user)
except AlreadyClosed as e:
self.clear(token)
return self.redirect_message_response(error=str(e), redirect_url=self.login_url)