From 6264319c51a557cfd2846e98d5e90a84000efa5c Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Mon, 9 Sep 2024 19:00:48 +0800 Subject: [PATCH] perf: When connected through a gateway, you can use nc to forward data (#14110) Co-authored-by: feng <1304903146@qq.com> Co-authored-by: Bryan --- apps/assets/const/protocol.py | 6 + apps/assets/models/gateway.py | 2 +- apps/i18n/core/en/LC_MESSAGES/django.po | 70 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 954 ++++++++++++------- apps/i18n/core/zh/LC_MESSAGES/django.po | 70 +- apps/i18n/core/zh_Hant/LC_MESSAGES/django.po | 610 +++++++----- apps/ops/ansible/inventory.py | 30 +- 7 files changed, 1058 insertions(+), 684 deletions(-) diff --git a/apps/assets/const/protocol.py b/apps/assets/const/protocol.py index 07a60c3de..dde7ccabe 100644 --- a/apps/assets/const/protocol.py +++ b/apps/assets/const/protocol.py @@ -45,6 +45,12 @@ class Protocol(ChoicesMixin, models.TextChoices): 'default': False, 'label': _('Old SSH version'), 'help_text': _('Old SSH version like openssh 5.x or 6.x') + }, + 'nc': { + 'type': 'bool', + 'default': False, + 'label': 'Netcat (nc)', + 'help_text': _('Netcat help text') } } }, diff --git a/apps/assets/models/gateway.py b/apps/assets/models/gateway.py index 36b2a5a72..9f23cb5fc 100644 --- a/apps/assets/models/gateway.py +++ b/apps/assets/models/gateway.py @@ -16,7 +16,7 @@ __all__ = ['Gateway'] class GatewayManager(OrgManager): def get_queryset(self): queryset = super().get_queryset() - queryset = queryset.filter(platform__name=GATEWAY_NAME) + queryset = queryset.filter(platform__name__startswith=GATEWAY_NAME) return queryset def bulk_create(self, objs, batch_size=None, ignore_conflicts=False): diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index b4efc0405..3587e66bb 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 14:22+0800\n" +"POT-Creation-Date: 2024-09-09 16:05+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -366,7 +366,7 @@ msgstr "" msgid "Su from" msgstr "Switch from" -#: accounts/models/account.py:55 assets/const/protocol.py:189 +#: accounts/models/account.py:55 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" @@ -1583,7 +1583,7 @@ msgstr "" msgid "Basic" msgstr "" -#: assets/const/base.py:34 assets/const/protocol.py:292 +#: assets/const/base.py:34 assets/const/protocol.py:298 #: assets/models/asset/web.py:13 msgid "Script" msgstr "" @@ -1661,11 +1661,15 @@ msgstr "" msgid "Old SSH version like openssh 5.x or 6.x" msgstr "" -#: assets/const/protocol.py:58 +#: assets/const/protocol.py:53 +msgid "Netcat help text" +msgstr "Use netcat (nc) as a proxy tool to forward connections from the proxy server to the target host. This is useful in environments that do not support the SSH native proxy option (-W), or when more flexibility and timeout control are needed." + +#: assets/const/protocol.py:64 msgid "SFTP root" msgstr "" -#: assets/const/protocol.py:60 +#: assets/const/protocol.py:66 #, python-brace-format msgid "" "SFTP root directory, Support variable:
- ${ACCOUNT} The connected " @@ -1673,24 +1677,24 @@ msgid "" "
- ${USER} The username of the user" msgstr "" -#: assets/const/protocol.py:75 +#: assets/const/protocol.py:81 msgid "Console" msgstr "" -#: assets/const/protocol.py:76 +#: assets/const/protocol.py:82 msgid "Connect to console session" msgstr "" -#: assets/const/protocol.py:80 +#: assets/const/protocol.py:86 msgid "Any" msgstr "" -#: assets/const/protocol.py:82 rbac/tree.py:62 +#: assets/const/protocol.py:88 rbac/tree.py:62 #: settings/serializers/security.py:232 msgid "Security" msgstr "" -#: assets/const/protocol.py:83 +#: assets/const/protocol.py:89 msgid "" "Security layer to use for the connection:
Any
Automatically select the " "security mode based on the security protocols supported by both the client " @@ -1701,100 +1705,100 @@ msgid "" "and password to be given in advance" msgstr "" -#: assets/const/protocol.py:100 +#: assets/const/protocol.py:106 msgid "AD domain" msgstr "" -#: assets/const/protocol.py:115 +#: assets/const/protocol.py:121 msgid "Username prompt" msgstr "" -#: assets/const/protocol.py:116 +#: assets/const/protocol.py:122 msgid "We will send username when we see this prompt" msgstr "" -#: assets/const/protocol.py:121 +#: assets/const/protocol.py:127 msgid "Password prompt" msgstr "" -#: assets/const/protocol.py:122 +#: assets/const/protocol.py:128 msgid "We will send password when we see this prompt" msgstr "" -#: assets/const/protocol.py:127 +#: assets/const/protocol.py:133 msgid "Success prompt" msgstr "" -#: assets/const/protocol.py:128 +#: assets/const/protocol.py:134 msgid "We will consider login success when we see this prompt" msgstr "" -#: assets/const/protocol.py:139 assets/models/asset/database.py:10 +#: assets/const/protocol.py:145 assets/models/asset/database.py:10 #: settings/serializers/msg.py:49 msgid "Use SSL" msgstr "" -#: assets/const/protocol.py:174 +#: assets/const/protocol.py:180 msgid "SYSDBA" msgstr "" -#: assets/const/protocol.py:175 +#: assets/const/protocol.py:181 msgid "Connect as SYSDBA" msgstr "" -#: assets/const/protocol.py:190 +#: assets/const/protocol.py:196 msgid "" "SQL Server version, Different versions have different connection drivers" msgstr "" -#: assets/const/protocol.py:220 +#: assets/const/protocol.py:226 msgid "Auth source" msgstr "" -#: assets/const/protocol.py:221 +#: assets/const/protocol.py:227 msgid "The database to authenticate against" msgstr "" -#: assets/const/protocol.py:226 authentication/models/connection_token.py:43 +#: assets/const/protocol.py:232 authentication/models/connection_token.py:43 msgid "Connect options" msgstr "" -#: assets/const/protocol.py:227 +#: assets/const/protocol.py:233 msgid "The connection specific options eg. retryWrites=false&retryReads=false" msgstr "" -#: assets/const/protocol.py:239 +#: assets/const/protocol.py:245 msgid "Auth username" msgstr "" -#: assets/const/protocol.py:262 +#: assets/const/protocol.py:268 msgid "Safe mode" msgstr "" -#: assets/const/protocol.py:264 +#: assets/const/protocol.py:270 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." msgstr "" -#: assets/const/protocol.py:269 assets/models/asset/web.py:9 +#: assets/const/protocol.py:275 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "" -#: assets/const/protocol.py:277 assets/models/asset/web.py:10 +#: assets/const/protocol.py:283 assets/models/asset/web.py:10 msgid "Username selector" msgstr "" -#: assets/const/protocol.py:282 assets/models/asset/web.py:11 +#: assets/const/protocol.py:288 assets/models/asset/web.py:11 msgid "Password selector" msgstr "" -#: assets/const/protocol.py:287 assets/models/asset/web.py:12 +#: assets/const/protocol.py:293 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "" -#: assets/const/protocol.py:310 +#: assets/const/protocol.py:316 msgid "API mode" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 91657a68d..ad5c10c64 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 14:22+0800\n" +"POT-Creation-Date: 2024-09-09 16:05+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -187,8 +187,7 @@ msgstr "集めました" msgid "Template" msgstr "テンプレート" -#: accounts/const/account.py:32 ops/const.py:46 -#: xpack/plugins/cloud/const.py:68 +#: accounts/const/account.py:32 ops/const.py:46 xpack/plugins/cloud/const.py:68 msgid "Skip" msgstr "スキップ" @@ -367,7 +366,7 @@ msgstr "資産" msgid "Su from" msgstr "から切り替え" -#: accounts/models/account.py:55 assets/const/protocol.py:189 +#: accounts/models/account.py:55 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" @@ -391,8 +390,8 @@ msgstr "ソース ID" #: assets/serializers/gateway.py:33 audits/models.py:59 #: authentication/api/connection_token.py:411 ops/models/base.py:18 #: perms/models/asset_permission.py:75 settings/serializers/msg.py:33 -#: terminal/backends/command/models.py:18 -#: terminal/models/session/session.py:34 terminal/serializers/command.py:72 +#: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 +#: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 @@ -715,11 +714,9 @@ msgstr "パスワードルール" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:35 settings/models.py:184 #: settings/serializers/msg.py:89 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 -#: terminal/models/component/endpoint.py:12 +#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 -#: terminal/models/component/storage.py:26 -#: terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:85 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -780,7 +777,8 @@ msgstr "ユーザーと同じユーザー名" #: accounts/models/virtual.py:37 msgid "Non-asset account, Input username/password on connect" -msgstr "アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" +msgstr "" +"アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" #: accounts/models/virtual.py:38 msgid "The account username name same with user on connect" @@ -790,7 +788,9 @@ msgstr "接続時にユーザー名と同じユーザー名を使用します" msgid "" "Connect asset without using a username and password, and it only supports " "web-based and custom-type assets" -msgstr "ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタイプのアセットのみをサポートします" +msgstr "" +"ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタ" +"イプのアセットのみをサポートします" #: accounts/notifications.py:12 accounts/notifications.py:37 msgid "Notification of account backup route task results" @@ -800,7 +800,9 @@ msgstr "アカウントバックアップルートタスクの結果の通知" msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" -msgstr "{} -アカウントバックアップの通過タスクが完了しました。詳細は添付ファイルをご覧ください" +msgstr "" +"{} -アカウントバックアップの通過タスクが完了しました。詳細は添付ファイルをご" +"覧ください" #: accounts/notifications.py:25 msgid "" @@ -808,8 +810,9 @@ msgid "" "password has not been set - please go to personal information -> Basic file " "encryption password for preference settings" msgstr "" -"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> " -"プリファレンス設定の基本的なファイル暗号化パスワードの設定" +"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定" +"されていません-個人情報にアクセスしてください-> プリファレンス設定の基本的な" +"ファイル暗号化パスワードの設定" #: accounts/notifications.py:56 msgid "Notification of implementation result of encryption change plan" @@ -827,7 +830,8 @@ msgid "" "has not been set - please go to personal information -> set encryption " "password in preferences" msgstr "" -"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> 環境設定で暗号化パスワードを設定する" +"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人" +"情報にアクセスしてください-> 環境設定で暗号化パスワードを設定する" #: accounts/notifications.py:83 msgid "Gather account change information" @@ -865,9 +869,9 @@ msgstr "カテゴリ" #: assets/serializers/asset/common.py:146 assets/serializers/platform.py:155 #: assets/serializers/platform.py:167 audits/serializers.py:53 #: audits/serializers.py:170 -#: authentication/serializers/connect_token_secret.py:126 -#: ops/models/job.py:150 perms/serializers/user_permission.py:27 -#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:150 +#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 +#: terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:154 terminal/serializers/applet.py:29 #: terminal/serializers/session.py:23 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -939,10 +943,9 @@ msgstr "ID" #: accounts/serializers/account/account.py:474 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 -#: audits/models.py:54 audits/models.py:90 audits/models.py:172 -#: audits/models.py:271 audits/serializers.py:171 -#: authentication/models/connection_token.py:32 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 +#: audits/models.py:90 audits/models.py:172 audits/models.py:271 +#: audits/serializers.py:171 authentication/models/connection_token.py:32 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 @@ -992,7 +995,8 @@ msgid "" "* If no username is required for authentication, enter null. For AD " "accounts, use the format username@domain." msgstr "" -"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの場合は、`username@domain`のようになります。" +"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの" +"場合は、`username@domain`のようになります。" #: accounts/serializers/account/template.py:13 msgid "Password length" @@ -1035,11 +1039,11 @@ msgid "" msgstr "关联平台,可以配置推送参数,如果不关联,则使用默认参数" #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 -#: ops/models/adhoc.py:26 ops/models/job.py:158 ops/models/playbook.py:31 -#: rbac/models/role.py:37 settings/models.py:40 -#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:332 -#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:25 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:26 +#: ops/models/job.py:158 ops/models/playbook.py:31 rbac/models/role.py:37 +#: settings/models.py:40 terminal/models/applet/applet.py:46 +#: terminal/models/applet/applet.py:332 terminal/models/applet/host.py:143 +#: terminal/models/component/endpoint.py:25 #: terminal/models/component/endpoint.py:119 #: terminal/models/session/session.py:47 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1054,13 +1058,14 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: 資産シークレット内の同じアカウント > ログインシークレット > " -"手動入力.
セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定してください。 " +"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: " +"資産シークレット内の同じアカウント > ログインシークレット > 手動入力.
" +"セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定して" +"ください。 " #: accounts/serializers/automations/base.py:23 #: assets/models/asset/common.py:169 assets/serializers/asset/common.py:172 -#: assets/serializers/automations/base.py:21 -#: perms/serializers/permission.py:47 +#: assets/serializers/automations/base.py:21 perms/serializers/permission.py:47 msgid "Nodes" msgstr "ノード" @@ -1090,7 +1095,8 @@ msgstr "アカウントのユーザー名を入力してください" msgid "" "Secret parameter settings, currently only effective for assets of the host " "type." -msgstr "パラメータ設定は現在、AIX LINUX UNIX タイプの資産に対してのみ有効です。" +msgstr "" +"パラメータ設定は現在、AIX LINUX UNIX タイプの資産に対してのみ有効です。" #: accounts/serializers/automations/change_secret.py:84 msgid "* Please enter the correct password length" @@ -1135,11 +1141,14 @@ msgstr "パスワード変更記録とプッシュ記録を定期的にクリア #: accounts/tasks/automation.py:87 msgid "Clean change secret and push record period description" msgstr "" -"システムは、変更タスク、実行レコード、資産、アカウントに関連するものを含め、不要な変更シークレット レコードとプッシュ " -"レコードを定期的にクリーンアップします。これらの関連項目のいずれかが削除されると、対応する変更シークレット レコードとプッシュ " -"レコードは無効になります。したがって、整然とした効率的なデータベースを維持するために、システムはデフォルトでこれらの無効なレコードを 180 " -"日ごとに自動的にクリーンアップします。この定期的なクリーンアップ " -"プロセスにより、ストレージ領域が解放され、データ管理のセキュリティと全体的なパフォーマンスが向上します。" +"システムは、変更タスク、実行レコード、資産、アカウントに関連するものを含め、" +"不要な変更シークレット レコードとプッシュ レコードを定期的にクリーンアップし" +"ます。これらの関連項目のいずれかが削除されると、対応する変更シークレット レ" +"コードとプッシュ レコードは無効になります。したがって、整然とした効率的なデー" +"タベースを維持するために、システムはデフォルトでこれらの無効なレコードを 180 " +"日ごとに自動的にクリーンアップします。この定期的なクリーンアップ プロセスによ" +"り、ストレージ領域が解放され、データ管理のセキュリティと全体的なパフォーマン" +"スが向上します。" #: accounts/tasks/backup_account.py:25 msgid "Execute account backup plan" @@ -1202,13 +1211,16 @@ msgstr "尊敬する" msgid "" "Hello! The following is the failure of changing the password of your assets " "or pushing the account. Please check and handle it in time." -msgstr "こんにちは! アセットの変更またはアカウントのプッシュが失敗する状況は次のとおりです。 時間内に確認して対処してください。" +msgstr "" +"こんにちは! アセットの変更またはアカウントのプッシュが失敗する状況は次のとお" +"りです。 時間内に確認して対処してください。" #: accounts/utils.py:52 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not" -" allowed." -msgstr "パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" +"If the password starts with {{` and ends with }} `, then the password is not " +"allowed." +msgstr "" +"パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" #: accounts/utils.py:59 msgid "private key invalid or passphrase error" @@ -1378,9 +1390,9 @@ msgid "" "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "support)" msgstr "" -"* はすべて一致することを示します。例: " -"192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64" -" (ドメイン名サポート)" +"* はすべて一致することを示します。例: 192.168.10.1、192.168.1.0/24、" +"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64 (ドメイン名サ" +"ポート)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -1408,8 +1420,8 @@ msgid "" "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " msgstr "" -"* はすべて一致することを示します。例: " -"192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64" +"* はすべて一致することを示します。例: 192.168.10.1、192.168.1.0/24、" +"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64" #: acls/serializers/rules/rules.py:33 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -1449,7 +1461,9 @@ msgid "" "the asset. If you did not authorize this login or if you notice any " "suspicious activity, please take the necessary actions immediately." msgstr "" -"資産のセキュリティと適切な使用を確保するために、ログイン活動を確認してください。このログインを承認していない場合や、不審な活動に気付いた場合は、直ちに必要な措置を講じてください。" +"資産のセキュリティと適切な使用を確保するために、ログイン活動を確認してくださ" +"い。このログインを承認していない場合や、不審な活動に気付いた場合は、直ちに必" +"要な措置を講じてください。" #: acls/templates/acls/asset_login_reminder.html:16 #: acls/templates/acls/user_login_reminder.html:16 @@ -1478,7 +1492,9 @@ msgstr "ユーザーエージェント" #: assets/api/asset/asset.py:181 msgid "Cannot create asset directly, you should create a host or other" -msgstr "資産を直接作成することはできません。ホストまたはその他を作成する必要があります" +msgstr "" +"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま" +"す" #: assets/api/asset/asset.py:185 msgid "The number of assets exceeds the limit of 5000" @@ -1595,7 +1611,7 @@ msgstr "無効" msgid "Basic" msgstr "基本" -#: assets/const/base.py:34 assets/const/protocol.py:292 +#: assets/const/base.py:34 assets/const/protocol.py:298 #: assets/models/asset/web.py:13 msgid "Script" msgstr "脚本" @@ -1673,144 +1689,155 @@ msgstr "古いSSHバージョン" msgid "Old SSH version like openssh 5.x or 6.x" msgstr "openssh 5.x または 6.x などの古い SSH バージョン" -#: assets/const/protocol.py:58 +#: assets/const/protocol.py:53 +msgid "Netcat help text" +msgstr "netcat (nc) をプロキシ ツールとして使用し、プロキシ サーバーからターゲット ホストに接続を転送します。 SSH ネイティブ エージェント オプション (-W) がサポートされていない環境、またはより柔軟なタイムアウト制御が必要な環境に最適です。" + +#: assets/const/protocol.py:64 msgid "SFTP root" msgstr "SFTPルート" -#: assets/const/protocol.py:60 +#: assets/const/protocol.py:66 #, python-brace-format msgid "" "SFTP root directory, Support variable:
- ${ACCOUNT} The connected " "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントのユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}ユーザーのユーザー名" +"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントの" +"ユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}" +"ユーザーのユーザー名" -#: assets/const/protocol.py:75 +#: assets/const/protocol.py:81 msgid "Console" msgstr "Console" -#: assets/const/protocol.py:76 +#: assets/const/protocol.py:82 msgid "Connect to console session" msgstr "コンソールセッションに接続" -#: assets/const/protocol.py:80 +#: assets/const/protocol.py:86 msgid "Any" msgstr "任意" -#: assets/const/protocol.py:82 rbac/tree.py:62 +#: assets/const/protocol.py:88 rbac/tree.py:62 #: settings/serializers/security.py:232 msgid "Security" msgstr "セキュリティ" -#: assets/const/protocol.py:83 +#: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the" -" security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the " +"security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " "via TLS.
NLA
This mode uses TLS encryption and requires the username " "and password to be given in advance" msgstr "" -"接続のセキュリティ層:
Any
クライアントとサーバーの両方でサポートされているセキュリティプロトコルに基づいて、セキュリティモードを自動的に選択します
RDP
レガシーRDP暗号化。このモードは、通常、古い" -" " -"Windowsサーバーや標準のWindowsログイン画面が必要な場合に使用されます
TLS
TLSによって実装されたRDP認証と暗号化
NLA
このモードはTLS暗号化を使用し、事前にユーザー名とパスワードを提供する必要があります
" - -#: assets/const/protocol.py:100 +"接続のセキュリティ層:
Any
クライアントとサーバーの両方でサポートされて" +"いるセキュリティプロトコルに基づいて、セキュリティモードを自動的に選択します" +"
RDP
レガシーRDP暗号化。このモードは、通常、古い Windowsサーバーや標準" +"のWindowsログイン画面が必要な場合に使用されます
TLS
TLSによって実装され" +"たRDP認証と暗号化
NLA
このモードはTLS暗号化を使用し、事前にユーザー名と" +"パスワードを提供する必要があります
" + +#: assets/const/protocol.py:106 msgid "AD domain" msgstr "AD ドメイン" -#: assets/const/protocol.py:115 +#: assets/const/protocol.py:121 msgid "Username prompt" msgstr "ユーザー名プロンプト" -#: assets/const/protocol.py:116 +#: assets/const/protocol.py:122 msgid "We will send username when we see this prompt" msgstr "このプロンプトが表示されたらユーザー名を送信します" -#: assets/const/protocol.py:121 +#: assets/const/protocol.py:127 msgid "Password prompt" msgstr "パスワードプロンプト" -#: assets/const/protocol.py:122 +#: assets/const/protocol.py:128 msgid "We will send password when we see this prompt" msgstr "このプロンプトが表示されたらパスワードを送信します" -#: assets/const/protocol.py:127 +#: assets/const/protocol.py:133 msgid "Success prompt" msgstr "成功プロンプト" -#: assets/const/protocol.py:128 +#: assets/const/protocol.py:134 msgid "We will consider login success when we see this prompt" msgstr "このプロンプトが表示されたらログイン成功とみなします" -#: assets/const/protocol.py:139 assets/models/asset/database.py:10 +#: assets/const/protocol.py:145 assets/models/asset/database.py:10 #: settings/serializers/msg.py:49 msgid "Use SSL" msgstr "SSLの使用" -#: assets/const/protocol.py:174 +#: assets/const/protocol.py:180 msgid "SYSDBA" msgstr "SYSDBA" -#: assets/const/protocol.py:175 +#: assets/const/protocol.py:181 msgid "Connect as SYSDBA" msgstr "SYSDBA として接続" -#: assets/const/protocol.py:190 +#: assets/const/protocol.py:196 msgid "" "SQL Server version, Different versions have different connection drivers" msgstr "SQL Server のバージョン。バージョンによって接続ドライバが異なります" -#: assets/const/protocol.py:220 +#: assets/const/protocol.py:226 msgid "Auth source" msgstr "認証データベース" -#: assets/const/protocol.py:221 +#: assets/const/protocol.py:227 msgid "The database to authenticate against" msgstr "認証するデータベース" -#: assets/const/protocol.py:226 authentication/models/connection_token.py:43 +#: assets/const/protocol.py:232 authentication/models/connection_token.py:43 msgid "Connect options" msgstr "接続アイテム" -#: assets/const/protocol.py:227 +#: assets/const/protocol.py:233 msgid "The connection specific options eg. retryWrites=false&retryReads=false" msgstr "接続固有のオプション (例: retryWrites=false&retryReads=false)" -#: assets/const/protocol.py:239 +#: assets/const/protocol.py:245 msgid "Auth username" msgstr "ユーザー名で認証する" -#: assets/const/protocol.py:262 +#: assets/const/protocol.py:268 msgid "Safe mode" msgstr "安全モード" -#: assets/const/protocol.py:264 +#: assets/const/protocol.py:270 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." -msgstr "安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへのアクセスなど、一部の操作が無効になります" +msgstr "" +"安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへ" +"のアクセスなど、一部の操作が無効になります" -#: assets/const/protocol.py:269 assets/models/asset/web.py:9 +#: assets/const/protocol.py:275 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自動充填" -#: assets/const/protocol.py:277 assets/models/asset/web.py:10 +#: assets/const/protocol.py:283 assets/models/asset/web.py:10 msgid "Username selector" msgstr "ユーザー名ピッカー" -#: assets/const/protocol.py:282 assets/models/asset/web.py:11 +#: assets/const/protocol.py:288 assets/models/asset/web.py:11 msgid "Password selector" msgstr "パスワードセレクター" -#: assets/const/protocol.py:287 assets/models/asset/web.py:12 +#: assets/const/protocol.py:293 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "ボタンセレクターを確認する" -#: assets/const/protocol.py:310 +#: assets/const/protocol.py:316 msgid "API mode" msgstr "APIモード" @@ -2195,7 +2222,9 @@ msgstr "%(value)s は偶数ではありません" msgid "" "Batch update platform in assets, skipping assets that do not meet platform " "type" -msgstr "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プラットフォーム" +msgstr "" +"プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" +"ラットフォーム" #: assets/serializers/asset/common.py:36 msgid "Protocols, format is [\"protocol/port\"]" @@ -2209,13 +2238,17 @@ msgstr "契約書、形式は 名前/ポート" msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -msgstr "アカウント、形式は [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", \"secret_type\": \"パスワード\"}]" +msgstr "" +"アカウント、形式は [{\"name\": \"x\", \"username\": \"x\", \"secret\": " +"\"x\", \"secret_type\": \"パスワード\"}]" #: assets/serializers/asset/common.py:135 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" -msgstr "ノードパス、形式は [\"/組織/ノード名\"]、もしノードが存在しない場合、それを作成します" +msgstr "" +"ノードパス、形式は [\"/組織/ノード名\"]、もしノードが存在しない場合、それを作" +"成します" #: assets/serializers/asset/common.py:147 assets/serializers/platform.py:169 #: authentication/serializers/connect_token_secret.py:30 @@ -2258,10 +2291,11 @@ msgstr "デフォルト・データベース" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an" -" HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an " +"HTTP proxy. e.g. http(s)://host:port" msgstr "" -"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要があります。例: http(s)://host:port" +"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要" +"があります。例: http(s)://host:port" #: assets/serializers/asset/gpt.py:24 msgid "HTTP proxy" @@ -2333,7 +2367,9 @@ msgstr "タイプ" msgid "" "A gateway is a network proxy for a zone, and when connecting assets within " "the zone, the connection is routed through the gateway." -msgstr "ゲートウェイはドメインのネットワーク代理であり、ドメイン内のリソースに接続する際には、接続はゲートウェイを通してルーティングされます。" +msgstr "" +"ゲートウェイはドメインのネットワーク代理であり、ドメイン内のリソースに接続す" +"る際には、接続はゲートウェイを通してルーティングされます。" #: assets/serializers/domain.py:24 assets/serializers/platform.py:177 #: orgs/serializers.py:13 perms/serializers/permission.py:50 @@ -2404,7 +2440,9 @@ msgstr "アドレスからのポート" msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." -msgstr "このプロトコルはプライマリであり、資産を追加するときに設定する必要があります。また、プライマリプロトコルは1つしかありません" +msgstr "" +"このプロトコルはプライマリであり、資産を追加するときに設定する必要がありま" +"す。また、プライマリプロトコルは1つしかありません" #: assets/serializers/platform.py:102 msgid "This protocol is required, and it must be set when adding assets." @@ -2414,11 +2452,14 @@ msgstr "このプロトコルは必須であり、資産を追加するときに msgid "" "This protocol is default, when adding assets, it will be displayed by " "default." -msgstr "このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されます" +msgstr "" +"このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されま" +"す" #: assets/serializers/platform.py:108 msgid "This protocol is public, asset will show this protocol to user" -msgstr "このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" +msgstr "" +"このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" #: assets/serializers/platform.py:157 msgid "Help text" @@ -2438,8 +2479,9 @@ msgid "" "another, similar to logging in with a regular account and then switching to " "root" msgstr "" -"資産にアクセスする際にアカウントでログインし、その後自動的に別のアカウントに切り替えます。これは、通常のアカウントでログインした後に root " -"に切り替えるのと似ています" +"資産にアクセスする際にアカウントでログインし、その後自動的に別のアカウントに" +"切り替えます。これは、通常のアカウントでログインした後に root に切り替えるの" +"と似ています" #: assets/serializers/platform.py:205 msgid "Assets can be connected using a zone gateway" @@ -2487,9 +2529,10 @@ msgstr "ノード下のアセット数を確認する" #: assets/tasks/nodes_amount.py:28 msgid "" -"The task of self-checking is already running and cannot be started " -"repeatedly" -msgstr "セルフチェックのタスクはすでに実行されており、繰り返し開始することはできません" +"The task of self-checking is already running and cannot be started repeatedly" +msgstr "" +"セルフチェックのタスクはすでに実行されており、繰り返し開始することはできませ" +"ん" #: assets/tasks/nodes_amount.py:33 msgid "Periodic check the amount of assets under the node" @@ -2529,8 +2572,7 @@ msgid "App Audits" msgstr "監査" #: audits/backends/db.py:17 -msgid "" -"The text content is too long. Use Elasticsearch to store operation logs" +msgid "The text content is too long. Use Elasticsearch to store operation logs" msgstr "文章の内容が長すぎる。Elasticsearchで操作履歴を保存する" #: audits/backends/db.py:108 @@ -2623,8 +2665,8 @@ msgstr "終了" #: audits/const.py:46 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:174 -#: terminal/models/virtualapp/provider.py:14 -#: terminal/serializers/session.py:55 terminal/serializers/session.py:78 +#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:55 +#: terminal/serializers/session.py:78 msgid "Terminal" msgstr "ターミナル" @@ -2663,8 +2705,7 @@ msgid "Job audit log" msgstr "ジョブ監査ログ" #: audits/models.py:56 audits/models.py:100 audits/models.py:175 -#: terminal/models/session/session.py:39 -#: terminal/models/session/sharing.py:113 +#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:113 msgid "Remote addr" msgstr "リモートaddr" @@ -2894,7 +2935,9 @@ msgstr "この操作には、MFAを検証する必要があります" #: authentication/api/connection_token.py:265 msgid "Reusable connection token is not allowed, global setting not enabled" -msgstr "再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効になっていません" +msgstr "" +"再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効に" +"なっていません" #: authentication/api/connection_token.py:379 msgid "Anonymous account is not supported for this asset" @@ -2933,7 +2976,9 @@ msgstr "ユーザーにマッチしなかった" msgid "" "The user is from {}, please go to the corresponding system to change the " "password" -msgstr "ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してください。" +msgstr "" +"ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ" +"さい。" #: authentication/api/password.py:65 #: authentication/templates/authentication/login.html:393 @@ -2964,7 +3009,8 @@ msgstr "無効なトークンヘッダー。記号文字列にはスペースを #: authentication/backends/drf.py:61 msgid "" "Invalid token header. Sign string should not contain invalid characters." -msgstr "無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" +msgstr "" +"無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" #: authentication/backends/drf.py:74 msgid "Invalid token or cache refreshed." @@ -2976,7 +3022,9 @@ msgstr "OpenID エラー" #: authentication/backends/oidc/views.py:175 msgid "Please check if a user with the same username or email already exists" -msgstr "同じユーザー名またはメールアドレスのユーザーが既に存在するかどうかを確認してください" +msgstr "" +"同じユーザー名またはメールアドレスのユーザーが既に存在するかどうかを確認して" +"ください" #: authentication/backends/passkey/api.py:37 msgid "Only register passkey for local user" @@ -2996,8 +3044,7 @@ msgstr "に追加" #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:26 -#: authentication/models/private_token.py:8 -#: authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "最後に使用した日付" @@ -3072,27 +3119,34 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 {times_try} 回試すこともできます (アカウントは " -"{block_time} 分の間一時的にロックされます)" +"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 " +"{times_try} 回試すこともできます (アカウントは {block_time} 分の間一時的に" +"ロックされます)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" -msgstr "アカウントがロックされています (管理者に連絡してロックを解除するか、 {} 分後にもう一度お試しください)" +msgstr "" +"アカウントがロックされています (管理者に連絡してロックを解除するか、 {} 分後" +"にもう一度お試しください)" #: authentication/errors/const.py:51 msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" -msgstr "IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行してください)" +msgstr "" +"IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行" +"してください)" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily" -" locked for {block_time} minutes)" -msgstr "{error},{times_try} 回も試すことができます (アカウントは {block_time} 分の間一時的にロックされます)" +"{error}, You can also try {times_try} times (The account will be temporarily " +"locked for {block_time} minutes)" +msgstr "" +"{error},{times_try} 回も試すことができます (アカウントは {block_time} 分の間" +"一時的にロックされます)" #: authentication/errors/const.py:63 msgid "MFA required" @@ -3179,7 +3233,8 @@ msgstr "ログインする前にパスワードを変更する必要がありま #: authentication/errors/redirect.py:101 authentication/mixins.py:337 msgid "Your password has expired, please reset before logging in" -msgstr "パスワードの有効期限が切れました。ログインする前にリセットしてください。" +msgstr "" +"パスワードの有効期限が切れました。ログインする前にリセットしてください。" #: authentication/forms.py:34 msgid "Auto-login" @@ -3220,7 +3275,8 @@ msgstr "カスタム MFA 検証コード" #: authentication/mfa/custom.py:56 msgid "MFA custom global enabled, cannot disable" -msgstr "カスタム MFA はグローバルに有効になっており、無効にすることはできません" +msgstr "" +"カスタム MFA はグローバルに有効になっており、無効にすることはできません" #: authentication/mfa/otp.py:7 msgid "OTP code invalid, or server time error" @@ -3287,7 +3343,9 @@ msgstr "無効なユーザーです" msgid "" "The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the administrator." -msgstr "管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユーザーソースは {} です。管理者に連絡してください。" +msgstr "" +"管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユー" +"ザーソースは {} です。管理者に連絡してください。" #: authentication/mixins.py:273 msgid "The MFA type ({}) is not enabled" @@ -3500,9 +3558,11 @@ msgstr "タイプを作成" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be" -" downloaded once" -msgstr "作成完了後、秘密鍵をダウンロードしてください。各秘密鍵のダウンロードは一度きりです" +"Please download the private key after creation. Each private key can only be " +"downloaded once" +msgstr "" +"作成完了後、秘密鍵をダウンロードしてください。各秘密鍵のダウンロードは一度き" +"りです" #: authentication/serializers/ssh_key.py:57 users/forms/profile.py:161 #: users/serializers/profile.py:133 users/serializers/profile.py:160 @@ -3599,7 +3659,9 @@ msgstr "アカウントにリモートログイン動作があります。注意 msgid "" "If you suspect that the login behavior is abnormal, please modify the " "account password in time." -msgstr "ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変更してください。" +msgstr "" +"ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変" +"更してください。" #: authentication/templates/authentication/_msg_oauth_bind.html:6 msgid "Your account has just been bound to" @@ -3613,7 +3675,9 @@ msgstr "操作が独自のものでない場合は、パスワードをバイン msgid "" "Please click the link below to reset your password, if not your request, " "concern your account security" -msgstr "下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場合は、アカウントのセキュリティに関係します。" +msgstr "" +"下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場" +"合は、アカウントのセキュリティに関係します。" #: authentication/templates/authentication/_msg_reset_password.html:10 msgid "Click here reset password" @@ -3658,7 +3722,9 @@ msgstr "ブラウザ" msgid "" "If the password update was not initiated by you, your account may have " "security issues" -msgstr "パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" +msgstr "" +"パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題があ" +"る可能性があります" #: authentication/templates/authentication/_msg_rest_password_success.html:14 #: authentication/templates/authentication/_msg_rest_public_key_success.html:14 @@ -3673,7 +3739,9 @@ msgstr "公開鍵が正常に更新されました" msgid "" "If the public key update was not initiated by you, your account may have " "security issues" -msgstr "公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" +msgstr "" +"公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可" +"能性があります" #: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 #: templates/flash_message_standalone.html:28 tickets/const.py:18 @@ -3684,7 +3752,9 @@ msgstr "キャンセル" msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" -msgstr "設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のドキュメントを参照してください。" +msgstr "" +"設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のド" +"キュメントを参照してください。" #: authentication/templates/authentication/login.html:309 msgid "If you are administrator, you can update the config resolve it, set" @@ -3730,7 +3800,9 @@ msgstr "コピー成功" msgid "" "This page is not served over HTTPS. Please use HTTPS to ensure security of " "your credentials." -msgstr "このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリティを確保してください。" +msgstr "" +"このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリ" +"ティを確保してください。" #: authentication/templates/authentication/passkey.html:173 msgid "Do you want to retry ?" @@ -3859,9 +3931,11 @@ msgstr "ログアウト成功、ログインページを返す" #: authentication/views/mixins.py:39 msgid "" -"For your safety, automatic redirection login is not supported on the client." -" If you need to open it in the client, please log in again" -msgstr "安全のため、クライアントでの自動リダイレクトログインはサポートされていません。クライアントで開く必要がある場合は、再度ログインしてください" +"For your safety, automatic redirection login is not supported on the client. " +"If you need to open it in the client, please log in again" +msgstr "" +"安全のため、クライアントでの自動リダイレクトログインはサポートされていませ" +"ん。クライアントで開く必要がある場合は、再度ログインしてください" #: authentication/views/slack.py:35 authentication/views/slack.py:118 msgid "Slack Error" @@ -3967,12 +4041,13 @@ msgstr "Secret Keyを使用したフィールドの暗号化" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" -" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " +"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 {'type':'ids','ids':[]}或 " -"#タイプ:属性、属性:[#名前:ip、照合:正確、値:1.1.1.1}" +"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 " +"{'type':'ids','ids':[]}或 #タイプ:属性、属性:[#名前:ip、照合:正確、" +"値:1.1.1.1}" #: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" @@ -4058,7 +4133,9 @@ msgstr "日付時刻形式 {}" msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" -msgstr "選択、形式: 名前(値)、名前はオプショナルで、読みやすいように、値は必須です。選択肢は {}" +msgstr "" +"選択、形式: 名前(値)、名前はオプショナルで、読みやすいように、値は必須です。" +"選択肢は {}" #: common/drf/renders/base.py:156 msgid "Choices, options {}" @@ -4075,7 +4152,9 @@ msgstr "タグ、形式: [\"キー:値\"]" #: common/drf/renders/base.py:162 msgid "" "Object, format name(id), name is optional for human read, id is requisite" -msgstr "関連項目、形式: 名前(id)、名前はオプショナルで、読みやすいように、idは必須です" +msgstr "" +"関連項目、形式: 名前(id)、名前はオプショナルで、読みやすいように、idは必須で" +"す" #: common/drf/renders/base.py:164 msgid "Object, format id" @@ -4085,11 +4164,15 @@ msgstr "関連項目、形式は id" msgid "" "Objects, format [\"name(id)\", ...], name is optional for human read, id is " "requisite" -msgstr "多関連項目、形式: [\"名前(id)\", ...]、名前はオプショナルで、読みやすいように、idは必須です" +msgstr "" +"多関連項目、形式: [\"名前(id)\", ...]、名前はオプショナルで、読みやすいよう" +"に、idは必須です" #: common/drf/renders/base.py:170 -msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" -msgstr "タグ、形式: [\"キー:値\", ...]、もしタグが存在しない場合、それを作成します" +msgid "" +"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgstr "" +"タグ、形式: [\"キー:値\", ...]、もしタグが存在しない場合、それを作成します" #: common/drf/renders/base.py:172 msgid "Objects, format [\"id\", ...]" @@ -4099,7 +4182,9 @@ msgstr "多関連項目、形式は [\"id\", ...]" msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" -msgstr "{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワードに暗号化パスワードを設定してください" +msgstr "" +"{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワード" +"に暗号化パスワードを設定してください" #: common/exceptions.py:15 xpack/plugins/cloud/ws.py:37 #, python-format @@ -4142,7 +4227,9 @@ msgstr "サポートされていません Elasticsearch8" msgid "" "Connection failed: Self-signed certificate used. Please check server " "certificate configuration" -msgstr "接続失敗:自己署名証明書が使用されています,サーバーの証明書設定を確認してください" +msgstr "" +"接続失敗:自己署名証明書が使用されています,サーバーの証明書設定を確認してく" +"ださい" #: common/sdk/im/exceptions.py:23 msgid "Network error, please contact system administrator" @@ -4320,13 +4407,16 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
" -"Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要があります。urlディストリビューションにnginxを設定します。
" -" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" +"
Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要" +"があります。urlディストリビューションにnginxを設定します。
この" +"ページが表示されている場合は、nginxリスニングポートにアクセスしていないことを" +"証明してください。頑張ってください。" #: jumpserver/views/other.py:76 msgid "Websocket server run on port: {}, you should proxy it on nginx" -msgstr "Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要があります。" +msgstr "" +"Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要がありま" +"す。" #: jumpserver/views/other.py:90 msgid "" @@ -4334,8 +4424,10 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要があります。URL配布用にnginxを設定します。
" -" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" +"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要が" +"あります。URL配布用にnginxを設定します。
このページが表示されて" +"いる場合は、nginxリスニングポートにアクセスしていないことを証明してください。" +"頑張ってください。" #: labels/apps.py:8 msgid "App Labels" @@ -4426,12 +4518,15 @@ msgstr "タスク実行パラメータエラー" msgid "" "Asset ({asset}) must have at least one of the following protocols added: " "SSH, SFTP, or WinRM" -msgstr "資産({asset})には、少なくともSSH、SFTP、WinRMのいずれか一つのプロトコルを追加する必要があります" +msgstr "" +"資産({asset})には、少なくともSSH、SFTP、WinRMのいずれか一つのプロトコルを追加" +"する必要があります" #: ops/api/job.py:84 #, python-brace-format msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" -msgstr "資産({asset})の認証にはSSH、SFTP、またはWinRMプロトコルが不足しています" +msgstr "" +"資産({asset})の認証にはSSH、SFTP、またはWinRMプロトコルが不足しています" #: ops/api/job.py:85 #, python-brace-format @@ -4446,7 +4541,9 @@ msgstr "重複したファイルが存在する" #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" -msgstr "ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択してください。" +msgstr "" +"ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択し" +"てください。" #: ops/api/job.py:244 msgid "" @@ -4863,7 +4960,8 @@ msgstr "現在の組織 ({}) は削除できません" msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" -msgstr "LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" +msgstr "" +"LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" #: orgs/api.py:75 msgid "The organization have resource ({}) cannot be deleted" @@ -4882,8 +4980,7 @@ msgstr "組織を選択してから保存してください" #: rbac/serializers/rolebinding.py:44 settings/serializers/auth/base.py:52 #: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 -#: tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "組織" @@ -5047,8 +5144,8 @@ msgid "" "Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " "choices: @ALL, @SPEC, @USER, @ANON, @INPUT" msgstr "" -"アカウント、形式 [\"@バーチャルアカウント\", \"root\", \"%テンプレートid\"], バーチャルオプション: @ALL, " -"@SPEC, @USER, @ANON, @INPUT" +"アカウント、形式 [\"@バーチャルアカウント\", \"root\", \"%テンプレートid\"], " +"バーチャルオプション: @ALL, @SPEC, @USER, @ANON, @INPUT" #: perms/serializers/permission.py:38 msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" @@ -5192,7 +5289,8 @@ msgstr "全ての組織" msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" -msgstr "ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" +msgstr "" +"ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" #: rbac/models/rolebinding.py:200 msgid "Organization role binding" @@ -5323,7 +5421,9 @@ msgstr "SMTP設定のテスト" #: settings/api/ldap.py:90 msgid "" "Users are not synchronized, please click the user synchronization button" -msgstr "ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてください。" +msgstr "" +"ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてくださ" +"い。" #: settings/api/sms.py:142 msgid "Invalid SMS platform" @@ -5476,7 +5576,9 @@ msgid "" "information, the system will automatically create the user using this email " "suffix" msgstr "" -"第三者ユーザーの認証が成功した後、第三者認証サービスプラットフォームがユーザーのメール情報を返さなかった場合、システムは自動的にこのメールのサフィックスでユーザーを作成します" +"第三者ユーザーの認証が成功した後、第三者認証サービスプラットフォームがユー" +"ザーのメール情報を返さなかった場合、システムは自動的にこのメールのサフィック" +"スでユーザーを作成します" #: settings/serializers/auth/base.py:36 msgid "Forgot Password URL" @@ -5495,13 +5597,17 @@ msgid "" "Should an flash page be displayed before the user is redirected to third-" "party authentication when the administrator enables third-party redirect " "authentication" -msgstr "管理者が第三者へのリダイレクトの認証を有効にした場合、ユーザーが第三者の認証にリダイレクトされる前に Flash ページを表示するかどうか" +msgstr "" +"管理者が第三者へのリダイレクトの認証を有効にした場合、ユーザーが第三者の認証" +"にリダイレクトされる前に Flash ページを表示するかどうか" #: settings/serializers/auth/base.py:54 msgid "" "When you create a user, you associate the user to the organization of your " "choice. Users always belong to the Default organization." -msgstr "ユーザーを作成するときは、そのユーザーを選択した組織に関連付けます。ユーザーは常にデフォルト組織に属します。" +msgstr "" +"ユーザーを作成するときは、そのユーザーを選択した組織に関連付けます。ユーザー" +"は常にデフォルト組織に属します。" #: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 msgid "CAS" @@ -5533,8 +5639,7 @@ msgstr "ユーザー名のプロパティ" msgid "Enable attributes map" msgstr "属性マップの有効化" -#: settings/serializers/auth/cas.py:34 -#: settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 #: settings/serializers/auth/ldap.py:66 settings/serializers/auth/oauth2.py:60 #: settings/serializers/auth/oidc.py:39 settings/serializers/auth/saml2.py:35 @@ -5547,7 +5652,8 @@ msgid "" "User attribute mapping, where the `key` is the CAS service user attribute " "name and the `value` is the JumpServer user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は CAS サービスのユーザー属性名で、`value` は JumpServer のユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は CAS サービスのユーザー属性名で、" +"`value` は JumpServer のユーザー属性名です" #: settings/serializers/auth/cas.py:41 msgid "Create user" @@ -5557,7 +5663,9 @@ msgstr "そうでない場合はユーザーを作成" msgid "" "After successful user authentication, if the user does not exist, " "automatically create the user" -msgstr "ユーザー認証が成功した後、ユーザーが存在しない場合、自動的にユーザーが作成されます" +msgstr "" +"ユーザー認証が成功した後、ユーザーが存在しない場合、自動的にユーザーが作成さ" +"れます" #: settings/serializers/auth/dingtalk.py:16 msgid "Dingtalk" @@ -5568,15 +5676,16 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the DingTalk service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は ディントーク " -"サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は ディントーク サービスのユーザー属性名です" #: settings/serializers/auth/feishu.py:20 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the FeiShu service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は フェイシュ サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は フェイシュ サービスのユーザー属性名です" #: settings/serializers/auth/lark.py:13 users/models/user/_source.py:21 msgid "Lark" @@ -5587,7 +5696,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Lark service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は Lark サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は Lark サービスのユーザー属性名です" #: settings/serializers/auth/ldap.py:41 settings/serializers/auth/ldap.py:103 msgid "LDAP" @@ -5617,7 +5727,8 @@ msgstr "システムアーキテクチャ" msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" -msgstr "ユーザー検索ライブラリ、複数のOUがある場合は`|`の記号で分けることができます" +msgstr "" +"ユーザー検索ライブラリ、複数のOUがある場合は`|`の記号で分けることができます" #: settings/serializers/auth/ldap.py:62 msgid "Search filter" @@ -5633,7 +5744,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は LDAP サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は LDAP サービスのユーザー属性名です" #: settings/serializers/auth/ldap.py:84 msgid "Connect timeout (s)" @@ -5650,8 +5762,9 @@ msgid "" "cache
If the user OU structure has been adjusted, click Submit to clear " "the user DN cache" msgstr "" -"ユーザーがログイン認証時にクエリした User DN をキャッシュすると、ユーザー認証の速度を効果的に改善できます。
ユーザーの OU " -"構造が調整された場合は、提出をクリックしてユーザーの DN キャッシュをクリアできます。" +"ユーザーがログイン認証時にクエリした User DN をキャッシュすると、ユーザー認証" +"の速度を効果的に改善できます。
ユーザーの OU 構造が調整された場合は、提出" +"をクリックしてユーザーの DN キャッシュをクリアできます。" #: settings/serializers/auth/ldap.py:97 msgid "Search paged size (piece)" @@ -5702,8 +5815,7 @@ msgid "End session endpoint" msgstr "プロバイダーのセッション終了エンドポイント" #: settings/serializers/auth/oauth2.py:57 -msgid "" -"When the user signs out, they also be logged out from the OAuth2 server" +msgid "When the user signs out, they also be logged out from the OAuth2 server" msgstr "ユーザーがログアウトすると、OAuth2 サーバからもログアウトします" #: settings/serializers/auth/oauth2.py:62 @@ -5711,11 +5823,11 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OAuth2 service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は OAuth2 " -"サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は OAuth2 サービスのユーザー属性名です" -#: settings/serializers/auth/oauth2.py:67 -#: settings/serializers/auth/oidc.py:113 settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:113 +#: settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "常にユーザーを更新" @@ -5748,7 +5860,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OIDC service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は OIDC サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は OIDC サービスのユーザー属性名です" #: settings/serializers/auth/oidc.py:45 msgid "Enable PKCE" @@ -5766,7 +5879,9 @@ msgstr "Keycloakを使用する" msgid "" "Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " "Protocol" -msgstr "Keycloak を OpenID Connect サーバとして使用するか、標準的な OpenID Connect プロトコルを使用する" +msgstr "" +"Keycloak を OpenID Connect サーバとして使用するか、標準的な OpenID Connect プ" +"ロトコルを使用する" #: settings/serializers/auth/oidc.py:64 msgid "Realm name" @@ -5825,7 +5940,9 @@ msgid "" "The hostname can using passkey auth, If not set, will use request host and " "the request host in DOMAINS, If multiple domains, use comma to separate" msgstr "" -"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストとDOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切ります" +"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストと" +"DOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切り" +"ます" #: settings/serializers/auth/passkey.py:22 msgid "FIDO Server name" @@ -5841,9 +5958,10 @@ msgid "OTP in RADIUS" msgstr "Radius のOTP" #: settings/serializers/auth/radius.py:24 -msgid "" -"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" -msgstr "* RADIUSでOTPを使用するということは、ユーザーはRADIUSをMFAの方法として使用することができる" +msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgstr "" +"* RADIUSでOTPを使用するということは、ユーザーはRADIUSをMFAの方法として使用す" +"ることができる" #: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 msgid "SAML2" @@ -5873,7 +5991,9 @@ msgstr "SP 証明書" msgid "" "User attribute mapping, where the `key` is the SAML2 service user attribute " "name and the `value` is the JumpServer user attribute name" -msgstr "ユーザー属性マッピング(`key`はSAML2サービスのユーザー属性名、`value`はJumpServerのユーザー属性名)" +msgstr "" +"ユーザー属性マッピング(`key`はSAML2サービスのユーザー属性名、`value`は" +"JumpServerのユーザー属性名)" #: settings/serializers/auth/saml2.py:43 msgid "When the user signs out, they also be logged out from the SAML2 server" @@ -5884,7 +6004,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Slack service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は Slack サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は Slack サービスのユーザー属性名です" #: settings/serializers/auth/sms.py:18 msgid "Enable Short Message Service (SMS)" @@ -5949,11 +6070,13 @@ msgstr "ビジネス・タイプ(Service id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed" -" 67 words. For example, your verification code is {code}, which is valid for" -" 5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed " +"67 words. For example, your verification code is {code}, which is valid for " +"5 minutes. Please do not disclose it to others." msgstr "" -"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わないでください。" +"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未" +"満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わない" +"でください。" #: settings/serializers/auth/sms.py:94 #, python-brace-format @@ -5974,7 +6097,8 @@ msgstr "SSO Token認証の有効化" #: settings/serializers/auth/sso.py:17 msgid "Other service can using SSO token login to JumpServer without password" -msgstr "他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" +msgstr "" +"他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" #: settings/serializers/auth/sso.py:20 msgid "SSO auth key TTL" @@ -5990,8 +6114,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the WeCom service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は エンタープライズ WeChat " -"サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" +"`value` は エンタープライズ WeChat サービスのユーザー属性名です" #: settings/serializers/basic.py:11 msgid "Site URL" @@ -5999,9 +6123,11 @@ msgstr "サイトURL" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service" -" and is usually used in links in system emails" -msgstr "サイトURLは、現在の製品サービスの外部からアクセス可能なアドレスであり、通常はシステムメール内のリンクに使用されます" +"Site URL is the externally accessible address of the current product service " +"and is usually used in links in system emails" +msgstr "" +"サイトURLは、現在の製品サービスの外部からアクセス可能なアドレスであり、通常は" +"システムメール内のリンクに使用されます" #: settings/serializers/basic.py:18 msgid "User guide url" @@ -6026,7 +6152,9 @@ msgstr "ドキュメントリンク" #: settings/serializers/basic.py:27 msgid "" "Document URL refers to the address in the top navigation bar Help - Document" -msgstr "ドキュメントURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - ドキュメント" +msgstr "" +"ドキュメントURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - ド" +"キュメント" #: settings/serializers/basic.py:30 msgid "Support URL" @@ -6035,7 +6163,8 @@ msgstr "サポートリンク" #: settings/serializers/basic.py:31 msgid "" "Support URL refers to the address in the top navigation bar Help - Support" -msgstr "サポートURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - サポート" +msgstr "" +"サポートURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - サポート" #: settings/serializers/basic.py:44 msgid "Organization name already exists" @@ -6086,7 +6215,8 @@ msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." msgstr "" -"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (データベースのバックアップに影響し、OSS などには影響しません)" +"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (デー" +"タベースのバックアップに影響し、OSS などには影響しません)" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days (day)" @@ -6130,8 +6260,9 @@ msgid "" "accounts that exceed the predetermined number. If the value reaches or " "exceeds 999 (default), no historical account deletion will be performed" msgstr "" -"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、所定の数を超える履歴アカウントを確認して削除します。 値が 999 " -"以上の場合、履歴アカウントの削除は実行されません。" +"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、" +"所定の数を超える履歴アカウントを確認して削除します。 値が 999 以上の場合、履" +"歴アカウントの削除は実行されません。" #: settings/serializers/feature.py:76 settings/serializers/feature.py:82 msgid "Chat AI" @@ -6142,8 +6273,7 @@ msgid "GPT Base URL" msgstr "GPTアドレス" #: settings/serializers/feature.py:86 -msgid "" -"The base URL of the GPT service. For example: https://api.openai.com/v1" +msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" msgstr "GPTサービスの基本のURL。例えば:https://api.openai.com/v1" #: settings/serializers/feature.py:89 templates/_header_bar.html:96 @@ -6191,7 +6321,9 @@ msgstr "ユーザーの実行" #: settings/serializers/feature.py:124 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" -msgstr "ユーザーがワークベンチ - ジョブセンター - Adhocでバッチコマンドを実行することを許可します" +msgstr "" +"ユーザーがワークベンチ - ジョブセンター - Adhocでバッチコマンドを実行すること" +"を許可します" #: settings/serializers/feature.py:128 msgid "Command blacklist" @@ -6217,7 +6349,9 @@ msgstr "仮想アプリケーション" msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." -msgstr "仮想アプリケーションで、リモートアプリケーションのサーバーとしてLinuxオペレーティングシステムを使用できます。" +msgstr "" +"仮想アプリケーションで、リモートアプリケーションのサーバーとしてLinuxオペレー" +"ティングシステムを使用できます。" #: settings/serializers/msg.py:24 msgid "SMTP" @@ -6229,7 +6363,9 @@ msgstr "" #: settings/serializers/msg.py:34 msgid "The user to be used for email server authentication" -msgstr "メールサーバーにログインするためのユーザー名。通常、これはあなたのメールアドレスです" +msgstr "" +"メールサーバーにログインするためのユーザー名。通常、これはあなたのメールアド" +"レスです" #: settings/serializers/msg.py:38 msgid "" @@ -6255,7 +6391,9 @@ msgid "" "server. In most email documentation this type of TLS connection is referred " "to as SSL. It is generally used on port 465" msgstr "" -"SMTPサーバーとの通信時に、暗黙のTLS(安全)接続を使用するかどうか。ほとんどのメール文書では、このタイプのTLS接続はSSLと呼ばれます。通常、ポート465を使用します" +"SMTPサーバーとの通信時に、暗黙のTLS(安全)接続を使用するかどうか。ほとんどの" +"メール文書では、このタイプのTLS接続はSSLと呼ばれます。通常、ポート465を使用し" +"ます" #: settings/serializers/msg.py:54 msgid "Use TLS" @@ -6265,7 +6403,9 @@ msgstr "TLSの使用" msgid "" "Whether to use a TLS (secure) connection when talking to the SMTP server. " "This is used for explicit TLS connections, generally on port 587" -msgstr "SMTPサーバーとの通信時に、TLS(安全)接続を使用するかどうか。これは明示的なTLS接続を使用します、通常ポート587を使用します" +msgstr "" +"SMTPサーバーとの通信時に、TLS(安全)接続を使用するかどうか。これは明示的な" +"TLS接続を使用します、通常ポート587を使用します" #: settings/serializers/msg.py:64 msgid "Subject prefix" @@ -6273,9 +6413,11 @@ msgstr "件名プレフィックス" #: settings/serializers/msg.py:69 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account" -" successfully)" -msgstr "ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを正常に作成)" +"Tips: When creating a user, send the subject of the email (eg:Create account " +"successfully)" +msgstr "" +"ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを" +"正常に作成)" #: settings/serializers/msg.py:73 msgid "Honorific" @@ -6283,14 +6425,17 @@ msgstr "ユーザー敬語の作成" #: settings/serializers/msg.py:74 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" -msgstr "ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" +msgstr "" +"ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" #: settings/serializers/msg.py:80 #, python-brace-format msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" -msgstr "ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}{email}ラベルをサポートします。" +msgstr "" +"ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}" +"{email}ラベルをサポートします。" #: settings/serializers/msg.py:84 msgid "Tips: Email signature (eg:jumpserver)" @@ -6307,7 +6452,9 @@ msgstr "グループ化されていないノードを表示" #: settings/serializers/other.py:12 msgid "Perm single to ungroup node" msgstr "" -"グループ化されていないノードに個別に許可された資産を配置し、資産が存在するノードが表示されないようにしますが、そのノードが許可されていないという質問に質問" +"グループ化されていないノードに個別に許可された資産を配置し、資産が存在する" +"ノードが表示されないようにしますが、そのノードが許可されていないという質問に" +"質問" #: settings/serializers/security.py:17 msgid "User password expiration (day)" @@ -6319,8 +6466,10 @@ msgid "" "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" msgstr "" -"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) " -"以内に、パスワードの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信されます。" +"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有" +"効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) 以内に、パスワー" +"ドの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信さ" +"れます。" #: settings/serializers/security.py:26 msgid "Recent password count" @@ -6330,7 +6479,9 @@ msgstr "繰り返された履歴パスワードの数" msgid "" "Tip: When the user resets the password, it cannot be the previous n " "historical passwords of the user" -msgstr "ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワードにすることはできません" +msgstr "" +"ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワード" +"にすることはできません" #: settings/serializers/security.py:34 msgid "Minimum length (User)" @@ -6352,7 +6503,9 @@ msgstr "特別な" msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." -msgstr "ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログインはできません。" +msgstr "" +"ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログイン" +"はできません。" #: settings/serializers/security.py:63 settings/serializers/security.py:73 msgid "Login failures count" @@ -6378,7 +6531,9 @@ msgstr "単一デバイスログインのみ" msgid "" "After the user logs in on the new device, other logged-in devices will " "automatically log out" -msgstr "ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動的にログアウトします。" +msgstr "" +"ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動" +"的にログアウトします。" #: settings/serializers/security.py:95 msgid "Only exist user login" @@ -6391,8 +6546,9 @@ msgid "" "are allowed to log in and automatically create users (if the user does not " "exist)" msgstr "" -"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的に作成されます" -" (ユーザーが存在しない場合)。" +"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、" +"ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的" +"に作成されます (ユーザーが存在しない場合)。" #: settings/serializers/security.py:103 msgid "Only from source login" @@ -6400,13 +6556,14 @@ msgstr "ソースログインからのみ" #: settings/serializers/security.py:105 msgid "" -"If it is enabled, the user will only authenticate to the source when logging" -" in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging " +"in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべての認証方法を特定の順序で認証します。" -" 、直接ログインできます" +"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効" +"な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべ" +"ての認証方法を特定の順序で認証します。 、直接ログインできます" #: settings/serializers/security.py:116 #: users/templates/users/mfa_setting.html:160 @@ -6457,7 +6614,8 @@ msgstr "ログインページのMFA" #: settings/serializers/security.py:144 msgid "Eu security regulations(GDPR) require MFA to be on the login page" -msgstr "Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" +msgstr "" +"Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" #: settings/serializers/security.py:148 msgid "Verify code TTL (second)" @@ -6475,7 +6633,9 @@ msgstr "ログイン動的コードの有効化" msgid "" "The password and additional code are sent to a third party authentication " "system for verification" -msgstr "パスワードと追加コードは、検証のためにサードパーティの認証システムに送信されます" +msgstr "" +"パスワードと追加コードは、検証のためにサードパーティの認証システムに送信され" +"ます" #: settings/serializers/security.py:158 msgid "Login captcha" @@ -6491,11 +6651,13 @@ msgstr "リモートログイン保護" #: settings/serializers/security.py:164 msgid "" -"The system determines whether the login IP address belongs to a common login" -" city. If the account is logged in from a common login city, the system " -"sends a remote login reminder" +"The system determines whether the login IP address belongs to a common login " +"city. If the account is logged in from a common login city, the system sends " +"a remote login reminder" msgstr "" -"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断します。アカウントが共通のログイン都市からログインしている場合、システムはリモートログインリマインダーを送信します" +"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断" +"します。アカウントが共通のログイン都市からログインしている場合、システムはリ" +"モートログインリマインダーを送信します" #: settings/serializers/security.py:170 msgid "Auto Disable Threshold (day)" @@ -6505,7 +6667,9 @@ msgstr "未使用のユーザータイムアウト(日)" msgid "" "Detect infrequent users daily and disable them if they exceed the " "predetermined time limit" -msgstr "毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効にします" +msgstr "" +"毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効に" +"します" #: settings/serializers/security.py:191 msgid "Watermark" @@ -6550,7 +6714,8 @@ msgstr "セッション共有" #: settings/serializers/security.py:213 msgid "Enabled, Allows user active session to be shared with other users" -msgstr "ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" +msgstr "" +"ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" #: settings/serializers/security.py:219 msgid "Insecure command alert" @@ -6579,24 +6744,30 @@ msgstr "ターミナルレジスタの有効化" #: settings/serializers/terminal.py:24 msgid "" -"Allow component register, after all component setup, you should disable this" -" for security" -msgstr "ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティのためにこれを無効にする必要があります" +"Allow component register, after all component setup, you should disable this " +"for security" +msgstr "" +"ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティ" +"のためにこれを無効にする必要があります" #: settings/serializers/terminal.py:30 msgid "" "* Allow users to log in to the KoKo component via password authentication" -msgstr "* パスワード認証を通じてユーザがKoKoコンポーネントにログインできるように許可する" +msgstr "" +"* パスワード認証を通じてユーザがKoKoコンポーネントにログインできるように許可" +"する" #: settings/serializers/terminal.py:36 msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in" -" after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in " +"after being deleted from the AD/LDAP server" msgstr "" -"* " -"公開鍵認証でユーザがKoKoコンポーネントにログインできるように許可する
第三者認証サービス(例:AD/LDAP)が有効化されている場合、ユーザがAD/LDAPサーバから削除された後に再度ログインするのを防ぐためにこのオプションを無効化するべきです。" +"* 公開鍵認証でユーザがKoKoコンポーネントにログインできるように許可する
第" +"三者認証サービス(例:AD/LDAP)が有効化されている場合、ユーザがAD/LDAPサーバ" +"から削除された後に再度ログインするのを防ぐためにこのオプションを無効化するべ" +"きです。" #: settings/serializers/terminal.py:43 msgid "Asset sorting" @@ -6608,21 +6779,23 @@ msgstr "ページサイズを一覧表示" #: settings/serializers/terminal.py:51 msgid "" -"* You can individually configure the service address and port in the service" -" endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" msgstr "" -"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。
有効化した場合、Luna " -"ページでは資産への接続時にDBクライアントの起動方法を表示します。" +"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。" +"
有効化した場合、Luna ページでは資産への接続時にDBクライアントの起動方法" +"を表示します。" #: settings/serializers/terminal.py:59 msgid "" -"* You can individually configure the service address and port in the service" -" endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" -"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。
有効化した場合、Luna ページでは資産への接続時にrdp " -"ファイルのダウンロードボタンとRDPクライアントの起動方法を表示します。" +"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。" +"
有効化した場合、Luna ページでは資産への接続時にrdp ファイルのダウンロー" +"ドボタンとRDPクライアントの起動方法を表示します。" #: settings/serializers/terminal.py:66 msgid "Client connection" @@ -6631,11 +6804,11 @@ msgstr "クライアント接続" #: settings/serializers/terminal.py:68 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to " -"assets" +"Luna page will display the SSH client launch method when connecting to assets" msgstr "" -"* SSHクライアント経由でKoKo コンポーネントに接続できるように許可する
有効化した場合、Luna " -"ページでは資産への接続時にSSHクライアントの起動方法を表示します。" +"* SSHクライアント経由でKoKo コンポーネントに接続できるように許可する
有効" +"化した場合、Luna ページでは資産への接続時にSSHクライアントの起動方法を表示し" +"ます。" #: settings/serializers/tool.py:10 msgid "Tool" @@ -6647,9 +6820,11 @@ msgstr "ワークベンチのツール" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools" -" in the workbench" -msgstr "* RBAC権限を持つユーザは、ワークベンチのすべてのツールを使用できるようにします" +"*! If enabled, users with RBAC permissions will be able to utilize all tools " +"in the workbench" +msgstr "" +"* RBAC権限を持つユーザは、ワークベンチのすべてのツールを使用できるようにしま" +"す" #: settings/tasks/ldap.py:28 msgid "Periodic import ldap user" @@ -6791,7 +6966,9 @@ msgstr "インポート" #: templates/_csv_import_modal.html:12 msgid "Download the imported template or use the exported CSV file format" -msgstr "インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" +msgstr "" +"インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形" +"式を使用する" #: templates/_csv_import_modal.html:13 msgid "Download the import template" @@ -6807,7 +6984,9 @@ msgstr "ファイルを選択してください" #: templates/_csv_update_modal.html:12 msgid "Download the update template or use the exported CSV file format" -msgstr "更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" +msgstr "" +"更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用す" +"る" #: templates/_csv_update_modal.html:13 msgid "Download the update template" @@ -6848,7 +7027,8 @@ msgid "" " " msgstr "" "\n" -" アカウントが期限切れになったので、管理者に連絡してください。 " +" アカウントが期限切れになったので、管理者に連絡してくださ" +"い。 " #: templates/_message.html:13 msgid "Your account will at" @@ -6862,11 +7042,13 @@ msgstr "期限切れです。" #, python-format msgid "" "\n" -" Your password has expired, please click this link update password.\n" +" Your password has expired, please click this link update password.\n" " " msgstr "" "\n" -" パスワードが期限切れになりましたので、クリックしてください リンク パスワードの更新\n" +" パスワードが期限切れになりましたので、クリックしてください " +" リンク パスワードの更新\n" " " #: templates/_message.html:30 @@ -6877,33 +7059,39 @@ msgstr "あなたのパスワードは" #, python-format msgid "" "\n" -" please click this link to update your password.\n" +" please click this " +"link to update your password.\n" " " msgstr "" "\n" -" クリックしてください リンク パスワードの更新\n" +" クリックしてください リンク パスワードの更新\n" " " #: templates/_message.html:43 #, python-format msgid "" "\n" -" Your information was incomplete. Please click this link to complete your information.\n" +" Your information was incomplete. Please click this link to complete your information.\n" " " msgstr "" "\n" -" あなたの情報が不完全なので、クリックしてください。 リンク 補完\n" +" あなたの情報が不完全なので、クリックしてください。 リンク 補完\n" " " #: templates/_message.html:56 #, python-format msgid "" "\n" -" Your ssh public key not set or expired. Please click this link to update\n" +" Your ssh public key not set or expired. Please click this link to update\n" " " msgstr "" "\n" -" SSHキーが設定されていないか無効になっている場合は、 リンク 更新\n" +" SSHキーが設定されていないか無効になっている場合は、 リンク 更新\n" " " #: templates/_mfa_login_field.html:28 @@ -6935,8 +7123,9 @@ msgid "" "JumpServer Client, currently used to launch the client, now only support " "launch RDP SSH client, The Telnet client will next" msgstr "" -"JumpServerクライアントは、現在特定のクライアントプログラムの接続資産を喚起するために使用されており、現在はRDP " -"SSHクライアントのみをサポートしています。「Telnetは将来的にサポートする" +"JumpServerクライアントは、現在特定のクライアントプログラムの接続資産を喚起す" +"るために使用されており、現在はRDP SSHクライアントのみをサポートしています。" +"「Telnetは将来的にサポートする" #: templates/resource_download.html:35 msgid "Microsoft" @@ -6950,7 +7139,9 @@ msgstr "公式" msgid "" "macOS needs to download the client to connect RDP asset, which comes with " "Windows" -msgstr "MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロードする必要があります" +msgstr "" +"MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロード" +"する必要があります" #: templates/resource_download.html:45 msgid "Windows Remote application publisher tools" @@ -6960,7 +7151,9 @@ msgstr "Windowsリモートアプリケーション発行者ツール" msgid "" "OpenSSH is a program used to connect remote applications in the Windows " "Remote Application Publisher" -msgstr "OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続するプログラムです" +msgstr "" +"OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続する" +"プログラムです" #: templates/resource_download.html:53 msgid "Offline video player" @@ -7382,8 +7575,7 @@ msgstr "セッション再生をダウンロードできます" msgid "Account ID" msgstr "アカウント ID" -#: terminal/models/session/session.py:37 -#: terminal/models/session/sharing.py:118 +#: terminal/models/session/session.py:37 terminal/models/session/sharing.py:118 msgid "Login from" msgstr "ログイン元" @@ -7432,8 +7624,8 @@ msgstr "アクションパーミッション" msgid "Origin" msgstr "ソース" -#: terminal/models/session/sharing.py:42 -#: terminal/models/session/sharing.py:100 terminal/notifications.py:261 +#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100 +#: terminal/notifications.py:261 msgid "Session sharing" msgstr "セッション共有" @@ -7546,16 +7738,21 @@ msgstr "コア サービス アドレス" #: terminal/serializers/applet_host.py:40 msgid "" " \n" -" Tips: The application release machine communicates with the Core service. \n" -" If the release machine and the Core service are on the same network segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" +" Tips: The application release machine communicates with the Core " +"service. \n" +" If the release machine and the Core service are on the same network " +"segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in " +"the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" -"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリース マシンとコア サービスが同じネットワーク " -"セグメント上にある場合は、イントラネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト URL を入力します。
例: " -"https://172.16.10.110 または https://dev.jumpserver.com" +"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリー" +"ス マシンとコア サービスが同じネットワーク セグメント上にある場合は、イントラ" +"ネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト " +"URL を入力します。
例: https://172.16.10.110 または https://dev." +"jumpserver.com" #: terminal/serializers/applet_host.py:48 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -7597,7 +7794,9 @@ msgstr "最大切断時間(ミリ秒)" msgid "" "Tips: Set the maximum duration for keeping a disconnected session active on " "the server (log off the session after 60000 milliseconds)." -msgstr "ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時間を設定します(60000ミリ秒後にセッションをログオフ)。" +msgstr "" +"ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時" +"間を設定します(60000ミリ秒後にセッションをログオフ)。" #: terminal/serializers/applet_host.py:71 msgid "RDS Remote App Logoff Time Limit (ms)" @@ -7605,10 +7804,11 @@ msgstr "RDSリモートアプリケーションのログアウト時間制限( #: terminal/serializers/applet_host.py:73 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" -" programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " +"programs (0 milliseconds, log off the session immediately)." msgstr "" -"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ時間を設定します(0ミリ秒、セッションを即座にログオフ)。" +"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ" +"時間を設定します(0ミリ秒、セッションを即座にログオフ)。" #: terminal/serializers/applet_host.py:82 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -7617,13 +7817,17 @@ msgstr "ロードステータス" #: terminal/serializers/applet_host.py:96 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 " +"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" +"support multiple open and the special has been used, the public account will " +"be used to connect" msgstr "" -"これらのアカウントは、公開されたアプリケーションに接続するために使用されます。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公開されています。アプリケーションが複数のオープンをサポートしていない場合、および特別なものが使用されている場合、公開アカウントが使用されます。" +"これらのアカウントは、公開されたアプリケーションに接続するために使用されま" +"す。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専" +"用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公" +"開されています。アプリケーションが複数のオープンをサポートしていない場合、お" +"よび特別なものが使用されている場合、公開アカウントが使用されます。" #: terminal/serializers/applet_host.py:103 msgid "The number of public accounts created automatically" @@ -7635,8 +7839,9 @@ msgid "" "please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " "restart the service to enable it." msgstr "" -"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項目 CACHE_LOGIN_PASSWORD_ENABLED=true " -"を設定してサービスを再起動して有効にしてください。" +"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項" +"目 CACHE_LOGIN_PASSWORD_ENABLED=true を設定してサービスを再起動して有効にして" +"ください。" #: terminal/serializers/applet_host.py:148 msgid "Install applets" @@ -7686,7 +7891,9 @@ msgstr "Oracle がリッスンするポート範囲" msgid "" "Oracle proxy server listen port is dynamic, Each additional Oracle database " "instance adds a port listener" -msgstr "Oracle プロキシサーバーがリッスンするポートは動的です。追加の Oracle データベースインスタンスはポートリスナーを追加します" +msgstr "" +"Oracle プロキシサーバーがリッスンするポートは動的です。追加の Oracle データ" +"ベースインスタンスはポートリスナーを追加します" #: terminal/serializers/endpoint.py:38 msgid "" @@ -7694,19 +7901,22 @@ msgid "" "access address of the current browser will be used (the default endpoint " "does not allow modification of the host)" msgstr "" -"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラウザのアクセス アドレスが使用されます " -"(デフォルトのエンドポイントではホストの変更は許可されません)。" +"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラ" +"ウザのアクセス アドレスが使用されます (デフォルトのエンドポイントではホストの" +"変更は許可されません)。" #: terminal/serializers/endpoint.py:64 msgid "" -"The assets within this IP range, the following endpoint will be used for the" -" connection" +"The assets within this IP range, the following endpoint will be used for the " +"connection" msgstr "このIP範囲内のアセットは、以下のエンドポイントを使用して接続されます" #: terminal/serializers/endpoint.py:65 msgid "" "If asset IP addresses under different endpoints conflict, use asset labels" -msgstr "異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用して実装します" +msgstr "" +"異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用" +"して実装します" #: terminal/serializers/endpoint.py:69 msgid "Asset IP" @@ -7803,8 +8013,8 @@ msgid "" "If there are multiple hosts, use a comma (,) to separate them.
(For " "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" msgstr "" -"ホストが複数ある場合は、カンマ (,) で区切ってください。
(例: http://www.jumpserver.a.com:9100, " -"http://www.jumpserver.b.com:9100)" +"ホストが複数ある場合は、カンマ (,) で区切ってください。
(例: http://www." +"jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" #: terminal/serializers/storage.py:199 msgid "Index by date" @@ -7835,7 +8045,9 @@ msgid "" "set as the default storage, will make new Component use the current storage " "by default, without affecting existing Component" msgstr "" -"デフォルトのストレージとして設定すると、新しいコンポーネントが現在のストレージをデフォルトで使用するようになりますが、既存のコンポーネントには影響しません" +"デフォルトのストレージとして設定すると、新しいコンポーネントが現在のストレー" +"ジをデフォルトで使用するようになりますが、既存のコンポーネントには影響しませ" +"ん" #: terminal/serializers/task.py:9 msgid "Session id" @@ -8009,13 +8221,16 @@ msgid "" "administrator to open more ports." msgstr "" "利用可能なポートと一致しません。データベースの数が、データベース プロキシ " -"サービスによって開かれたポートの数を超えた可能性があります。さらにポートを開くには、管理者に連絡してください。" +"サービスによって開かれたポートの数を超えた可能性があります。さらにポートを開" +"くには、管理者に連絡してください。" #: terminal/utils/db_port_mapper.py:116 msgid "" -"No ports can be used, check and modify the limit on the number of ports that" -" Magnus listens on in the configuration file." -msgstr "使用できるポートがありません。設定ファイルで Magnus がリッスンするポート数の制限を確認して変更してください. " +"No ports can be used, check and modify the limit on the number of ports that " +"Magnus listens on in the configuration file." +msgstr "" +"使用できるポートがありません。設定ファイルで Magnus がリッスンするポート数の" +"制限を確認して変更してください. " #: terminal/utils/db_port_mapper.py:118 msgid "All available port count: {}, Already use port count: {}" @@ -8077,7 +8292,9 @@ msgstr "チケットはすでに閉じています" msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" -msgstr "チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: {}" +msgstr "" +"チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: " +"{}" #: tickets/handlers/base.py:84 msgid "Change field" @@ -8311,7 +8528,9 @@ msgstr "承認" #: tickets/views/approve.py:44 msgid "" "This ticket does not exist, the process has ended, or this link has expired" -msgstr "このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効になっています" +msgstr "" +"このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効に" +"なっています" #: tickets/views/approve.py:72 msgid "Click the button below to approve or reject" @@ -8427,7 +8646,8 @@ msgid "" "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入ります。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" +"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入りま" +"す。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" #: users/forms/profile.py:59 msgid "* Enable MFA to make the account more secure." @@ -8435,11 +8655,12 @@ msgstr "* アカウントをより安全にするためにMFAを有効にしま #: users/forms/profile.py:68 msgid "" -"In order to protect you and your company, please keep your account, password" -" and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password " +"and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" -"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" +"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報" +"を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" #: users/forms/profile.py:82 users/serializers/preference/lina.py:21 msgid "New password" @@ -8592,10 +8813,12 @@ msgstr "ターミナルテーマ名" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files," -" account password change results files" +"sends emails containing file attachments.
Such as: account backup files, " +"account password change results files" msgstr "" -"ファイル暗号化パスワードは、システムから送信されるメールにファイルの添付が含まれている場合、このパスワードで解読します。
例:アカウントのバックアップファイル、アカウントのパスワード変更結果ファイル" +"ファイル暗号化パスワードは、システムから送信されるメールにファイルの添付が含" +"まれている場合、このパスワードで解読します。
例:アカウントのバックアップ" +"ファイル、アカウントのパスワード変更結果ファイル" #: users/serializers/preference/lina.py:39 users/serializers/profile.py:48 msgid "The newly set password is inconsistent" @@ -8643,7 +8866,9 @@ msgid "" "remote computer to fit the window size of the client computer when the " "window is resized." msgstr "" -"ウィンドウサイズを調整したときに、クライアントコンピューターがリモートコンピューター上の内容をクライアントコンピューターのウィンドウサイズに合うように拡大または縮小するかどうかを決定します。" +"ウィンドウサイズを調整したときに、クライアントコンピューターがリモートコン" +"ピューター上の内容をクライアントコンピューターのウィンドウサイズに合うように" +"拡大または縮小するかどうかを決定します。" # msgid "" # "Determines whether the client computer should scale the content on the " @@ -8695,9 +8920,10 @@ msgstr "システムの役割" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across" -" all organizations" -msgstr "システムロールはシステムレベルのロールであり、すべての組織で有効になります" +"System roles are roles at the system level, and they will take effect across " +"all organizations" +msgstr "" +"システムロールはシステムレベルのロールであり、すべての組織で有効になります" #: users/serializers/user.py:61 msgid "Org roles" @@ -8767,7 +8993,9 @@ msgid "" "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -"ユーザソースはユーザの作成場所を表し、ADや他のソースになる可能性があります。セキュリティ設定で特定のソースからしかシステムにログインできないようにユーザを制限することができます。" +"ユーザソースはユーザの作成場所を表し、ADや他のソースになる可能性があります。" +"セキュリティ設定で特定のソースからしかシステムにログインできないようにユーザ" +"を制限することができます。" #: users/serializers/user.py:266 msgid "Superuser" @@ -8791,9 +9019,10 @@ msgstr "認証" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for " -"more" -msgstr "* あなたの安全のために、一部のユーザーのみを表示します。より多くのユーザーを検索することができます" +"* For security, only a partial of users is displayed. You can search for more" +msgstr "" +"* あなたの安全のために、一部のユーザーのみを表示します。より多くのユーザーを" +"検索することができます" #: users/serializers/user.py:461 msgid "name not unique" @@ -8802,8 +9031,11 @@ msgstr "名前が一意ではない" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the administrator." -msgstr "管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザーはユーザーリストにありません。管理者に連絡してください。" +" and the current user is not in the user list. Please contact the " +"administrator." +msgstr "" +"管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザー" +"はユーザーリストにありません。管理者に連絡してください。" #: users/signal_handlers.py:193 msgid "Clean up expired user sessions" @@ -8841,7 +9073,8 @@ msgstr "アカウントの有効期限は" msgid "" "In order not to affect your normal work, please contact the administrator " "for confirmation." -msgstr "通常の作業に影響を与えないように、確認のために管理者に連絡してください。" +msgstr "" +"通常の作業に影響を与えないように、確認のために管理者に連絡してください。" #: users/templates/users/_msg_password_expire_reminder.html:7 msgid "Your password will expire in" @@ -8851,7 +9084,9 @@ msgstr "パスワードは" msgid "" "For your account security, please click on the link below to update your " "password in time" -msgstr "アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間内に更新してください" +msgstr "" +"アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間" +"内に更新してください" #: users/templates/users/_msg_password_expire_reminder.html:11 msgid "Click here update password" @@ -8859,7 +9094,8 @@ msgstr "ここをクリック更新パスワード" #: users/templates/users/_msg_password_expire_reminder.html:16 msgid "If your password has expired, please click the link below to" -msgstr "パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" +msgstr "" +"パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" #: users/templates/users/_msg_reset_mfa.html:7 msgid "Your MFA has been reset by site administrator" @@ -8959,9 +9195,11 @@ msgstr "ワンタイムパスワード認証子のバインド" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a " -"6-bit verification code" -msgstr "MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コードでスキャンします。" +"Use the MFA Authenticator application to scan the following qr code for a 6-" +"bit verification code" +msgstr "" +"MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コード" +"でスキャンします。" #: users/templates/users/user_otp_enable_bind.html:22 #: users/templates/users/user_verify_mfa.html:27 @@ -8976,7 +9214,9 @@ msgstr "アプリのインストール" msgid "" "Download and install the MFA Authenticator application on your phone or " "applet of WeChat" -msgstr "携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウンロードしてインストールします" +msgstr "" +"携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウン" +"ロードしてインストールします" #: users/templates/users/user_otp_enable_install_app.html:18 msgid "Android downloads" @@ -8990,7 +9230,9 @@ msgstr "IPhoneのダウンロード" msgid "" "After installation, click the next step to enter the binding page (if " "installed, go to the next step directly)." -msgstr "インストール後、次のステップをクリックしてバインディングページに入ります (インストールされている場合は、次のステップに直接進みます)。" +msgstr "" +"インストール後、次のステップをクリックしてバインディングページに入ります (イ" +"ンストールされている場合は、次のステップに直接進みます)。" #: users/templates/users/user_password_verify.html:8 #: users/templates/users/user_password_verify.html:9 @@ -9005,7 +9247,8 @@ msgstr "認証" msgid "" "The account protection has been opened, please complete the following " "operations according to the prompts" -msgstr "アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" +msgstr "" +"アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" #: users/templates/users/user_verify_mfa.html:17 msgid "Open MFA Authenticator and enter the 6-bit dynamic code" @@ -9017,7 +9260,8 @@ msgstr "すでにバインド済み" #: users/views/profile/otp.py:107 msgid "MFA already bound, disable first, then bound" -msgstr "MFAはすでにバインドされており、最初に無効にしてからバインドされています。" +msgstr "" +"MFAはすでにバインドされており、最初に無効にしてからバインドされています。" #: users/views/profile/otp.py:134 msgid "OTP enable success" @@ -9045,9 +9289,11 @@ msgstr "パスワード無効" #: users/views/profile/reset.py:66 msgid "" -"Non-local users can log in only from third-party platforms and cannot change" -" their passwords: {}" -msgstr "ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが許可され、パスワードの変更はサポートされていません: {}" +"Non-local users can log in only from third-party platforms and cannot change " +"their passwords: {}" +msgstr "" +"ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが" +"許可され、パスワードの変更はサポートされていません: {}" #: users/views/profile/reset.py:188 users/views/profile/reset.py:199 msgid "Token invalid or expired" @@ -9279,7 +9525,9 @@ msgstr "インスタンス \"%s\" の同期に失敗しました" msgid "" "The updated platform of asset \"%s\" is inconsistent with the original " "platform type. Skip platform and protocol updates" -msgstr "更新された資産 \"%s\" のプラットフォームタイプと元のタイプは一致しません。プラットフォームとプロトコルの更新をスキップ" +msgstr "" +"更新された資産 \"%s\" のプラットフォームタイプと元のタイプは一致しません。プ" +"ラットフォームとプロトコルの更新をスキップ" #: xpack/plugins/cloud/manager.py:392 #, python-format @@ -9410,8 +9658,7 @@ msgstr "インスタンス" msgid "Sync instance detail" msgstr "同期インスタンスの詳細" -#: xpack/plugins/cloud/models.py:311 -#: xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:311 xpack/plugins/cloud/serializers/task.py:77 msgid "Rule relation" msgstr "条件関係" @@ -9467,8 +9714,7 @@ msgstr "ルール一致" msgid "Rule value" msgstr "ルール値" -#: xpack/plugins/cloud/models.py:381 -#: xpack/plugins/cloud/serializers/task.py:80 +#: xpack/plugins/cloud/models.py:381 xpack/plugins/cloud/serializers/task.py:80 msgid "Strategy rule" msgstr "戦略ルール" @@ -9484,8 +9730,7 @@ msgstr "アクション属性" msgid "Action value" msgstr "アクション値" -#: xpack/plugins/cloud/models.py:407 -#: xpack/plugins/cloud/serializers/task.py:83 +#: xpack/plugins/cloud/models.py:407 xpack/plugins/cloud/serializers/task.py:83 msgid "Strategy action" msgstr "戦略アクション" @@ -9763,8 +10008,9 @@ msgid "" "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." msgstr "" -"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが実行されると、有効な IP アドレスのみが同期されます。 " -"
ポートが0の場合、すべてのIPアドレスが有効です。" +"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが" +"実行されると、有効な IP アドレスのみが同期されます。
ポートが0の場合、す" +"べてのIPアドレスが有効です。" #: xpack/plugins/cloud/serializers/account_attrs.py:190 msgid "Hostname prefix" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 50dde09ba..70a8f1601 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -365,7 +365,7 @@ msgstr "资产" msgid "Su from" msgstr "切换自" -#: accounts/models/account.py:55 assets/const/protocol.py:189 +#: accounts/models/account.py:55 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" @@ -1709,7 +1709,7 @@ msgstr "禁用" msgid "Basic" msgstr "基本" -#: assets/const/base.py:34 assets/const/protocol.py:292 +#: assets/const/base.py:34 assets/const/protocol.py:298 #: assets/models/asset/web.py:13 msgid "Script" msgstr "脚本" @@ -1781,17 +1781,21 @@ msgstr "其它" #: assets/const/protocol.py:46 msgid "Old SSH version" -msgstr "Old SSH version" +msgstr "旧 SSH 版本" #: assets/const/protocol.py:47 msgid "Old SSH version like openssh 5.x or 6.x" msgstr "旧的 SSH 版本,例如 openssh 5.x 或 6.x" -#: assets/const/protocol.py:58 +#: assets/const/protocol.py:53 +msgid "Netcat help text" +msgstr "使用 netcat (nc) 作为代理工具,将连接从代理服务器转发到目标主机。适用于不支持 SSH 原生代理选项 (-W) 的环境,或需要更多灵活性和超时控制的场景。" + +#: assets/const/protocol.py:64 msgid "SFTP root" msgstr "SFTP 根路径" -#: assets/const/protocol.py:60 +#: assets/const/protocol.py:66 #, python-brace-format msgid "" "SFTP root directory, Support variable:
- ${ACCOUNT} The connected " @@ -1801,24 +1805,24 @@ msgstr "" "SFTP根目录,支持变量:
-${ACCOUNT}已连接帐户用户名
-${HOME}连接帐户的主" "目录
-${USER}用户的用户名" -#: assets/const/protocol.py:75 +#: assets/const/protocol.py:81 msgid "Console" msgstr "控制台" -#: assets/const/protocol.py:76 +#: assets/const/protocol.py:82 msgid "Connect to console session" msgstr "连接到控制台会话" -#: assets/const/protocol.py:80 +#: assets/const/protocol.py:86 msgid "Any" msgstr "任意" -#: assets/const/protocol.py:82 rbac/tree.py:62 +#: assets/const/protocol.py:88 rbac/tree.py:62 #: settings/serializers/security.py:232 msgid "Security" msgstr "安全" -#: assets/const/protocol.py:83 +#: assets/const/protocol.py:89 msgid "" "Security layer to use for the connection:
Any
Automatically select the " "security mode based on the security protocols supported by both the client " @@ -1833,101 +1837,101 @@ msgstr "" "Windows 登录屏幕的情况
TLS
通过 TLS 实现的 RDP 认证和加密
NLA
该" "模式使用 TLS 加密,并要求提前提供用户名和密码" -#: assets/const/protocol.py:100 +#: assets/const/protocol.py:106 msgid "AD domain" msgstr "AD 网域" -#: assets/const/protocol.py:115 +#: assets/const/protocol.py:121 msgid "Username prompt" msgstr "用户名提示" -#: assets/const/protocol.py:116 +#: assets/const/protocol.py:122 msgid "We will send username when we see this prompt" msgstr "当我们看到这个提示时,我们将发送用户名" -#: assets/const/protocol.py:121 +#: assets/const/protocol.py:127 msgid "Password prompt" msgstr "密码提示" -#: assets/const/protocol.py:122 +#: assets/const/protocol.py:128 msgid "We will send password when we see this prompt" msgstr "当我们看到这个提示时,我们将发送密码" -#: assets/const/protocol.py:127 +#: assets/const/protocol.py:133 msgid "Success prompt" msgstr "成功提示" -#: assets/const/protocol.py:128 +#: assets/const/protocol.py:134 msgid "We will consider login success when we see this prompt" msgstr "当我们看到这个提示时,我们将认为登录成功" -#: assets/const/protocol.py:139 assets/models/asset/database.py:10 +#: assets/const/protocol.py:145 assets/models/asset/database.py:10 #: settings/serializers/msg.py:49 msgid "Use SSL" msgstr "使用 SSL" -#: assets/const/protocol.py:174 +#: assets/const/protocol.py:180 msgid "SYSDBA" msgstr "SYSDBA" -#: assets/const/protocol.py:175 +#: assets/const/protocol.py:181 msgid "Connect as SYSDBA" msgstr "以 SYSDBA 角色连接" -#: assets/const/protocol.py:190 +#: assets/const/protocol.py:196 msgid "" "SQL Server version, Different versions have different connection drivers" msgstr "SQL Server 版本,不同版本有不同的连接驱动" -#: assets/const/protocol.py:220 +#: assets/const/protocol.py:226 msgid "Auth source" msgstr "认证数据库" -#: assets/const/protocol.py:221 +#: assets/const/protocol.py:227 msgid "The database to authenticate against" msgstr "要进行身份验证的数据库" -#: assets/const/protocol.py:226 authentication/models/connection_token.py:43 +#: assets/const/protocol.py:232 authentication/models/connection_token.py:43 msgid "Connect options" msgstr "连接项" -#: assets/const/protocol.py:227 +#: assets/const/protocol.py:233 msgid "The connection specific options eg. retryWrites=false&retryReads=false" msgstr "连接特定选项,例如 retryWrites=false&retryReads=false" -#: assets/const/protocol.py:239 +#: assets/const/protocol.py:245 msgid "Auth username" msgstr "使用用户名认证" -#: assets/const/protocol.py:262 +#: assets/const/protocol.py:268 msgid "Safe mode" msgstr "安全模式" -#: assets/const/protocol.py:264 +#: assets/const/protocol.py:270 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." msgstr "" "当安全模式启用时,一些操作将被禁用,例如:新建标签页、右键、访问其它网站 等" -#: assets/const/protocol.py:269 assets/models/asset/web.py:9 +#: assets/const/protocol.py:275 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自动代填" -#: assets/const/protocol.py:277 assets/models/asset/web.py:10 +#: assets/const/protocol.py:283 assets/models/asset/web.py:10 msgid "Username selector" msgstr "用户名选择器" -#: assets/const/protocol.py:282 assets/models/asset/web.py:11 +#: assets/const/protocol.py:288 assets/models/asset/web.py:11 msgid "Password selector" msgstr "密码选择器" -#: assets/const/protocol.py:287 assets/models/asset/web.py:12 +#: assets/const/protocol.py:293 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "确认按钮选择器" -#: assets/const/protocol.py:310 +#: assets/const/protocol.py:316 msgid "API mode" msgstr "API 模式" diff --git a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po index 8fa1a7993..36c3ac3dd 100644 --- a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 14:22+0800\n" +"POT-Creation-Date: 2024-09-09 16:05+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -16,7 +16,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.3\n" -"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:19:20 | https://zhconvert.org\n" +"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:19:20 | https://" +"zhconvert.org\n" #: accounts/api/automations/base.py:79 tickets/api/ticket.py:132 msgid "The parameter 'action' must be [{}]" @@ -187,8 +188,7 @@ msgstr "收集" msgid "Template" msgstr "模板" -#: accounts/const/account.py:32 ops/const.py:46 -#: xpack/plugins/cloud/const.py:68 +#: accounts/const/account.py:32 ops/const.py:46 xpack/plugins/cloud/const.py:68 msgid "Skip" msgstr "跳過" @@ -367,7 +367,7 @@ msgstr "資產" msgid "Su from" msgstr "切換自" -#: accounts/models/account.py:55 assets/const/protocol.py:189 +#: accounts/models/account.py:55 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" @@ -391,8 +391,8 @@ msgstr "來源 ID" #: assets/serializers/gateway.py:33 audits/models.py:59 #: authentication/api/connection_token.py:411 ops/models/base.py:18 #: perms/models/asset_permission.py:75 settings/serializers/msg.py:33 -#: terminal/backends/command/models.py:18 -#: terminal/models/session/session.py:34 terminal/serializers/command.py:72 +#: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 +#: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 @@ -715,11 +715,9 @@ msgstr "密碼規則" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:35 settings/models.py:184 #: settings/serializers/msg.py:89 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 -#: terminal/models/component/endpoint.py:12 +#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 -#: terminal/models/component/storage.py:26 -#: terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:85 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -794,7 +792,8 @@ msgstr "登錄資產時,帳號使用者名稱與使用者使用者名稱相同 msgid "" "Connect asset without using a username and password, and it only supports " "web-based and custom-type assets" -msgstr "連接資產時不使用使用者名稱和密碼的帳號,僅支持 web類型 和 自訂類型 的資產" +msgstr "" +"連接資產時不使用使用者名稱和密碼的帳號,僅支持 web類型 和 自訂類型 的資產" #: accounts/notifications.py:12 accounts/notifications.py:37 msgid "Notification of account backup route task results" @@ -811,7 +810,9 @@ msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " "encryption password for preference settings" -msgstr "{} - 帳號備份任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置的基本中設置文件加密密碼" +msgstr "" +"{} - 帳號備份任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置的基本中" +"設置文件加密密碼" #: accounts/notifications.py:56 msgid "Notification of implementation result of encryption change plan" @@ -828,7 +829,9 @@ msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " "password in preferences" -msgstr "{} - 改密任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置中設置加密密碼" +msgstr "" +"{} - 改密任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置中設置加密密" +"碼" #: accounts/notifications.py:83 msgid "Gather account change information" @@ -866,9 +869,9 @@ msgstr "類別" #: assets/serializers/asset/common.py:146 assets/serializers/platform.py:155 #: assets/serializers/platform.py:167 audits/serializers.py:53 #: audits/serializers.py:170 -#: authentication/serializers/connect_token_secret.py:126 -#: ops/models/job.py:150 perms/serializers/user_permission.py:27 -#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:150 +#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 +#: terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:154 terminal/serializers/applet.py:29 #: terminal/serializers/session.py:23 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -940,10 +943,9 @@ msgstr "ID" #: accounts/serializers/account/account.py:474 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 -#: audits/models.py:54 audits/models.py:90 audits/models.py:172 -#: audits/models.py:271 audits/serializers.py:171 -#: authentication/models/connection_token.py:32 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 +#: audits/models.py:90 audits/models.py:172 audits/models.py:271 +#: audits/serializers.py:171 authentication/models/connection_token.py:32 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 @@ -992,7 +994,9 @@ msgstr "密鑰密碼" msgid "" "* If no username is required for authentication, enter null. For AD " "accounts, use the format username@domain." -msgstr "提示:如果認證時不需要使用者名稱,可填寫為 null,如果是 AD 帳號,格式為 username@domain" +msgstr "" +"提示:如果認證時不需要使用者名稱,可填寫為 null,如果是 AD 帳號,格式為 " +"username@domain" #: accounts/serializers/account/template.py:13 msgid "Password length" @@ -1035,11 +1039,11 @@ msgid "" msgstr "關聯平台,可配置推送參數,如果不關聯,將使用默認參數" #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 -#: ops/models/adhoc.py:26 ops/models/job.py:158 ops/models/playbook.py:31 -#: rbac/models/role.py:37 settings/models.py:40 -#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:332 -#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:25 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:26 +#: ops/models/job.py:158 ops/models/playbook.py:31 rbac/models/role.py:37 +#: settings/models.py:40 terminal/models/applet/applet.py:46 +#: terminal/models/applet/applet.py:332 terminal/models/applet/host.py:143 +#: terminal/models/component/endpoint.py:25 #: terminal/models/component/endpoint.py:119 #: terminal/models/session/session.py:47 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1054,13 +1058,13 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"當前僅支持 AD/LDAP 登錄方式用戶。 同名帳號密碼生效順序: 資產上存在的同名帳號密碼 > 登錄密碼 > 手動輸入
" -"為了安全起見,請設置配置項 CACHE_LOGIN_PASSWORD_ENABLED=true,重啟服務才能開啟" +"當前僅支持 AD/LDAP 登錄方式用戶。 同名帳號密碼生效順序: 資產上存在的同名帳號" +"密碼 > 登錄密碼 > 手動輸入
為了安全起見,請設置配置項 " +"CACHE_LOGIN_PASSWORD_ENABLED=true,重啟服務才能開啟" #: accounts/serializers/automations/base.py:23 #: assets/models/asset/common.py:169 assets/serializers/asset/common.py:172 -#: assets/serializers/automations/base.py:21 -#: perms/serializers/permission.py:47 +#: assets/serializers/automations/base.py:21 perms/serializers/permission.py:47 msgid "Nodes" msgstr "節點" @@ -1135,7 +1139,10 @@ msgstr "週期清理改密記錄和推送記錄" #: accounts/tasks/automation.py:87 msgid "Clean change secret and push record period description" msgstr "" -"系統會定期清理不必要的變更密文記錄和推播記錄,包括與變更任務、執行記錄、資產、帳戶相關的記錄。當任何這些關聯項被刪除時,相應的變更秘密和推送記錄將變得無效。因此,為了保持資料庫整潔、高效,系統預設每180天自動清理一次這些無效記錄。這種定期清理過程有助於釋放儲存空間並提高資料管理的安全性和整體效能。" +"系統會定期清理不必要的變更密文記錄和推播記錄,包括與變更任務、執行記錄、資" +"產、帳戶相關的記錄。當任何這些關聯項被刪除時,相應的變更秘密和推送記錄將變得" +"無效。因此,為了保持資料庫整潔、高效,系統預設每180天自動清理一次這些無效記" +"錄。這種定期清理過程有助於釋放儲存空間並提高資料管理的安全性和整體效能。" #: accounts/tasks/backup_account.py:25 msgid "Execute account backup plan" @@ -1202,8 +1209,8 @@ msgstr "你好! 以下是資產改密或推送帳戶失敗的情況。 請及 #: accounts/utils.py:52 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not" -" allowed." +"If the password starts with {{` and ends with }} `, then the password is not " +"allowed." msgstr "如果密碼以 `{{` 開始,並且以 `}}` 結束,則該密碼是不允許的。" #: accounts/utils.py:59 @@ -1374,8 +1381,8 @@ msgid "" "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "support)" msgstr "" -"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, " -"2001:db8:2de::e13, 2001:db8:1a:1110::/64 (支持網域)" +"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" +"db8:2de::e13, 2001:db8:1a:1110::/64 (支持網域)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -1403,8 +1410,8 @@ msgid "" "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " msgstr "" -"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, " -"2001:db8:2de::e13, 2001:db8:1a:1110::/64" +"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" +"db8:2de::e13, 2001:db8:1a:1110::/64" #: acls/serializers/rules/rules.py:33 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -1443,7 +1450,9 @@ msgid "" "Please review the login activity to ensure the security and proper usage of " "the asset. If you did not authorize this login or if you notice any " "suspicious activity, please take the necessary actions immediately." -msgstr "請您稽核此登入行為,以確保資產的安全和正確使用。如果您未授權此次登入或發現任何可疑行為,請立即採取必要的行動。" +msgstr "" +"請您稽核此登入行為,以確保資產的安全和正確使用。如果您未授權此次登入或發現任" +"何可疑行為,請立即採取必要的行動。" #: acls/templates/acls/asset_login_reminder.html:16 #: acls/templates/acls/user_login_reminder.html:16 @@ -1589,7 +1598,7 @@ msgstr "禁用" msgid "Basic" msgstr "基本" -#: assets/const/base.py:34 assets/const/protocol.py:292 +#: assets/const/base.py:34 assets/const/protocol.py:298 #: assets/models/asset/web.py:13 msgid "Script" msgstr "腳本" @@ -1661,150 +1670,157 @@ msgstr "其它" #: assets/const/protocol.py:46 msgid "Old SSH version" -msgstr "Old SSH version" +msgstr "舊的 SSH 版本" #: assets/const/protocol.py:47 msgid "Old SSH version like openssh 5.x or 6.x" msgstr "舊的 SSH 版本,例如 openssh 5.x 或 6.x" -#: assets/const/protocol.py:58 +#: assets/const/protocol.py:53 +msgid "Netcat help text" +msgstr "使用 netcat (nc) 作為代理工具,將連線從代理伺服器轉送到目標主機。適用於不支援 SSH 原生代理選項 (-W) 的環境,或需要更多靈活性和逾時控制的場景。" + +#: assets/const/protocol.py:64 msgid "SFTP root" msgstr "SFTP 根路徑" -#: assets/const/protocol.py:60 +#: assets/const/protocol.py:66 #, python-brace-format msgid "" "SFTP root directory, Support variable:
- ${ACCOUNT} The connected " "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"SFTP根目錄,支持變數:
-${ACCOUNT}已連接帳戶使用者名稱
-${HOME}連接帳戶的主目錄
-${USER}用戶的使用者名稱" +"SFTP根目錄,支持變數:
-${ACCOUNT}已連接帳戶使用者名稱
-${HOME}連接帳戶" +"的主目錄
-${USER}用戶的使用者名稱" -#: assets/const/protocol.py:75 +#: assets/const/protocol.py:81 msgid "Console" msgstr "控制台" -#: assets/const/protocol.py:76 +#: assets/const/protocol.py:82 msgid "Connect to console session" msgstr "連接到控制台會話" -#: assets/const/protocol.py:80 +#: assets/const/protocol.py:86 msgid "Any" msgstr "任意" -#: assets/const/protocol.py:82 rbac/tree.py:62 +#: assets/const/protocol.py:88 rbac/tree.py:62 #: settings/serializers/security.py:232 msgid "Security" msgstr "安全" -#: assets/const/protocol.py:83 +#: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the" -" security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the " +"security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " "via TLS.
NLA
This mode uses TLS encryption and requires the username " "and password to be given in advance" msgstr "" -"連接的安全層:
Any
根據客戶端和伺服器支援的安全協議自動選擇安全模式
RDP
傳統的 RDP 加密模式。通常僅用於較舊的 " -"Windows 伺服器或需要標準 Windows 登入螢幕的情況
TLS
通過 TLS 實現的 RDP " -"認證和加密
NLA
此模式使用 TLS 加密,並要求提前提供用戶名和密碼
" +"連接的安全層:
Any
根據客戶端和伺服器支援的安全協議自動選擇安全模式" +"
RDP
傳統的 RDP 加密模式。通常僅用於較舊的 Windows 伺服器或需要標準 " +"Windows 登入螢幕的情況
TLS
通過 TLS 實現的 RDP 認證和加密
NLA
此" +"模式使用 TLS 加密,並要求提前提供用戶名和密碼
" -#: assets/const/protocol.py:100 +#: assets/const/protocol.py:106 msgid "AD domain" msgstr "AD 網域" -#: assets/const/protocol.py:115 +#: assets/const/protocol.py:121 msgid "Username prompt" msgstr "使用者名稱提示" -#: assets/const/protocol.py:116 +#: assets/const/protocol.py:122 msgid "We will send username when we see this prompt" msgstr "當我們看到這個提示時,我們將發送使用者名稱" -#: assets/const/protocol.py:121 +#: assets/const/protocol.py:127 msgid "Password prompt" msgstr "密碼提示" -#: assets/const/protocol.py:122 +#: assets/const/protocol.py:128 msgid "We will send password when we see this prompt" msgstr "當我們看到這個提示時,我們將發送密碼" -#: assets/const/protocol.py:127 +#: assets/const/protocol.py:133 msgid "Success prompt" msgstr "成功提示" -#: assets/const/protocol.py:128 +#: assets/const/protocol.py:134 msgid "We will consider login success when we see this prompt" msgstr "當我們看到這個提示時,我們將認為登錄成功" -#: assets/const/protocol.py:139 assets/models/asset/database.py:10 +#: assets/const/protocol.py:145 assets/models/asset/database.py:10 #: settings/serializers/msg.py:49 msgid "Use SSL" msgstr "使用 SSL" -#: assets/const/protocol.py:174 +#: assets/const/protocol.py:180 msgid "SYSDBA" msgstr "SYSDBA" -#: assets/const/protocol.py:175 +#: assets/const/protocol.py:181 msgid "Connect as SYSDBA" msgstr "以 SYSDBA 角色連接" -#: assets/const/protocol.py:190 +#: assets/const/protocol.py:196 msgid "" "SQL Server version, Different versions have different connection drivers" msgstr "SQL Server 版本,不同版本有不同的連接驅動" -#: assets/const/protocol.py:220 +#: assets/const/protocol.py:226 msgid "Auth source" msgstr "認證資料庫" -#: assets/const/protocol.py:221 +#: assets/const/protocol.py:227 msgid "The database to authenticate against" msgstr "要進行身份驗證的資料庫" -#: assets/const/protocol.py:226 authentication/models/connection_token.py:43 +#: assets/const/protocol.py:232 authentication/models/connection_token.py:43 msgid "Connect options" msgstr "連接項" -#: assets/const/protocol.py:227 +#: assets/const/protocol.py:233 msgid "The connection specific options eg. retryWrites=false&retryReads=false" msgstr "連接特定選項,例如。重試寫入=假&重試讀取=假" -#: assets/const/protocol.py:239 +#: assets/const/protocol.py:245 msgid "Auth username" msgstr "使用使用者名稱認證" -#: assets/const/protocol.py:262 +#: assets/const/protocol.py:268 msgid "Safe mode" msgstr "安全模式" -#: assets/const/protocol.py:264 +#: assets/const/protocol.py:270 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." -msgstr "當安全模式啟用時,一些操作將被禁用,例如:新建標籤頁、右鍵、訪問其它網站 等" +msgstr "" +"當安全模式啟用時,一些操作將被禁用,例如:新建標籤頁、右鍵、訪問其它網站 等" -#: assets/const/protocol.py:269 assets/models/asset/web.py:9 +#: assets/const/protocol.py:275 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自動代填" -#: assets/const/protocol.py:277 assets/models/asset/web.py:10 +#: assets/const/protocol.py:283 assets/models/asset/web.py:10 msgid "Username selector" msgstr "使用者名稱選擇器" -#: assets/const/protocol.py:282 assets/models/asset/web.py:11 +#: assets/const/protocol.py:288 assets/models/asset/web.py:11 msgid "Password selector" msgstr "密碼選擇器" -#: assets/const/protocol.py:287 assets/models/asset/web.py:12 +#: assets/const/protocol.py:293 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "確認按鈕選擇器" -#: assets/const/protocol.py:310 +#: assets/const/protocol.py:316 msgid "API mode" msgstr "API 模式" @@ -2205,7 +2221,9 @@ msgstr "協定,格式為 名稱/連接埠" msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -msgstr "帳號,格式為 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", \"secret_type\": \"password\"}]" +msgstr "" +"帳號,格式為 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " +"\"secret_type\": \"password\"}]" #: assets/serializers/asset/common.py:135 msgid "" @@ -2254,9 +2272,11 @@ msgstr "默認資料庫" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an" -" HTTP proxy. e.g. http(s)://host:port" -msgstr "如果伺服器不能直接訪問 api 地址,你需要設置一個 HTTP 代理。例如 http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an " +"HTTP proxy. e.g. http(s)://host:port" +msgstr "" +"如果伺服器不能直接訪問 api 地址,你需要設置一個 HTTP 代理。例如 http(s)://" +"host:port" #: assets/serializers/asset/gpt.py:24 msgid "HTTP proxy" @@ -2432,7 +2452,9 @@ msgid "" "Login with account when accessing assets, then automatically switch to " "another, similar to logging in with a regular account and then switching to " "root" -msgstr "在訪問資產時使用帳戶登入,然後自動切換到另一個帳戶,就像用普通帳戶登入然後切換到 root 一樣" +msgstr "" +"在訪問資產時使用帳戶登入,然後自動切換到另一個帳戶,就像用普通帳戶登入然後切" +"換到 root 一樣" #: assets/serializers/platform.py:205 msgid "Assets can be connected using a zone gateway" @@ -2480,8 +2502,7 @@ msgstr "檢查節點下資產數量" #: assets/tasks/nodes_amount.py:28 msgid "" -"The task of self-checking is already running and cannot be started " -"repeatedly" +"The task of self-checking is already running and cannot be started repeatedly" msgstr "自檢程序已經在運行,不能重複啟動" #: assets/tasks/nodes_amount.py:33 @@ -2522,8 +2543,7 @@ msgid "App Audits" msgstr "日志审计" #: audits/backends/db.py:17 -msgid "" -"The text content is too long. Use Elasticsearch to store operation logs" +msgid "The text content is too long. Use Elasticsearch to store operation logs" msgstr "文字內容太長。請使用 Elasticsearch 儲存操作日誌" #: audits/backends/db.py:108 @@ -2616,8 +2636,8 @@ msgstr "結束" #: audits/const.py:46 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:174 -#: terminal/models/virtualapp/provider.py:14 -#: terminal/serializers/session.py:55 terminal/serializers/session.py:78 +#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:55 +#: terminal/serializers/session.py:78 msgid "Terminal" msgstr "終端" @@ -2656,8 +2676,7 @@ msgid "Job audit log" msgstr "作業審計日誌" #: audits/models.py:56 audits/models.py:100 audits/models.py:175 -#: terminal/models/session/session.py:39 -#: terminal/models/session/sharing.py:113 +#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:113 msgid "Remote addr" msgstr "遠端地址" @@ -2989,8 +3008,7 @@ msgstr "附加" #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:26 -#: authentication/models/private_token.py:8 -#: authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "最後使用日期" @@ -3065,7 +3083,8 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"您輸入的使用者名稱或密碼不正確,請重新輸入。 您還可以嘗試 {times_try} 次 (帳號將被臨時 鎖定 {block_time} 分鐘)" +"您輸入的使用者名稱或密碼不正確,請重新輸入。 您還可以嘗試 {times_try} 次 (帳" +"號將被臨時 鎖定 {block_time} 分鐘)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 msgid "" @@ -3082,9 +3101,10 @@ msgstr "IP 已被鎖定 (請聯絡管理員解鎖或 {} 分鐘後重試)" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily" -" locked for {block_time} minutes)" -msgstr "{error},您還可以嘗試 {times_try} 次 (帳號將被臨時鎖定 {block_time} 分鐘)" +"{error}, You can also try {times_try} times (The account will be temporarily " +"locked for {block_time} minutes)" +msgstr "" +"{error},您還可以嘗試 {times_try} 次 (帳號將被臨時鎖定 {block_time} 分鐘)" #: authentication/errors/const.py:63 msgid "MFA required" @@ -3492,8 +3512,8 @@ msgstr "創建類型" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be" -" downloaded once" +"Please download the private key after creation. Each private key can only be " +"downloaded once" msgstr "創建完成後請下載私鑰,每個私鑰僅有一次下載機會" #: authentication/serializers/ssh_key.py:57 users/forms/profile.py:161 @@ -3851,9 +3871,10 @@ msgstr "退出登錄成功,返回到登入頁面" #: authentication/views/mixins.py:39 msgid "" -"For your safety, automatic redirection login is not supported on the client." -" If you need to open it in the client, please log in again" -msgstr "為了您的安全,客戶端不支持自動跳轉登錄。如果需要在客戶端中打開,請重新登錄" +"For your safety, automatic redirection login is not supported on the client. " +"If you need to open it in the client, please log in again" +msgstr "" +"為了您的安全,客戶端不支持自動跳轉登錄。如果需要在客戶端中打開,請重新登錄" #: authentication/views/slack.py:35 authentication/views/slack.py:118 msgid "Slack Error" @@ -3959,12 +3980,13 @@ msgstr "加密的欄位" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" -" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " +"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -"JSON 多對多欄位無效,應為 {'type': 'all'} 或 {'type': 'ids', 'ids': []} 或 {'type': " -"'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': '1.1.1.1'}}" +"JSON 多對多欄位無效,應為 {'type': 'all'} 或 {'type': 'ids', 'ids': []} 或 " +"{'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': " +"'1.1.1.1'}}" #: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" @@ -4077,10 +4099,12 @@ msgstr "關聯項,格式是 id" msgid "" "Objects, format [\"name(id)\", ...], name is optional for human read, id is " "requisite" -msgstr "多關聯項,格式: [\"名稱(id)\", ...], 名稱是可選的,方便閱讀,id 是必填的" +msgstr "" +"多關聯項,格式: [\"名稱(id)\", ...], 名稱是可選的,方便閱讀,id 是必填的" #: common/drf/renders/base.py:170 -msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" +msgid "" +"Labels, format [\"key:value\", ...], if label not exists, will create it" msgstr "標籤,格式: [\"鍵:值\", ...], 如果標籤不存在,將創建它" #: common/drf/renders/base.py:172 @@ -4314,8 +4338,8 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Luna是單獨部署的一個程序,你需要部署luna,koko, " -"
如果你看到了這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" +"
Luna是單獨部署的一個程序,你需要部署luna,koko,
如果你看到了" +"這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" #: jumpserver/views/other.py:76 msgid "Websocket server run on port: {}, you should proxy it on nginx" @@ -4327,8 +4351,8 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Koko是單獨部署的一個程序,你需要部署Koko, 並確保nginx配置轉發, " -"
如果你看到了這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" +"
Koko是單獨部署的一個程序,你需要部署Koko, 並確保nginx配置轉發,
如果你看到了這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" #: labels/apps.py:8 msgid "App Labels" @@ -4877,8 +4901,7 @@ msgstr "請選擇一個組織後再保存" #: rbac/serializers/rolebinding.py:44 settings/serializers/auth/base.py:52 #: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 -#: tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "組織" @@ -5041,7 +5064,9 @@ msgstr "組織 ({}) 的資產授權" msgid "" "Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " "choices: @ALL, @SPEC, @USER, @ANON, @INPUT" -msgstr "帳號,格式為 [\"@虛擬帳號\", \"root\", \"%模板id\"], 虛擬選項: @ALL, @SPEC, @USER, @ANON, @INPUT" +msgstr "" +"帳號,格式為 [\"@虛擬帳號\", \"root\", \"%模板id\"], 虛擬選項: @ALL, @SPEC, " +"@USER, @ANON, @INPUT" #: perms/serializers/permission.py:38 msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" @@ -5468,7 +5493,9 @@ msgid "" "authentication service platform does not return the user's email " "information, the system will automatically create the user using this email " "suffix" -msgstr "第三方使用者認證成功後,若第三方認證服務平台未回傳該使用者的電子信箱資訊,系統將自動以此電子信箱後綴建立使用者" +msgstr "" +"第三方使用者認證成功後,若第三方認證服務平台未回傳該使用者的電子信箱資訊,系" +"統將自動以此電子信箱後綴建立使用者" #: settings/serializers/auth/base.py:36 msgid "Forgot Password URL" @@ -5487,13 +5514,16 @@ msgid "" "Should an flash page be displayed before the user is redirected to third-" "party authentication when the administrator enables third-party redirect " "authentication" -msgstr "Action管理員啟用第三方重新定向身份驗證時,在使用者重定向到第三方身份驗證之前是否顯示 Flash 頁面" +msgstr "" +"Action管理員啟用第三方重新定向身份驗證時,在使用者重定向到第三方身份驗證之前" +"是否顯示 Flash 頁面" #: settings/serializers/auth/base.py:54 msgid "" "When you create a user, you associate the user to the organization of your " "choice. Users always belong to the Default organization." -msgstr "建立使用者時,您會將該使用者與您選擇的組織關聯。使用者始終屬於 Default 組織。" +msgstr "" +"建立使用者時,您會將該使用者與您選擇的組織關聯。使用者始終屬於 Default 組織。" #: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 msgid "CAS" @@ -5525,8 +5555,7 @@ msgstr "使用者名稱屬性" msgid "Enable attributes map" msgstr "啟用屬性映射" -#: settings/serializers/auth/cas.py:34 -#: settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 #: settings/serializers/auth/ldap.py:66 settings/serializers/auth/oauth2.py:60 #: settings/serializers/auth/oidc.py:39 settings/serializers/auth/saml2.py:35 @@ -5538,7 +5567,9 @@ msgstr "映射屬性" msgid "" "User attribute mapping, where the `key` is the CAS service user attribute " "name and the `value` is the JumpServer user attribute name" -msgstr "使用者屬性對照,其中 `key` 是 CAS 服務使用者屬性名稱,`value` 是 JumpServer 使用者屬性名稱" +msgstr "" +"使用者屬性對照,其中 `key` 是 CAS 服務使用者屬性名稱,`value` 是 JumpServer " +"使用者屬性名稱" #: settings/serializers/auth/cas.py:41 msgid "Create user" @@ -5558,13 +5589,17 @@ msgstr "啟用釘釘認證" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the DingTalk service user attribute name" -msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是釘釘服務使用者屬性名稱" +msgstr "" +"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是釘釘服務使" +"用者屬性名稱" #: settings/serializers/auth/feishu.py:20 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the FeiShu service user attribute name" -msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是飛書服務使用者屬性名稱" +msgstr "" +"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是飛書服務使" +"用者屬性名稱" #: settings/serializers/auth/lark.py:13 users/models/user/_source.py:21 msgid "Lark" @@ -5574,7 +5609,9 @@ msgstr "" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Lark service user attribute name" -msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Lark 服務使用者屬性名稱" +msgstr "" +"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Lark 服務" +"使用者屬性名稱" #: settings/serializers/auth/ldap.py:41 settings/serializers/auth/ldap.py:103 msgid "LDAP" @@ -5619,7 +5656,9 @@ msgstr "可能的選項是(cn或uid或sAMAccountName=%(user)s)" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" -msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 LDAP 服務使用者屬性名稱" +msgstr "" +"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 LDAP 服務" +"使用者屬性名稱" #: settings/serializers/auth/ldap.py:84 msgid "Connect timeout (s)" @@ -5636,7 +5675,8 @@ msgid "" "cache
If the user OU structure has been adjusted, click Submit to clear " "the user DN cache" msgstr "" -"對用戶登入驗證時查詢出的 User DN 進行緩存,可以有效提升用戶認證的速度
如果用戶 OU 架構有调整,點擊提交即可清除用戶 DN 緩存" +"對用戶登入驗證時查詢出的 User DN 進行緩存,可以有效提升用戶認證的速度
如果" +"用戶 OU 架構有调整,點擊提交即可清除用戶 DN 緩存" #: settings/serializers/auth/ldap.py:97 msgid "Search paged size (piece)" @@ -5687,18 +5727,19 @@ msgid "End session endpoint" msgstr "Logout session endpoint address" #: settings/serializers/auth/oauth2.py:57 -msgid "" -"When the user signs out, they also be logged out from the OAuth2 server" +msgid "When the user signs out, they also be logged out from the OAuth2 server" msgstr "當使用者退出時,他們也會從 OAuth2 伺服器退出" #: settings/serializers/auth/oauth2.py:62 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OAuth2 service user attribute name" -msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OAuth2 服務使用者屬性名稱" +msgstr "" +"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OAuth2 服" +"務使用者屬性名稱" -#: settings/serializers/auth/oauth2.py:67 -#: settings/serializers/auth/oidc.py:113 settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:113 +#: settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "總是更新用戶資訊" @@ -5730,7 +5771,9 @@ msgstr "Ignore SSL certificate verification" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OIDC service user attribute name" -msgstr "使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OIDC 服務使用者屬性名稱" +msgstr "" +"使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OIDC 服務" +"使用者屬性名稱" #: settings/serializers/auth/oidc.py:45 msgid "Enable PKCE" @@ -5748,7 +5791,8 @@ msgstr "使用 Keycloak" msgid "" "Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " "Protocol" -msgstr "使用 Keycloak 作為 OpenID Connect 伺服器,或者使用標準 OpenID Connect 協議" +msgstr "" +"使用 Keycloak 作為 OpenID Connect 伺服器,或者使用標準 OpenID Connect 協議" #: settings/serializers/auth/oidc.py:64 msgid "Realm name" @@ -5807,7 +5851,8 @@ msgid "" "The hostname can using passkey auth, If not set, will use request host and " "the request host in DOMAINS, If multiple domains, use comma to separate" msgstr "" -"可以使用 Passkey 認證的域名,如果不設置,將使用請求主機(主機名在可信域 DOMAINS中), 如果有多個域名,使用逗號分隔, 不需要埠號" +"可以使用 Passkey 認證的域名,如果不設置,將使用請求主機(主機名在可信域 " +"DOMAINS中), 如果有多個域名,使用逗號分隔, 不需要埠號" #: settings/serializers/auth/passkey.py:22 msgid "FIDO Server name" @@ -5823,8 +5868,7 @@ msgid "OTP in RADIUS" msgstr "Use Radius OTP" #: settings/serializers/auth/radius.py:24 -msgid "" -"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" msgstr "* 在 RADIUS 中使用 OTP 意味著使用者可以利用 RADIUS 作為 MFA 的方法 " #: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 @@ -5855,7 +5899,9 @@ msgstr "SP 證書" msgid "" "User attribute mapping, where the `key` is the SAML2 service user attribute " "name and the `value` is the JumpServer user attribute name" -msgstr " 使用者屬性映射,其中 `key` 是 SAML2 服務使用者屬性名稱,`value` 是 JumpServer 使用者屬性名稱" +msgstr "" +" 使用者屬性映射,其中 `key` 是 SAML2 服務使用者屬性名稱,`value` 是 " +"JumpServer 使用者屬性名稱" #: settings/serializers/auth/saml2.py:43 msgid "When the user signs out, they also be logged out from the SAML2 server" @@ -5865,7 +5911,9 @@ msgstr "當使用者登出時,他們也會從 SAML2 伺服器登出" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Slack service user attribute name" -msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Slack 服務使用者屬性名稱" +msgstr "" +"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Slack 服" +"務使用者屬性名稱" #: settings/serializers/auth/sms.py:18 msgid "Enable Short Message Service (SMS)" @@ -5930,10 +5978,12 @@ msgstr "業務型態(Service id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed" -" 67 words. For example, your verification code is {code}, which is valid for" -" 5 minutes. Please do not disclose it to others." -msgstr "模板需要包含 {code},並且模板+簽名長度不能超過67個字。例如, 您的驗證碼是 {code}, 有效期為5分鐘。請不要洩露給其他人。" +"Template need contain {code} and Signature + template length does not exceed " +"67 words. For example, your verification code is {code}, which is valid for " +"5 minutes. Please do not disclose it to others." +msgstr "" +"模板需要包含 {code},並且模板+簽名長度不能超過67個字。例如, 您的驗證碼是 " +"{code}, 有效期為5分鐘。請不要洩露給其他人。" #: settings/serializers/auth/sms.py:94 #, python-brace-format @@ -5969,7 +6019,9 @@ msgstr "單位: 秒" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the WeCom service user attribute name" -msgstr "使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是企業微信服務使用者屬性名稱" +msgstr "" +"使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是企業微信服" +"務使用者屬性名稱" #: settings/serializers/basic.py:11 msgid "Site URL" @@ -5977,8 +6029,8 @@ msgstr "目前網站 URL" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service" -" and is usually used in links in system emails" +"Site URL is the externally accessible address of the current product service " +"and is usually used in links in system emails" msgstr "站點 URL 是目前產品服務的外部可訪問地址,通常在系統郵件的連結中使用" #: settings/serializers/basic.py:18 @@ -6063,7 +6115,8 @@ msgstr "會話日誌 (天)" msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." -msgstr "會話、錄影,命令記錄超過該時長將會被清除 (影響資料庫儲存,OSS 等不受影響)" +msgstr "" +"會話、錄影,命令記錄超過該時長將會被清除 (影響資料庫儲存,OSS 等不受影響)" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days (day)" @@ -6107,7 +6160,8 @@ msgid "" "accounts that exceed the predetermined number. If the value reaches or " "exceeds 999 (default), no historical account deletion will be performed" msgstr "" -"如果特定數值小於999,系統將在每日晚間自動執行任務:檢查並刪除超出預定數量的歷史帳號。如果該數值達到或超過999,則不進行任何歷史帳號的刪除操作。" +"如果特定數值小於999,系統將在每日晚間自動執行任務:檢查並刪除超出預定數量的歷" +"史帳號。如果該數值達到或超過999,則不進行任何歷史帳號的刪除操作。" #: settings/serializers/feature.py:76 settings/serializers/feature.py:82 msgid "Chat AI" @@ -6118,8 +6172,7 @@ msgid "GPT Base URL" msgstr "GPT 地址" #: settings/serializers/feature.py:86 -msgid "" -"The base URL of the GPT service. For example: https://api.openai.com/v1" +msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" msgstr "GPT 服務的基礎 URL。例如:https://api.openai.com/v1" #: settings/serializers/feature.py:89 templates/_header_bar.html:96 @@ -6231,7 +6284,8 @@ msgid "" "server. In most email documentation this type of TLS connection is referred " "to as SSL. It is generally used on port 465" msgstr "" -"與 SMTP 伺服器通信時是否使用隱式 TLS(安全)連接。在大多數電子郵件文檔中,這種類型的 TLS 連接稱為 SSL。它通常在埠 465 上使用" +"與 SMTP 伺服器通信時是否使用隱式 TLS(安全)連接。在大多數電子郵件文檔中,這" +"種類型的 TLS 連接稱為 SSL。它通常在埠 465 上使用" #: settings/serializers/msg.py:54 msgid "Use TLS" @@ -6241,7 +6295,9 @@ msgstr "使用 TLS" msgid "" "Whether to use a TLS (secure) connection when talking to the SMTP server. " "This is used for explicit TLS connections, generally on port 587" -msgstr "與 SMTP 伺服器通信時是否使用 TLS(安全)連接。這用於顯式 TLS 連接,通常在埠 587 上" +msgstr "" +"與 SMTP 伺服器通信時是否使用 TLS(安全)連接。這用於顯式 TLS 連接,通常在埠 " +"587 上" #: settings/serializers/msg.py:64 msgid "Subject prefix" @@ -6249,8 +6305,8 @@ msgstr "主題前綴" #: settings/serializers/msg.py:69 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account" -" successfully)" +"Tips: When creating a user, send the subject of the email (eg:Create account " +"successfully)" msgstr "提示: 創建用戶時,發送設置密碼郵件的主題 (例如: 創建用戶成功)" #: settings/serializers/msg.py:73 @@ -6266,7 +6322,8 @@ msgstr "提示: 創建用戶時,發送設置密碼郵件的敬語 (例如: 你 msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" -msgstr "提示: 創建用戶時,發送設置密碼郵件的內容, 支持 {username} {name} {email} 標籤" +msgstr "" +"提示: 創建用戶時,發送設置密碼郵件的內容, 支持 {username} {name} {email} 標籤" #: settings/serializers/msg.py:84 msgid "Tips: Email signature (eg:jumpserver)" @@ -6282,7 +6339,9 @@ msgstr "顯示未分組節點" #: settings/serializers/other.py:12 msgid "Perm single to ungroup node" -msgstr "放置單獨授權的資產到未分組節點, 避免能看到資產所在節點,但該節點未被授權的問題" +msgstr "" +"放置單獨授權的資產到未分組節點, 避免能看到資產所在節點,但該節點未被授權的問" +"題" #: settings/serializers/security.py:17 msgid "User password expiration (day)" @@ -6293,7 +6352,9 @@ msgid "" "If the user does not update the password during the time, the user password " "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" -msgstr "如果用戶在此期間沒有更新密碼,用戶密碼將過期失效; 密碼過期提醒郵件將在密碼過期前5天內由系統 (每天)自動發送給用戶" +msgstr "" +"如果用戶在此期間沒有更新密碼,用戶密碼將過期失效; 密碼過期提醒郵件將在密碼過" +"期前5天內由系統 (每天)自動發送給用戶" #: settings/serializers/security.py:26 msgid "Recent password count" @@ -6363,7 +6424,9 @@ msgid "" "users of other authentication methods except local authentication methods " "are allowed to log in and automatically create users (if the user does not " "exist)" -msgstr "如果開啟,不存在的用戶將不被允許登錄;如果關閉,除本地認證方式外,其他認證方式的用戶都允許登錄並自動創建用戶 (如果用戶不存在)" +msgstr "" +"如果開啟,不存在的用戶將不被允許登錄;如果關閉,除本地認證方式外,其他認證方" +"式的用戶都允許登錄並自動創建用戶 (如果用戶不存在)" #: settings/serializers/security.py:103 msgid "Only from source login" @@ -6371,12 +6434,13 @@ msgstr "僅從用戶來源登錄" #: settings/serializers/security.py:105 msgid "" -"If it is enabled, the user will only authenticate to the source when logging" -" in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging " +"in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"如果開啟,用戶登錄時僅會向來源端進行認證;如果關閉,用戶登錄時會按照一定的順序對所有已開啟的認證方式進行順序認證,只要有一個認證成功就可以直接登錄" +"如果開啟,用戶登錄時僅會向來源端進行認證;如果關閉,用戶登錄時會按照一定的順" +"序對所有已開啟的認證方式進行順序認證,只要有一個認證成功就可以直接登錄" #: settings/serializers/security.py:116 #: users/templates/users/mfa_setting.html:160 @@ -6445,7 +6509,9 @@ msgstr "啟用登入附加碼" msgid "" "The password and additional code are sent to a third party authentication " "system for verification" -msgstr "密碼和附加碼一併發送給第三方認證系統進行校驗, 如:有的第三方認證系統,需要 密碼+6位數字 完成認證" +msgstr "" +"密碼和附加碼一併發送給第三方認證系統進行校驗, 如:有的第三方認證系統,需要 密" +"碼+6位數字 完成認證" #: settings/serializers/security.py:158 msgid "Login captcha" @@ -6461,10 +6527,12 @@ msgstr "異地登入通知" #: settings/serializers/security.py:164 msgid "" -"The system determines whether the login IP address belongs to a common login" -" city. If the account is logged in from a common login city, the system " -"sends a remote login reminder" -msgstr "根據登錄 IP 是否所屬常用登錄城市進行判斷,若帳號在非常用城市登錄,會發送異地登錄提醒" +"The system determines whether the login IP address belongs to a common login " +"city. If the account is logged in from a common login city, the system sends " +"a remote login reminder" +msgstr "" +"根據登錄 IP 是否所屬常用登錄城市進行判斷,若帳號在非常用城市登錄,會發送異地" +"登錄提醒" #: settings/serializers/security.py:170 msgid "Auto Disable Threshold (day)" @@ -6548,8 +6616,8 @@ msgstr "元件註冊" #: settings/serializers/terminal.py:24 msgid "" -"Allow component register, after all component setup, you should disable this" -" for security" +"Allow component register, after all component setup, you should disable this " +"for security" msgstr "是否允許元件註冊,當所有終端啟動後,為了安全應該關閉" #: settings/serializers/terminal.py:30 @@ -6561,11 +6629,11 @@ msgstr "* 允許用戶透過密碼驗證登入KoKo元件" msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in" -" after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in " +"after being deleted from the AD/LDAP server" msgstr "" -"* 允許用戶透過公鑰驗證方式登入 KoKo 元件
如果第三方認證服務(如 AD/LDAP)已啟用,則應禁用此選項,以防止用戶從 AD/LDAP " -"伺服器中刪除後再次登入" +"* 允許用戶透過公鑰驗證方式登入 KoKo 元件
如果第三方認證服務(如 AD/LDAP)" +"已啟用,則應禁用此選項,以防止用戶從 AD/LDAP 伺服器中刪除後再次登入" #: settings/serializers/terminal.py:43 msgid "Asset sorting" @@ -6577,18 +6645,21 @@ msgstr "資產列表每頁數量" #: settings/serializers/terminal.py:51 msgid "" -"* You can individually configure the service address and port in the service" -" endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" -msgstr "* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資產時顯示 DB 客戶端啟動方法" +msgstr "" +"* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資" +"產時顯示 DB 客戶端啟動方法" #: settings/serializers/terminal.py:59 msgid "" -"* You can individually configure the service address and port in the service" -" endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" -"* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資產時顯示下載 rdp 文件按鈕和 RDP 客戶端啟動方法" +"* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資" +"產時顯示下載 rdp 文件按鈕和 RDP 客戶端啟動方法" #: settings/serializers/terminal.py:66 msgid "Client connection" @@ -6597,9 +6668,10 @@ msgstr "客戶端連接" #: settings/serializers/terminal.py:68 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to " -"assets" -msgstr "* 允許透過 SSH 客戶端連接到 KoKo 元件
如果啟用,則在連接到資產時,Luna 界面將顯示 SSH 客戶端啟動方法" +"Luna page will display the SSH client launch method when connecting to assets" +msgstr "" +"* 允許透過 SSH 客戶端連接到 KoKo 元件
如果啟用,則在連接到資產時,Luna 界" +"面將顯示 SSH 客戶端啟動方法" #: settings/serializers/tool.py:10 msgid "Tool" @@ -6611,8 +6683,8 @@ msgstr "工作台中的工具" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools" -" in the workbench" +"*! If enabled, users with RBAC permissions will be able to utilize all tools " +"in the workbench" msgstr "*! 如果啟用,具有 RBAC 權限的用戶將能夠使用工作台中的所有工具" #: settings/tasks/ldap.py:28 @@ -6826,11 +6898,13 @@ msgstr "過期。" #, python-format msgid "" "\n" -" Your password has expired, please click this link update password.\n" +" Your password has expired, please click this link update password.\n" " " msgstr "" "\n" -" 您的密碼已經過期,請點擊 連結 更新密碼\n" +" 您的密碼已經過期,請點擊 連結 更新密碼\n" " " #: templates/_message.html:30 @@ -6841,33 +6915,39 @@ msgstr "您的密碼將於" #, python-format msgid "" "\n" -" please click this link to update your password.\n" +" please click this " +"link to update your password.\n" " " msgstr "" "\n" -" 請點擊 連結 更新密碼\n" +" 請點擊 連結 更" +"新密碼\n" " " #: templates/_message.html:43 #, python-format msgid "" "\n" -" Your information was incomplete. Please click this link to complete your information.\n" +" Your information was incomplete. Please click this link to complete your information.\n" " " msgstr "" "\n" -" 你的資訊不完整,請點擊 連結 補充完整\n" +" 你的資訊不完整,請點擊 連結 " +" 補充完整\n" " " #: templates/_message.html:56 #, python-format msgid "" "\n" -" Your ssh public key not set or expired. Please click this link to update\n" +" Your ssh public key not set or expired. Please click this link to update\n" " " msgstr "" "\n" -" 您的SSH金鑰沒有設置或已失效,請點擊 連結 更新\n" +" 您的SSH金鑰沒有設置或已失效,請點擊 連結 更新\n" " " #: templates/_mfa_login_field.html:28 @@ -6898,7 +6978,9 @@ msgstr "用戶端" msgid "" "JumpServer Client, currently used to launch the client, now only support " "launch RDP SSH client, The Telnet client will next" -msgstr "JumpServer 用戶端,目前用來喚起 特定用戶端程序 連接資產, 目前僅支持 RDP SSH 用戶端,Telnet 會在未來支持" +msgstr "" +"JumpServer 用戶端,目前用來喚起 特定用戶端程序 連接資產, 目前僅支持 RDP SSH " +"用戶端,Telnet 會在未來支持" #: templates/resource_download.html:35 msgid "Microsoft" @@ -7344,8 +7426,7 @@ msgstr "可以下載會話錄影" msgid "Account ID" msgstr "帳號" -#: terminal/models/session/session.py:37 -#: terminal/models/session/sharing.py:118 +#: terminal/models/session/session.py:37 terminal/models/session/sharing.py:118 msgid "Login from" msgstr "登錄來源" @@ -7394,8 +7475,8 @@ msgstr "操作權限" msgid "Origin" msgstr "來源" -#: terminal/models/session/sharing.py:42 -#: terminal/models/session/sharing.py:100 terminal/notifications.py:261 +#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100 +#: terminal/notifications.py:261 msgid "Session sharing" msgstr "會話分享" @@ -7508,15 +7589,19 @@ msgstr "Core 服務地址" #: terminal/serializers/applet_host.py:40 msgid "" " \n" -" Tips: The application release machine communicates with the Core service. \n" -" If the release machine and the Core service are on the same network segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" +" Tips: The application release machine communicates with the Core " +"service. \n" +" If the release machine and the Core service are on the same network " +"segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in " +"the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" -"提示:應用發布機和 Core 服務進行通信使用,如果發布機和 Core 服務在同一網段,建議填寫內網地址,否則填寫當前站點 " -"URL
例如:https://172.16.10.110 or https://dev.jumpserver.com" +"提示:應用發布機和 Core 服務進行通信使用,如果發布機和 Core 服務在同一網段," +"建議填寫內網地址,否則填寫當前站點 URL
例如:https://172.16.10.110 or " +"https://dev.jumpserver.com" #: terminal/serializers/applet_host.py:48 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -7558,7 +7643,9 @@ msgstr "RDS 最大斷開時間(毫秒)" msgid "" "Tips: Set the maximum duration for keeping a disconnected session active on " "the server (log off the session after 60000 milliseconds)." -msgstr "提示:設置某個已斷開連接的會話在伺服器上能保持活動狀態的最長時間(60000 毫秒後註銷會話)" +msgstr "" +"提示:設置某個已斷開連接的會話在伺服器上能保持活動狀態的最長時間(60000 毫秒" +"後註銷會話)" #: terminal/serializers/applet_host.py:71 msgid "RDS Remote App Logoff Time Limit (ms)" @@ -7566,9 +7653,11 @@ msgstr "RDS 遠程應用註銷時間限制(毫秒)" #: terminal/serializers/applet_host.py:73 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" -" programs (0 milliseconds, log off the session immediately)." -msgstr "提示:關閉所有 RemoteApp 程序之後設置 RemoteAPP 會話的註銷時間(0 毫秒,立即註銷會話)" +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " +"programs (0 milliseconds, log off the session immediately)." +msgstr "" +"提示:關閉所有 RemoteApp 程序之後設置 RemoteAPP 會話的註銷時間(0 毫秒,立即" +"註銷會話)" #: terminal/serializers/applet_host.py:82 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -7577,15 +7666,16 @@ msgstr "負載狀態" #: terminal/serializers/applet_host.py:96 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 " +"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" +"support multiple open and the special has been used, the public account will " +"be used to connect" msgstr "" -"這些帳號用於連接髮布的應用,帳號現在分為兩種類型:
一種是專用的,每個用戶都有一個專用帳號。 " -"另一種是公共的,當應用不支持多開且專用的已經被使用時,會使用公共帳號連接;
注意: 如果不開啟自動創建帳號, " -"當前發布機僅能被指定標簽的資產調度到,默認不會放到調度池中,且需要手動維護帳號" +"這些帳號用於連接髮布的應用,帳號現在分為兩種類型:
一種是專用的,每個用" +"戶都有一個專用帳號。 另一種是公共的,當應用不支持多開且專用的已經被使用時,會" +"使用公共帳號連接;
注意: 如果不開啟自動創建帳號, 當前發布機僅能被指定標" +"簽的資產調度到,默認不會放到調度池中,且需要手動維護帳號" #: terminal/serializers/applet_host.py:103 msgid "The number of public accounts created automatically" @@ -7597,7 +7687,8 @@ msgid "" "please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " "restart the service to enable it." msgstr "" -"優先使用同名帳號連接髮布機。為了安全,需配置文件中開啟配置 CACHE_LOGIN_PASSWORD_ENABLED=true, 修改後重啟服務" +"優先使用同名帳號連接髮布機。為了安全,需配置文件中開啟配置 " +"CACHE_LOGIN_PASSWORD_ENABLED=true, 修改後重啟服務" #: terminal/serializers/applet_host.py:148 msgid "Install applets" @@ -7647,19 +7738,23 @@ msgstr "Oracle 埠範圍" msgid "" "Oracle proxy server listen port is dynamic, Each additional Oracle database " "instance adds a port listener" -msgstr "Oracle 代理伺服器監聽埠是動態的,每增加一個 Oracle 資料庫實例,就會增加一個埠監聽" +msgstr "" +"Oracle 代理伺服器監聽埠是動態的,每增加一個 Oracle 資料庫實例,就會增加一個埠" +"監聽" #: terminal/serializers/endpoint.py:38 msgid "" "The host address accessed when connecting to assets, if it is empty, the " "access address of the current browser will be used (the default endpoint " "does not allow modification of the host)" -msgstr "連接資產時訪問的主機地址,如果為空則使用當前瀏覽器的訪問地址 (默認端點不允許修改主機)" +msgstr "" +"連接資產時訪問的主機地址,如果為空則使用當前瀏覽器的訪問地址 (默認端點不允許" +"修改主機)" #: terminal/serializers/endpoint.py:64 msgid "" -"The assets within this IP range, the following endpoint will be used for the" -" connection" +"The assets within this IP range, the following endpoint will be used for the " +"connection" msgstr "該 IP 範圍內的資產,將使用下面的端點進行連接" #: terminal/serializers/endpoint.py:65 @@ -7762,8 +7857,8 @@ msgid "" "If there are multiple hosts, use a comma (,) to separate them.
(For " "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" msgstr "" -"如果有多個主機,請用逗號 (,) " -"分隔它們。
(例如:http://www.jumpserver.a.com:9100,http://www.jumpserver.b.com:9100)" +"如果有多個主機,請用逗號 (,) 分隔它們。
(例如:http://www.jumpserver.a." +"com:9100,http://www.jumpserver.b.com:9100)" #: terminal/serializers/storage.py:199 msgid "Index by date" @@ -7965,12 +8060,14 @@ msgid "" "No available port is matched. The number of databases may have exceeded the " "number of ports open to the database agent service, Contact the " "administrator to open more ports." -msgstr "未匹配到可用埠,資料庫的數量可能已經超過資料庫代理服務開放的埠數量,請聯系管理員開放更多埠。" +msgstr "" +"未匹配到可用埠,資料庫的數量可能已經超過資料庫代理服務開放的埠數量,請聯系管" +"理員開放更多埠。" #: terminal/utils/db_port_mapper.py:116 msgid "" -"No ports can be used, check and modify the limit on the number of ports that" -" Magnus listens on in the configuration file." +"No ports can be used, check and modify the limit on the number of ports that " +"Magnus listens on in the configuration file." msgstr "沒有埠可以使用,檢查並修改配置文件中 Magnus 監聽的埠數量限制。" #: terminal/utils/db_port_mapper.py:118 @@ -8033,7 +8130,8 @@ msgstr "工單已經關閉" msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" -msgstr "通過工單創建, 工單標題: {}, 工單申請人: {}, 工單處理人: {}, 工單 ID: {}" +msgstr "" +"通過工單創建, 工單標題: {}, 工單申請人: {}, 工單處理人: {}, 工單 ID: {}" #: tickets/handlers/base.py:84 msgid "Change field" @@ -8382,7 +8480,9 @@ 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 " "modification -> change MFA Settings\"!" -msgstr "啟用之後您將會在下次登錄時進入多因子認證綁定流程;您也可以在 (個人資訊->快速修改->設置 MFA 多因子認證)中直接綁定!" +msgstr "" +"啟用之後您將會在下次登錄時進入多因子認證綁定流程;您也可以在 (個人資訊->快速" +"修改->設置 MFA 多因子認證)中直接綁定!" #: users/forms/profile.py:59 msgid "* Enable MFA to make the account more secure." @@ -8390,10 +8490,12 @@ msgstr "* 啟用 MFA 多因子認證,使帳號更加安全。" #: users/forms/profile.py:68 msgid "" -"In order to protect you and your company, please keep your account, password" -" and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password " +"and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" -msgstr "為了保護您和公司的安全,請妥善保管您的帳號、密碼和金鑰等重要敏感資訊; (如:設置複雜密碼,並啟用 MFA 多因子認證)" +msgstr "" +"為了保護您和公司的安全,請妥善保管您的帳號、密碼和金鑰等重要敏感資訊; (如:" +"設置複雜密碼,並啟用 MFA 多因子認證)" #: users/forms/profile.py:82 users/serializers/preference/lina.py:21 msgid "New password" @@ -8546,8 +8648,8 @@ msgstr "終端主題名稱" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files," -" account password change results files" +"sends emails containing file attachments.
Such as: account backup files, " +"account password change results files" msgstr "" "File Encryption Password, when the system sends mails containing file " "attachments, use this password for decryption.
For example: Account " @@ -8600,7 +8702,9 @@ msgid "" "Determines whether the client computer should scale the content on the " "remote computer to fit the window size of the client computer when the " "window is resized." -msgstr "確定調整窗口大小時用戶端計算機是否應縮放遠程計算機上的內容以適應用戶端計算機的窗口大小" +msgstr "" +"確定調整窗口大小時用戶端計算機是否應縮放遠程計算機上的內容以適應用戶端計算機" +"的窗口大小" #: users/serializers/preference/luna.py:59 msgid "Remote app connect method" @@ -8644,11 +8748,10 @@ msgstr "系統角色" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across" -" all organizations" +"System roles are roles at the system level, and they will take effect across " +"all organizations" msgstr "" -"System role is a system-level role, it will be effective in all " -"organizations" +"System role is a system-level role, it will be effective in all organizations" #: users/serializers/user.py:61 msgid "Org roles" @@ -8659,8 +8762,8 @@ msgid "" "Org roles are roles at the organization level, and they will only take " "effect within current organization" msgstr "" -"Organization role is an organization-level role, it is only effective within" -" the current organization" +"Organization role is an organization-level role, it is only effective within " +"the current organization" #: users/serializers/user.py:70 msgid "Organizations and roles" @@ -8720,8 +8823,8 @@ msgid "" "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -"User origin identifies the location where the user was created. It can be AD" -" or other sources. Security settings can restrict users to log in to the " +"User origin identifies the location where the user was created. It can be AD " +"or other sources. Security settings can restrict users to log in to the " "system only from designated sources." #: users/serializers/user.py:266 @@ -8746,8 +8849,7 @@ msgstr "認證" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for " -"more" +"* For security, only a partial of users is displayed. You can search for more" msgstr "" "*For security reasons, only a portion of users is displayed. You can search " "for more" @@ -8759,8 +8861,10 @@ msgstr "名稱重複" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the administrator." -msgstr "管理員已開啟'僅允許已存在用戶登錄',當前用戶不在用戶列表中,請聯絡管理員。" +" and the current user is not in the user list. Please contact the " +"administrator." +msgstr "" +"管理員已開啟'僅允許已存在用戶登錄',當前用戶不在用戶列表中,請聯絡管理員。" #: users/signal_handlers.py:193 msgid "Clean up expired user sessions" @@ -8918,8 +9022,8 @@ msgstr "綁定MFA驗證器" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a " -"6-bit verification code" +"Use the MFA Authenticator application to scan the following qr code for a 6-" +"bit verification code" msgstr "使用 MFA 驗證器應用掃描以下二維碼,獲取6位驗證碼" #: users/templates/users/user_otp_enable_bind.html:22 @@ -9004,8 +9108,8 @@ msgstr "使用者名稱或密碼無效" #: users/views/profile/reset.py:66 msgid "" -"Non-local users can log in only from third-party platforms and cannot change" -" their passwords: {}" +"Non-local users can log in only from third-party platforms and cannot change " +"their passwords: {}" msgstr "非本地用戶僅允許從第三方平台登錄,不支持修改密碼: {}" #: users/views/profile/reset.py:188 users/views/profile/reset.py:199 @@ -9229,7 +9333,8 @@ msgstr "同步地區" #: xpack/plugins/cloud/manager.py:115 #, python-format msgid "Get instances of region \"%s\" error, error: %s" -msgstr "An error occurred while getting the instances of Region \"%s\", Error: %s" +msgstr "" +"An error occurred while getting the instances of Region \"%s\", Error: %s" #: xpack/plugins/cloud/manager.py:157 #, python-format @@ -9374,8 +9479,7 @@ msgstr "實例" msgid "Sync instance detail" msgstr "同步實例詳情" -#: xpack/plugins/cloud/models.py:311 -#: xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:311 xpack/plugins/cloud/serializers/task.py:77 msgid "Rule relation" msgstr "條件關係" @@ -9431,8 +9535,7 @@ msgstr "規則匹配" msgid "Rule value" msgstr "規則值" -#: xpack/plugins/cloud/models.py:381 -#: xpack/plugins/cloud/serializers/task.py:80 +#: xpack/plugins/cloud/models.py:381 xpack/plugins/cloud/serializers/task.py:80 msgid "Strategy rule" msgstr "條件" @@ -9448,8 +9551,7 @@ msgstr "動作屬性" msgid "Action value" msgstr "動作值" -#: xpack/plugins/cloud/models.py:407 -#: xpack/plugins/cloud/serializers/task.py:83 +#: xpack/plugins/cloud/models.py:407 xpack/plugins/cloud/serializers/task.py:83 msgid "Strategy action" msgstr "動作" @@ -9726,7 +9828,9 @@ msgid "" "The port is used to detect the validity of the IP address. When the " "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." -msgstr "埠用來檢測 IP 地址的有效性,在同步任務執行時,只會同步有效的 IP 地址。
如果埠為 0,則表示所有 IP 地址均有效。" +msgstr "" +"埠用來檢測 IP 地址的有效性,在同步任務執行時,只會同步有效的 IP 地址。
如" +"果埠為 0,則表示所有 IP 地址均有效。" #: xpack/plugins/cloud/serializers/account_attrs.py:190 msgid "Hostname prefix" diff --git a/apps/ops/ansible/inventory.py b/apps/ops/ansible/inventory.py index 09bfd0f39..bb9cf2060 100644 --- a/apps/ops/ansible/inventory.py +++ b/apps/ops/ansible/inventory.py @@ -45,24 +45,34 @@ class JMSInventory: return groups @staticmethod - def make_proxy_command(gateway, path_dir): + def get_gateway_ssh_settings(gateway): + platform = gateway.platform + try: + protocol = platform.protocols.get(name='ssh') + except platform.protocols.model.DoesNotExist: + return {} + return protocol.setting + + def make_proxy_command(self, gateway, path_dir): proxy_command_list = [ "ssh", "-o", "Port={}".format(gateway.port), "-o", "StrictHostKeyChecking=no", - "{}@{}".format(gateway.username, gateway.address), - "-W", "%h:%p", "-q", + f"{gateway.username}@{gateway.address}" ] + setting = self.get_gateway_ssh_settings(gateway) + if setting.get('nc', False): + proxy_command_list.extend(["nc", "-w", "10", "%h", "%p"]) + else: + proxy_command_list.extend(["-W", "%h:%p", "-q"]) + if gateway.password: - proxy_command_list.insert( - 0, "sshpass -p {}".format(gateway.password) - ) + proxy_command_list.insert(0, f"sshpass -p {gateway.password}") + if gateway.private_key: - proxy_command_list.append("-i {}".format(gateway.get_private_key_path(path_dir))) + proxy_command_list.append(f"-i {gateway.get_private_key_path(path_dir)}") - proxy_command = "-o ProxyCommand='{}'".format( - " ".join(proxy_command_list) - ) + proxy_command = f"-o ProxyCommand='{' '.join(proxy_command_list)}'" return {"ansible_ssh_common_args": proxy_command} @staticmethod