perf: Translate (#13717)

Co-authored-by: feng <1304903146@qq.com>
pull/13720/head
fit2bot 2024-07-15 17:06:30 +08:00 committed by GitHub
parent 375f60fef8
commit e0f20ce047
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 244 additions and 180 deletions

View File

@ -226,6 +226,9 @@ class ChangeSecretManager(AccountBasePlaybookManager):
def run(self, *args, **kwargs): def run(self, *args, **kwargs):
if self.secret_type and not self.check_secret(): if self.secret_type and not self.check_secret():
self.execution.status = 'success'
self.execution.date_finished = timezone.now()
self.execution.save()
return return
super().run(*args, **kwargs) super().run(*args, **kwargs)
recorders = list(self.name_recorder_mapper.values()) recorders = list(self.name_recorder_mapper.values())

View File

@ -36,6 +36,7 @@ class BaseAutomationSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSe
class AutomationExecutionSerializer(serializers.ModelSerializer): class AutomationExecutionSerializer(serializers.ModelSerializer):
snapshot = serializers.SerializerMethodField(label=_('Automation snapshot')) snapshot = serializers.SerializerMethodField(label=_('Automation snapshot'))
status = serializers.SerializerMethodField(label=_("Status"))
trigger = LabeledChoiceField(choices=Trigger.choices, read_only=True, label=_("Trigger mode")) trigger = LabeledChoiceField(choices=Trigger.choices, read_only=True, label=_("Trigger mode"))
class Meta: class Meta:
@ -45,6 +46,14 @@ class AutomationExecutionSerializer(serializers.ModelSerializer):
] ]
fields = ['id', 'automation'] + read_only_fields fields = ['id', 'automation'] + read_only_fields
@staticmethod
def get_status(obj):
if obj.status == 'success':
return _("Success")
elif obj.status == 'pending':
return _("Pending")
return obj.status
@staticmethod @staticmethod
def get_snapshot(obj): def get_snapshot(obj):
from assets.const import AutomationTypes as AssetTypes from assets.const import AutomationTypes as AssetTypes

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-03 16:39+0800\n" "POT-Creation-Date: 2024-07-15 16:28+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -64,7 +64,8 @@ msgstr ""
#: accounts/automations/backup_account/handlers.py:219 #: accounts/automations/backup_account/handlers.py:219
#: accounts/const/automation.py:110 #: accounts/const/automation.py:110
#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 #: accounts/serializers/automations/change_secret.py:166
#: assets/serializers/automations/base.py:52 audits/const.py:64
#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48
#: terminal/const.py:78 terminal/models/session/sharing.py:121 #: terminal/const.py:78 terminal/models/session/sharing.py:121
@ -303,8 +304,9 @@ msgstr ""
msgid "SFTP" msgid "SFTP"
msgstr "" msgstr ""
#: accounts/const/automation.py:111 common/const/choices.py:16 #: accounts/const/automation.py:111 assets/serializers/automations/base.py:54
#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 #: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29
#: tickets/const.py:38
msgid "Pending" msgid "Pending"
msgstr "" msgstr ""
@ -482,7 +484,7 @@ msgstr ""
#: accounts/serializers/account/backup.py:48 #: accounts/serializers/account/backup.py:48
#: accounts/serializers/automations/base.py:56 #: accounts/serializers/automations/base.py:56
#: assets/models/automations/base.py:122 #: assets/models/automations/base.py:122
#: assets/serializers/automations/base.py:39 #: assets/serializers/automations/base.py:40
msgid "Trigger mode" msgid "Trigger mode"
msgstr "" msgstr ""
@ -575,7 +577,8 @@ msgid "Date finished"
msgstr "" msgstr ""
#: accounts/models/automations/change_secret.py:44 #: accounts/models/automations/change_secret.py:44
#: assets/models/automations/base.py:113 audits/models.py:208 #: assets/models/automations/base.py:113
#: assets/serializers/automations/base.py:39 audits/models.py:208
#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234
#: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140
#: terminal/models/component/status.py:30 #: terminal/models/component/status.py:30
@ -707,9 +710,9 @@ msgstr ""
#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28
#: ops/serializers/job.py:18 orgs/models.py:82 #: ops/serializers/job.py:18 orgs/models.py:82
#: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: perms/models/asset_permission.py:61 rbac/models/role.py:29
#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 #: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183
#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 #: settings/serializers/msg.py:86 settings/serializers/terminal.py:9
#: terminal/models/component/endpoint.py:12 #: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
#: terminal/models/component/endpoint.py:109 #: 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/component/terminal.py:85
@ -3350,7 +3353,12 @@ msgstr ""
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
#: authentication/serializers/connection_token.py:42 #: authentication/serializers/connection_token.py:40
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "Organization"
#: authentication/serializers/connection_token.py:43
#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65
#: users/serializers/user.py:127 users/serializers/user.py:273 #: users/serializers/user.py:127 users/serializers/user.py:273
msgid "Is expired" msgid "Is expired"
@ -4231,27 +4239,27 @@ msgstr ""
msgid "Currently playbook is being used in a job" msgid "Currently playbook is being used in a job"
msgstr "" msgstr ""
#: ops/api/playbook.py:96 #: ops/api/playbook.py:97
msgid "Unsupported file content" msgid "Unsupported file content"
msgstr "" msgstr ""
#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 #: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193
msgid "Invalid file path" msgid "Invalid file path"
msgstr "" msgstr ""
#: ops/api/playbook.py:170 #: ops/api/playbook.py:171
msgid "This file can not be rename" msgid "This file can not be rename"
msgstr "" msgstr ""
#: ops/api/playbook.py:189 #: ops/api/playbook.py:190
msgid "File already exists" msgid "File already exists"
msgstr "" msgstr ""
#: ops/api/playbook.py:207 #: ops/api/playbook.py:208
msgid "File key is required" msgid "File key is required"
msgstr "" msgstr ""
#: ops/api/playbook.py:210 #: ops/api/playbook.py:211
msgid "This file can not be delete" msgid "This file can not be delete"
msgstr "" msgstr ""
@ -4472,7 +4480,8 @@ msgstr ""
msgid "Run as policy" msgid "Run as policy"
msgstr "" msgstr ""
#: ops/models/job.py:222 terminal/notifications.py:174 #: ops/models/job.py:222 ops/serializers/job.py:92
#: terminal/notifications.py:174
msgid "Job" msgid "Job"
msgstr "" msgstr ""
@ -4484,7 +4493,7 @@ msgstr ""
msgid "Material Type" msgid "Material Type"
msgstr "" msgstr ""
#: ops/models/job.py:545 #: ops/models/job.py:548
msgid "Job Execution" msgid "Job Execution"
msgstr "" msgstr ""
@ -4548,7 +4557,11 @@ msgstr ""
msgid "Is finished" msgid "Is finished"
msgstr "Finished" msgstr "Finished"
#: ops/serializers/job.py:90 #: ops/serializers/job.py:89
msgid "Task id"
msgstr ""
#: ops/serializers/job.py:98
msgid "You do not have permission for the current job." msgid "You do not have permission for the current job."
msgstr "" msgstr ""
@ -4651,10 +4664,6 @@ msgstr "請選擇一個組織後再保存"
msgid "Organization" msgid "Organization"
msgstr "" msgstr ""
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "Organization"
#: orgs/models.py:14 #: orgs/models.py:14
msgid "GLOBAL" msgid "GLOBAL"
msgstr "" msgstr ""
@ -4959,11 +4968,6 @@ msgstr ""
msgid "Perms" msgid "Perms"
msgstr "" msgstr ""
#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr ""
#: rbac/serializers/rolebinding.py:60 #: rbac/serializers/rolebinding.py:60
msgid "Has bound this role" msgid "Has bound this role"
msgstr "" msgstr ""
@ -5240,7 +5244,7 @@ msgid ""
msgstr "" msgstr ""
#: settings/serializers/auth/base.py:35 #: settings/serializers/auth/base.py:35
msgid "Forgot Password" msgid "Forgot Password URL"
msgstr "" msgstr ""
#: settings/serializers/auth/base.py:36 #: settings/serializers/auth/base.py:36
@ -5829,7 +5833,7 @@ msgid "Chat AI"
msgstr "" msgstr ""
#: settings/serializers/feature.py:80 #: settings/serializers/feature.py:80
msgid "Base URL" msgid "GPT Base URL"
msgstr "" msgstr ""
#: settings/serializers/feature.py:81 #: settings/serializers/feature.py:81
@ -6846,6 +6850,11 @@ msgstr ""
msgid "Enterprise" msgid "Enterprise"
msgstr "" msgstr ""
#: terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr ""
#: terminal/models/applet/applet.py:36 #: terminal/models/applet/applet.py:36
#: terminal/models/virtualapp/virtualapp.py:22 #: terminal/models/virtualapp/virtualapp.py:22
msgid "Author" msgid "Author"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-03 16:39+0800\n" "POT-Creation-Date: 2024-07-15 16:28+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -64,7 +64,8 @@ msgstr "仕上げ"
#: accounts/automations/backup_account/handlers.py:219 #: accounts/automations/backup_account/handlers.py:219
#: accounts/const/automation.py:110 #: accounts/const/automation.py:110
#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 #: accounts/serializers/automations/change_secret.py:166
#: assets/serializers/automations/base.py:52 audits/const.py:64
#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48
#: terminal/const.py:78 terminal/models/session/sharing.py:121 #: terminal/const.py:78 terminal/models/session/sharing.py:121
@ -303,8 +304,9 @@ msgstr "メール"
msgid "SFTP" msgid "SFTP"
msgstr "SFTP" msgstr "SFTP"
#: accounts/const/automation.py:111 common/const/choices.py:16 #: accounts/const/automation.py:111 assets/serializers/automations/base.py:54
#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 #: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29
#: tickets/const.py:38
msgid "Pending" msgid "Pending"
msgstr "未定" msgstr "未定"
@ -482,7 +484,7 @@ msgstr "アカウントのバックアップスナップショット"
#: accounts/serializers/account/backup.py:48 #: accounts/serializers/account/backup.py:48
#: accounts/serializers/automations/base.py:56 #: accounts/serializers/automations/base.py:56
#: assets/models/automations/base.py:122 #: assets/models/automations/base.py:122
#: assets/serializers/automations/base.py:39 #: assets/serializers/automations/base.py:40
msgid "Trigger mode" msgid "Trigger mode"
msgstr "トリガーモード" msgstr "トリガーモード"
@ -575,7 +577,8 @@ msgid "Date finished"
msgstr "終了日" msgstr "終了日"
#: accounts/models/automations/change_secret.py:44 #: accounts/models/automations/change_secret.py:44
#: assets/models/automations/base.py:113 audits/models.py:208 #: assets/models/automations/base.py:113
#: assets/serializers/automations/base.py:39 audits/models.py:208
#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234
#: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140
#: terminal/models/component/status.py:30 #: terminal/models/component/status.py:30
@ -707,9 +710,9 @@ msgstr "パスワードルール"
#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28
#: ops/serializers/job.py:18 orgs/models.py:82 #: ops/serializers/job.py:18 orgs/models.py:82
#: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: perms/models/asset_permission.py:61 rbac/models/role.py:29
#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 #: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183
#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 #: settings/serializers/msg.py:86 settings/serializers/terminal.py:9
#: terminal/models/component/endpoint.py:12 #: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
#: terminal/models/component/endpoint.py:109 #: 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/component/terminal.py:85
@ -1083,13 +1086,14 @@ msgstr "SSHキー戦略"
#: accounts/serializers/automations/change_secret.py:57 #: accounts/serializers/automations/change_secret.py:57
msgid "Please enter your account username" msgid "Please enter your account username"
msgstr "MFAコードを入力してください" msgstr "アカウントのユーザー名を入力してください"
#: accounts/serializers/automations/change_secret.py:62 #: accounts/serializers/automations/change_secret.py:62
msgid "" msgid ""
"Secret parameter settings, currently only effective for assets of the host " "Secret parameter settings, currently only effective for assets of the host "
"type." "type."
msgstr "暗号化パラメータの設定は現在、ホストタイプのリソースにのみ有効です。" msgstr ""
"パラメータ設定は現在、AIX LINUX UNIX タイプの資産に対してのみ有効です。"
#: accounts/serializers/automations/change_secret.py:84 #: accounts/serializers/automations/change_secret.py:84
msgid "* Please enter the correct password length" msgid "* Please enter the correct password length"
@ -3416,7 +3420,12 @@ msgstr "作業指示情報"
msgid "Actions" msgid "Actions"
msgstr "アクション" msgstr "アクション"
#: authentication/serializers/connection_token.py:42 #: authentication/serializers/connection_token.py:40
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "組織名"
#: authentication/serializers/connection_token.py:43
#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65
#: users/serializers/user.py:127 users/serializers/user.py:273 #: users/serializers/user.py:127 users/serializers/user.py:273
msgid "Is expired" msgid "Is expired"
@ -4333,27 +4342,27 @@ msgstr "タスクを作成中で、中断できません。後でもう一度お
msgid "Currently playbook is being used in a job" msgid "Currently playbook is being used in a job"
msgstr "現在プレイブックは1つのジョブで使用されています" msgstr "現在プレイブックは1つのジョブで使用されています"
#: ops/api/playbook.py:96 #: ops/api/playbook.py:97
msgid "Unsupported file content" msgid "Unsupported file content"
msgstr "サポートされていないファイルの内容" msgstr "サポートされていないファイルの内容"
#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 #: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193
msgid "Invalid file path" msgid "Invalid file path"
msgstr "無効なファイルパス" msgstr "無効なファイルパス"
#: ops/api/playbook.py:170 #: ops/api/playbook.py:171
msgid "This file can not be rename" msgid "This file can not be rename"
msgstr "ファイル名を変更することはできません" msgstr "ファイル名を変更することはできません"
#: ops/api/playbook.py:189 #: ops/api/playbook.py:190
msgid "File already exists" msgid "File already exists"
msgstr "ファイルは既に存在します。" msgstr "ファイルは既に存在します。"
#: ops/api/playbook.py:207 #: ops/api/playbook.py:208
msgid "File key is required" msgid "File key is required"
msgstr "ファイルキーこのフィールドは必須です" msgstr "ファイルキーこのフィールドは必須です"
#: ops/api/playbook.py:210 #: ops/api/playbook.py:211
msgid "This file can not be delete" msgid "This file can not be delete"
msgstr "このファイルを削除できません" msgstr "このファイルを削除できません"
@ -4574,7 +4583,8 @@ msgstr "ユーザーとして実行"
msgid "Run as policy" msgid "Run as policy"
msgstr "ユーザー ポリシー" msgstr "ユーザー ポリシー"
#: ops/models/job.py:222 terminal/notifications.py:174 #: ops/models/job.py:222 ops/serializers/job.py:92
#: terminal/notifications.py:174
msgid "Job" msgid "Job"
msgstr "ジョブ#ジョブ#" msgstr "ジョブ#ジョブ#"
@ -4586,7 +4596,7 @@ msgstr "Material"
msgid "Material Type" msgid "Material Type"
msgstr "Material を選択してオプションを設定します。" msgstr "Material を選択してオプションを設定します。"
#: ops/models/job.py:545 #: ops/models/job.py:548
msgid "Job Execution" msgid "Job Execution"
msgstr "ジョブ実行" msgstr "ジョブ実行"
@ -4650,7 +4660,11 @@ msgstr "タスクの種類"
msgid "Is finished" msgid "Is finished"
msgstr "終了しました" msgstr "終了しました"
#: ops/serializers/job.py:90 #: ops/serializers/job.py:89
msgid "Task id"
msgstr "タスク ID"
#: ops/serializers/job.py:98
msgid "You do not have permission for the current job." msgid "You do not have permission for the current job."
msgstr "あなたは現在のジョブの権限を持っていません。" msgstr "あなたは現在のジョブの権限を持っていません。"
@ -4754,10 +4768,6 @@ msgstr "組織を選択してから保存してください"
msgid "Organization" msgid "Organization"
msgstr "組織" msgstr "組織"
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "組織名"
#: orgs/models.py:14 #: orgs/models.py:14
msgid "GLOBAL" msgid "GLOBAL"
msgstr "グローバル組織" msgstr "グローバル組織"
@ -5066,11 +5076,6 @@ msgstr "システムロールバインディング"
msgid "Perms" msgid "Perms"
msgstr "パーマ" msgstr "パーマ"
#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr "表示名"
#: rbac/serializers/rolebinding.py:60 #: rbac/serializers/rolebinding.py:60
msgid "Has bound this role" msgid "Has bound this role"
msgstr "この役割をバインドしました" msgstr "この役割をバインドしました"
@ -5352,8 +5357,8 @@ msgstr ""
"スでユーザーを作成します" "スでユーザーを作成します"
#: settings/serializers/auth/base.py:35 #: settings/serializers/auth/base.py:35
msgid "Forgot Password" msgid "Forgot Password URL"
msgstr "パスワードを忘れた" msgstr "パスワードを忘れた場合のURL"
#: settings/serializers/auth/base.py:36 #: settings/serializers/auth/base.py:36
msgid "The URL for Forgotten Password on the user login page" msgid "The URL for Forgotten Password on the user login page"
@ -5450,15 +5455,15 @@ msgstr "DN のバインド"
#: settings/serializers/auth/ldap.py:47 #: settings/serializers/auth/ldap.py:47
msgid "Binding Distinguished Name" msgid "Binding Distinguished Name"
msgstr "専有名のバインド" msgstr "バインドディレクトリ管理者"
#: settings/serializers/auth/ldap.py:51 #: settings/serializers/auth/ldap.py:51
msgid "Binding password" msgid "Binding password"
msgstr "古いパスワード" msgstr "バインドパスワード"
#: settings/serializers/auth/ldap.py:54 #: settings/serializers/auth/ldap.py:54
msgid "Search OU" msgid "Search OU"
msgstr "システムアーキテクチャ" msgstr "ユーザーOU"
#: settings/serializers/auth/ldap.py:56 #: settings/serializers/auth/ldap.py:56
msgid "" msgid ""
@ -5626,7 +5631,7 @@ msgstr "レルム名"
#: settings/serializers/auth/oidc.py:70 #: settings/serializers/auth/oidc.py:70
msgid "OpenID Connect" msgid "OpenID Connect"
msgstr "接続" msgstr "OpenID 接続する"
#: settings/serializers/auth/oidc.py:73 #: settings/serializers/auth/oidc.py:73
msgid "Provider endpoint" msgid "Provider endpoint"
@ -5754,7 +5759,7 @@ msgstr "認証コード長"
#: settings/serializers/auth/sms.py:26 #: settings/serializers/auth/sms.py:26
msgid "Length of the sent verification code" msgid "Length of the sent verification code"
msgstr "確認コードを送信" msgstr "送信された認証コードの長さ"
#: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 #: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54
#: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 #: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71
@ -5980,8 +5985,8 @@ msgid "Chat AI"
msgstr "チャットAI" msgstr "チャットAI"
#: settings/serializers/feature.py:80 #: settings/serializers/feature.py:80
msgid "Base URL" msgid "GPT Base URL"
msgstr "ベースサイトのアドレス" msgstr "GPTアドレス"
#: settings/serializers/feature.py:81 #: settings/serializers/feature.py:81
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"
@ -6074,15 +6079,15 @@ msgstr ""
#: settings/serializers/msg.py:33 #: settings/serializers/msg.py:33
msgid "The user to be used for email server authentication" msgid "The user to be used for email server authentication"
msgstr "これは、SSO認証中にメールが返されない場合にデフォルトで使用されます。" msgstr ""
"メールサーバーにログインするためのユーザー名。通常、これはあなたのメールアド"
"レスです"
#: settings/serializers/msg.py:37 #: settings/serializers/msg.py:37
msgid "" msgid ""
"Password to use for the email server. It is used in conjunction with `User` " "Password to use for the email server. It is used in conjunction with `User` "
"when authenticating to the email server" "when authenticating to the email server"
msgstr "" msgstr "メールサーバーにログインするためのパスワード"
"メールサーバーに対するパスワード。メールサーバーに対する認証時に、これがユー"
"ザーとともに使用されます"
#: settings/serializers/msg.py:40 #: settings/serializers/msg.py:40
msgid "Sender" msgid "Sender"
@ -7090,6 +7095,11 @@ msgstr "コミュニティ版"
msgid "Enterprise" msgid "Enterprise"
msgstr "エンタープライズ版" msgstr "エンタープライズ版"
#: terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr "表示名"
#: terminal/models/applet/applet.py:36 #: terminal/models/applet/applet.py:36
#: terminal/models/virtualapp/virtualapp.py:22 #: terminal/models/virtualapp/virtualapp.py:22
msgid "Author" msgid "Author"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n" "Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-03 16:39+0800\n" "POT-Creation-Date: 2024-07-15 16:28+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n" "Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n" "Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -63,7 +63,8 @@ msgstr "完成"
#: accounts/automations/backup_account/handlers.py:219 #: accounts/automations/backup_account/handlers.py:219
#: accounts/const/automation.py:110 #: accounts/const/automation.py:110
#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 #: accounts/serializers/automations/change_secret.py:166
#: assets/serializers/automations/base.py:52 audits/const.py:64
#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48
#: terminal/const.py:78 terminal/models/session/sharing.py:121 #: terminal/const.py:78 terminal/models/session/sharing.py:121
@ -302,8 +303,9 @@ msgstr "邮箱"
msgid "SFTP" msgid "SFTP"
msgstr "SFTP" msgstr "SFTP"
#: accounts/const/automation.py:111 common/const/choices.py:16 #: accounts/const/automation.py:111 assets/serializers/automations/base.py:54
#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 #: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29
#: tickets/const.py:38
msgid "Pending" msgid "Pending"
msgstr "待定的" msgstr "待定的"
@ -481,7 +483,7 @@ msgstr "账号备份快照"
#: accounts/serializers/account/backup.py:48 #: accounts/serializers/account/backup.py:48
#: accounts/serializers/automations/base.py:56 #: accounts/serializers/automations/base.py:56
#: assets/models/automations/base.py:122 #: assets/models/automations/base.py:122
#: assets/serializers/automations/base.py:39 #: assets/serializers/automations/base.py:40
msgid "Trigger mode" msgid "Trigger mode"
msgstr "触发模式" msgstr "触发模式"
@ -574,7 +576,8 @@ msgid "Date finished"
msgstr "结束日期" msgstr "结束日期"
#: accounts/models/automations/change_secret.py:44 #: accounts/models/automations/change_secret.py:44
#: assets/models/automations/base.py:113 audits/models.py:208 #: assets/models/automations/base.py:113
#: assets/serializers/automations/base.py:39 audits/models.py:208
#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234
#: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140
#: terminal/models/component/status.py:30 #: terminal/models/component/status.py:30
@ -706,9 +709,9 @@ msgstr "密码规则"
#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28
#: ops/serializers/job.py:18 orgs/models.py:82 #: ops/serializers/job.py:18 orgs/models.py:82
#: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: perms/models/asset_permission.py:61 rbac/models/role.py:29
#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 #: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183
#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 #: settings/serializers/msg.py:86 settings/serializers/terminal.py:9
#: terminal/models/component/endpoint.py:12 #: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
#: terminal/models/component/endpoint.py:109 #: 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/component/terminal.py:85
@ -1080,13 +1083,13 @@ msgstr "SSH 密钥更改方式"
#: accounts/serializers/automations/change_secret.py:57 #: accounts/serializers/automations/change_secret.py:57
msgid "Please enter your account username" msgid "Please enter your account username"
msgstr "请输入 MFA 验证码" msgstr "请输入您的账户用户名"
#: accounts/serializers/automations/change_secret.py:62 #: accounts/serializers/automations/change_secret.py:62
msgid "" msgid ""
"Secret parameter settings, currently only effective for assets of the host " "Secret parameter settings, currently only effective for assets of the host "
"type." "type."
msgstr "秘文参数设置,目前只对宿主类型的资产有效。" msgstr "参数设置当前仅对 AIX LINUX UNIX 类型资产有效"
#: accounts/serializers/automations/change_secret.py:84 #: accounts/serializers/automations/change_secret.py:84
msgid "* Please enter the correct password length" msgid "* Please enter the correct password length"
@ -2715,7 +2718,7 @@ msgstr "原因描述"
#: audits/serializers.py:70 audits/serializers.py:184 #: audits/serializers.py:70 audits/serializers.py:184
msgid "Auth backend display" msgid "Auth backend display"
msgstr "没有匹配到认证后端" msgstr "认证方式"
#: audits/serializers.py:134 #: audits/serializers.py:134
#, python-format #, python-format
@ -3379,7 +3382,12 @@ msgstr "工单信息"
msgid "Actions" msgid "Actions"
msgstr "动作" msgstr "动作"
#: authentication/serializers/connection_token.py:42 #: authentication/serializers/connection_token.py:40
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "组织名称"
#: authentication/serializers/connection_token.py:43
#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65
#: users/serializers/user.py:127 users/serializers/user.py:273 #: users/serializers/user.py:127 users/serializers/user.py:273
msgid "Is expired" msgid "Is expired"
@ -4272,27 +4280,27 @@ msgstr "正在创建任务,无法中断,请稍后重试。"
msgid "Currently playbook is being used in a job" msgid "Currently playbook is being used in a job"
msgstr "当前 playbook 正在作业中使用" msgstr "当前 playbook 正在作业中使用"
#: ops/api/playbook.py:96 #: ops/api/playbook.py:97
msgid "Unsupported file content" msgid "Unsupported file content"
msgstr "不支持的文件内容" msgstr "不支持的文件内容"
#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 #: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193
msgid "Invalid file path" msgid "Invalid file path"
msgstr "无效的文件路径" msgstr "无效的文件路径"
#: ops/api/playbook.py:170 #: ops/api/playbook.py:171
msgid "This file can not be rename" msgid "This file can not be rename"
msgstr "该文件不能重命名" msgstr "该文件不能重命名"
#: ops/api/playbook.py:189 #: ops/api/playbook.py:190
msgid "File already exists" msgid "File already exists"
msgstr "文件已存在" msgstr "文件已存在"
#: ops/api/playbook.py:207 #: ops/api/playbook.py:208
msgid "File key is required" msgid "File key is required"
msgstr "文件密钥该字段是必填项。" msgstr "文件密钥该字段是必填项。"
#: ops/api/playbook.py:210 #: ops/api/playbook.py:211
msgid "This file can not be delete" msgid "This file can not be delete"
msgstr "无法删除此文件" msgstr "无法删除此文件"
@ -4513,7 +4521,8 @@ msgstr "运行用户"
msgid "Run as policy" msgid "Run as policy"
msgstr "用户策略" msgstr "用户策略"
#: ops/models/job.py:222 terminal/notifications.py:174 #: ops/models/job.py:222 ops/serializers/job.py:92
#: terminal/notifications.py:174
msgid "Job" msgid "Job"
msgstr "作业" msgstr "作业"
@ -4525,7 +4534,7 @@ msgstr "Material"
msgid "Material Type" msgid "Material Type"
msgstr "Material 类型" msgstr "Material 类型"
#: ops/models/job.py:545 #: ops/models/job.py:548
msgid "Job Execution" msgid "Job Execution"
msgstr "作业执行" msgstr "作业执行"
@ -4589,7 +4598,11 @@ msgstr "任务类型"
msgid "Is finished" msgid "Is finished"
msgstr "是否完成" msgstr "是否完成"
#: ops/serializers/job.py:90 #: ops/serializers/job.py:89
msgid "Task id"
msgstr "任务 ID"
#: ops/serializers/job.py:98
msgid "You do not have permission for the current job." msgid "You do not have permission for the current job."
msgstr "你没有当前作业的权限。" msgstr "你没有当前作业的权限。"
@ -4692,10 +4705,6 @@ msgstr "请选择一个组织后再保存"
msgid "Organization" msgid "Organization"
msgstr "组织" msgstr "组织"
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "组织名称"
#: orgs/models.py:14 #: orgs/models.py:14
msgid "GLOBAL" msgid "GLOBAL"
msgstr "全局组织" msgstr "全局组织"
@ -5003,11 +5012,6 @@ msgstr "系统角色绑定"
msgid "Perms" msgid "Perms"
msgstr "权限" msgstr "权限"
#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr "显示名称"
#: rbac/serializers/rolebinding.py:60 #: rbac/serializers/rolebinding.py:60
msgid "Has bound this role" msgid "Has bound this role"
msgstr "已经绑定" msgstr "已经绑定"
@ -5286,8 +5290,8 @@ msgstr ""
"以此邮箱后缀创建用户" "以此邮箱后缀创建用户"
#: settings/serializers/auth/base.py:35 #: settings/serializers/auth/base.py:35
msgid "Forgot Password" msgid "Forgot Password URL"
msgstr "忘记密码" msgstr "忘记密码的 URL"
#: settings/serializers/auth/base.py:36 #: settings/serializers/auth/base.py:36
msgid "The URL for Forgotten Password on the user login page" msgid "The URL for Forgotten Password on the user login page"
@ -5382,15 +5386,15 @@ msgstr "绑定 DN"
#: settings/serializers/auth/ldap.py:47 #: settings/serializers/auth/ldap.py:47
msgid "Binding Distinguished Name" msgid "Binding Distinguished Name"
msgstr "绑定专有名称" msgstr "绑定目录管理员"
#: settings/serializers/auth/ldap.py:51 #: settings/serializers/auth/ldap.py:51
msgid "Binding password" msgid "Binding password"
msgstr "原来密码" msgstr "绑定密码"
#: settings/serializers/auth/ldap.py:54 #: settings/serializers/auth/ldap.py:54
msgid "Search OU" msgid "Search OU"
msgstr "系统架构" msgstr "用户 OU"
#: settings/serializers/auth/ldap.py:56 #: settings/serializers/auth/ldap.py:56
msgid "" msgid ""
@ -5555,7 +5559,7 @@ msgstr "域"
#: settings/serializers/auth/oidc.py:70 #: settings/serializers/auth/oidc.py:70
msgid "OpenID Connect" msgid "OpenID Connect"
msgstr "连接" msgstr "OpenID 连接"
#: settings/serializers/auth/oidc.py:73 #: settings/serializers/auth/oidc.py:73
msgid "Provider endpoint" msgid "Provider endpoint"
@ -5680,7 +5684,7 @@ msgstr "验证码长度"
#: settings/serializers/auth/sms.py:26 #: settings/serializers/auth/sms.py:26
msgid "Length of the sent verification code" msgid "Length of the sent verification code"
msgstr "发送验证码" msgstr "发送验证码的长度"
#: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 #: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54
#: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 #: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71
@ -5897,7 +5901,9 @@ msgid "Chat AI"
msgstr "聊天 AI" msgstr "聊天 AI"
#: settings/serializers/feature.py:80 #: settings/serializers/feature.py:80
msgid "Base URL" #, fuzzy
#| msgid "Base URL"
msgid "GPT Base URL"
msgstr "JumpServer 地址" msgstr "JumpServer 地址"
#: settings/serializers/feature.py:81 #: settings/serializers/feature.py:81
@ -5987,7 +5993,7 @@ msgstr ""
#: settings/serializers/msg.py:33 #: settings/serializers/msg.py:33
msgid "The user to be used for email server authentication" msgid "The user to be used for email server authentication"
msgstr "SSO认证时如果没有返回邮件地址将使用该后缀" msgstr "登录到邮件服务器的用户名。这通常是你的邮件地址"
#: settings/serializers/msg.py:37 #: settings/serializers/msg.py:37
msgid "" msgid ""
@ -6960,6 +6966,11 @@ msgstr "社区版"
msgid "Enterprise" msgid "Enterprise"
msgstr "企业版" msgstr "企业版"
#: terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr "显示名称"
#: terminal/models/applet/applet.py:36 #: terminal/models/applet/applet.py:36
#: terminal/models/virtualapp/virtualapp.py:22 #: terminal/models/virtualapp/virtualapp.py:22
msgid "Author" msgid "Author"
@ -8553,7 +8564,7 @@ msgstr "组织管理员"
#: users/serializers/user.py:140 #: users/serializers/user.py:140
msgid "Can public key authentication" msgid "Can public key authentication"
msgstr "可以公钥认证" msgstr "可以使用公钥认证"
#: users/serializers/user.py:242 #: users/serializers/user.py:242
msgid "Full name" msgid "Full name"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n" "Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-03 16:39+0800\n" "POT-Creation-Date: 2024-07-15 16:28+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n" "Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n" "Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -65,7 +65,8 @@ msgstr "完成"
#: accounts/automations/backup_account/handlers.py:219 #: accounts/automations/backup_account/handlers.py:219
#: accounts/const/automation.py:110 #: accounts/const/automation.py:110
#: accounts/serializers/automations/change_secret.py:166 audits/const.py:64 #: accounts/serializers/automations/change_secret.py:166
#: assets/serializers/automations/base.py:52 audits/const.py:64
#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48
#: terminal/const.py:78 terminal/models/session/sharing.py:121 #: terminal/const.py:78 terminal/models/session/sharing.py:121
@ -304,8 +305,9 @@ msgstr "信箱"
msgid "SFTP" msgid "SFTP"
msgstr "SFTP" msgstr "SFTP"
#: accounts/const/automation.py:111 common/const/choices.py:16 #: accounts/const/automation.py:111 assets/serializers/automations/base.py:54
#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 #: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29
#: tickets/const.py:38
msgid "Pending" msgid "Pending"
msgstr "待定的" msgstr "待定的"
@ -483,7 +485,7 @@ msgstr "帳號備份快照"
#: accounts/serializers/account/backup.py:48 #: accounts/serializers/account/backup.py:48
#: accounts/serializers/automations/base.py:56 #: accounts/serializers/automations/base.py:56
#: assets/models/automations/base.py:122 #: assets/models/automations/base.py:122
#: assets/serializers/automations/base.py:39 #: assets/serializers/automations/base.py:40
msgid "Trigger mode" msgid "Trigger mode"
msgstr "觸發模式" msgstr "觸發模式"
@ -576,7 +578,8 @@ msgid "Date finished"
msgstr "結束日期" msgstr "結束日期"
#: accounts/models/automations/change_secret.py:44 #: accounts/models/automations/change_secret.py:44
#: assets/models/automations/base.py:113 audits/models.py:208 #: assets/models/automations/base.py:113
#: assets/serializers/automations/base.py:39 audits/models.py:208
#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234 #: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234
#: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140
#: terminal/models/component/status.py:30 #: terminal/models/component/status.py:30
@ -708,9 +711,9 @@ msgstr "密碼規則"
#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28
#: ops/serializers/job.py:18 orgs/models.py:82 #: ops/serializers/job.py:18 orgs/models.py:82
#: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: perms/models/asset_permission.py:61 rbac/models/role.py:29
#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:86 #: rbac/serializers/role.py:28 settings/models.py:34 settings/models.py:183
#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 #: settings/serializers/msg.py:86 settings/serializers/terminal.py:9
#: terminal/models/component/endpoint.py:12 #: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12
#: terminal/models/component/endpoint.py:109 #: 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/component/terminal.py:85
@ -768,10 +771,8 @@ msgid "Secret from login"
msgstr "與用戶登錄時相同" msgstr "與用戶登錄時相同"
#: accounts/models/virtual.py:18 #: accounts/models/virtual.py:18
#, fuzzy
#| msgid "Email account"
msgid "Virtual account" msgid "Virtual account"
msgstr "信箱帳號" msgstr "虛擬帳號"
#: accounts/models/virtual.py:28 #: accounts/models/virtual.py:28
msgid "Same with user" msgid "Same with user"
@ -1084,13 +1085,13 @@ msgstr "SSH 金鑰更改方式"
#: accounts/serializers/automations/change_secret.py:57 #: accounts/serializers/automations/change_secret.py:57
msgid "Please enter your account username" msgid "Please enter your account username"
msgstr "請輸入 MFA 驗證碼" msgstr "請輸入您的帳戶使用者名稱"
#: accounts/serializers/automations/change_secret.py:62 #: accounts/serializers/automations/change_secret.py:62
msgid "" msgid ""
"Secret parameter settings, currently only effective for assets of the host " "Secret parameter settings, currently only effective for assets of the host "
"type." "type."
msgstr "密文參數設定, 目前只對宿主型的資產有效。" msgstr "參數設置,目前只對 AIX LINUX UNIX 類型的資產有效。"
#: accounts/serializers/automations/change_secret.py:84 #: accounts/serializers/automations/change_secret.py:84
msgid "* Please enter the correct password length" msgid "* Please enter the correct password length"
@ -2719,7 +2720,7 @@ msgstr "原因描述"
#: audits/serializers.py:70 audits/serializers.py:184 #: audits/serializers.py:70 audits/serializers.py:184
msgid "Auth backend display" msgid "Auth backend display"
msgstr "没有匹配到认证后端" msgstr "認證方式"
#: audits/serializers.py:134 #: audits/serializers.py:134
#, python-format #, python-format
@ -3383,7 +3384,12 @@ msgstr "工單資訊"
msgid "Actions" msgid "Actions"
msgstr "動作" msgstr "動作"
#: authentication/serializers/connection_token.py:42 #: authentication/serializers/connection_token.py:40
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "組織名稱"
#: authentication/serializers/connection_token.py:43
#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65
#: users/serializers/user.py:127 users/serializers/user.py:273 #: users/serializers/user.py:127 users/serializers/user.py:273
msgid "Is expired" msgid "Is expired"
@ -4275,27 +4281,27 @@ msgstr "正在創建任務,無法中斷,請稍後重試。"
msgid "Currently playbook is being used in a job" msgid "Currently playbook is being used in a job"
msgstr "當前 playbook 正在作業中使用" msgstr "當前 playbook 正在作業中使用"
#: ops/api/playbook.py:96 #: ops/api/playbook.py:97
msgid "Unsupported file content" msgid "Unsupported file content"
msgstr "不支持的文件內容" msgstr "不支持的文件內容"
#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 #: ops/api/playbook.py:99 ops/api/playbook.py:145 ops/api/playbook.py:193
msgid "Invalid file path" msgid "Invalid file path"
msgstr "無效的文件路徑" msgstr "無效的文件路徑"
#: ops/api/playbook.py:170 #: ops/api/playbook.py:171
msgid "This file can not be rename" msgid "This file can not be rename"
msgstr "該文件不能重命名" msgstr "該文件不能重命名"
#: ops/api/playbook.py:189 #: ops/api/playbook.py:190
msgid "File already exists" msgid "File already exists"
msgstr "文件已存在" msgstr "文件已存在"
#: ops/api/playbook.py:207 #: ops/api/playbook.py:208
msgid "File key is required" msgid "File key is required"
msgstr "文件金鑰該欄位是必填項。" msgstr "文件金鑰該欄位是必填項。"
#: ops/api/playbook.py:210 #: ops/api/playbook.py:211
msgid "This file can not be delete" msgid "This file can not be delete"
msgstr "無法刪除此文件" msgstr "無法刪除此文件"
@ -4518,7 +4524,8 @@ msgstr "執行使用者"
msgid "Run as policy" msgid "Run as policy"
msgstr "使用者策略" msgstr "使用者策略"
#: ops/models/job.py:222 terminal/notifications.py:174 #: ops/models/job.py:222 ops/serializers/job.py:92
#: terminal/notifications.py:174
msgid "Job" msgid "Job"
msgstr "作業" msgstr "作業"
@ -4530,7 +4537,7 @@ msgstr "Material"
msgid "Material Type" msgid "Material Type"
msgstr "Material 類型" msgstr "Material 類型"
#: ops/models/job.py:545 #: ops/models/job.py:548
msgid "Job Execution" msgid "Job Execution"
msgstr "作業執行" msgstr "作業執行"
@ -4594,7 +4601,11 @@ msgstr "任務類型"
msgid "Is finished" msgid "Is finished"
msgstr "是否完成" msgstr "是否完成"
#: ops/serializers/job.py:90 #: ops/serializers/job.py:89
msgid "Task id"
msgstr "任務 ID"
#: ops/serializers/job.py:98
msgid "You do not have permission for the current job." msgid "You do not have permission for the current job."
msgstr "你沒有當前作業的權限。" msgstr "你沒有當前作業的權限。"
@ -4697,10 +4708,6 @@ msgstr "請選擇一個組織後再保存"
msgid "Organization" msgid "Organization"
msgstr "組織" msgstr "組織"
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "組織名稱"
#: orgs/models.py:14 #: orgs/models.py:14
msgid "GLOBAL" msgid "GLOBAL"
msgstr "全局組織" msgstr "全局組織"
@ -5010,11 +5017,6 @@ msgstr "系統角色綁定"
msgid "Perms" msgid "Perms"
msgstr "權限" msgstr "權限"
#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr "顯示名稱"
#: rbac/serializers/rolebinding.py:60 #: rbac/serializers/rolebinding.py:60
msgid "Has bound this role" msgid "Has bound this role"
msgstr "已經綁定" msgstr "已經綁定"
@ -5293,8 +5295,8 @@ msgstr ""
"統將自動以此電子信箱後綴建立使用者" "統將自動以此電子信箱後綴建立使用者"
#: settings/serializers/auth/base.py:35 #: settings/serializers/auth/base.py:35
msgid "Forgot Password" msgid "Forgot Password URL"
msgstr "忘記密碼" msgstr "忘記密碼連結"
#: settings/serializers/auth/base.py:36 #: settings/serializers/auth/base.py:36
msgid "The URL for Forgotten Password on the user login page" msgid "The URL for Forgotten Password on the user login page"
@ -5389,15 +5391,15 @@ msgstr "綁定 DN"
#: settings/serializers/auth/ldap.py:47 #: settings/serializers/auth/ldap.py:47
msgid "Binding Distinguished Name" msgid "Binding Distinguished Name"
msgstr "綁定專有名稱" msgstr "綁定目錄管理員"
#: settings/serializers/auth/ldap.py:51 #: settings/serializers/auth/ldap.py:51
msgid "Binding password" msgid "Binding password"
msgstr "原來的密碼" msgstr "綁定密碼"
#: settings/serializers/auth/ldap.py:54 #: settings/serializers/auth/ldap.py:54
msgid "Search OU" msgid "Search OU"
msgstr "系統架構" msgstr "使用者 OU"
#: settings/serializers/auth/ldap.py:56 #: settings/serializers/auth/ldap.py:56
msgid "" msgid ""
@ -5562,7 +5564,7 @@ msgstr "域"
#: settings/serializers/auth/oidc.py:70 #: settings/serializers/auth/oidc.py:70
msgid "OpenID Connect" msgid "OpenID Connect"
msgstr "Connect" msgstr "OpenID 連接"
#: settings/serializers/auth/oidc.py:73 #: settings/serializers/auth/oidc.py:73
msgid "Provider endpoint" msgid "Provider endpoint"
@ -5687,7 +5689,7 @@ msgstr "驗證碼長度"
#: settings/serializers/auth/sms.py:26 #: settings/serializers/auth/sms.py:26
msgid "Length of the sent verification code" msgid "Length of the sent verification code"
msgstr "發送驗證碼" msgstr "發送驗證碼長度"
#: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 #: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54
#: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 #: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71
@ -5904,8 +5906,8 @@ msgid "Chat AI"
msgstr "聊天 AI" msgstr "聊天 AI"
#: settings/serializers/feature.py:80 #: settings/serializers/feature.py:80
msgid "Base URL" msgid "GPT Base URL"
msgstr "JumpServer 地址" msgstr "GPT 地址"
#: settings/serializers/feature.py:81 #: settings/serializers/feature.py:81
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"
@ -5994,15 +5996,13 @@ msgstr ""
#: settings/serializers/msg.py:33 #: settings/serializers/msg.py:33
msgid "The user to be used for email server authentication" msgid "The user to be used for email server authentication"
msgstr "SSO認證時如果沒有返回郵件地址將使用該後綴" msgstr "登入郵件伺服器的使用者名稱。這通常是你的郵件地址"
#: settings/serializers/msg.py:37 #: settings/serializers/msg.py:37
msgid "" msgid ""
"Password to use for the email server. It is used in conjunction with `User` " "Password to use for the email server. It is used in conjunction with `User` "
"when authenticating to the email server" "when authenticating to the email server"
msgstr "" msgstr "登入郵件伺服器的密碼"
"用於電子郵件伺服器的密碼。在向電子郵件伺服器進行身份驗證時,它與使用者一起使"
"用"
#: settings/serializers/msg.py:40 #: settings/serializers/msg.py:40
msgid "Sender" msgid "Sender"
@ -6968,6 +6968,11 @@ msgstr "社區版"
msgid "Enterprise" msgid "Enterprise"
msgstr "企業版" msgstr "企業版"
#: terminal/models/applet/applet.py:34
#: terminal/models/virtualapp/virtualapp.py:20
msgid "Display name"
msgstr "顯示名稱"
#: terminal/models/applet/applet.py:36 #: terminal/models/applet/applet.py:36
#: terminal/models/virtualapp/virtualapp.py:22 #: terminal/models/virtualapp/virtualapp.py:22
msgid "Author" msgid "Author"

