mirror of https://github.com/jumpserver/jumpserver
feat: 发布机支持使用同名账号连接
parent
e56a37afd2
commit
ee586954f8
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:67b3061a082605d0862007d0deb03dba0477b3eac85d99faf5755ee44e7453eb
|
||||
size 163187
|
||||
oid sha256:cde05981ba0517af982f7ef197aed433c52510098589e4a6ce5101e48c26556e
|
||||
size 163803
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-20 14:50+0800\n"
|
||||
"POT-Creation-Date: 2023-10-30 11:28+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"
|
||||
|
@ -227,7 +227,7 @@ msgstr "ユーザー %s がパスワードを閲覧/導き出しました"
|
|||
#: assets/models/asset/common.py:334 assets/models/cmd_filter.py:36
|
||||
#: assets/serializers/domain.py:19 assets/serializers/label.py:27
|
||||
#: audits/models.py:57 authentication/models/connection_token.py:36
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
|
||||
#: perms/models/asset_permission.py:68 perms/serializers/permission.py:34
|
||||
#: terminal/backends/command/models.py:17 terminal/models/session/session.py:31
|
||||
#: terminal/notifications.py:155 terminal/serializers/command.py:17
|
||||
#: terminal/serializers/session.py:26
|
||||
|
@ -265,8 +265,8 @@ msgstr "ソース ID"
|
|||
#: 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
|
||||
#: audits/models.py:58 authentication/api/connection_token.py:406
|
||||
#: ops/models/base.py:18 perms/models/asset_permission.py:70
|
||||
#: audits/models.py:58 authentication/api/connection_token.py:407
|
||||
#: ops/models/base.py:18 perms/models/asset_permission.py:74
|
||||
#: perms/serializers/permission.py:39 terminal/backends/command/models.py:18
|
||||
#: terminal/models/session/session.py:33
|
||||
#: terminal/templates/terminal/_msg_command_warning.html:8
|
||||
|
@ -312,7 +312,7 @@ msgstr "アカウントバックアップ計画"
|
|||
#: assets/models/automations/base.py:115 audits/models.py:64
|
||||
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:228
|
||||
#: ops/templates/ops/celery_task_log.html:75
|
||||
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:140
|
||||
#: perms/models/asset_permission.py:77 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
|
||||
|
@ -418,7 +418,7 @@ msgstr "開始日"
|
|||
#: accounts/models/automations/change_secret.py:42
|
||||
#: assets/models/automations/base.py:116 ops/models/base.py:56
|
||||
#: ops/models/celery.py:64 ops/models/job.py:229
|
||||
#: terminal/models/applet/host.py:141
|
||||
#: terminal/models/applet/host.py:142
|
||||
msgid "Date finished"
|
||||
msgstr "終了日"
|
||||
|
||||
|
@ -534,7 +534,7 @@ msgstr "パスワードルール"
|
|||
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
|
||||
#: ops/models/adhoc.py:20 ops/models/celery.py:15 ops/models/celery.py:57
|
||||
#: ops/models/job.py:126 ops/models/playbook.py:28 ops/serializers/job.py:20
|
||||
#: orgs/models.py:82 perms/models/asset_permission.py:56 rbac/models/role.py:29
|
||||
#: orgs/models.py:82 perms/models/asset_permission.py:60 rbac/models/role.py:29
|
||||
#: settings/models.py:32 settings/serializers/msg.py:82
|
||||
#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
|
||||
#: terminal/models/component/endpoint.py:94
|
||||
|
@ -664,9 +664,9 @@ msgstr "アカウントの存在ポリシー"
|
|||
|
||||
#: accounts/serializers/account/account.py:190 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:89
|
||||
#: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:12
|
||||
#: assets/serializers/platform.py:133 assets/serializers/platform.py:229
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:34
|
||||
#: perms/serializers/user_permission.py:25 settings/models.py:34
|
||||
#: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12
|
||||
msgid "Category"
|
||||
msgstr "カテゴリ"
|
||||
|
@ -680,7 +680,7 @@ msgstr "カテゴリ"
|
|||
#: assets/serializers/platform.py:132 audits/serializers.py:50
|
||||
#: audits/serializers.py:170
|
||||
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:137
|
||||
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39
|
||||
#: perms/serializers/user_permission.py:26 terminal/models/applet/applet.py:39
|
||||
#: terminal/models/component/storage.py:57
|
||||
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
|
||||
#: terminal/serializers/session.py:21 terminal/serializers/storage.py:228
|
||||
|
@ -715,7 +715,7 @@ msgstr "編集済み"
|
|||
#: acls/templates/acls/asset_login_reminder.html:6
|
||||
#: assets/models/automations/base.py:19
|
||||
#: assets/serializers/automations/base.py:20
|
||||
#: authentication/api/connection_token.py:405 ops/models/base.py:17
|
||||
#: authentication/api/connection_token.py:406 ops/models/base.py:17
|
||||
#: ops/models/job.py:139 ops/serializers/job.py:21
|
||||
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
|
||||
msgid "Assets"
|
||||
|
@ -747,7 +747,7 @@ msgstr "ID"
|
|||
#: audits/serializers.py:171 authentication/models/connection_token.py:32
|
||||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:62
|
||||
#: perms/serializers/permission.py:30 rbac/builtin.py:124
|
||||
#: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17
|
||||
#: terminal/backends/command/models.py:16 terminal/models/session/session.py:29
|
||||
|
@ -843,7 +843,7 @@ msgstr "关联平台,可以配置推送参数,如果不关联,则使用默
|
|||
#: assets/models/group.py:20 common/db/models.py:36 ops/models/adhoc.py:26
|
||||
#: ops/models/job.py:145 ops/models/playbook.py:31 rbac/models/role.py:37
|
||||
#: settings/models.py:37 terminal/models/applet/applet.py:45
|
||||
#: terminal/models/applet/applet.py:304 terminal/models/applet/host.py:142
|
||||
#: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143
|
||||
#: terminal/models/component/endpoint.py:24
|
||||
#: terminal/models/component/endpoint.py:104
|
||||
#: terminal/models/session/session.py:46 tickets/models/comment.py:32
|
||||
|
@ -866,7 +866,7 @@ msgstr ""
|
|||
#: accounts/serializers/automations/base.py:23
|
||||
#: assets/models/asset/common.py:155 assets/models/automations/base.py:18
|
||||
#: assets/models/cmd_filter.py:32 assets/serializers/automations/base.py:21
|
||||
#: perms/models/asset_permission.py:67
|
||||
#: perms/models/asset_permission.py:71
|
||||
msgid "Nodes"
|
||||
msgstr "ノード"
|
||||
|
||||
|
@ -1017,7 +1017,7 @@ msgstr "レビュー担当者"
|
|||
#: acls/models/base.py:43 authentication/models/access_key.py:20
|
||||
#: authentication/models/connection_token.py:53
|
||||
#: authentication/templates/authentication/_access_key_modal.html:32
|
||||
#: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:29
|
||||
#: perms/models/asset_permission.py:81 terminal/models/session/sharing.py:29
|
||||
#: tickets/const.py:37
|
||||
msgid "Active"
|
||||
msgstr "アクティブ"
|
||||
|
@ -1028,7 +1028,7 @@ msgstr "ユーザー"
|
|||
|
||||
#: acls/models/base.py:98 assets/models/automations/base.py:17
|
||||
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:377
|
||||
#: rbac/tree.py:35
|
||||
#: perms/serializers/user_permission.py:75 rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "アカウント"
|
||||
|
||||
|
@ -1640,7 +1640,7 @@ msgstr "プラットフォーム"
|
|||
|
||||
#: assets/models/asset/common.py:153 assets/models/domain.py:21
|
||||
#: authentication/serializers/connect_token_secret.py:133
|
||||
#: perms/serializers/user_permission.py:29 xpack/plugins/cloud/models.py:323
|
||||
#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:323
|
||||
msgid "Domain"
|
||||
msgstr "ドメイン"
|
||||
|
||||
|
@ -1712,9 +1712,9 @@ msgstr "アセットの自動化タスク"
|
|||
|
||||
#: assets/models/automations/base.py:113 audits/models.py:207
|
||||
#: audits/serializers.py:51 ops/models/base.py:49 ops/models/job.py:220
|
||||
#: terminal/models/applet/applet.py:303 terminal/models/applet/host.py:139
|
||||
#: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140
|
||||
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
|
||||
#: terminal/serializers/applet_host.py:115 tickets/models/ticket/general.py:283
|
||||
#: terminal/serializers/applet_host.py:124 tickets/models/ticket/general.py:283
|
||||
#: tickets/serializers/super_ticket.py:13
|
||||
#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:201
|
||||
#: xpack/plugins/cloud/models.py:257
|
||||
|
@ -1737,7 +1737,7 @@ msgstr "接続性"
|
|||
msgid "Date verified"
|
||||
msgstr "確認済みの日付"
|
||||
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:61
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:65
|
||||
#: perms/serializers/permission.py:32 users/models/group.py:25
|
||||
#: users/models/user.py:798
|
||||
msgid "User group"
|
||||
|
@ -1794,7 +1794,8 @@ msgid "System"
|
|||
msgstr "システム"
|
||||
|
||||
#: assets/models/label.py:19 assets/models/node.py:539
|
||||
#: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14
|
||||
#: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18
|
||||
#: assets/serializers/cagegory.py:24
|
||||
#: authentication/models/connection_token.py:29
|
||||
#: authentication/serializers/connect_token_secret.py:122
|
||||
#: common/serializers/common.py:86 settings/models.py:33
|
||||
|
@ -1803,10 +1804,10 @@ msgid "Value"
|
|||
msgstr "値"
|
||||
|
||||
#: assets/models/label.py:40 assets/serializers/asset/common.py:123
|
||||
#: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13
|
||||
#: assets/serializers/platform.py:112
|
||||
#: assets/serializers/cagegory.py:10 assets/serializers/cagegory.py:17
|
||||
#: assets/serializers/cagegory.py:23 assets/serializers/platform.py:112
|
||||
#: authentication/serializers/connect_token_secret.py:121
|
||||
#: common/serializers/common.py:85 perms/serializers/user_permission.py:28
|
||||
#: common/serializers/common.py:85 perms/serializers/user_permission.py:27
|
||||
#: settings/serializers/msg.py:83
|
||||
msgid "Label"
|
||||
msgstr "ラベル"
|
||||
|
@ -1974,7 +1975,8 @@ msgstr ""
|
|||
#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:134
|
||||
#: authentication/serializers/connect_token_secret.py:29
|
||||
#: authentication/serializers/connect_token_secret.py:72
|
||||
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:324
|
||||
#: perms/models/asset_permission.py:75 perms/serializers/permission.py:40
|
||||
#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:324
|
||||
#: xpack/plugins/cloud/serializers/task.py:31
|
||||
msgid "Protocols"
|
||||
msgstr "プロトコル"
|
||||
|
@ -2005,7 +2007,7 @@ msgstr "プロトコルが必要です: {}"
|
|||
msgid "Invalid data"
|
||||
msgstr "無効なデータ"
|
||||
|
||||
#: assets/serializers/asset/database.py:12
|
||||
#: assets/serializers/asset/database.py:13
|
||||
msgid "Default database"
|
||||
msgstr "デフォルト・データベース"
|
||||
|
||||
|
@ -2075,11 +2077,11 @@ msgstr "システムバージョン"
|
|||
msgid "OS arch"
|
||||
msgstr "システムアーキテクチャ"
|
||||
|
||||
#: assets/serializers/cagegory.py:9
|
||||
#: assets/serializers/cagegory.py:13
|
||||
msgid "Constraints"
|
||||
msgstr "制約"
|
||||
|
||||
#: assets/serializers/cagegory.py:15
|
||||
#: assets/serializers/cagegory.py:19
|
||||
msgid "Types"
|
||||
msgstr "タイプ"
|
||||
|
||||
|
@ -2330,7 +2332,7 @@ msgstr "セッションログ"
|
|||
msgid "Login log"
|
||||
msgstr "ログインログ"
|
||||
|
||||
#: audits/const.py:51 terminal/models/applet/host.py:143
|
||||
#: audits/const.py:51 terminal/models/applet/host.py:144
|
||||
#: terminal/models/component/task.py:22
|
||||
msgid "Task"
|
||||
msgstr "タスク"
|
||||
|
@ -2470,7 +2472,7 @@ msgid "User %s %s this resource"
|
|||
msgstr "ユーザー %s %s が現在のリソースをサブスクライブしました。"
|
||||
|
||||
#: audits/serializers.py:172 authentication/models/connection_token.py:47
|
||||
#: authentication/models/temp_token.py:13 perms/models/asset_permission.py:74
|
||||
#: authentication/models/temp_token.py:13 perms/models/asset_permission.py:79
|
||||
#: tickets/models/ticket/apply_application.py:31
|
||||
#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:833
|
||||
msgid "Date expired"
|
||||
|
@ -2557,23 +2559,23 @@ msgstr ""
|
|||
"再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効に"
|
||||
"なっていません"
|
||||
|
||||
#: authentication/api/connection_token.py:375
|
||||
#: authentication/api/connection_token.py:376
|
||||
msgid "Anonymous account is not supported for this asset"
|
||||
msgstr "匿名アカウントはこのプロパティではサポートされていません"
|
||||
|
||||
#: authentication/api/connection_token.py:394
|
||||
#: authentication/api/connection_token.py:395
|
||||
msgid "Account not found"
|
||||
msgstr "アカウントが見つかりません"
|
||||
|
||||
#: authentication/api/connection_token.py:397
|
||||
#: authentication/api/connection_token.py:398
|
||||
msgid "Permission expired"
|
||||
msgstr "承認の有効期限が切れています"
|
||||
|
||||
#: authentication/api/connection_token.py:427
|
||||
#: authentication/api/connection_token.py:428
|
||||
msgid "ACL action is reject: {}({})"
|
||||
msgstr "ACL アクションは拒否です: {}({})"
|
||||
|
||||
#: authentication/api/connection_token.py:431
|
||||
#: authentication/api/connection_token.py:432
|
||||
msgid "ACL action is review"
|
||||
msgstr "ACL アクションはレビューです"
|
||||
|
||||
|
@ -2989,7 +2991,7 @@ msgid "Reusable"
|
|||
msgstr "再利用可能"
|
||||
|
||||
#: authentication/models/connection_token.py:51
|
||||
#: perms/models/asset_permission.py:77
|
||||
#: perms/models/asset_permission.py:82
|
||||
msgid "From ticket"
|
||||
msgstr "チケットから"
|
||||
|
||||
|
@ -3005,7 +3007,7 @@ msgstr "接続トークンを再利用できます"
|
|||
msgid "Connection token"
|
||||
msgstr "接続トークン"
|
||||
|
||||
#: authentication/models/connection_token.py:116
|
||||
#: authentication/models/connection_token.py:115
|
||||
msgid "Connection token inactive"
|
||||
msgstr "接続トークンがアクティブ化されていません"
|
||||
|
||||
|
@ -3078,15 +3080,15 @@ msgid "Ticket info"
|
|||
msgstr "作業指示情報"
|
||||
|
||||
#: authentication/serializers/connection_token.py:21
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:36
|
||||
#: perms/serializers/permission.py:56
|
||||
#: perms/models/asset_permission.py:76 perms/serializers/permission.py:36
|
||||
#: perms/serializers/permission.py:57
|
||||
#: tickets/models/ticket/apply_application.py:28
|
||||
#: tickets/models/ticket/apply_asset.py:18
|
||||
msgid "Actions"
|
||||
msgstr "アクション"
|
||||
|
||||
#: authentication/serializers/connection_token.py:42
|
||||
#: perms/serializers/permission.py:38 perms/serializers/permission.py:57
|
||||
#: perms/serializers/permission.py:38 perms/serializers/permission.py:58
|
||||
#: users/serializers/user.py:97 users/serializers/user.py:171
|
||||
msgid "Is expired"
|
||||
msgstr "期限切れです"
|
||||
|
@ -3107,7 +3109,7 @@ msgid "The {} cannot be empty"
|
|||
msgstr "{} 空にしてはならない"
|
||||
|
||||
#: authentication/serializers/token.py:86 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:58 users/serializers/user.py:98
|
||||
#: perms/serializers/permission.py:59 users/serializers/user.py:98
|
||||
#: users/serializers/user.py:168
|
||||
msgid "Is valid"
|
||||
msgstr "有効です"
|
||||
|
@ -4199,31 +4201,31 @@ msgstr "終了しました"
|
|||
msgid "Time cost"
|
||||
msgstr "時を過ごす"
|
||||
|
||||
#: ops/tasks.py:36
|
||||
#: ops/tasks.py:37
|
||||
msgid "Run ansible task"
|
||||
msgstr "Ansible タスクを実行する"
|
||||
|
||||
#: ops/tasks.py:70
|
||||
#: ops/tasks.py:71
|
||||
msgid "Run ansible task execution"
|
||||
msgstr "Ansible タスクの実行を開始する"
|
||||
|
||||
#: ops/tasks.py:92
|
||||
#: ops/tasks.py:93
|
||||
msgid "Clear celery periodic tasks"
|
||||
msgstr "タスクログを定期的にクリアする"
|
||||
|
||||
#: ops/tasks.py:113
|
||||
#: ops/tasks.py:114
|
||||
msgid "Create or update periodic tasks"
|
||||
msgstr "定期的なタスクの作成または更新"
|
||||
|
||||
#: ops/tasks.py:121
|
||||
#: ops/tasks.py:122
|
||||
msgid "Periodic check service performance"
|
||||
msgstr "サービスのパフォーマンスを定期的に確認する"
|
||||
|
||||
#: ops/tasks.py:127
|
||||
#: ops/tasks.py:128
|
||||
msgid "Clean up unexpected jobs"
|
||||
msgstr "例外ジョブのクリーンアップ"
|
||||
|
||||
#: ops/tasks.py:141
|
||||
#: ops/tasks.py:135
|
||||
msgid "Clean job_execution db record"
|
||||
msgstr "ジョブセンター実行履歴のクリーンアップ"
|
||||
|
||||
|
@ -4359,7 +4361,7 @@ msgstr "転送"
|
|||
msgid "Clipboard"
|
||||
msgstr "クリップボード"
|
||||
|
||||
#: perms/models/asset_permission.py:83
|
||||
#: perms/models/asset_permission.py:88
|
||||
msgid "Asset permission"
|
||||
msgstr "資産権限"
|
||||
|
||||
|
@ -4613,7 +4615,7 @@ msgid "My assets"
|
|||
msgstr "私の資産"
|
||||
|
||||
#: rbac/tree.py:56 terminal/models/applet/applet.py:52
|
||||
#: terminal/models/applet/applet.py:300 terminal/models/applet/host.py:29
|
||||
#: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30
|
||||
#: terminal/serializers/applet.py:15
|
||||
msgid "Applet"
|
||||
msgstr "リモートアプリケーション"
|
||||
|
@ -6344,8 +6346,8 @@ msgstr "カスタムプラットフォームのみをサポート"
|
|||
msgid "Missing type in platform.yml"
|
||||
msgstr "platform.ymlにタイプがありません"
|
||||
|
||||
#: terminal/models/applet/applet.py:302 terminal/models/applet/host.py:35
|
||||
#: terminal/models/applet/host.py:137
|
||||
#: terminal/models/applet/applet.py:319 terminal/models/applet/host.py:36
|
||||
#: terminal/models/applet/host.py:138
|
||||
msgid "Hosting"
|
||||
msgstr "ホスト マシン"
|
||||
|
||||
|
@ -6373,7 +6375,13 @@ msgstr "初期化日"
|
|||
msgid "Date synced"
|
||||
msgstr "同期日"
|
||||
|
||||
#: terminal/models/applet/host.py:138
|
||||
#: terminal/models/applet/host.py:28
|
||||
#, fuzzy
|
||||
#| msgid "Is service account"
|
||||
msgid "Using same account"
|
||||
msgstr "サービスアカウントです"
|
||||
|
||||
#: terminal/models/applet/host.py:139
|
||||
msgid "Initial"
|
||||
msgstr "初期化"
|
||||
|
||||
|
@ -6701,7 +6709,7 @@ msgstr "RDS 远程应用注销时间限制"
|
|||
msgid "Load status"
|
||||
msgstr "ロードステータス"
|
||||
|
||||
#: terminal/serializers/applet_host.py:72
|
||||
#: terminal/serializers/applet_host.py:73
|
||||
msgid ""
|
||||
"These accounts are used to connect to the published application, the account "
|
||||
"is now divided into two types, one is dedicated to each account, each user "
|
||||
|
@ -6715,10 +6723,17 @@ msgstr ""
|
|||
"開されています。アプリケーションが複数のオープンをサポートしていない場合、お"
|
||||
"よび特別なものが使用されている場合、公開アカウントが使用されます。"
|
||||
|
||||
#: terminal/serializers/applet_host.py:77
|
||||
#: terminal/serializers/applet_host.py:80
|
||||
msgid "The number of public accounts created automatically"
|
||||
msgstr "自動的に作成される公開アカウントの数"
|
||||
|
||||
#: terminal/serializers/applet_host.py:83
|
||||
msgid ""
|
||||
"Connect to the host using the same account first. For security reasons, "
|
||||
"please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and "
|
||||
"restart the service to enable it."
|
||||
msgstr "同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項目 CACHE_LOGIN_PASSWORD_ENABLED=true を設定してサービスを再起動して有効にしてください。"
|
||||
|
||||
#: terminal/serializers/command.py:19
|
||||
msgid "Session ID"
|
||||
msgstr "セッションID"
|
||||
|
@ -7425,7 +7440,7 @@ msgid "Public key should not be the same as your old one."
|
|||
msgstr "公開鍵は古いものと同じであってはなりません。"
|
||||
|
||||
#: users/forms/profile.py:162 users/serializers/profile.py:76
|
||||
#: users/serializers/profile.py:159 users/serializers/profile.py:186
|
||||
#: users/serializers/profile.py:164 users/serializers/profile.py:191
|
||||
msgid "Not a valid ssh public key"
|
||||
msgstr "有効なssh公開鍵ではありません"
|
||||
|
||||
|
@ -7467,7 +7482,7 @@ msgstr "OTP 秘密"
|
|||
msgid "Private key"
|
||||
msgstr "ssh秘密鍵"
|
||||
|
||||
#: users/models/user.py:830 users/serializers/profile.py:125
|
||||
#: users/models/user.py:830 users/serializers/profile.py:128
|
||||
#: users/serializers/user.py:166
|
||||
msgid "Is first login"
|
||||
msgstr "最初のログインです"
|
||||
|
@ -7607,7 +7622,7 @@ msgstr "コマンドライン"
|
|||
msgid "The old password is incorrect"
|
||||
msgstr "古いパスワードが正しくありません"
|
||||
|
||||
#: users/serializers/profile.py:36 users/serializers/profile.py:173
|
||||
#: users/serializers/profile.py:36 users/serializers/profile.py:178
|
||||
msgid "Password does not match security rules"
|
||||
msgstr "パスワードがセキュリティルールと一致しない"
|
||||
|
||||
|
@ -8596,7 +8611,7 @@ msgstr "ライセンスのインポートに成功"
|
|||
msgid "License is invalid"
|
||||
msgstr "ライセンスが無効です"
|
||||
|
||||
#: xpack/plugins/license/meta.py:10 xpack/plugins/license/models.py:140
|
||||
#: xpack/plugins/license/meta.py:10 xpack/plugins/license/models.py:144
|
||||
msgid "License"
|
||||
msgstr "ライセンス"
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9f331dc156c4e51b6a30249da9d342093c79da1cebe926474b7942a5d3b6a931
|
||||
size 133436
|
||||
oid sha256:8e12c0cc20ed3b5e16cdef15238c78c27d4189740c3c71fdca9cbb20230bec74
|
||||
size 133982
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: JumpServer 0.3.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-10-20 14:50+0800\n"
|
||||
"POT-Creation-Date: 2023-10-30 11:28+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"
|
||||
|
@ -226,7 +226,7 @@ msgstr "用户 %s 查看/导出 了密码"
|
|||
#: assets/models/asset/common.py:334 assets/models/cmd_filter.py:36
|
||||
#: assets/serializers/domain.py:19 assets/serializers/label.py:27
|
||||
#: audits/models.py:57 authentication/models/connection_token.py:36
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
|
||||
#: perms/models/asset_permission.py:68 perms/serializers/permission.py:34
|
||||
#: terminal/backends/command/models.py:17 terminal/models/session/session.py:31
|
||||
#: terminal/notifications.py:155 terminal/serializers/command.py:17
|
||||
#: terminal/serializers/session.py:26
|
||||
|
@ -264,8 +264,8 @@ msgstr "来源 ID"
|
|||
#: 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
|
||||
#: audits/models.py:58 authentication/api/connection_token.py:406
|
||||
#: ops/models/base.py:18 perms/models/asset_permission.py:70
|
||||
#: audits/models.py:58 authentication/api/connection_token.py:407
|
||||
#: ops/models/base.py:18 perms/models/asset_permission.py:74
|
||||
#: perms/serializers/permission.py:39 terminal/backends/command/models.py:18
|
||||
#: terminal/models/session/session.py:33
|
||||
#: terminal/templates/terminal/_msg_command_warning.html:8
|
||||
|
@ -311,7 +311,7 @@ msgstr "账号备份计划"
|
|||
#: assets/models/automations/base.py:115 audits/models.py:64
|
||||
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:228
|
||||
#: ops/templates/ops/celery_task_log.html:75
|
||||
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:140
|
||||
#: perms/models/asset_permission.py:77 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
|
||||
|
@ -417,7 +417,7 @@ msgstr "开始日期"
|
|||
#: accounts/models/automations/change_secret.py:42
|
||||
#: assets/models/automations/base.py:116 ops/models/base.py:56
|
||||
#: ops/models/celery.py:64 ops/models/job.py:229
|
||||
#: terminal/models/applet/host.py:141
|
||||
#: terminal/models/applet/host.py:142
|
||||
msgid "Date finished"
|
||||
msgstr "结束日期"
|
||||
|
||||
|
@ -533,7 +533,7 @@ msgstr "密码规则"
|
|||
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
|
||||
#: ops/models/adhoc.py:20 ops/models/celery.py:15 ops/models/celery.py:57
|
||||
#: ops/models/job.py:126 ops/models/playbook.py:28 ops/serializers/job.py:20
|
||||
#: orgs/models.py:82 perms/models/asset_permission.py:56 rbac/models/role.py:29
|
||||
#: orgs/models.py:82 perms/models/asset_permission.py:60 rbac/models/role.py:29
|
||||
#: settings/models.py:32 settings/serializers/msg.py:82
|
||||
#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
|
||||
#: terminal/models/component/endpoint.py:94
|
||||
|
@ -662,9 +662,9 @@ msgstr "账号存在策略"
|
|||
|
||||
#: accounts/serializers/account/account.py:190 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:89
|
||||
#: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:12
|
||||
#: assets/serializers/platform.py:133 assets/serializers/platform.py:229
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:34
|
||||
#: perms/serializers/user_permission.py:25 settings/models.py:34
|
||||
#: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12
|
||||
msgid "Category"
|
||||
msgstr "类别"
|
||||
|
@ -678,7 +678,7 @@ msgstr "类别"
|
|||
#: assets/serializers/platform.py:132 audits/serializers.py:50
|
||||
#: audits/serializers.py:170
|
||||
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:137
|
||||
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39
|
||||
#: perms/serializers/user_permission.py:26 terminal/models/applet/applet.py:39
|
||||
#: terminal/models/component/storage.py:57
|
||||
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
|
||||
#: terminal/serializers/session.py:21 terminal/serializers/storage.py:228
|
||||
|
@ -713,7 +713,7 @@ msgstr "已修改"
|
|||
#: acls/templates/acls/asset_login_reminder.html:6
|
||||
#: assets/models/automations/base.py:19
|
||||
#: assets/serializers/automations/base.py:20
|
||||
#: authentication/api/connection_token.py:405 ops/models/base.py:17
|
||||
#: authentication/api/connection_token.py:406 ops/models/base.py:17
|
||||
#: ops/models/job.py:139 ops/serializers/job.py:21
|
||||
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
|
||||
msgid "Assets"
|
||||
|
@ -745,7 +745,7 @@ msgstr "ID"
|
|||
#: audits/serializers.py:171 authentication/models/connection_token.py:32
|
||||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:62
|
||||
#: perms/serializers/permission.py:30 rbac/builtin.py:124
|
||||
#: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17
|
||||
#: terminal/backends/command/models.py:16 terminal/models/session/session.py:29
|
||||
|
@ -841,7 +841,7 @@ msgstr "关联平台,可配置推送参数,如果不关联,将使用默认
|
|||
#: assets/models/group.py:20 common/db/models.py:36 ops/models/adhoc.py:26
|
||||
#: ops/models/job.py:145 ops/models/playbook.py:31 rbac/models/role.py:37
|
||||
#: settings/models.py:37 terminal/models/applet/applet.py:45
|
||||
#: terminal/models/applet/applet.py:304 terminal/models/applet/host.py:142
|
||||
#: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143
|
||||
#: terminal/models/component/endpoint.py:24
|
||||
#: terminal/models/component/endpoint.py:104
|
||||
#: terminal/models/session/session.py:46 tickets/models/comment.py:32
|
||||
|
@ -863,7 +863,7 @@ msgstr ""
|
|||
#: accounts/serializers/automations/base.py:23
|
||||
#: assets/models/asset/common.py:155 assets/models/automations/base.py:18
|
||||
#: assets/models/cmd_filter.py:32 assets/serializers/automations/base.py:21
|
||||
#: perms/models/asset_permission.py:67
|
||||
#: perms/models/asset_permission.py:71
|
||||
msgid "Nodes"
|
||||
msgstr "节点"
|
||||
|
||||
|
@ -1014,7 +1014,7 @@ msgstr "审批人"
|
|||
#: acls/models/base.py:43 authentication/models/access_key.py:20
|
||||
#: authentication/models/connection_token.py:53
|
||||
#: authentication/templates/authentication/_access_key_modal.html:32
|
||||
#: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:29
|
||||
#: perms/models/asset_permission.py:81 terminal/models/session/sharing.py:29
|
||||
#: tickets/const.py:37
|
||||
msgid "Active"
|
||||
msgstr "激活中"
|
||||
|
@ -1025,7 +1025,7 @@ msgstr "用户管理"
|
|||
|
||||
#: acls/models/base.py:98 assets/models/automations/base.py:17
|
||||
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:377
|
||||
#: rbac/tree.py:35
|
||||
#: perms/serializers/user_permission.py:75 rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "账号管理"
|
||||
|
||||
|
@ -1633,7 +1633,7 @@ msgstr "系统平台"
|
|||
|
||||
#: assets/models/asset/common.py:153 assets/models/domain.py:21
|
||||
#: authentication/serializers/connect_token_secret.py:133
|
||||
#: perms/serializers/user_permission.py:29 xpack/plugins/cloud/models.py:323
|
||||
#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:323
|
||||
msgid "Domain"
|
||||
msgstr "网域"
|
||||
|
||||
|
@ -1705,9 +1705,9 @@ msgstr "资产自动化任务"
|
|||
|
||||
#: assets/models/automations/base.py:113 audits/models.py:207
|
||||
#: audits/serializers.py:51 ops/models/base.py:49 ops/models/job.py:220
|
||||
#: terminal/models/applet/applet.py:303 terminal/models/applet/host.py:139
|
||||
#: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140
|
||||
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
|
||||
#: terminal/serializers/applet_host.py:115 tickets/models/ticket/general.py:283
|
||||
#: terminal/serializers/applet_host.py:124 tickets/models/ticket/general.py:283
|
||||
#: tickets/serializers/super_ticket.py:13
|
||||
#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:201
|
||||
#: xpack/plugins/cloud/models.py:257
|
||||
|
@ -1730,7 +1730,7 @@ msgstr "可连接性"
|
|||
msgid "Date verified"
|
||||
msgstr "校验日期"
|
||||
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:61
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:65
|
||||
#: perms/serializers/permission.py:32 users/models/group.py:25
|
||||
#: users/models/user.py:798
|
||||
msgid "User group"
|
||||
|
@ -1787,7 +1787,8 @@ msgid "System"
|
|||
msgstr "系统"
|
||||
|
||||
#: assets/models/label.py:19 assets/models/node.py:539
|
||||
#: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14
|
||||
#: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18
|
||||
#: assets/serializers/cagegory.py:24
|
||||
#: authentication/models/connection_token.py:29
|
||||
#: authentication/serializers/connect_token_secret.py:122
|
||||
#: common/serializers/common.py:86 settings/models.py:33
|
||||
|
@ -1796,10 +1797,10 @@ msgid "Value"
|
|||
msgstr "值"
|
||||
|
||||
#: assets/models/label.py:40 assets/serializers/asset/common.py:123
|
||||
#: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13
|
||||
#: assets/serializers/platform.py:112
|
||||
#: assets/serializers/cagegory.py:10 assets/serializers/cagegory.py:17
|
||||
#: assets/serializers/cagegory.py:23 assets/serializers/platform.py:112
|
||||
#: authentication/serializers/connect_token_secret.py:121
|
||||
#: common/serializers/common.py:85 perms/serializers/user_permission.py:28
|
||||
#: common/serializers/common.py:85 perms/serializers/user_permission.py:27
|
||||
#: settings/serializers/msg.py:83
|
||||
msgid "Label"
|
||||
msgstr "标签"
|
||||
|
@ -1965,7 +1966,8 @@ msgstr "资产中批量更新平台,不符合平台类型跳过的资产"
|
|||
#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:134
|
||||
#: authentication/serializers/connect_token_secret.py:29
|
||||
#: authentication/serializers/connect_token_secret.py:72
|
||||
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:324
|
||||
#: perms/models/asset_permission.py:75 perms/serializers/permission.py:40
|
||||
#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:324
|
||||
#: xpack/plugins/cloud/serializers/task.py:31
|
||||
msgid "Protocols"
|
||||
msgstr "协议组"
|
||||
|
@ -1996,7 +1998,7 @@ msgstr "协议是必填的: {}"
|
|||
msgid "Invalid data"
|
||||
msgstr "无效的数据"
|
||||
|
||||
#: assets/serializers/asset/database.py:12
|
||||
#: assets/serializers/asset/database.py:13
|
||||
msgid "Default database"
|
||||
msgstr "默认数据库"
|
||||
|
||||
|
@ -2066,11 +2068,11 @@ msgstr "系统版本"
|
|||
msgid "OS arch"
|
||||
msgstr "系统架构"
|
||||
|
||||
#: assets/serializers/cagegory.py:9
|
||||
#: assets/serializers/cagegory.py:13
|
||||
msgid "Constraints"
|
||||
msgstr "约束"
|
||||
|
||||
#: assets/serializers/cagegory.py:15
|
||||
#: assets/serializers/cagegory.py:19
|
||||
msgid "Types"
|
||||
msgstr "类型"
|
||||
|
||||
|
@ -2314,7 +2316,7 @@ msgstr "会话日志"
|
|||
msgid "Login log"
|
||||
msgstr "登录日志"
|
||||
|
||||
#: audits/const.py:51 terminal/models/applet/host.py:143
|
||||
#: audits/const.py:51 terminal/models/applet/host.py:144
|
||||
#: terminal/models/component/task.py:22
|
||||
msgid "Task"
|
||||
msgstr "任务"
|
||||
|
@ -2454,7 +2456,7 @@ msgid "User %s %s this resource"
|
|||
msgstr "用户 %s %s 了当前资源"
|
||||
|
||||
#: audits/serializers.py:172 authentication/models/connection_token.py:47
|
||||
#: authentication/models/temp_token.py:13 perms/models/asset_permission.py:74
|
||||
#: authentication/models/temp_token.py:13 perms/models/asset_permission.py:79
|
||||
#: tickets/models/ticket/apply_application.py:31
|
||||
#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:833
|
||||
msgid "Date expired"
|
||||
|
@ -2539,23 +2541,23 @@ msgstr "该操作需要验证您的 MFA, 请先开启并配置"
|
|||
msgid "Reusable connection token is not allowed, global setting not enabled"
|
||||
msgstr "不允许使用可重复使用的连接令牌,未启用全局设置"
|
||||
|
||||
#: authentication/api/connection_token.py:375
|
||||
#: authentication/api/connection_token.py:376
|
||||
msgid "Anonymous account is not supported for this asset"
|
||||
msgstr "匿名账号不支持当前资产"
|
||||
|
||||
#: authentication/api/connection_token.py:394
|
||||
#: authentication/api/connection_token.py:395
|
||||
msgid "Account not found"
|
||||
msgstr "账号未找到"
|
||||
|
||||
#: authentication/api/connection_token.py:397
|
||||
#: authentication/api/connection_token.py:398
|
||||
msgid "Permission expired"
|
||||
msgstr "授权已过期"
|
||||
|
||||
#: authentication/api/connection_token.py:427
|
||||
#: authentication/api/connection_token.py:428
|
||||
msgid "ACL action is reject: {}({})"
|
||||
msgstr "ACL 动作是拒绝: {}({})"
|
||||
|
||||
#: authentication/api/connection_token.py:431
|
||||
#: authentication/api/connection_token.py:432
|
||||
msgid "ACL action is review"
|
||||
msgstr "ACL 动作是复核"
|
||||
|
||||
|
@ -2958,7 +2960,7 @@ msgid "Reusable"
|
|||
msgstr "可以重复使用"
|
||||
|
||||
#: authentication/models/connection_token.py:51
|
||||
#: perms/models/asset_permission.py:77
|
||||
#: perms/models/asset_permission.py:82
|
||||
msgid "From ticket"
|
||||
msgstr "来自工单"
|
||||
|
||||
|
@ -2974,7 +2976,7 @@ msgstr "可以复用连接令牌"
|
|||
msgid "Connection token"
|
||||
msgstr "连接令牌"
|
||||
|
||||
#: authentication/models/connection_token.py:116
|
||||
#: authentication/models/connection_token.py:115
|
||||
msgid "Connection token inactive"
|
||||
msgstr "连接令牌未激活"
|
||||
|
||||
|
@ -3047,15 +3049,15 @@ msgid "Ticket info"
|
|||
msgstr "工单信息"
|
||||
|
||||
#: authentication/serializers/connection_token.py:21
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:36
|
||||
#: perms/serializers/permission.py:56
|
||||
#: perms/models/asset_permission.py:76 perms/serializers/permission.py:36
|
||||
#: perms/serializers/permission.py:57
|
||||
#: tickets/models/ticket/apply_application.py:28
|
||||
#: tickets/models/ticket/apply_asset.py:18
|
||||
msgid "Actions"
|
||||
msgstr "动作"
|
||||
|
||||
#: authentication/serializers/connection_token.py:42
|
||||
#: perms/serializers/permission.py:38 perms/serializers/permission.py:57
|
||||
#: perms/serializers/permission.py:38 perms/serializers/permission.py:58
|
||||
#: users/serializers/user.py:97 users/serializers/user.py:171
|
||||
msgid "Is expired"
|
||||
msgstr "已过期"
|
||||
|
@ -3076,7 +3078,7 @@ msgid "The {} cannot be empty"
|
|||
msgstr "{} 不能为空"
|
||||
|
||||
#: authentication/serializers/token.py:86 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:58 users/serializers/user.py:98
|
||||
#: perms/serializers/permission.py:59 users/serializers/user.py:98
|
||||
#: users/serializers/user.py:168
|
||||
msgid "Is valid"
|
||||
msgstr "是否有效"
|
||||
|
@ -4149,31 +4151,31 @@ msgstr "是否完成"
|
|||
msgid "Time cost"
|
||||
msgstr "花费时间"
|
||||
|
||||
#: ops/tasks.py:36
|
||||
#: ops/tasks.py:37
|
||||
msgid "Run ansible task"
|
||||
msgstr "运行 Ansible 任务"
|
||||
|
||||
#: ops/tasks.py:70
|
||||
#: ops/tasks.py:71
|
||||
msgid "Run ansible task execution"
|
||||
msgstr "开始执行 Ansible 任务"
|
||||
|
||||
#: ops/tasks.py:92
|
||||
#: ops/tasks.py:93
|
||||
msgid "Clear celery periodic tasks"
|
||||
msgstr "清理周期任务"
|
||||
|
||||
#: ops/tasks.py:113
|
||||
#: ops/tasks.py:114
|
||||
msgid "Create or update periodic tasks"
|
||||
msgstr "创建或更新周期任务"
|
||||
|
||||
#: ops/tasks.py:121
|
||||
#: ops/tasks.py:122
|
||||
msgid "Periodic check service performance"
|
||||
msgstr "周期检测服务性能"
|
||||
|
||||
#: ops/tasks.py:127
|
||||
#: ops/tasks.py:128
|
||||
msgid "Clean up unexpected jobs"
|
||||
msgstr "清理异常作业"
|
||||
|
||||
#: ops/tasks.py:141
|
||||
#: ops/tasks.py:135
|
||||
msgid "Clean job_execution db record"
|
||||
msgstr "清理作业中心执行历史"
|
||||
|
||||
|
@ -4308,7 +4310,7 @@ msgstr "文件传输"
|
|||
msgid "Clipboard"
|
||||
msgstr "剪贴板"
|
||||
|
||||
#: perms/models/asset_permission.py:83
|
||||
#: perms/models/asset_permission.py:88
|
||||
msgid "Asset permission"
|
||||
msgstr "资产授权"
|
||||
|
||||
|
@ -4561,7 +4563,7 @@ msgid "My assets"
|
|||
msgstr "我的资产"
|
||||
|
||||
#: rbac/tree.py:56 terminal/models/applet/applet.py:52
|
||||
#: terminal/models/applet/applet.py:300 terminal/models/applet/host.py:29
|
||||
#: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30
|
||||
#: terminal/serializers/applet.py:15
|
||||
msgid "Applet"
|
||||
msgstr "远程应用"
|
||||
|
@ -6254,8 +6256,8 @@ msgstr "只支持自定义平台"
|
|||
msgid "Missing type in platform.yml"
|
||||
msgstr "在 platform.yml 中缺少类型"
|
||||
|
||||
#: terminal/models/applet/applet.py:302 terminal/models/applet/host.py:35
|
||||
#: terminal/models/applet/host.py:137
|
||||
#: terminal/models/applet/applet.py:319 terminal/models/applet/host.py:36
|
||||
#: terminal/models/applet/host.py:138
|
||||
msgid "Hosting"
|
||||
msgstr "宿主机"
|
||||
|
||||
|
@ -6283,7 +6285,11 @@ msgstr "初始化日期"
|
|||
msgid "Date synced"
|
||||
msgstr "同步日期"
|
||||
|
||||
#: terminal/models/applet/host.py:138
|
||||
#: terminal/models/applet/host.py:28
|
||||
msgid "Using same account"
|
||||
msgstr "使用同名账号"
|
||||
|
||||
#: terminal/models/applet/host.py:139
|
||||
msgid "Initial"
|
||||
msgstr "初始化"
|
||||
|
||||
|
@ -6609,7 +6615,7 @@ msgstr "RDS 远程应用注销时间限制"
|
|||
msgid "Load status"
|
||||
msgstr "负载状态"
|
||||
|
||||
#: terminal/serializers/applet_host.py:72
|
||||
#: terminal/serializers/applet_host.py:73
|
||||
msgid ""
|
||||
"These accounts are used to connect to the published application, the account "
|
||||
"is now divided into two types, one is dedicated to each account, each user "
|
||||
|
@ -6622,10 +6628,17 @@ msgstr ""
|
|||
"使用公共账号连接; <br />注意: 如果不开启自动创建账号, 当前发布机仅能被指定标"
|
||||
"签的资产调度到,默认不会放到调度池中"
|
||||
|
||||
#: terminal/serializers/applet_host.py:77
|
||||
#: terminal/serializers/applet_host.py:80
|
||||
msgid "The number of public accounts created automatically"
|
||||
msgstr "公用账号自动创建的数量"
|
||||
|
||||
#: terminal/serializers/applet_host.py:83
|
||||
msgid ""
|
||||
"Connect to the host using the same account first. For security reasons, "
|
||||
"please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and "
|
||||
"restart the service to enable it."
|
||||
msgstr "优先使用同名账号连接发布机。为了安全,需配置文件中开启配置 CACHE_LOGIN_PASSWORD_ENABLED=true, 修改后重启服务"
|
||||
|
||||
#: terminal/serializers/command.py:19
|
||||
msgid "Session ID"
|
||||
msgstr "会话ID"
|
||||
|
@ -7323,7 +7336,7 @@ msgid "Public key should not be the same as your old one."
|
|||
msgstr "不能和原来的密钥相同"
|
||||
|
||||
#: users/forms/profile.py:162 users/serializers/profile.py:76
|
||||
#: users/serializers/profile.py:159 users/serializers/profile.py:186
|
||||
#: users/serializers/profile.py:164 users/serializers/profile.py:191
|
||||
msgid "Not a valid ssh public key"
|
||||
msgstr "SSH密钥不合法"
|
||||
|
||||
|
@ -7365,7 +7378,7 @@ msgstr "OTP 密钥"
|
|||
msgid "Private key"
|
||||
msgstr "ssh私钥"
|
||||
|
||||
#: users/models/user.py:830 users/serializers/profile.py:125
|
||||
#: users/models/user.py:830 users/serializers/profile.py:128
|
||||
#: users/serializers/user.py:166
|
||||
msgid "Is first login"
|
||||
msgstr "首次登录"
|
||||
|
@ -7505,7 +7518,7 @@ msgstr "命令行"
|
|||
msgid "The old password is incorrect"
|
||||
msgstr "旧密码错误"
|
||||
|
||||
#: users/serializers/profile.py:36 users/serializers/profile.py:173
|
||||
#: users/serializers/profile.py:36 users/serializers/profile.py:178
|
||||
msgid "Password does not match security rules"
|
||||
msgstr "密码不满足安全规则"
|
||||
|
||||
|
@ -8478,7 +8491,7 @@ msgstr "许可证导入成功"
|
|||
msgid "License is invalid"
|
||||
msgstr "无效的许可证"
|
||||
|
||||
#: xpack/plugins/license/meta.py:10 xpack/plugins/license/models.py:140
|
||||
#: xpack/plugins/license/meta.py:10 xpack/plugins/license/models.py:144
|
||||
msgid "License"
|
||||
msgstr "许可证"
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 4.1.10 on 2023-10-30 03:08
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('terminal', '0065_session_error_reason'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='applethost',
|
||||
name='using_same_account',
|
||||
field=models.BooleanField(default=False, verbose_name='Using same account'),
|
||||
),
|
||||
]
|
|
@ -258,6 +258,15 @@ class Applet(JMSBaseModel):
|
|||
account = private_account
|
||||
return account
|
||||
|
||||
@staticmethod
|
||||
def try_to_use_same_account(user, host):
|
||||
from accounts.models import VirtualAccount
|
||||
|
||||
if not host.using_same_account:
|
||||
return
|
||||
account = VirtualAccount.get_same_account(user, host)
|
||||
return account
|
||||
|
||||
def select_host_account(self, user, asset):
|
||||
# 选择激活的发布机
|
||||
host = self.select_host(user, asset)
|
||||
|
@ -266,7 +275,11 @@ class Applet(JMSBaseModel):
|
|||
logger.info('Select applet host: {}'.format(host.name))
|
||||
|
||||
valid_accounts = host.accounts.all().filter(is_active=True, privileged=False)
|
||||
account = self.try_to_use_same_account(user, host)
|
||||
if not account:
|
||||
logger.debug('No same account, try to use private account')
|
||||
account = self.try_to_use_private_account(user, host, valid_accounts)
|
||||
|
||||
if not account:
|
||||
logger.debug('No private account, try to use public account')
|
||||
account = self.select_a_public_account(user, host, valid_accounts)
|
||||
|
|
|
@ -25,6 +25,7 @@ class AppletHost(Host):
|
|||
'terminal.Terminal', on_delete=models.PROTECT, null=True, blank=True,
|
||||
related_name='applet_host', verbose_name=_('Terminal')
|
||||
)
|
||||
using_same_account = models.BooleanField(default=False, verbose_name=_('Using same account'))
|
||||
applets = models.ManyToManyField(
|
||||
'Applet', verbose_name=_('Applet'),
|
||||
through='AppletPublication', through_fields=('host', 'applet'),
|
||||
|
|
|
@ -63,18 +63,27 @@ class AppletHostSerializer(HostSerializer):
|
|||
model = AppletHost
|
||||
fields = HostSerializer.Meta.fields + [
|
||||
'auto_create_accounts', 'accounts_create_amount',
|
||||
'load', 'date_synced', 'deploy_options'
|
||||
'load', 'date_synced', 'deploy_options', 'using_same_account',
|
||||
]
|
||||
extra_kwargs = {
|
||||
**HostSerializer.Meta.extra_kwargs,
|
||||
'date_synced': {'read_only': True},
|
||||
'auto_create_accounts': {'help_text': _(
|
||||
'auto_create_accounts': {
|
||||
'help_text': _(
|
||||
'These accounts are used to connect to the published application, '
|
||||
'the account is now divided into two types, one is dedicated to each account, '
|
||||
'each user has a private account, the other is public, '
|
||||
'when the application does not support multiple open and the special has been used, '
|
||||
'the public account will be used to connect')},
|
||||
'the public account will be used to connect'
|
||||
)
|
||||
},
|
||||
'accounts_create_amount': {'help_text': _('The number of public accounts created automatically')},
|
||||
'using_same_account': {
|
||||
'help_text': _(
|
||||
'Connect to the host using the same account first. For security reasons, please set the '
|
||||
'configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and restart the service to enable it.'
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
def __init__(self, *args, data=None, **kwargs):
|
||||
|
|
|
@ -2,7 +2,8 @@ from django.db.models.signals import post_save, post_delete
|
|||
from django.dispatch import receiver
|
||||
from django.utils.functional import LazyObject
|
||||
|
||||
from accounts.models import Account
|
||||
from accounts.const import AliasAccount
|
||||
from accounts.models import Account, VirtualAccount
|
||||
from common.decorators import on_transaction_commit
|
||||
from common.signals import django_ready
|
||||
from common.utils import get_logger
|
||||
|
@ -24,14 +25,28 @@ def on_applet_host_create(sender, instance, created=False, **kwargs):
|
|||
return
|
||||
# 新建时,清除原来的首选,避免一直调度到一个上面
|
||||
Applet.clear_host_prefer()
|
||||
|
||||
applets = Applet.objects.all()
|
||||
instance.applets.set(applets)
|
||||
|
||||
applet_host_change_pub_sub.publish(True)
|
||||
|
||||
|
||||
@receiver(post_save, sender=AppletHost)
|
||||
@on_transaction_commit
|
||||
def on_applet_host_update_or_create(sender, instance, created=False, **kwargs):
|
||||
if instance.auto_create_accounts:
|
||||
applet_host_generate_accounts.delay(instance.id)
|
||||
|
||||
# 使用同名账号的,直接给他打开登录那项吧
|
||||
if instance.using_same_account:
|
||||
alias = AliasAccount.USER.value
|
||||
same_account, __ = VirtualAccount.objects.get_or_create(
|
||||
alias=alias, defaults={'alias': alias, 'secret_from_login': True}
|
||||
)
|
||||
if same_account.secret_from_login:
|
||||
return
|
||||
same_account.secret_from_login = True
|
||||
same_account.save(update_fields=['secret_from_login'])
|
||||
|
||||
|
||||
@receiver(post_save, sender=User)
|
||||
def on_user_create_create_account(sender, instance: User, created=False, **kwargs):
|
||||
|
|
Loading…
Reference in New Issue