View File

@ -924,7 +924,7 @@
"RecentSession": "Recent sessions", "RecentSession": "Recent sessions",
"RecentlyUsed": "Recently", "RecentlyUsed": "Recently",
"Recipient": "Recipient", "Recipient": "Recipient",
"RecipientHelpText": "If both recipient a and b are set, the account's key will be split into two parts", "RecipientHelpText": "If both recipients A and B are set, the account's ciphertext will be split into two parts; if only one recipient is set, the key will not be split.",
"RecipientServer": "Receiving server", "RecipientServer": "Receiving server",
"Reconnect": "Reconnect", "Reconnect": "Reconnect",
"Refresh": "Refresh", "Refresh": "Refresh",
@ -1101,7 +1101,6 @@
"Setting": "Setting", "Setting": "Setting",
"SettingInEndpointHelpText": "Configure service address and port in system settings / component settings / server endpoints", "SettingInEndpointHelpText": "Configure service address and port in system settings / component settings / server endpoints",
"Settings": "System settings", "Settings": "System settings",
"Settings...": "Settings...",
"Show": "Display", "Show": "Display",
"ShowAssetAllChildrenNode": "Show all sub-nodes assets", "ShowAssetAllChildrenNode": "Show all sub-nodes assets",
"ShowAssetOnlyCurrentNode": "Only show current node assets", "ShowAssetOnlyCurrentNode": "Only show current node assets",
@ -1384,5 +1383,8 @@
"ZoneList": "Zones", "ZoneList": "Zones",
"ZoneUpdate": "Update the zone", "ZoneUpdate": "Update the zone",
"forceEnableMFAHelpText": "If force enable, user can not disable by themselves", "forceEnableMFAHelpText": "If force enable, user can not disable by themselves",
"removeWarningMsg": "Are you sure you want to remove" "removeWarningMsg": "Are you sure you want to remove",
"RetrySelected": "Retry selected",
"ApproveSelected": "Approve selected",
"Running": "Running"
} }

View File

@ -699,7 +699,7 @@
"LoginAssetToday": "本日のアクティブな資産数", "LoginAssetToday": "本日のアクティブな資産数",
"LoginAssets": "アクティブな資産", "LoginAssets": "アクティブな資産",
"LoginConfirm": "ログインレビュー", "LoginConfirm": "ログインレビュー",
"LoginConfirmUser": "確認方法", "LoginConfirmUser": "ログインレビュー担当者",
"LoginCount": "ログイン回数", "LoginCount": "ログイン回数",
"LoginDate": "ログイン日", "LoginDate": "ログイン日",
"LoginFailed": "ログイン失敗", "LoginFailed": "ログイン失敗",
@ -957,7 +957,7 @@
"RecentSession": "最近の会話", "RecentSession": "最近の会話",
"RecentlyUsed": "最近使用", "RecentlyUsed": "最近使用",
"Recipient": "受取人", "Recipient": "受取人",
"RecipientHelpText": "A B受信者が設定されている場合、アカウントの鍵は前後二つに分割されます", "RecipientHelpText": "受信者 A と B が同時に設定されている場合、アカウントの暗号文は 2 つの部分に分割されます。受信者が 1 つだけ設定されている場合、キーは分割されません。",
"RecipientServer": "受信サーバー", "RecipientServer": "受信サーバー",
"Reconnect": "再接続", "Reconnect": "再接続",
"Refresh": "更新", "Refresh": "更新",
@ -1135,7 +1135,6 @@
"Setting": "設定", "Setting": "設定",
"SettingInEndpointHelpText": "システム設定/コンポーネント設定/サーバーエンドポイントでサービスのアドレスとポートを設定してください", "SettingInEndpointHelpText": "システム設定/コンポーネント設定/サーバーエンドポイントでサービスのアドレスとポートを設定してください",
"Settings": "システム設定", "Settings": "システム設定",
"Settings...": "設定...",
"Show": "表示", "Show": "表示",
"ShowAssetAllChildrenNode": "すべての子ノードの資産を表示", "ShowAssetAllChildrenNode": "すべての子ノードの資産を表示",
"ShowAssetOnlyCurrentNode": "現在のノードアセットのみを表示", "ShowAssetOnlyCurrentNode": "現在のノードアセットのみを表示",

View File

@ -246,7 +246,7 @@
"CeleryTaskLog": "Celery任务日志", "CeleryTaskLog": "Celery任务日志",
"Certificate": "证书", "Certificate": "证书",
"CertificateKey": "客户端密钥", "CertificateKey": "客户端密钥",
"ChangeCredentials": "改密", "ChangeCredentials": "账号改密",
"ChangeCredentialsHelpText": "定时修改账号密钥密码。账号随机生成密码,并同步到目标资产,如果同步成功,更新该账号的密码", "ChangeCredentialsHelpText": "定时修改账号密钥密码。账号随机生成密码,并同步到目标资产,如果同步成功,更新该账号的密码",
"ChangeField": "变更字段", "ChangeField": "变更字段",
"ChangeOrganization": "更改组织", "ChangeOrganization": "更改组织",
@ -676,7 +676,7 @@
"LoginAssetToday": "今日活跃资产数", "LoginAssetToday": "今日活跃资产数",
"LoginAssets": "活跃资产", "LoginAssets": "活跃资产",
"LoginConfirm": "登录复核", "LoginConfirm": "登录复核",
"LoginConfirmUser": "确认方式", "LoginConfirmUser": "登录复核 受理人",
"LoginCount": "登录次数", "LoginCount": "登录次数",
"LoginDate": "登录日期", "LoginDate": "登录日期",
"LoginFailed": "登录失败", "LoginFailed": "登录失败",
@ -926,7 +926,7 @@
"RecentSession": "最近会话", "RecentSession": "最近会话",
"RecentlyUsed": "最近使用", "RecentlyUsed": "最近使用",
"Recipient": "接收人", "Recipient": "接收人",
"RecipientHelpText": "若收件人 A B 都设置,账号的密钥将被拆分成前后两部分", "RecipientHelpText": "如果同时设置了收件人A和B账号的密文将被拆分为两部分如果只设置了一个收件人密钥则不会被拆分。",
"RecipientServer": "接收服务器", "RecipientServer": "接收服务器",
"Reconnect": "重新连接", "Reconnect": "重新连接",
"Refresh": "刷新", "Refresh": "刷新",
@ -1103,7 +1103,6 @@
"Setting": "设置", "Setting": "设置",
"SettingInEndpointHelpText": "在 系统设置 / 组件设置 / 服务端点 中配置服务地址和端口", "SettingInEndpointHelpText": "在 系统设置 / 组件设置 / 服务端点 中配置服务地址和端口",
"Settings": "系统设置", "Settings": "系统设置",
"Settings...": "设置...",
"Show": "显示", "Show": "显示",
"ShowAssetAllChildrenNode": "显示所有子节点资产", "ShowAssetAllChildrenNode": "显示所有子节点资产",
"ShowAssetOnlyCurrentNode": "仅显示当前节点资产", "ShowAssetOnlyCurrentNode": "仅显示当前节点资产",
@ -1385,5 +1384,9 @@
"ZoneList": "网域列表", "ZoneList": "网域列表",
"ZoneUpdate": "更新网域", "ZoneUpdate": "更新网域",
"forceEnableMFAHelpText": "如果强制启用,用户无法自行禁用", "forceEnableMFAHelpText": "如果强制启用,用户无法自行禁用",
"removeWarningMsg": "你确定要移除" "removeWarningMsg": "你确定要移除",
"VaultHCPMountPoint": "Vault 服务器的挂载点,默认为 jumpserver",
"RetrySelected": "重试所选",
"ApproveSelected": "审批所选",
"Running": "运行中"
} }

View File

@ -903,7 +903,7 @@
"LoginCity": "登入城市", "LoginCity": "登入城市",
"LoginConfig": "登入配置", "LoginConfig": "登入配置",
"LoginConfirm": "登入覆核", "LoginConfirm": "登入覆核",
"LoginConfirmUser": "確認方式", "LoginConfirmUser": "登錄複核 受理人",
"LoginCount": "登入次數", "LoginCount": "登入次數",
"LoginDate": "登入日期", "LoginDate": "登入日期",
"LoginFailed": "登入失敗", "LoginFailed": "登入失敗",
@ -1239,7 +1239,7 @@
"RecentSession": "最近會話", "RecentSession": "最近會話",
"RecentlyUsed": "最近使用", "RecentlyUsed": "最近使用",
"Recipient": "接收人", "Recipient": "接收人",
"RecipientHelpText": "若收件人 A B 都設置,帳號的金鑰將被拆分成前後兩部分。如用戶未設置加密密碼 - 請前往個人資訊 -> 偏好設置中設置加密密碼", "RecipientHelpText": "如果同時設定了收件人A和B帳號的密文將被拆分為兩部分如果只設定了一個收件人密鑰則不會被拆分。",
"RecipientServer": "接收伺服器", "RecipientServer": "接收伺服器",
"Reconnect": "重新連接", "Reconnect": "重新連接",
"Refresh": "刷新", "Refresh": "刷新",
@ -1459,7 +1459,6 @@
"Setting": "設置", "Setting": "設置",
"SettingInEndpointHelpText": "在 系統設置 / 組件設置 / 服務端點 中配置服務地址和埠", "SettingInEndpointHelpText": "在 系統設置 / 組件設置 / 服務端點 中配置服務地址和埠",
"Settings": "系統設置", "Settings": "系統設置",
"Settings...": " Settings...",
"Show": "顯示", "Show": "顯示",
"ShowAssetAllChildrenNode": "顯示所有子節點資產", "ShowAssetAllChildrenNode": "顯示所有子節點資產",
"ShowAssetOnlyCurrentNode": "僅顯示當前節點資產", "ShowAssetOnlyCurrentNode": "僅顯示當前節點資產",

View File

@ -270,7 +270,10 @@ class JobExecutionTaskDetail(APIView):
execution = get_object_or_404(JobExecution, pk=task_id, creator=request.user) execution = get_object_or_404(JobExecution, pk=task_id, creator=request.user)
return Response(data={ return Response(data={
'status': execution.status, 'status': {
'value': execution.status,
'label': execution.get_status_display()
},
'is_finished': execution.is_finished, 'is_finished': execution.is_finished,
'is_success': execution.is_success, 'is_success': execution.is_success,
'time_cost': execution.time_cost, 'time_cost': execution.time_cost,

View File

@ -248,6 +248,9 @@ class JobExecution(JMSOrgBaseModel):
# clean up zombie execution # clean up zombie execution
def get_status_display(self):
return dict(JobStatus.choices).get(self.status, self.status)
@classmethod @classmethod
def clean_unexpected_execution(cls): def clean_unexpected_execution(cls):
for execution in cls.objects.filter(status__in=[JobStatus.running]).all(): for execution in cls.objects.filter(status__in=[JobStatus.running]).all():

View File

@ -84,6 +84,14 @@ class JobExecutionSerializer(BulkOrgResourceModelSerializer):
fields = read_only_fields + [ fields = read_only_fields + [
"job", "parameters", "creator" "job", "parameters", "creator"
] ]
extra_kwargs = {
"task_id": {
"label": _("Task id"),
},
"job": {
"label": _("Job"),
}
}
def validate_job(self, job_obj): def validate_job(self, job_obj):
if job_obj.creator != self.context['request'].user: if job_obj.creator != self.context['request'].user:

View File

@ -25,7 +25,7 @@ class RoleSerializer(serializers.ModelSerializer):
extra_kwargs = { extra_kwargs = {
'permissions': {'write_only': True}, 'permissions': {'write_only': True},
'users_amount': {'label': _('Users amount')}, 'users_amount': {'label': _('Users amount')},
'display_name': {'label': _('Display name')} 'display_name': {'label': _('Name')}
} }

View File

@ -32,7 +32,7 @@ class AuthSettingSerializer(serializers.Serializer):
) )
FORGOT_PASSWORD_URL = serializers.CharField( FORGOT_PASSWORD_URL = serializers.CharField(
required=False, allow_blank=True, max_length=1024, required=False, allow_blank=True, max_length=1024,
label=_("Forgot Password"), label=_("Forgot Password URL"),
help_text=_("The URL for Forgotten Password on the user login page") help_text=_("The URL for Forgotten Password on the user login page")
) )
LOGIN_REDIRECT_MSG_ENABLED = serializers.BooleanField( LOGIN_REDIRECT_MSG_ENABLED = serializers.BooleanField(

View File

@ -77,7 +77,7 @@ class ChatAISettingSerializer(serializers.Serializer):
required=False, label=_('Chat AI') required=False, label=_('Chat AI')
) )
GPT_BASE_URL = serializers.CharField( GPT_BASE_URL = serializers.CharField(
allow_blank=True, required=False, label=_('Base URL'), allow_blank=True, required=False, label=_('GPT Base URL'),
help_text=_('The base URL of the GPT service. For example: https://api.openai.com/v1') help_text=_('The base URL of the GPT service. For example: https://api.openai.com/v1')
) )
GPT_API_KEY = EncryptedField( GPT_API_KEY = EncryptedField(

View File

@ -41,7 +41,7 @@ class TerminalSmallSerializer(serializers.ModelSerializer):
class TerminalSerializer(BulkModelSerializer): class TerminalSerializer(BulkModelSerializer):
session_online = serializers.ReadOnlyField(source='get_online_session_count', label=_('Online sessions')) session_online = serializers.ReadOnlyField(source='get_online_session_count', label=_('Online sessions'))
is_alive = serializers.BooleanField(read_only=True, label=_('Is alive')) is_alive = serializers.BooleanField(read_only=True, label=_('Is alive'))
is_active = serializers.BooleanField(read_only=True, label='Is active') is_active = serializers.BooleanField(read_only=True, label=_('Active'))
load = LabeledChoiceField( load = LabeledChoiceField(
read_only=True, choices=const.ComponentLoad.choices, read_only=True, choices=const.ComponentLoad.choices,
label=_('Load status') label=_('Load status')