diff --git a/apps/accounts/models/account.py b/apps/accounts/models/account.py index f99230670..38d37b3ad 100644 --- a/apps/accounts/models/account.py +++ b/apps/accounts/models/account.py @@ -53,7 +53,8 @@ class Account(AbsConnectivity, LabeledMixin, BaseAccount): on_delete=models.SET_NULL, verbose_name=_("Su from") ) version = models.IntegerField(default=0, verbose_name=_('Version')) - history = AccountHistoricalRecords(included_fields=['id', '_secret', 'secret_type', 'version']) + history = AccountHistoricalRecords(included_fields=['id', '_secret', 'secret_type', 'version'], + verbose_name=_("historical Account")) source = models.CharField(max_length=30, default=Source.LOCAL, verbose_name=_('Source')) source_id = models.CharField(max_length=128, null=True, blank=True, verbose_name=_('Source ID')) diff --git a/apps/audits/backends/db.py b/apps/audits/backends/db.py index 3a47036bb..c9a718c27 100644 --- a/apps/audits/backends/db.py +++ b/apps/audits/backends/db.py @@ -57,6 +57,9 @@ class OperateLogStore(object): @classmethod def convert_diff_friendly(cls, op_log): diff_list = list() + # 标记翻译字符串 + labels = _("labels") + operate_log_id = _("operate_log_id") handler = cls._get_special_handler(op_log.resource_type) for k, v in op_log.diff.items(): before, after = v.split(cls.SEP, 1) diff --git a/apps/locale/ja/LC_MESSAGES/django.mo b/apps/locale/ja/LC_MESSAGES/django.mo index 74b2886c9..85916325c 100644 --- a/apps/locale/ja/LC_MESSAGES/django.mo +++ b/apps/locale/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b4d68932f593f0783a9b091c41d7d26ca3f61cb64ab29317a1392e6da3ebe84 -size 178369 +oid sha256:607f8df8c6cea454283e0bc371db3be0c81f7cfa981a5f00c20b5be139e16aac +size 178618 diff --git a/apps/locale/ja/LC_MESSAGES/django.po b/apps/locale/ja/LC_MESSAGES/django.po index 59200c4cb..8d0658c9d 100644 --- a/apps/locale/ja/LC_MESSAGES/django.po +++ b/apps/locale/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-07-10 18:14+0800\n" +"POT-Creation-Date: 2024-08-20 14:54+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -264,8 +264,8 @@ msgstr "ユーザー %s がパスワードを閲覧/導き出しました" #: accounts/models/account.py:49 #: accounts/models/automations/gather_account.py:16 -#: accounts/serializers/account/account.py:216 -#: accounts/serializers/account/account.py:261 +#: accounts/serializers/account/account.py:224 +#: accounts/serializers/account/account.py:269 #: accounts/serializers/account/gathered_account.py:10 #: accounts/serializers/automations/change_secret.py:108 #: accounts/serializers/automations/change_secret.py:140 @@ -274,7 +274,7 @@ msgstr "ユーザー %s がパスワードを閲覧/導き出しました" #: acls/serializers/base.py:123 assets/models/asset/common.py:95 #: assets/models/asset/common.py:350 assets/models/cmd_filter.py:36 #: audits/models.py:58 authentication/models/connection_token.py:36 -#: perms/models/asset_permission.py:69 perms/serializers/permission.py:36 +#: perms/models/asset_permission.py:69 perms/serializers/permission.py:35 #: terminal/backends/command/models.py:17 terminal/models/session/session.py:32 #: terminal/notifications.py:155 terminal/serializers/command.py:17 #: terminal/serializers/session.py:28 @@ -285,29 +285,33 @@ msgid "Asset" msgstr "資産" #: accounts/models/account.py:53 accounts/models/template.py:16 -#: accounts/serializers/account/account.py:223 -#: accounts/serializers/account/account.py:271 +#: accounts/serializers/account/account.py:231 +#: accounts/serializers/account/account.py:279 #: accounts/serializers/account/template.py:27 #: authentication/serializers/connect_token_secret.py:50 msgid "Su from" msgstr "から切り替え" #: accounts/models/account.py:55 assets/const/protocol.py:178 -#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:35 +#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "バージョン" -#: accounts/models/account.py:57 accounts/serializers/account/account.py:218 +#: accounts/models/account.py:57 +msgid "historical Account" +msgstr "アカウント履歴" + +#: accounts/models/account.py:58 accounts/serializers/account/account.py:226 #: users/models/user.py:860 msgid "Source" msgstr "ソース" -#: accounts/models/account.py:58 +#: accounts/models/account.py:59 msgid "Source ID" msgstr "ソース ID" -#: accounts/models/account.py:61 +#: accounts/models/account.py:62 #: accounts/serializers/automations/change_secret.py:110 #: accounts/serializers/automations/change_secret.py:141 #: accounts/templates/accounts/change_secret_failed_info.html:12 @@ -315,7 +319,7 @@ msgstr "ソース ID" #: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:411 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:41 settings/serializers/msg.py:33 +#: perms/serializers/permission.py:40 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 @@ -323,27 +327,27 @@ msgstr "ソース ID" msgid "Account" msgstr "アカウント" -#: accounts/models/account.py:67 +#: accounts/models/account.py:68 msgid "Can view asset account secret" msgstr "資産アカウントの秘密を表示できます" -#: accounts/models/account.py:68 +#: accounts/models/account.py:69 msgid "Can view asset history account" msgstr "資産履歴アカウントを表示できます" -#: accounts/models/account.py:69 +#: accounts/models/account.py:70 msgid "Can view asset history account secret" msgstr "資産履歴アカウントパスワードを表示できます" -#: accounts/models/account.py:70 +#: accounts/models/account.py:71 msgid "Can verify account" msgstr "アカウントを確認できます" -#: accounts/models/account.py:71 +#: accounts/models/account.py:72 msgid "Can push account" msgstr "アカウントをプッシュできます" -#: accounts/models/account.py:72 +#: accounts/models/account.py:73 msgid "Can remove account" msgstr "アカウントを削除できます" @@ -503,11 +507,11 @@ msgstr "終了日" #: accounts/models/automations/change_secret.py:44 #: assets/models/automations/base.py:113 audits/models.py:208 #: 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:331 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 #: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:136 -#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:281 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:284 #: tickets/serializers/super_ticket.py:13 #: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:209 #: xpack/plugins/cloud/models.py:265 @@ -515,7 +519,7 @@ msgid "Status" msgstr "ステータス" #: accounts/models/automations/change_secret.py:47 -#: accounts/serializers/account/account.py:263 +#: accounts/serializers/account/account.py:271 #: accounts/templates/accounts/change_secret_failed_info.html:13 #: assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 @@ -591,7 +595,7 @@ msgid "Verify asset account" msgstr "アカウントの確認" #: accounts/models/base.py:37 accounts/models/base.py:67 -#: accounts/serializers/account/account.py:446 +#: accounts/serializers/account/account.py:461 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:47 #: authentication/serializers/connect_token_secret.py:42 @@ -626,7 +630,7 @@ msgstr "パスワードルール" #: assets/models/domain.py:19 assets/models/group.py:17 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/serializers/asset/common.py:149 -#: assets/serializers/platform.py:118 assets/serializers/platform.py:228 +#: assets/serializers/platform.py:118 assets/serializers/platform.py:221 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 #: authentication/serializers/connect_token_secret.py:169 labels/models.py:11 @@ -635,7 +639,7 @@ msgstr "パスワードルール" #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 -#: terminal/models/applet/applet.py:33 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/terminal.py:85 @@ -656,7 +660,7 @@ msgstr "特権アカウント" #: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39 #: assets/models/label.py:22 #: authentication/serializers/connect_token_secret.py:117 -#: terminal/models/applet/applet.py:40 +#: terminal/models/applet/applet.py:41 #: terminal/models/component/endpoint.py:120 #: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:175 msgid "Is active" @@ -773,54 +777,54 @@ msgstr "今すぐプッシュ" msgid "Exist policy" msgstr "アカウントの存在ポリシー" -#: accounts/serializers/account/account.py:196 applications/models.py:11 +#: accounts/serializers/account/account.py:204 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:95 #: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 -#: assets/serializers/platform.py:140 assets/serializers/platform.py:229 +#: assets/serializers/platform.py:133 assets/serializers/platform.py:222 #: perms/serializers/user_permission.py:26 settings/models.py:35 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "カテゴリ" -#: accounts/serializers/account/account.py:197 +#: accounts/serializers/account/account.py:205 #: accounts/serializers/automations/base.py:55 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:96 #: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120 -#: assets/serializers/platform.py:139 audits/serializers.py:53 +#: assets/serializers/platform.py:132 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:39 +#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 #: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 -#: terminal/serializers/session.py:23 terminal/serializers/storage.py:264 -#: terminal/serializers/storage.py:276 tickets/models/comment.py:26 +#: terminal/serializers/session.py:23 terminal/serializers/storage.py:271 +#: terminal/serializers/storage.py:283 tickets/models/comment.py:26 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 -#: tickets/models/ticket/general.py:273 tickets/serializers/flow.py:53 +#: tickets/models/ticket/general.py:276 tickets/serializers/flow.py:53 #: tickets/serializers/ticket/ticket.py:19 msgid "Type" msgstr "タイプ" -#: accounts/serializers/account/account.py:212 +#: accounts/serializers/account/account.py:220 msgid "Asset not found" msgstr "資産が存在しません" -#: accounts/serializers/account/account.py:252 +#: accounts/serializers/account/account.py:260 msgid "Has secret" msgstr "エスクローされたパスワード" -#: accounts/serializers/account/account.py:262 ops/models/celery.py:83 -#: tickets/models/comment.py:13 tickets/models/ticket/general.py:46 -#: tickets/models/ticket/general.py:277 tickets/serializers/super_ticket.py:14 +#: accounts/serializers/account/account.py:270 ops/models/celery.py:83 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49 +#: tickets/models/ticket/general.py:280 tickets/serializers/super_ticket.py:14 msgid "State" msgstr "状態" -#: accounts/serializers/account/account.py:264 +#: accounts/serializers/account/account.py:272 msgid "Changed" msgstr "編集済み" -#: accounts/serializers/account/account.py:274 +#: accounts/serializers/account/account.py:282 #: accounts/serializers/automations/base.py:22 acls/models/base.py:97 #: acls/templates/acls/asset_login_reminder.html:6 #: assets/models/automations/base.py:19 @@ -831,33 +835,33 @@ msgstr "編集済み" msgid "Assets" msgstr "資産" -#: accounts/serializers/account/account.py:329 +#: accounts/serializers/account/account.py:337 msgid "Account already exists" msgstr "アカウントはすでに存在しています" -#: accounts/serializers/account/account.py:379 +#: accounts/serializers/account/account.py:387 #, python-format msgid "Asset does not support this secret type: %s" msgstr "アセットはアカウント タイプをサポートしていません: %s" -#: accounts/serializers/account/account.py:411 +#: accounts/serializers/account/account.py:419 msgid "Account has exist" msgstr "アカウントはすでに存在しています" -#: accounts/serializers/account/account.py:441 +#: accounts/serializers/account/account.py:456 #: accounts/serializers/account/template.py:72 #: assets/serializers/asset/common.py:387 msgid "Spec info" msgstr "特別情報" -#: accounts/serializers/account/account.py:447 +#: accounts/serializers/account/account.py:462 #: authentication/serializers/connect_token_secret.py:159 #: authentication/templates/authentication/_access_key_modal.html:30 #: perms/models/perm_node.py:21 users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:457 acls/serializers/base.py:116 +#: accounts/serializers/account/account.py:472 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:5 #: acls/templates/acls/user_login_reminder.html:5 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 @@ -866,7 +870,7 @@ msgstr "ID" #: authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 -#: perms/serializers/permission.py:32 rbac/builtin.py:124 +#: perms/serializers/permission.py:31 rbac/builtin.py:124 #: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17 #: terminal/backends/command/models.py:16 terminal/models/session/session.py:30 #: terminal/models/session/sharing.py:34 terminal/notifications.py:156 @@ -878,7 +882,7 @@ msgstr "ID" msgid "User" msgstr "ユーザー" -#: accounts/serializers/account/account.py:458 +#: accounts/serializers/account/account.py:473 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:158 terminal/notifications.py:207 msgid "Date" @@ -960,13 +964,13 @@ msgstr "关联平台,可以配置推送参数,如果不关联,则使用默 #: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 #: assets/models/group.py:20 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:38 terminal/models/applet/applet.py:45 -#: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 +#: settings/models.py:38 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 -#: tickets/models/ticket/general.py:295 users/models/user.py:851 +#: tickets/models/ticket/general.py:298 users/models/user.py:851 #: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:108 msgid "Comment" msgstr "コメント" @@ -1014,17 +1018,17 @@ msgstr "* パスワードの長さの範囲6-30ビット" msgid "Automation task execution" msgstr "自動タスク実行履歴" -#: accounts/signal_handlers.py:47 +#: accounts/signal_handlers.py:48 #, python-format msgid "Push related accounts to assets: %s, by system" msgstr "関連するアカウントをアセットにプッシュ: %s, by system" -#: accounts/signal_handlers.py:56 +#: accounts/signal_handlers.py:57 #, python-format msgid "Add account: %s" msgstr "アカウントを追加: %s" -#: accounts/signal_handlers.py:58 +#: accounts/signal_handlers.py:59 #, python-format msgid "Delete account: %s" msgstr "アカウントを削除: %s" @@ -1398,11 +1402,11 @@ msgstr "同じレベルのノード名を同じにすることはできません msgid "App assets" msgstr "アプリ資産" -#: assets/automations/base/manager.py:191 +#: assets/automations/base/manager.py:187 msgid "{} disabled" msgstr "{} 無効" -#: assets/automations/base/manager.py:254 +#: assets/automations/base/manager.py:250 msgid " - Platform {} ansible disabled" msgstr " - プラットフォーム {} ansible 無効" @@ -1487,7 +1491,7 @@ msgstr "クラウド サービス" #: assets/const/category.py:14 assets/models/asset/gpt.py:11 #: assets/models/asset/web.py:16 audits/const.py:45 -#: terminal/models/applet/applet.py:27 users/const.py:64 +#: terminal/models/applet/applet.py:28 users/const.py:64 msgid "Web" msgstr "Web" @@ -1507,7 +1511,7 @@ msgstr "私有雲" msgid "Kubernetes" msgstr "Kubernetes" -#: assets/const/device.py:7 terminal/models/applet/applet.py:26 +#: assets/const/device.py:7 terminal/models/applet/applet.py:27 #: tickets/const.py:9 msgid "General" msgstr "一般" @@ -1735,7 +1739,7 @@ msgstr "ユーザーと同じユーザー名" #: assets/models/_user.py:52 authentication/models/connection_token.py:41 #: authentication/serializers/connect_token_secret.py:114 -#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42 +#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:43 #: terminal/models/virtualapp/virtualapp.py:24 #: terminal/serializers/session.py:21 terminal/serializers/session.py:48 #: terminal/serializers/storage.py:71 @@ -1797,7 +1801,7 @@ msgstr "ポート" msgid "Address" msgstr "アドレス" -#: assets/models/asset/common.py:161 assets/models/platform.py:134 +#: assets/models/asset/common.py:161 assets/models/platform.py:145 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:118 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:334 @@ -1812,7 +1816,7 @@ msgstr "ドメイン" #: assets/models/asset/common.py:165 assets/models/automations/base.py:18 #: assets/models/cmd_filter.py:32 assets/models/node.py:553 -#: perms/models/asset_permission.py:72 perms/serializers/permission.py:37 +#: perms/models/asset_permission.py:72 perms/serializers/permission.py:36 #: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:335 msgid "Node" msgstr "ノード" @@ -1862,7 +1866,7 @@ msgstr "クライアントキー" msgid "Allow invalid cert" msgstr "証明書チェックを無視" -#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:84 +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:86 msgid "Proxy" msgstr "プロキシー" @@ -1896,7 +1900,7 @@ msgid "Date verified" msgstr "確認済みの日付" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 -#: perms/serializers/permission.py:34 users/models/group.py:25 +#: perms/serializers/permission.py:33 users/models/group.py:25 #: users/models/user.py:821 msgid "User group" msgstr "ユーザーグループ" @@ -1974,7 +1978,7 @@ msgstr "ラベル" msgid "New node" msgstr "新しいノード" -#: assets/models/node.py:467 audits/backends/db.py:65 audits/backends/db.py:66 +#: assets/models/node.py:467 audits/backends/db.py:68 audits/backends/db.py:69 msgid "empty" msgstr "空" @@ -2007,7 +2011,7 @@ msgid "Public" msgstr "開ける" #: assets/models/platform.py:21 assets/serializers/platform.py:49 -#: settings/serializers/settings.py:95 +#: settings/serializers/settings.py:105 #: users/templates/users/reset_password.html:29 msgid "Setting" msgstr "設定" @@ -2096,7 +2100,7 @@ msgstr "アカウントの削除方法" msgid "Remove account params" msgstr "アカウント削除パラメータ" -#: assets/models/platform.py:97 tickets/models/ticket/general.py:298 +#: assets/models/platform.py:97 tickets/models/ticket/general.py:301 msgid "Meta" msgstr "メタ" @@ -2104,23 +2108,23 @@ msgstr "メタ" msgid "Internal" msgstr "ビルトイン" -#: assets/models/platform.py:102 assets/serializers/platform.py:138 +#: assets/models/platform.py:102 assets/serializers/platform.py:131 msgid "Charset" msgstr "シャーセット" -#: assets/models/platform.py:104 assets/serializers/platform.py:167 +#: assets/models/platform.py:104 assets/serializers/platform.py:160 msgid "Domain enabled" msgstr "ドメインを有効にする" -#: assets/models/platform.py:106 assets/serializers/platform.py:166 +#: assets/models/platform.py:106 assets/serializers/platform.py:159 msgid "Su enabled" msgstr "アカウントの切り替えを有効にする" -#: assets/models/platform.py:107 assets/serializers/platform.py:144 +#: assets/models/platform.py:107 assets/serializers/platform.py:137 msgid "Su method" msgstr "アカウントの切り替え方法" -#: assets/models/platform.py:108 assets/serializers/platform.py:147 +#: assets/models/platform.py:108 assets/serializers/platform.py:140 msgid "Custom fields" msgstr "カスタムフィールド" @@ -2137,10 +2141,10 @@ msgstr "" "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" "ラットフォーム" -#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:134 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 -#: perms/models/asset_permission.py:76 perms/serializers/permission.py:42 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:41 #: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:337 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" @@ -2201,7 +2205,7 @@ msgid "Model" msgstr "モデル" #: assets/serializers/asset/info/gathered.py:8 -#: tickets/models/ticket/general.py:297 +#: tickets/models/ticket/general.py:300 msgid "Serial number" msgstr "シリアル番号" @@ -2250,7 +2254,7 @@ msgstr "制約" msgid "Types" msgstr "タイプ" -#: assets/serializers/domain.py:62 perms/serializers/permission.py:188 +#: assets/serializers/domain.py:62 perms/serializers/permission.py:178 msgid "Assets amount" msgstr "資産数量" @@ -2311,19 +2315,19 @@ msgstr "ヘルプ" msgid "Choices" msgstr "せんたく" -#: assets/serializers/platform.py:142 +#: assets/serializers/platform.py:135 msgid "Automation" msgstr "オートメーション" -#: assets/serializers/platform.py:168 +#: assets/serializers/platform.py:161 msgid "Default Domain" msgstr "デフォルト ドメイン" -#: assets/serializers/platform.py:189 +#: assets/serializers/platform.py:182 msgid "type is required" msgstr "タイプ このフィールドは必須です." -#: assets/serializers/platform.py:204 +#: assets/serializers/platform.py:197 msgid "Protocols is required" msgstr "同意が必要です" @@ -2403,7 +2407,15 @@ msgstr "監査" msgid "The text content is too long. Use Elasticsearch to store operation logs" msgstr "文章の内容が長すぎる。Elasticsearchで操作履歴を保存する" -#: audits/backends/db.py:91 +#: audits/backends/db.py:61 +msgid "labels" +msgstr "ラベル" + +#: audits/backends/db.py:62 +msgid "operate_log_id" +msgstr "操作ログID" + +#: audits/backends/db.py:94 msgid "Tips" msgstr "謎々" @@ -2689,7 +2701,7 @@ msgstr "認証トークン" msgid "WeCom" msgstr "企業微信" -#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:97 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 users/models/user.py:762 #: users/models/user.py:872 @@ -2697,13 +2709,13 @@ msgid "FeiShu" msgstr "本を飛ばす" #: audits/signal_handlers/login_log.py:40 authentication/views/login.py:101 -#: authentication/views/slack.py:87 notifications/backends/__init__.py:16 +#: authentication/views/slack.py:79 notifications/backends/__init__.py:16 #: settings/serializers/auth/slack.py:10 users/models/user.py:764 #: users/models/user.py:874 msgid "Slack" msgstr "" -#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:161 +#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:153 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:10 users/models/user.py:761 #: users/models/user.py:871 @@ -2986,21 +2998,21 @@ msgstr "電話が設定されていない" msgid "SSO auth closed" msgstr "SSO authは閉鎖されました" -#: authentication/errors/mfa.py:18 authentication/views/wecom.py:59 +#: authentication/errors/mfa.py:18 authentication/views/wecom.py:51 msgid "WeCom is already bound" msgstr "企業の微信はすでにバインドされています" -#: authentication/errors/mfa.py:23 authentication/views/wecom.py:159 -#: authentication/views/wecom.py:201 +#: authentication/errors/mfa.py:23 authentication/views/wecom.py:151 +#: authentication/views/wecom.py:193 msgid "WeCom is not bound" msgstr "企業の微信をバインドしていません" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:213 -#: authentication/views/dingtalk.py:255 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 +#: authentication/views/dingtalk.py:247 msgid "DingTalk is not bound" msgstr "DingTalkはバインドされていません" -#: authentication/errors/mfa.py:33 authentication/views/feishu.py:138 +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:130 msgid "FeiShu is not bound" msgstr "本を飛ばすは拘束されていません" @@ -3008,7 +3020,7 @@ msgstr "本を飛ばすは拘束されていません" msgid "Lark is not bound" msgstr "Lark はバインドされていません" -#: authentication/errors/mfa.py:43 authentication/views/slack.py:127 +#: authentication/errors/mfa.py:43 authentication/views/slack.py:119 msgid "Slack is not bound" msgstr "Slack はバインドされていません" @@ -3296,15 +3308,15 @@ msgid "Ticket info" msgstr "作業指示情報" #: authentication/serializers/connection_token.py:21 -#: perms/models/asset_permission.py:77 perms/serializers/permission.py:38 -#: perms/serializers/permission.py:59 +#: perms/models/asset_permission.py:77 perms/serializers/permission.py:37 +#: perms/serializers/permission.py:58 #: tickets/models/ticket/apply_application.py:28 #: tickets/models/ticket/apply_asset.py:18 msgid "Actions" msgstr "アクション" #: authentication/serializers/connection_token.py:42 -#: perms/serializers/permission.py:40 perms/serializers/permission.py:60 +#: perms/serializers/permission.py:39 perms/serializers/permission.py:59 #: users/serializers/user.py:102 users/serializers/user.py:179 msgid "Is expired" msgstr "期限切れです" @@ -3318,8 +3330,8 @@ msgstr "{} 空にしてはならない" msgid "Access IP" msgstr "Access IP" -#: authentication/serializers/token.py:92 perms/serializers/permission.py:39 -#: perms/serializers/permission.py:61 users/serializers/user.py:103 +#: authentication/serializers/token.py:92 perms/serializers/permission.py:38 +#: perms/serializers/permission.py:60 users/serializers/user.py:103 #: users/serializers/user.py:176 msgid "Is valid" msgstr "有効です" @@ -3567,22 +3579,22 @@ msgstr "再試行しますか?" msgid "LAN" msgstr "ローカルエリアネットワーク" -#: authentication/views/base.py:73 +#: authentication/views/base.py:70 #: perms/templates/perms/_msg_permed_items_expire.html:21 msgid "If you have any question, please contact the administrator" msgstr "質問があったら、管理者に連絡して下さい" -#: authentication/views/base.py:146 +#: authentication/views/base.py:140 #, python-format msgid "%s query user failed" msgstr "%sユーザーのクエリに失敗しました" -#: authentication/views/base.py:155 +#: authentication/views/base.py:148 #, python-format msgid "The %s is already bound to another user" msgstr "%sが別のユーザーにバインドされています。" -#: authentication/views/base.py:162 +#: authentication/views/base.py:154 #, python-format msgid "Binding %s successfully" msgstr "バインド%s成功" @@ -3591,48 +3603,39 @@ msgstr "バインド%s成功" msgid "DingTalk Error, Please contact your system administrator" msgstr "DingTalkエラー、システム管理者に連絡してください" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:212 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 msgid "DingTalk Error" msgstr "DingTalkエラー" -#: 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 "" -"安全のため、クライアントでの自動リダイレクトログインはサポートされていませ" -"ん。クライアントで開く必要がある場合は、再度ログインしてください" - - -#: authentication/views/dingtalk.py:61 +#: authentication/views/dingtalk.py:53 msgid "DingTalk is already bound" msgstr "DingTalkはすでにバインドされています" -#: authentication/views/dingtalk.py:130 +#: authentication/views/dingtalk.py:122 msgid "Invalid user_id" msgstr "無効なuser_id" -#: authentication/views/dingtalk.py:146 +#: authentication/views/dingtalk.py:138 msgid "DingTalk query user failed" msgstr "DingTalkクエリユーザーが失敗しました" -#: authentication/views/dingtalk.py:155 +#: authentication/views/dingtalk.py:147 msgid "The DingTalk is already bound to another user" msgstr "DingTalkはすでに別のユーザーにバインドされています" -#: authentication/views/dingtalk.py:162 +#: authentication/views/dingtalk.py:154 msgid "Binding DingTalk successfully" msgstr "DingTalkのバインドに成功" -#: authentication/views/dingtalk.py:214 authentication/views/dingtalk.py:249 +#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 msgid "Failed to get user from DingTalk" msgstr "DingTalkからユーザーを取得できませんでした" -#: authentication/views/dingtalk.py:256 +#: authentication/views/dingtalk.py:248 msgid "Please login with a password and then bind the DingTalk" msgstr "パスワードでログインし、DingTalkをバインドしてください" -#: authentication/views/feishu.py:43 authentication/views/feishu.py:137 +#: authentication/views/feishu.py:43 authentication/views/feishu.py:129 msgid "FeiShu Error" msgstr "FeiShuエラー" @@ -3640,7 +3643,7 @@ msgstr "FeiShuエラー" msgid "FeiShu is already bound" msgstr "FeiShuはすでにバインドされています" -#: authentication/views/feishu.py:139 +#: authentication/views/feishu.py:131 msgid "Failed to get user from FeiShu" msgstr "本を飛ばすからユーザーを取得できませんでした" @@ -3692,15 +3695,23 @@ msgstr "ログアウト成功" msgid "Logout success, return login page" msgstr "ログアウト成功、ログインページを返す" -#: authentication/views/slack.py:35 authentication/views/slack.py:126 +#: 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 "" +"安全のため、クライアントでの自動リダイレクトログインはサポートされていませ" +"ん。クライアントで開く必要がある場合は、再度ログインしてください" + +#: authentication/views/slack.py:35 authentication/views/slack.py:118 msgid "Slack Error" msgstr "Slack エラー" -#: authentication/views/slack.py:63 +#: authentication/views/slack.py:55 msgid "Slack is already bound" msgstr "Slack はすでにバインドされています" -#: authentication/views/slack.py:128 +#: authentication/views/slack.py:120 msgid "Failed to get user from Slack" msgstr "Slack からユーザーを取得できませんでした" @@ -3708,19 +3719,19 @@ msgstr "Slack からユーザーを取得できませんでした" msgid "WeCom Error, Please contact your system administrator" msgstr "企業微信エラー、システム管理者に連絡してください" -#: authentication/views/wecom.py:43 authentication/views/wecom.py:158 +#: authentication/views/wecom.py:43 authentication/views/wecom.py:150 msgid "WeCom Error" msgstr "企業微信エラー" -#: authentication/views/wecom.py:118 +#: authentication/views/wecom.py:110 msgid "Wecom" msgstr "" -#: authentication/views/wecom.py:160 authentication/views/wecom.py:195 +#: authentication/views/wecom.py:152 authentication/views/wecom.py:187 msgid "Failed to get user from WeCom" msgstr "企業の微信からユーザーを取得できませんでした" -#: authentication/views/wecom.py:202 +#: authentication/views/wecom.py:194 msgid "Please login with a password and then bind the WeCom" msgstr "パスワードでログインしてからWeComをバインドしてください" @@ -4012,7 +4023,7 @@ msgstr "無効なオプション: {}" msgid "Labels" msgstr "ラベル" -#: common/tasks.py:31 common/utils/verify_code.py:16 +#: common/tasks.py:31 msgid "Send email" msgstr "メールを送る" @@ -4032,11 +4043,15 @@ msgstr "無効な IP" msgid "Invalid address" msgstr "無効なアドレス。" -#: common/utils/translate.py:45 +#: common/utils/translate.py:46 #, python-format msgid "Hello %s" msgstr "こんにちは %s" +#: common/utils/verify_code.py:16 +msgid "Send SMS code" +msgstr "SMSコードを入力してください" + #: common/validators.py:16 msgid "Special char not allowed" msgstr "特別なcharは許可されていません" @@ -4513,31 +4528,31 @@ msgstr "時を過ごす" msgid "You do not have permission for the current job." msgstr "あなたは現在のジョブの権限を持っていません。" -#: ops/tasks.py:38 +#: ops/tasks.py:50 msgid "Run ansible task" msgstr "Ansible タスクを実行する" -#: ops/tasks.py:72 +#: ops/tasks.py:76 msgid "Run ansible task execution" msgstr "Ansible タスクの実行を開始する" -#: ops/tasks.py:94 +#: ops/tasks.py:89 msgid "Clear celery periodic tasks" msgstr "タスクログを定期的にクリアする" -#: ops/tasks.py:115 +#: ops/tasks.py:110 msgid "Create or update periodic tasks" msgstr "定期的なタスクの作成または更新" -#: ops/tasks.py:123 +#: ops/tasks.py:118 msgid "Periodic check service performance" msgstr "サービスのパフォーマンスを定期的に確認する" -#: ops/tasks.py:129 +#: ops/tasks.py:124 msgid "Clean up unexpected jobs" msgstr "例外ジョブのクリーンアップ" -#: ops/tasks.py:136 +#: ops/tasks.py:131 msgid "Clean job_execution db record" msgstr "ジョブセンター実行履歴のクリーンアップ" @@ -4609,7 +4624,7 @@ msgstr "組織を選択してから保存してください" #: rbac/serializers/rolebinding.py:44 settings/serializers/auth/ldap.py:63 #: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "組織" @@ -4630,7 +4645,7 @@ msgid "SYSTEM" msgstr "システム組織" #: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183 -#: terminal/models/applet/applet.py:41 +#: terminal/models/applet/applet.py:42 msgid "Builtin" msgstr "ビルトイン" @@ -4727,7 +4742,7 @@ msgid "today" msgstr "今日" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:103 msgid "day" msgstr "日" @@ -4747,16 +4762,16 @@ msgstr "資産権限の有効期限が近づいています" msgid "asset permissions of organization {}" msgstr "組織 {} の資産権限" -#: perms/serializers/permission.py:186 rbac/serializers/role.py:27 +#: perms/serializers/permission.py:176 rbac/serializers/role.py:27 #: users/serializers/group.py:54 users/serializers/group.py:60 msgid "Users amount" msgstr "ユーザー数" -#: perms/serializers/permission.py:187 +#: perms/serializers/permission.py:177 msgid "User groups amount" msgstr "ユーザーグループの数" -#: perms/serializers/permission.py:189 +#: perms/serializers/permission.py:179 msgid "Nodes amount" msgstr "ノード数" @@ -4901,7 +4916,7 @@ msgstr "システムロールバインディング" msgid "Perms" msgstr "パーマ" -#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 +#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:35 #: terminal/models/virtualapp/virtualapp.py:20 msgid "Display name" msgstr "表示名" @@ -4962,8 +4977,8 @@ msgstr "タスクセンター" msgid "My assets" msgstr "私の資産" -#: rbac/tree.py:58 terminal/models/applet/applet.py:52 -#: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 +#: rbac/tree.py:58 terminal/models/applet/applet.py:53 +#: terminal/models/applet/applet.py:328 terminal/models/applet/host.py:30 #: terminal/serializers/applet.py:15 msgid "Applet" msgstr "リモートアプリケーション" @@ -4972,8 +4987,8 @@ msgstr "リモートアプリケーション" msgid "Ticket comment" msgstr "チケットコメント" -#: rbac/tree.py:130 settings/serializers/feature.py:109 -#: tickets/models/ticket/general.py:305 +#: rbac/tree.py:130 settings/serializers/feature.py:94 +#: tickets/models/ticket/general.py:308 msgid "Ticket" msgstr "チケット" @@ -5715,63 +5730,63 @@ msgstr "" msgid "Chat AI" msgstr "チャットAI" -#: settings/serializers/feature.py:75 +#: settings/serializers/feature.py:77 msgid "Enable Chat AI" msgstr "チャットAIを起動する" -#: settings/serializers/feature.py:78 +#: settings/serializers/feature.py:80 msgid "Base Url" msgstr "基本的なUrl" -#: settings/serializers/feature.py:81 templates/_header_bar.html:96 +#: settings/serializers/feature.py:83 templates/_header_bar.html:96 msgid "API Key" msgstr "API Key" -#: settings/serializers/feature.py:87 +#: settings/serializers/feature.py:89 msgid "GPT Model" msgstr "GPTモデル" -#: settings/serializers/feature.py:111 +#: settings/serializers/feature.py:96 msgid "Enable tickets" msgstr "チケットを有効にする" -#: settings/serializers/feature.py:112 +#: settings/serializers/feature.py:97 msgid "No login approval" msgstr "ログイン承認なし" -#: settings/serializers/feature.py:115 +#: settings/serializers/feature.py:100 msgid "Ticket authorize default time" msgstr "デフォルト製造オーダ承認時間" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:103 msgid "hour" msgstr "時" -#: settings/serializers/feature.py:119 +#: settings/serializers/feature.py:104 msgid "Ticket authorize default time unit" msgstr "デフォルト製造オーダ承認時間単位" -#: settings/serializers/feature.py:124 +#: settings/serializers/feature.py:109 msgid "Feature" msgstr "機能" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:112 msgid "Operation center" msgstr "職業センター" -#: settings/serializers/feature.py:128 +#: settings/serializers/feature.py:113 msgid "Allow user run batch command or not using ansible" msgstr "ユーザー実行バッチコマンドを許可するか、ansibleを使用しない" -#: settings/serializers/feature.py:132 +#: settings/serializers/feature.py:117 msgid "Operation center command blacklist" msgstr "オペレーション センター コマンド ブラックリスト" -#: settings/serializers/feature.py:133 +#: settings/serializers/feature.py:118 msgid "Commands that are not allowed execute." msgstr "実行が許可されていないコマンド" -#: settings/serializers/feature.py:138 +#: settings/serializers/feature.py:123 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5779,7 +5794,7 @@ msgstr "実行が許可されていないコマンド" msgid "Virtual app" msgstr "仮想アプリケーション" -#: settings/serializers/feature.py:141 +#: settings/serializers/feature.py:126 msgid "Enable virtual app" msgstr "仮想アプリケーションの有効化" @@ -6179,7 +6194,7 @@ msgstr "メール受信者" msgid "Multiple user using , split" msgstr "複数のユーザーを使用して、分割" -#: settings/serializers/settings.py:62 +#: settings/serializers/settings.py:66 #, python-format msgid "[%s] %s" msgstr "[%s] %s" @@ -6769,59 +6784,63 @@ msgstr "一括作成非サポート" msgid "Storage is invalid" msgstr "ストレージが無効です" -#: terminal/models/applet/applet.py:30 xpack/plugins/license/models.py:88 +#: terminal/models/applet/applet.py:31 xpack/plugins/license/models.py:88 msgid "Community edition" msgstr "コミュニティ版" -#: terminal/models/applet/applet.py:31 +#: terminal/models/applet/applet.py:32 msgid "Enterprise" msgstr "エンタープライズ版" -#: terminal/models/applet/applet.py:36 +#: terminal/models/applet/applet.py:37 #: terminal/models/virtualapp/virtualapp.py:22 msgid "Author" msgstr "著者" -#: terminal/models/applet/applet.py:38 terminal/serializers/applet.py:31 +#: terminal/models/applet/applet.py:39 terminal/serializers/applet.py:31 msgid "Edition" msgstr "バージョン" -#: terminal/models/applet/applet.py:43 +#: terminal/models/applet/applet.py:44 msgid "Can concurrent" msgstr "同時実行可能" -#: terminal/models/applet/applet.py:44 +#: terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "ラベル" -#: terminal/models/applet/applet.py:48 terminal/serializers/applet_host.py:167 +#: terminal/models/applet/applet.py:49 terminal/serializers/applet_host.py:167 #: terminal/serializers/storage.py:197 msgid "Hosts" msgstr "ホスト" -#: terminal/models/applet/applet.py:93 +#: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 msgid "Applet pkg not valid, Missing file {}" msgstr "無効なアプレット パッケージ、ファイル {} がありません" -#: terminal/models/applet/applet.py:112 +#: terminal/models/applet/applet.py:113 msgid "Load platform.yml failed: {}" msgstr "platform.ymlのロードに失敗しました:{}" -#: terminal/models/applet/applet.py:115 +#: terminal/models/applet/applet.py:116 msgid "Only support custom platform" msgstr "カスタムプラットフォームのみをサポート" -#: terminal/models/applet/applet.py:120 +#: terminal/models/applet/applet.py:121 msgid "Missing type in platform.yml" msgstr "platform.ymlにタイプがありません" -#: terminal/models/applet/applet.py:319 terminal/models/applet/host.py:36 +#: terminal/models/applet/applet.py:330 terminal/models/applet/host.py:36 #: terminal/models/applet/host.py:138 msgid "Hosting" msgstr "ホスト マシン" +#: terminal/models/applet/applet.py:336 +msgid "Applet publication" +msgstr "アプリケーションのリリース" + #: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:69 msgid "Deploy options" msgstr "展開パラメーター" @@ -6854,6 +6873,10 @@ msgstr "同じアカウントを使用する" msgid "Initial" msgstr "初期化" +#: terminal/models/applet/host.py:148 +msgid "Applet host deployment" +msgstr "アプリケーション配備" + #: terminal/models/component/endpoint.py:15 msgid "HTTPS port" msgstr "HTTPS ポート" @@ -7605,7 +7628,7 @@ msgstr "" msgid "All available port count: {}, Already use port count: {}" msgstr "使用可能なすべてのポート数: {}、すでに使用しているポート数: {}" -#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:286 +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" msgstr "応募者" @@ -7710,7 +7733,7 @@ msgid "Body" msgstr "ボディ" #: tickets/models/flow.py:19 tickets/models/flow.py:61 -#: tickets/models/ticket/general.py:42 +#: tickets/models/ticket/general.py:45 msgid "Approve level" msgstr "レベルを承認する" @@ -7780,35 +7803,35 @@ msgstr "コマンド フィルタ" msgid "Apply Command Ticket" msgstr "製造オーダの検討を命令" -#: tickets/models/ticket/general.py:77 +#: tickets/models/ticket/general.py:80 msgid "Ticket step" msgstr "チケットステップ" -#: tickets/models/ticket/general.py:95 +#: tickets/models/ticket/general.py:98 msgid "Ticket assignee" msgstr "割り当てられたチケット" -#: tickets/models/ticket/general.py:270 +#: tickets/models/ticket/general.py:273 msgid "Title" msgstr "タイトル" -#: tickets/models/ticket/general.py:290 +#: tickets/models/ticket/general.py:293 msgid "TicketFlow" msgstr "作業指示プロセス" -#: tickets/models/ticket/general.py:293 +#: tickets/models/ticket/general.py:296 msgid "Approval step" msgstr "承認ステップ" -#: tickets/models/ticket/general.py:296 +#: tickets/models/ticket/general.py:299 msgid "Relation snapshot" msgstr "製造オーダスナップショット" -#: tickets/models/ticket/general.py:399 +#: tickets/models/ticket/general.py:405 msgid "Please try again" msgstr "もう一度お試しください" -#: tickets/models/ticket/general.py:475 +#: tickets/models/ticket/general.py:481 msgid "Super ticket" msgstr "スーパーチケット" @@ -9390,11 +9413,10 @@ msgstr "エンタープライズプロフェッショナル版" msgid "Ultimate edition" msgstr "エンタープライズ・フラッグシップ・エディション" -#~ msgid "Please test the connection first" -#~ msgstr "まず接続をテストしてください" +#~ msgid "Account history" +#~ msgstr "アカウント履歴" -msgid "Store locally" -msgstr "ローカルに保存する" - -msgid "Do not save" -msgstr "保存しない" \ No newline at end of file +#, fuzzy +#~| msgid "Operate log" +#~ msgid "Operate log id" +#~ msgstr "ログの操作" diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 14c046876..ea7b1e7f5 100644 --- a/apps/locale/zh/LC_MESSAGES/django.mo +++ b/apps/locale/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e2fbd8872d5ab2d503d98222b03e8f2177fe93aa07c90fdf624b7c0b6a5da5d -size 145926 +oid sha256:fb60a2ebb525e5aaa2d2c64fb4956fcc56f1b608a6dfb186513e743e226af261 +size 146172 diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 2fac3c379..0699abd14 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/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-07-10 18:14+0800\n" +"POT-Creation-Date: 2024-08-20 14:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -263,8 +263,8 @@ msgstr "用户 %s 查看/导出 了密码" #: accounts/models/account.py:49 #: accounts/models/automations/gather_account.py:16 -#: accounts/serializers/account/account.py:216 -#: accounts/serializers/account/account.py:261 +#: accounts/serializers/account/account.py:224 +#: accounts/serializers/account/account.py:269 #: accounts/serializers/account/gathered_account.py:10 #: accounts/serializers/automations/change_secret.py:108 #: accounts/serializers/automations/change_secret.py:140 @@ -273,7 +273,7 @@ msgstr "用户 %s 查看/导出 了密码" #: acls/serializers/base.py:123 assets/models/asset/common.py:95 #: assets/models/asset/common.py:350 assets/models/cmd_filter.py:36 #: audits/models.py:58 authentication/models/connection_token.py:36 -#: perms/models/asset_permission.py:69 perms/serializers/permission.py:36 +#: perms/models/asset_permission.py:69 perms/serializers/permission.py:35 #: terminal/backends/command/models.py:17 terminal/models/session/session.py:32 #: terminal/notifications.py:155 terminal/serializers/command.py:17 #: terminal/serializers/session.py:28 @@ -284,29 +284,33 @@ msgid "Asset" msgstr "资产" #: accounts/models/account.py:53 accounts/models/template.py:16 -#: accounts/serializers/account/account.py:223 -#: accounts/serializers/account/account.py:271 +#: accounts/serializers/account/account.py:231 +#: accounts/serializers/account/account.py:279 #: accounts/serializers/account/template.py:27 #: authentication/serializers/connect_token_secret.py:50 msgid "Su from" msgstr "切换自" #: accounts/models/account.py:55 assets/const/protocol.py:178 -#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:35 +#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "版本" -#: accounts/models/account.py:57 accounts/serializers/account/account.py:218 +#: accounts/models/account.py:57 +msgid "historical Account" +msgstr "账号历史" + +#: accounts/models/account.py:58 accounts/serializers/account/account.py:226 #: users/models/user.py:860 msgid "Source" msgstr "来源" -#: accounts/models/account.py:58 +#: accounts/models/account.py:59 msgid "Source ID" msgstr "来源 ID" -#: accounts/models/account.py:61 +#: accounts/models/account.py:62 #: accounts/serializers/automations/change_secret.py:110 #: accounts/serializers/automations/change_secret.py:141 #: accounts/templates/accounts/change_secret_failed_info.html:12 @@ -314,7 +318,7 @@ msgstr "来源 ID" #: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:411 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:41 settings/serializers/msg.py:33 +#: perms/serializers/permission.py:40 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 @@ -322,27 +326,27 @@ msgstr "来源 ID" msgid "Account" msgstr "账号" -#: accounts/models/account.py:67 +#: accounts/models/account.py:68 msgid "Can view asset account secret" msgstr "可以查看资产账号密码" -#: accounts/models/account.py:68 +#: accounts/models/account.py:69 msgid "Can view asset history account" msgstr "可以查看资产历史账号" -#: accounts/models/account.py:69 +#: accounts/models/account.py:70 msgid "Can view asset history account secret" msgstr "可以查看资产历史账号密码" -#: accounts/models/account.py:70 +#: accounts/models/account.py:71 msgid "Can verify account" msgstr "可以验证账号" -#: accounts/models/account.py:71 +#: accounts/models/account.py:72 msgid "Can push account" msgstr "可以推送账号" -#: accounts/models/account.py:72 +#: accounts/models/account.py:73 msgid "Can remove account" msgstr "可以移除账号" @@ -502,11 +506,11 @@ msgstr "结束日期" #: accounts/models/automations/change_secret.py:44 #: assets/models/automations/base.py:113 audits/models.py:208 #: 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:331 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 #: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:136 -#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:281 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:284 #: tickets/serializers/super_ticket.py:13 #: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:209 #: xpack/plugins/cloud/models.py:265 @@ -514,7 +518,7 @@ msgid "Status" msgstr "状态" #: accounts/models/automations/change_secret.py:47 -#: accounts/serializers/account/account.py:263 +#: accounts/serializers/account/account.py:271 #: accounts/templates/accounts/change_secret_failed_info.html:13 #: assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 @@ -590,7 +594,7 @@ msgid "Verify asset account" msgstr "账号验证" #: accounts/models/base.py:37 accounts/models/base.py:67 -#: accounts/serializers/account/account.py:446 +#: accounts/serializers/account/account.py:461 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:47 #: authentication/serializers/connect_token_secret.py:42 @@ -625,7 +629,7 @@ msgstr "密码规则" #: assets/models/domain.py:19 assets/models/group.py:17 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/serializers/asset/common.py:149 -#: assets/serializers/platform.py:118 assets/serializers/platform.py:228 +#: assets/serializers/platform.py:118 assets/serializers/platform.py:221 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 #: authentication/serializers/connect_token_secret.py:169 labels/models.py:11 @@ -634,7 +638,7 @@ msgstr "密码规则" #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 -#: terminal/models/applet/applet.py:33 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/terminal.py:85 @@ -655,7 +659,7 @@ msgstr "特权账号" #: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39 #: assets/models/label.py:22 #: authentication/serializers/connect_token_secret.py:117 -#: terminal/models/applet/applet.py:40 +#: terminal/models/applet/applet.py:41 #: terminal/models/component/endpoint.py:120 #: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:175 msgid "Is active" @@ -771,54 +775,54 @@ msgstr "立即推送" msgid "Exist policy" msgstr "账号存在策略" -#: accounts/serializers/account/account.py:196 applications/models.py:11 +#: accounts/serializers/account/account.py:204 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:95 #: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 -#: assets/serializers/platform.py:140 assets/serializers/platform.py:229 +#: assets/serializers/platform.py:133 assets/serializers/platform.py:222 #: perms/serializers/user_permission.py:26 settings/models.py:35 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "类别" -#: accounts/serializers/account/account.py:197 +#: accounts/serializers/account/account.py:205 #: accounts/serializers/automations/base.py:55 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:96 #: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120 -#: assets/serializers/platform.py:139 audits/serializers.py:53 +#: assets/serializers/platform.py:132 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:39 +#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 #: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 -#: terminal/serializers/session.py:23 terminal/serializers/storage.py:264 -#: terminal/serializers/storage.py:276 tickets/models/comment.py:26 +#: terminal/serializers/session.py:23 terminal/serializers/storage.py:271 +#: terminal/serializers/storage.py:283 tickets/models/comment.py:26 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 -#: tickets/models/ticket/general.py:273 tickets/serializers/flow.py:53 +#: tickets/models/ticket/general.py:276 tickets/serializers/flow.py:53 #: tickets/serializers/ticket/ticket.py:19 msgid "Type" msgstr "类型" -#: accounts/serializers/account/account.py:212 +#: accounts/serializers/account/account.py:220 msgid "Asset not found" msgstr "资产不存在" -#: accounts/serializers/account/account.py:252 +#: accounts/serializers/account/account.py:260 msgid "Has secret" msgstr "已托管密码" -#: accounts/serializers/account/account.py:262 ops/models/celery.py:83 -#: tickets/models/comment.py:13 tickets/models/ticket/general.py:46 -#: tickets/models/ticket/general.py:277 tickets/serializers/super_ticket.py:14 +#: accounts/serializers/account/account.py:270 ops/models/celery.py:83 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49 +#: tickets/models/ticket/general.py:280 tickets/serializers/super_ticket.py:14 msgid "State" msgstr "状态" -#: accounts/serializers/account/account.py:264 +#: accounts/serializers/account/account.py:272 msgid "Changed" msgstr "已修改" -#: accounts/serializers/account/account.py:274 +#: accounts/serializers/account/account.py:282 #: accounts/serializers/automations/base.py:22 acls/models/base.py:97 #: acls/templates/acls/asset_login_reminder.html:6 #: assets/models/automations/base.py:19 @@ -829,33 +833,33 @@ msgstr "已修改" msgid "Assets" msgstr "资产" -#: accounts/serializers/account/account.py:329 +#: accounts/serializers/account/account.py:337 msgid "Account already exists" msgstr "账号已存在" -#: accounts/serializers/account/account.py:379 +#: accounts/serializers/account/account.py:387 #, python-format msgid "Asset does not support this secret type: %s" msgstr "资产不支持账号类型: %s" -#: accounts/serializers/account/account.py:411 +#: accounts/serializers/account/account.py:419 msgid "Account has exist" msgstr "账号已存在" -#: accounts/serializers/account/account.py:441 +#: accounts/serializers/account/account.py:456 #: accounts/serializers/account/template.py:72 #: assets/serializers/asset/common.py:387 msgid "Spec info" msgstr "特殊信息" -#: accounts/serializers/account/account.py:447 +#: accounts/serializers/account/account.py:462 #: authentication/serializers/connect_token_secret.py:159 #: authentication/templates/authentication/_access_key_modal.html:30 #: perms/models/perm_node.py:21 users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:457 acls/serializers/base.py:116 +#: accounts/serializers/account/account.py:472 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:5 #: acls/templates/acls/user_login_reminder.html:5 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 @@ -864,7 +868,7 @@ msgstr "ID" #: authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 -#: perms/serializers/permission.py:32 rbac/builtin.py:124 +#: perms/serializers/permission.py:31 rbac/builtin.py:124 #: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17 #: terminal/backends/command/models.py:16 terminal/models/session/session.py:30 #: terminal/models/session/sharing.py:34 terminal/notifications.py:156 @@ -876,7 +880,7 @@ msgstr "ID" msgid "User" msgstr "用户" -#: accounts/serializers/account/account.py:458 +#: accounts/serializers/account/account.py:473 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:158 terminal/notifications.py:207 msgid "Date" @@ -958,13 +962,13 @@ msgstr "关联平台,可配置推送参数,如果不关联,将使用默认 #: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 #: assets/models/group.py:20 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:38 terminal/models/applet/applet.py:45 -#: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 +#: settings/models.py:38 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 -#: tickets/models/ticket/general.py:295 users/models/user.py:851 +#: tickets/models/ticket/general.py:298 users/models/user.py:851 #: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:108 msgid "Comment" msgstr "备注" @@ -1011,17 +1015,17 @@ msgstr "* 密码长度范围 6-30 位" msgid "Automation task execution" msgstr "自动化任务执行历史" -#: accounts/signal_handlers.py:47 +#: accounts/signal_handlers.py:48 #, python-format msgid "Push related accounts to assets: %s, by system" msgstr "推送账号到资产: %s, 由系统执行" -#: accounts/signal_handlers.py:56 +#: accounts/signal_handlers.py:57 #, python-format msgid "Add account: %s" msgstr "添加账号: %s" -#: accounts/signal_handlers.py:58 +#: accounts/signal_handlers.py:59 #, python-format msgid "Delete account: %s" msgstr "删除账号: %s" @@ -1388,11 +1392,11 @@ msgstr "同级别节点名字不能重复" msgid "App assets" msgstr "资产管理" -#: assets/automations/base/manager.py:191 +#: assets/automations/base/manager.py:187 msgid "{} disabled" msgstr "{} 已禁用" -#: assets/automations/base/manager.py:254 +#: assets/automations/base/manager.py:250 msgid " - Platform {} ansible disabled" msgstr " - 平台 {} Ansible 已禁用, 无法执行任务" @@ -1477,7 +1481,7 @@ msgstr "云服务" #: assets/const/category.py:14 assets/models/asset/gpt.py:11 #: assets/models/asset/web.py:16 audits/const.py:45 -#: terminal/models/applet/applet.py:27 users/const.py:64 +#: terminal/models/applet/applet.py:28 users/const.py:64 msgid "Web" msgstr "Web" @@ -1497,7 +1501,7 @@ msgstr "私有云" msgid "Kubernetes" msgstr "Kubernetes" -#: assets/const/device.py:7 terminal/models/applet/applet.py:26 +#: assets/const/device.py:7 terminal/models/applet/applet.py:27 #: tickets/const.py:9 msgid "General" msgstr "一般" @@ -1725,7 +1729,7 @@ msgstr "用户名与用户相同" #: assets/models/_user.py:52 authentication/models/connection_token.py:41 #: authentication/serializers/connect_token_secret.py:114 -#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42 +#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:43 #: terminal/models/virtualapp/virtualapp.py:24 #: terminal/serializers/session.py:21 terminal/serializers/session.py:48 #: terminal/serializers/storage.py:71 @@ -1787,7 +1791,7 @@ msgstr "端口" msgid "Address" msgstr "地址" -#: assets/models/asset/common.py:161 assets/models/platform.py:134 +#: assets/models/asset/common.py:161 assets/models/platform.py:145 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:118 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:334 @@ -1802,7 +1806,7 @@ msgstr "网域" #: assets/models/asset/common.py:165 assets/models/automations/base.py:18 #: assets/models/cmd_filter.py:32 assets/models/node.py:553 -#: perms/models/asset_permission.py:72 perms/serializers/permission.py:37 +#: perms/models/asset_permission.py:72 perms/serializers/permission.py:36 #: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:335 msgid "Node" msgstr "节点" @@ -1852,7 +1856,7 @@ msgstr "客户端密钥" msgid "Allow invalid cert" msgstr "忽略证书校验" -#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:84 +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:86 msgid "Proxy" msgstr "代理" @@ -1886,7 +1890,7 @@ msgid "Date verified" msgstr "校验日期" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 -#: perms/serializers/permission.py:34 users/models/group.py:25 +#: perms/serializers/permission.py:33 users/models/group.py:25 #: users/models/user.py:821 msgid "User group" msgstr "用户组" @@ -1964,7 +1968,7 @@ msgstr "标签" msgid "New node" msgstr "新节点" -#: assets/models/node.py:467 audits/backends/db.py:65 audits/backends/db.py:66 +#: assets/models/node.py:467 audits/backends/db.py:68 audits/backends/db.py:69 msgid "empty" msgstr "空" @@ -1997,7 +2001,7 @@ msgid "Public" msgstr "开放的" #: assets/models/platform.py:21 assets/serializers/platform.py:49 -#: settings/serializers/settings.py:95 +#: settings/serializers/settings.py:105 #: users/templates/users/reset_password.html:29 msgid "Setting" msgstr "设置" @@ -2086,7 +2090,7 @@ msgstr "账号移除方式" msgid "Remove account params" msgstr "账号移除参数" -#: assets/models/platform.py:97 tickets/models/ticket/general.py:298 +#: assets/models/platform.py:97 tickets/models/ticket/general.py:301 msgid "Meta" msgstr "元数据" @@ -2094,23 +2098,23 @@ msgstr "元数据" msgid "Internal" msgstr "内置" -#: assets/models/platform.py:102 assets/serializers/platform.py:138 +#: assets/models/platform.py:102 assets/serializers/platform.py:131 msgid "Charset" msgstr "编码" -#: assets/models/platform.py:104 assets/serializers/platform.py:167 +#: assets/models/platform.py:104 assets/serializers/platform.py:160 msgid "Domain enabled" msgstr "启用网域" -#: assets/models/platform.py:106 assets/serializers/platform.py:166 +#: assets/models/platform.py:106 assets/serializers/platform.py:159 msgid "Su enabled" msgstr "启用账号切换" -#: assets/models/platform.py:107 assets/serializers/platform.py:144 +#: assets/models/platform.py:107 assets/serializers/platform.py:137 msgid "Su method" msgstr "账号切换方式" -#: assets/models/platform.py:108 assets/serializers/platform.py:147 +#: assets/models/platform.py:108 assets/serializers/platform.py:140 msgid "Custom fields" msgstr "自定义属性" @@ -2125,10 +2129,10 @@ msgid "" "type" msgstr "资产中批量更新平台,不符合平台类型跳过的资产" -#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:134 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 -#: perms/models/asset_permission.py:76 perms/serializers/permission.py:42 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:41 #: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:337 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" @@ -2189,7 +2193,7 @@ msgid "Model" msgstr "型号" #: assets/serializers/asset/info/gathered.py:8 -#: tickets/models/ticket/general.py:297 +#: tickets/models/ticket/general.py:300 msgid "Serial number" msgstr "序列号" @@ -2238,7 +2242,7 @@ msgstr "约束" msgid "Types" msgstr "类型" -#: assets/serializers/domain.py:62 perms/serializers/permission.py:188 +#: assets/serializers/domain.py:62 perms/serializers/permission.py:178 msgid "Assets amount" msgstr "资产数量" @@ -2294,19 +2298,19 @@ msgstr "帮助" msgid "Choices" msgstr "选择" -#: assets/serializers/platform.py:142 +#: assets/serializers/platform.py:135 msgid "Automation" msgstr "自动化" -#: assets/serializers/platform.py:168 +#: assets/serializers/platform.py:161 msgid "Default Domain" msgstr "默认网域" -#: assets/serializers/platform.py:189 +#: assets/serializers/platform.py:182 msgid "type is required" msgstr "类型 该字段是必填项。" -#: assets/serializers/platform.py:204 +#: assets/serializers/platform.py:197 msgid "Protocols is required" msgstr "协议是必填的" @@ -2384,7 +2388,15 @@ msgstr "日志审计" msgid "The text content is too long. Use Elasticsearch to store operation logs" msgstr "文字内容太长。请使用 Elasticsearch 存储操作日志" -#: audits/backends/db.py:91 +#: audits/backends/db.py:61 +msgid "labels" +msgstr "标签" + +#: audits/backends/db.py:62 +msgid "operate_log_id" +msgstr "操作日志ID" + +#: audits/backends/db.py:94 msgid "Tips" msgstr "提示" @@ -2670,7 +2682,7 @@ msgstr "认证令牌" msgid "WeCom" msgstr "企业微信" -#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:97 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 users/models/user.py:762 #: users/models/user.py:872 @@ -2678,13 +2690,13 @@ msgid "FeiShu" msgstr "飞书" #: audits/signal_handlers/login_log.py:40 authentication/views/login.py:101 -#: authentication/views/slack.py:87 notifications/backends/__init__.py:16 +#: authentication/views/slack.py:79 notifications/backends/__init__.py:16 #: settings/serializers/auth/slack.py:10 users/models/user.py:764 #: users/models/user.py:874 msgid "Slack" msgstr "" -#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:161 +#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:153 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:10 users/models/user.py:761 #: users/models/user.py:871 @@ -2956,21 +2968,21 @@ msgstr "手机号没有设置" msgid "SSO auth closed" msgstr "SSO 认证关闭了" -#: authentication/errors/mfa.py:18 authentication/views/wecom.py:59 +#: authentication/errors/mfa.py:18 authentication/views/wecom.py:51 msgid "WeCom is already bound" msgstr "企业微信已经绑定" -#: authentication/errors/mfa.py:23 authentication/views/wecom.py:159 -#: authentication/views/wecom.py:201 +#: authentication/errors/mfa.py:23 authentication/views/wecom.py:151 +#: authentication/views/wecom.py:193 msgid "WeCom is not bound" msgstr "没有绑定企业微信" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:213 -#: authentication/views/dingtalk.py:255 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 +#: authentication/views/dingtalk.py:247 msgid "DingTalk is not bound" msgstr "钉钉没有绑定" -#: authentication/errors/mfa.py:33 authentication/views/feishu.py:138 +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:130 msgid "FeiShu is not bound" msgstr "没有绑定飞书" @@ -2978,7 +2990,7 @@ msgstr "没有绑定飞书" msgid "Lark is not bound" msgstr "Lark 没有绑定" -#: authentication/errors/mfa.py:43 authentication/views/slack.py:127 +#: authentication/errors/mfa.py:43 authentication/views/slack.py:119 msgid "Slack is not bound" msgstr "Slack 没有绑定" @@ -3262,15 +3274,15 @@ msgid "Ticket info" msgstr "工单信息" #: authentication/serializers/connection_token.py:21 -#: perms/models/asset_permission.py:77 perms/serializers/permission.py:38 -#: perms/serializers/permission.py:59 +#: perms/models/asset_permission.py:77 perms/serializers/permission.py:37 +#: perms/serializers/permission.py:58 #: tickets/models/ticket/apply_application.py:28 #: tickets/models/ticket/apply_asset.py:18 msgid "Actions" msgstr "动作" #: authentication/serializers/connection_token.py:42 -#: perms/serializers/permission.py:40 perms/serializers/permission.py:60 +#: perms/serializers/permission.py:39 perms/serializers/permission.py:59 #: users/serializers/user.py:102 users/serializers/user.py:179 msgid "Is expired" msgstr "已过期" @@ -3284,8 +3296,8 @@ msgstr "{} 不能为空" msgid "Access IP" msgstr "IP 白名单" -#: authentication/serializers/token.py:92 perms/serializers/permission.py:39 -#: perms/serializers/permission.py:61 users/serializers/user.py:103 +#: authentication/serializers/token.py:92 perms/serializers/permission.py:38 +#: perms/serializers/permission.py:60 users/serializers/user.py:103 #: users/serializers/user.py:176 msgid "Is valid" msgstr "是否有效" @@ -3521,22 +3533,22 @@ msgstr "是否重试 ?" msgid "LAN" msgstr "局域网" -#: authentication/views/base.py:73 +#: authentication/views/base.py:70 #: perms/templates/perms/_msg_permed_items_expire.html:21 msgid "If you have any question, please contact the administrator" msgstr "如果有疑问或需求,请联系系统管理员" -#: authentication/views/base.py:146 +#: authentication/views/base.py:140 #, python-format msgid "%s query user failed" msgstr "%s 查询用户失败" -#: authentication/views/base.py:155 +#: authentication/views/base.py:148 #, python-format msgid "The %s is already bound to another user" msgstr "%s 已绑定到另一个用户" -#: authentication/views/base.py:162 +#: authentication/views/base.py:154 #, python-format msgid "Binding %s successfully" msgstr "绑定 %s 成功" @@ -3545,46 +3557,39 @@ msgstr "绑定 %s 成功" msgid "DingTalk Error, Please contact your system administrator" msgstr "钉钉错误,请联系系统管理员" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:212 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 msgid "DingTalk Error" 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 "" -"为了您的安全,客户端不支持自动跳转登录。如果需要在客户端中打开,请重新登录" - -#: authentication/views/dingtalk.py:61 +#: authentication/views/dingtalk.py:53 msgid "DingTalk is already bound" msgstr "钉钉已经绑定" -#: authentication/views/dingtalk.py:130 +#: authentication/views/dingtalk.py:122 msgid "Invalid user_id" msgstr "无效的 user_id" -#: authentication/views/dingtalk.py:146 +#: authentication/views/dingtalk.py:138 msgid "DingTalk query user failed" msgstr "钉钉查询用户失败" -#: authentication/views/dingtalk.py:155 +#: authentication/views/dingtalk.py:147 msgid "The DingTalk is already bound to another user" msgstr "该钉钉已经绑定其他用户" -#: authentication/views/dingtalk.py:162 +#: authentication/views/dingtalk.py:154 msgid "Binding DingTalk successfully" msgstr "绑定 钉钉 成功" -#: authentication/views/dingtalk.py:214 authentication/views/dingtalk.py:249 +#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 msgid "Failed to get user from DingTalk" msgstr "从钉钉获取用户失败" -#: authentication/views/dingtalk.py:256 +#: authentication/views/dingtalk.py:248 msgid "Please login with a password and then bind the DingTalk" msgstr "请使用密码登录,然后绑定钉钉" -#: authentication/views/feishu.py:43 authentication/views/feishu.py:137 +#: authentication/views/feishu.py:43 authentication/views/feishu.py:129 msgid "FeiShu Error" msgstr "飞书错误" @@ -3592,7 +3597,7 @@ msgstr "飞书错误" msgid "FeiShu is already bound" msgstr "飞书已经绑定" -#: authentication/views/feishu.py:139 +#: authentication/views/feishu.py:131 msgid "Failed to get user from FeiShu" msgstr "从飞书获取用户失败" @@ -3644,15 +3649,22 @@ msgstr "退出登录成功" msgid "Logout success, return login page" msgstr "退出登录成功,返回到登录页面" -#: authentication/views/slack.py:35 authentication/views/slack.py:126 +#: 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 "" +"为了您的安全,客户端不支持自动跳转登录。如果需要在客户端中打开,请重新登录" + +#: authentication/views/slack.py:35 authentication/views/slack.py:118 msgid "Slack Error" msgstr "Slack 错误" -#: authentication/views/slack.py:63 +#: authentication/views/slack.py:55 msgid "Slack is already bound" msgstr "Slack 已经绑定" -#: authentication/views/slack.py:128 +#: authentication/views/slack.py:120 msgid "Failed to get user from Slack" msgstr "从 Slack 获取用户失败" @@ -3660,19 +3672,19 @@ msgstr "从 Slack 获取用户失败" msgid "WeCom Error, Please contact your system administrator" msgstr "企业微信错误,请联系系统管理员" -#: authentication/views/wecom.py:43 authentication/views/wecom.py:158 +#: authentication/views/wecom.py:43 authentication/views/wecom.py:150 msgid "WeCom Error" msgstr "企业微信错误" -#: authentication/views/wecom.py:118 +#: authentication/views/wecom.py:110 msgid "Wecom" msgstr "" -#: authentication/views/wecom.py:160 authentication/views/wecom.py:195 +#: authentication/views/wecom.py:152 authentication/views/wecom.py:187 msgid "Failed to get user from WeCom" msgstr "从企业微信获取用户失败" -#: authentication/views/wecom.py:202 +#: authentication/views/wecom.py:194 msgid "Please login with a password and then bind the WeCom" msgstr "请使用密码登录,然后绑定企业微信" @@ -3962,7 +3974,7 @@ msgstr "标签管理" # msgid "Labels" # msgstr "标签管理" -#: common/tasks.py:31 common/utils/verify_code.py:16 +#: common/tasks.py:31 msgid "Send email" msgstr "发件邮件" @@ -3982,11 +3994,15 @@ msgstr "无效 IP" msgid "Invalid address" msgstr "无效地址" -#: common/utils/translate.py:45 +#: common/utils/translate.py:46 #, python-format msgid "Hello %s" msgstr "你好 %s" +#: common/utils/verify_code.py:16 +msgid "Send SMS code" +msgstr "请输入短信验证码" + #: common/validators.py:16 msgid "Special char not allowed" msgstr "不能包含特殊字符" @@ -4453,31 +4469,31 @@ msgstr "花费时间" msgid "You do not have permission for the current job." msgstr "你没有当前作业的权限。" -#: ops/tasks.py:38 +#: ops/tasks.py:50 msgid "Run ansible task" msgstr "运行 Ansible 任务" -#: ops/tasks.py:72 +#: ops/tasks.py:76 msgid "Run ansible task execution" msgstr "开始执行 Ansible 任务" -#: ops/tasks.py:94 +#: ops/tasks.py:89 msgid "Clear celery periodic tasks" msgstr "清理周期任务" -#: ops/tasks.py:115 +#: ops/tasks.py:110 msgid "Create or update periodic tasks" msgstr "创建或更新周期任务" -#: ops/tasks.py:123 +#: ops/tasks.py:118 msgid "Periodic check service performance" msgstr "周期检测服务性能" -#: ops/tasks.py:129 +#: ops/tasks.py:124 msgid "Clean up unexpected jobs" msgstr "清理异常作业" -#: ops/tasks.py:136 +#: ops/tasks.py:131 msgid "Clean job_execution db record" msgstr "清理作业中心执行历史" @@ -4548,7 +4564,7 @@ msgstr "请选择一个组织后再保存" #: rbac/serializers/rolebinding.py:44 settings/serializers/auth/ldap.py:63 #: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "组织" @@ -4569,7 +4585,7 @@ msgid "SYSTEM" msgstr "系统组织" #: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183 -#: terminal/models/applet/applet.py:41 +#: terminal/models/applet/applet.py:42 msgid "Builtin" msgstr "内置的" @@ -4666,7 +4682,7 @@ msgid "today" msgstr "今天" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:103 msgid "day" msgstr "天" @@ -4686,16 +4702,16 @@ msgstr "资产授权规则将要过期" msgid "asset permissions of organization {}" msgstr "组织 ({}) 的资产授权" -#: perms/serializers/permission.py:186 rbac/serializers/role.py:27 +#: perms/serializers/permission.py:176 rbac/serializers/role.py:27 #: users/serializers/group.py:54 users/serializers/group.py:60 msgid "Users amount" msgstr "用户数量" -#: perms/serializers/permission.py:187 +#: perms/serializers/permission.py:177 msgid "User groups amount" msgstr "用户组数量" -#: perms/serializers/permission.py:189 +#: perms/serializers/permission.py:179 msgid "Nodes amount" msgstr "节点数量" @@ -4839,7 +4855,7 @@ msgstr "系统角色绑定" msgid "Perms" msgstr "权限" -#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 +#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:35 #: terminal/models/virtualapp/virtualapp.py:20 msgid "Display name" msgstr "显示名称" @@ -4900,8 +4916,8 @@ msgstr "任务中心" msgid "My assets" msgstr "我的资产" -#: rbac/tree.py:58 terminal/models/applet/applet.py:52 -#: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 +#: rbac/tree.py:58 terminal/models/applet/applet.py:53 +#: terminal/models/applet/applet.py:328 terminal/models/applet/host.py:30 #: terminal/serializers/applet.py:15 msgid "Applet" msgstr "远程应用" @@ -4910,8 +4926,8 @@ msgstr "远程应用" msgid "Ticket comment" msgstr "工单评论" -#: rbac/tree.py:130 settings/serializers/feature.py:109 -#: tickets/models/ticket/general.py:305 +#: rbac/tree.py:130 settings/serializers/feature.py:94 +#: tickets/models/ticket/general.py:308 msgid "Ticket" msgstr "工单管理" @@ -5645,63 +5661,63 @@ msgstr "" msgid "Chat AI" msgstr "聊天 AI" -#: settings/serializers/feature.py:75 +#: settings/serializers/feature.py:77 msgid "Enable Chat AI" msgstr "启动聊天 AI" -#: settings/serializers/feature.py:78 +#: settings/serializers/feature.py:80 msgid "Base Url" msgstr "基本地址" -#: settings/serializers/feature.py:81 templates/_header_bar.html:96 +#: settings/serializers/feature.py:83 templates/_header_bar.html:96 msgid "API Key" msgstr "API Key" -#: settings/serializers/feature.py:87 +#: settings/serializers/feature.py:89 msgid "GPT Model" msgstr "GPT 模型" -#: settings/serializers/feature.py:111 +#: settings/serializers/feature.py:96 msgid "Enable tickets" msgstr "启用工单" -#: settings/serializers/feature.py:112 +#: settings/serializers/feature.py:97 msgid "No login approval" msgstr "免登录审批" -#: settings/serializers/feature.py:115 +#: settings/serializers/feature.py:100 msgid "Ticket authorize default time" msgstr "默认工单授权时间" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:103 msgid "hour" msgstr "时" -#: settings/serializers/feature.py:119 +#: settings/serializers/feature.py:104 msgid "Ticket authorize default time unit" msgstr "默认工单授权时间单位" -#: settings/serializers/feature.py:124 +#: settings/serializers/feature.py:109 msgid "Feature" msgstr "功能" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:112 msgid "Operation center" msgstr "作业中心" -#: settings/serializers/feature.py:128 +#: settings/serializers/feature.py:113 msgid "Allow user run batch command or not using ansible" msgstr "是否允许用户使用 ansible 执行批量命令" -#: settings/serializers/feature.py:132 +#: settings/serializers/feature.py:117 msgid "Operation center command blacklist" msgstr "作业中心命令黑名单" -#: settings/serializers/feature.py:133 +#: settings/serializers/feature.py:118 msgid "Commands that are not allowed execute." msgstr "不允许执行的命令" -#: settings/serializers/feature.py:138 +#: settings/serializers/feature.py:123 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5709,7 +5725,7 @@ msgstr "不允许执行的命令" msgid "Virtual app" msgstr "虚拟应用" -#: settings/serializers/feature.py:141 +#: settings/serializers/feature.py:126 msgid "Enable virtual app" msgstr "启用虚拟应用" @@ -6087,7 +6103,7 @@ msgstr "邮件收件人" msgid "Multiple user using , split" msgstr "多个用户,使用 , 分割" -#: settings/serializers/settings.py:62 +#: settings/serializers/settings.py:66 #, python-format msgid "[%s] %s" msgstr "[%s] %s" @@ -6665,59 +6681,63 @@ msgstr "不支持批量创建" msgid "Storage is invalid" msgstr "存储无效" -#: terminal/models/applet/applet.py:30 xpack/plugins/license/models.py:88 +#: terminal/models/applet/applet.py:31 xpack/plugins/license/models.py:88 msgid "Community edition" msgstr "社区版" -#: terminal/models/applet/applet.py:31 +#: terminal/models/applet/applet.py:32 msgid "Enterprise" msgstr "企业版" -#: terminal/models/applet/applet.py:36 +#: terminal/models/applet/applet.py:37 #: terminal/models/virtualapp/virtualapp.py:22 msgid "Author" msgstr "作者" -#: terminal/models/applet/applet.py:38 terminal/serializers/applet.py:31 +#: terminal/models/applet/applet.py:39 terminal/serializers/applet.py:31 msgid "Edition" msgstr "版本" -#: terminal/models/applet/applet.py:43 +#: terminal/models/applet/applet.py:44 msgid "Can concurrent" msgstr "可以并发" -#: terminal/models/applet/applet.py:44 +#: terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "标签" -#: terminal/models/applet/applet.py:48 terminal/serializers/applet_host.py:167 +#: terminal/models/applet/applet.py:49 terminal/serializers/applet_host.py:167 #: terminal/serializers/storage.py:197 msgid "Hosts" msgstr "主机" -#: terminal/models/applet/applet.py:93 +#: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 无效,缺少文件 {}" -#: terminal/models/applet/applet.py:112 +#: terminal/models/applet/applet.py:113 msgid "Load platform.yml failed: {}" msgstr "加载 platform.yml 失败: {}" -#: terminal/models/applet/applet.py:115 +#: terminal/models/applet/applet.py:116 msgid "Only support custom platform" msgstr "只支持自定义平台" -#: terminal/models/applet/applet.py:120 +#: terminal/models/applet/applet.py:121 msgid "Missing type in platform.yml" msgstr "在 platform.yml 中缺少类型" -#: terminal/models/applet/applet.py:319 terminal/models/applet/host.py:36 +#: terminal/models/applet/applet.py:330 terminal/models/applet/host.py:36 #: terminal/models/applet/host.py:138 msgid "Hosting" msgstr "宿主机" +#: terminal/models/applet/applet.py:336 +msgid "Applet publication" +msgstr "应用发布" + #: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:69 msgid "Deploy options" msgstr "部署参数" @@ -6750,6 +6770,10 @@ msgstr "使用同名账号" msgid "Initial" msgstr "初始化" +#: terminal/models/applet/host.py:148 +msgid "Applet host deployment" +msgstr "应用部署" + #: terminal/models/component/endpoint.py:15 msgid "HTTPS port" msgstr "HTTPS 端口" @@ -7491,7 +7515,7 @@ msgstr "没有端口可以使用,检查并修改配置文件中 Magnus 监听 msgid "All available port count: {}, Already use port count: {}" msgstr "所有可用端口数量:{},已使用端口数量:{}" -#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:286 +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" msgstr "申请人" @@ -7595,7 +7619,7 @@ msgid "Body" msgstr "内容" #: tickets/models/flow.py:19 tickets/models/flow.py:61 -#: tickets/models/ticket/general.py:42 +#: tickets/models/ticket/general.py:45 msgid "Approve level" msgstr "审批级别" @@ -7665,35 +7689,35 @@ msgstr "命令过滤器" msgid "Apply Command Ticket" msgstr "命令复核工单" -#: tickets/models/ticket/general.py:77 +#: tickets/models/ticket/general.py:80 msgid "Ticket step" msgstr "工单步骤" -#: tickets/models/ticket/general.py:95 +#: tickets/models/ticket/general.py:98 msgid "Ticket assignee" msgstr "工单受理人" -#: tickets/models/ticket/general.py:270 +#: tickets/models/ticket/general.py:273 msgid "Title" msgstr "标题" -#: tickets/models/ticket/general.py:290 +#: tickets/models/ticket/general.py:293 msgid "TicketFlow" msgstr "工单流程" -#: tickets/models/ticket/general.py:293 +#: tickets/models/ticket/general.py:296 msgid "Approval step" msgstr "审批步骤" -#: tickets/models/ticket/general.py:296 +#: tickets/models/ticket/general.py:299 msgid "Relation snapshot" msgstr "工单快照" -#: tickets/models/ticket/general.py:399 +#: tickets/models/ticket/general.py:405 msgid "Please try again" msgstr "请再次尝试" -#: tickets/models/ticket/general.py:475 +#: tickets/models/ticket/general.py:481 msgid "Super ticket" msgstr "超级工单" @@ -9253,11 +9277,5 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" -#~ msgid "Please test the connection first" -#~ msgstr "请先测试连接" - -msgid "Store locally" -msgstr "本地存储" - -msgid "Do not save" -msgstr "不保存" \ No newline at end of file +#~ msgid "Account history" +#~ msgstr "账号历史" diff --git a/apps/locale/zh_Hant/LC_MESSAGES/django.mo b/apps/locale/zh_Hant/LC_MESSAGES/django.mo index 5ad470636..72d7016b8 100644 --- a/apps/locale/zh_Hant/LC_MESSAGES/django.mo +++ b/apps/locale/zh_Hant/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5094c79a6b828406dd63a963871bfffa70e31cd13b9d301412b3dc7b8810d2f0 -size 146037 +oid sha256:4aaedb4c31b1d11ddf63e5d0a27958ee5d42e78e2ce255746b8134d18ffc990f +size 146283 diff --git a/apps/locale/zh_Hant/LC_MESSAGES/django.po b/apps/locale/zh_Hant/LC_MESSAGES/django.po index 20ec64469..e6128f244 100644 --- a/apps/locale/zh_Hant/LC_MESSAGES/django.po +++ b/apps/locale/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-07-10 18:14+0800\n" +"POT-Creation-Date: 2024-08-20 14:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -265,8 +265,8 @@ msgstr "用戶 %s 查看/匯出 了密碼" #: accounts/models/account.py:49 #: accounts/models/automations/gather_account.py:16 -#: accounts/serializers/account/account.py:216 -#: accounts/serializers/account/account.py:261 +#: accounts/serializers/account/account.py:224 +#: accounts/serializers/account/account.py:269 #: accounts/serializers/account/gathered_account.py:10 #: accounts/serializers/automations/change_secret.py:108 #: accounts/serializers/automations/change_secret.py:140 @@ -275,7 +275,7 @@ msgstr "用戶 %s 查看/匯出 了密碼" #: acls/serializers/base.py:123 assets/models/asset/common.py:95 #: assets/models/asset/common.py:350 assets/models/cmd_filter.py:36 #: audits/models.py:58 authentication/models/connection_token.py:36 -#: perms/models/asset_permission.py:69 perms/serializers/permission.py:36 +#: perms/models/asset_permission.py:69 perms/serializers/permission.py:35 #: terminal/backends/command/models.py:17 terminal/models/session/session.py:32 #: terminal/notifications.py:155 terminal/serializers/command.py:17 #: terminal/serializers/session.py:28 @@ -286,29 +286,33 @@ msgid "Asset" msgstr "資產" #: accounts/models/account.py:53 accounts/models/template.py:16 -#: accounts/serializers/account/account.py:223 -#: accounts/serializers/account/account.py:271 +#: accounts/serializers/account/account.py:231 +#: accounts/serializers/account/account.py:279 #: accounts/serializers/account/template.py:27 #: authentication/serializers/connect_token_secret.py:50 msgid "Su from" msgstr "切換自" #: accounts/models/account.py:55 assets/const/protocol.py:178 -#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:35 +#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "版本" -#: accounts/models/account.py:57 accounts/serializers/account/account.py:218 +#: accounts/models/account.py:57 +msgid "historical Account" +msgstr "帳號歷史" + +#: accounts/models/account.py:58 accounts/serializers/account/account.py:226 #: users/models/user.py:860 msgid "Source" msgstr "來源" -#: accounts/models/account.py:58 +#: accounts/models/account.py:59 msgid "Source ID" msgstr "來源 ID" -#: accounts/models/account.py:61 +#: accounts/models/account.py:62 #: accounts/serializers/automations/change_secret.py:110 #: accounts/serializers/automations/change_secret.py:141 #: accounts/templates/accounts/change_secret_failed_info.html:12 @@ -316,7 +320,7 @@ msgstr "來源 ID" #: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:411 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:41 settings/serializers/msg.py:33 +#: perms/serializers/permission.py:40 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 @@ -324,27 +328,27 @@ msgstr "來源 ID" msgid "Account" msgstr "帳號" -#: accounts/models/account.py:67 +#: accounts/models/account.py:68 msgid "Can view asset account secret" msgstr "可以查看資產帳號密碼" -#: accounts/models/account.py:68 +#: accounts/models/account.py:69 msgid "Can view asset history account" msgstr "可以查看資產歷史帳號" -#: accounts/models/account.py:69 +#: accounts/models/account.py:70 msgid "Can view asset history account secret" msgstr "可以查看資產歷史帳號密碼" -#: accounts/models/account.py:70 +#: accounts/models/account.py:71 msgid "Can verify account" msgstr "可以驗證帳號" -#: accounts/models/account.py:71 +#: accounts/models/account.py:72 msgid "Can push account" msgstr "可以推送帳號" -#: accounts/models/account.py:72 +#: accounts/models/account.py:73 msgid "Can remove account" msgstr "可以移除帳號" @@ -504,11 +508,11 @@ msgstr "結束日期" #: accounts/models/automations/change_secret.py:44 #: assets/models/automations/base.py:113 audits/models.py:208 #: 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:331 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 #: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:136 -#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:281 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:284 #: tickets/serializers/super_ticket.py:13 #: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:209 #: xpack/plugins/cloud/models.py:265 @@ -516,7 +520,7 @@ msgid "Status" msgstr "狀態" #: accounts/models/automations/change_secret.py:47 -#: accounts/serializers/account/account.py:263 +#: accounts/serializers/account/account.py:271 #: accounts/templates/accounts/change_secret_failed_info.html:13 #: assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 @@ -592,7 +596,7 @@ msgid "Verify asset account" msgstr "帳號驗證" #: accounts/models/base.py:37 accounts/models/base.py:67 -#: accounts/serializers/account/account.py:446 +#: accounts/serializers/account/account.py:461 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:47 #: authentication/serializers/connect_token_secret.py:42 @@ -627,7 +631,7 @@ msgstr "密碼規則" #: assets/models/domain.py:19 assets/models/group.py:17 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/serializers/asset/common.py:149 -#: assets/serializers/platform.py:118 assets/serializers/platform.py:228 +#: assets/serializers/platform.py:118 assets/serializers/platform.py:221 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 #: authentication/serializers/connect_token_secret.py:169 labels/models.py:11 @@ -636,7 +640,7 @@ msgstr "密碼規則" #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 -#: terminal/models/applet/applet.py:33 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/terminal.py:85 @@ -657,7 +661,7 @@ msgstr "特權帳號" #: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39 #: assets/models/label.py:22 #: authentication/serializers/connect_token_secret.py:117 -#: terminal/models/applet/applet.py:40 +#: terminal/models/applet/applet.py:41 #: terminal/models/component/endpoint.py:120 #: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:175 msgid "Is active" @@ -773,54 +777,54 @@ msgstr "立即推送" msgid "Exist policy" msgstr "帳號存在策略" -#: accounts/serializers/account/account.py:196 applications/models.py:11 +#: accounts/serializers/account/account.py:204 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:95 #: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 -#: assets/serializers/platform.py:140 assets/serializers/platform.py:229 +#: assets/serializers/platform.py:133 assets/serializers/platform.py:222 #: perms/serializers/user_permission.py:26 settings/models.py:35 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "類別" -#: accounts/serializers/account/account.py:197 +#: accounts/serializers/account/account.py:205 #: accounts/serializers/automations/base.py:55 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:96 #: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120 -#: assets/serializers/platform.py:139 audits/serializers.py:53 +#: assets/serializers/platform.py:132 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:39 +#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 #: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 -#: terminal/serializers/session.py:23 terminal/serializers/storage.py:264 -#: terminal/serializers/storage.py:276 tickets/models/comment.py:26 +#: terminal/serializers/session.py:23 terminal/serializers/storage.py:271 +#: terminal/serializers/storage.py:283 tickets/models/comment.py:26 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 -#: tickets/models/ticket/general.py:273 tickets/serializers/flow.py:53 +#: tickets/models/ticket/general.py:276 tickets/serializers/flow.py:53 #: tickets/serializers/ticket/ticket.py:19 msgid "Type" msgstr "類型" -#: accounts/serializers/account/account.py:212 +#: accounts/serializers/account/account.py:220 msgid "Asset not found" msgstr "資產不存在" -#: accounts/serializers/account/account.py:252 +#: accounts/serializers/account/account.py:260 msgid "Has secret" msgstr "已託管密碼" -#: accounts/serializers/account/account.py:262 ops/models/celery.py:83 -#: tickets/models/comment.py:13 tickets/models/ticket/general.py:46 -#: tickets/models/ticket/general.py:277 tickets/serializers/super_ticket.py:14 +#: accounts/serializers/account/account.py:270 ops/models/celery.py:83 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49 +#: tickets/models/ticket/general.py:280 tickets/serializers/super_ticket.py:14 msgid "State" msgstr "狀態" -#: accounts/serializers/account/account.py:264 +#: accounts/serializers/account/account.py:272 msgid "Changed" msgstr "已修改" -#: accounts/serializers/account/account.py:274 +#: accounts/serializers/account/account.py:282 #: accounts/serializers/automations/base.py:22 acls/models/base.py:97 #: acls/templates/acls/asset_login_reminder.html:6 #: assets/models/automations/base.py:19 @@ -831,33 +835,33 @@ msgstr "已修改" msgid "Assets" msgstr "資產" -#: accounts/serializers/account/account.py:329 +#: accounts/serializers/account/account.py:337 msgid "Account already exists" msgstr "帳號已存在" -#: accounts/serializers/account/account.py:379 +#: accounts/serializers/account/account.py:387 #, python-format msgid "Asset does not support this secret type: %s" msgstr "資產不支持帳號類型: %s" -#: accounts/serializers/account/account.py:411 +#: accounts/serializers/account/account.py:419 msgid "Account has exist" msgstr "帳號已存在" -#: accounts/serializers/account/account.py:441 +#: accounts/serializers/account/account.py:456 #: accounts/serializers/account/template.py:72 #: assets/serializers/asset/common.py:387 msgid "Spec info" msgstr "特殊資訊" -#: accounts/serializers/account/account.py:447 +#: accounts/serializers/account/account.py:462 #: authentication/serializers/connect_token_secret.py:159 #: authentication/templates/authentication/_access_key_modal.html:30 #: perms/models/perm_node.py:21 users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:457 acls/serializers/base.py:116 +#: accounts/serializers/account/account.py:472 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:5 #: acls/templates/acls/user_login_reminder.html:5 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 @@ -866,7 +870,7 @@ msgstr "ID" #: authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 -#: perms/serializers/permission.py:32 rbac/builtin.py:124 +#: perms/serializers/permission.py:31 rbac/builtin.py:124 #: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17 #: terminal/backends/command/models.py:16 terminal/models/session/session.py:30 #: terminal/models/session/sharing.py:34 terminal/notifications.py:156 @@ -878,7 +882,7 @@ msgstr "ID" msgid "User" msgstr "用戶" -#: accounts/serializers/account/account.py:458 +#: accounts/serializers/account/account.py:473 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:158 terminal/notifications.py:207 msgid "Date" @@ -960,13 +964,13 @@ msgstr "關聯平台,可配置推送參數,如果不關聯,將使用默認 #: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 #: assets/models/group.py:20 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:38 terminal/models/applet/applet.py:45 -#: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 +#: settings/models.py:38 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 -#: tickets/models/ticket/general.py:295 users/models/user.py:851 +#: tickets/models/ticket/general.py:298 users/models/user.py:851 #: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:108 msgid "Comment" msgstr "備註" @@ -1013,17 +1017,17 @@ msgstr "* 密碼長度範圍 6-30 位" msgid "Automation task execution" msgstr "自動化任務執行歷史" -#: accounts/signal_handlers.py:47 +#: accounts/signal_handlers.py:48 #, python-format msgid "Push related accounts to assets: %s, by system" msgstr "推送帳號到資產: %s, 由系統執行" -#: accounts/signal_handlers.py:56 +#: accounts/signal_handlers.py:57 #, python-format msgid "Add account: %s" msgstr "添加帳號: %s" -#: accounts/signal_handlers.py:58 +#: accounts/signal_handlers.py:59 #, python-format msgid "Delete account: %s" msgstr "刪除帳號: %s" @@ -1390,11 +1394,11 @@ msgstr "同級別節點名字不能重複" msgid "App assets" msgstr "資產管理" -#: assets/automations/base/manager.py:191 +#: assets/automations/base/manager.py:187 msgid "{} disabled" msgstr "{} 已禁用" -#: assets/automations/base/manager.py:254 +#: assets/automations/base/manager.py:250 msgid " - Platform {} ansible disabled" msgstr " - 平台 {} Ansible 已禁用, 無法執行任務" @@ -1479,7 +1483,7 @@ msgstr "雲服務" #: assets/const/category.py:14 assets/models/asset/gpt.py:11 #: assets/models/asset/web.py:16 audits/const.py:45 -#: terminal/models/applet/applet.py:27 users/const.py:64 +#: terminal/models/applet/applet.py:28 users/const.py:64 msgid "Web" msgstr "Web" @@ -1499,7 +1503,7 @@ msgstr "私有雲" msgid "Kubernetes" msgstr "Kubernetes" -#: assets/const/device.py:7 terminal/models/applet/applet.py:26 +#: assets/const/device.py:7 terminal/models/applet/applet.py:27 #: tickets/const.py:9 msgid "General" msgstr "一般" @@ -1727,7 +1731,7 @@ msgstr "使用者名稱與用戶相同" #: assets/models/_user.py:52 authentication/models/connection_token.py:41 #: authentication/serializers/connect_token_secret.py:114 -#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42 +#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:43 #: terminal/models/virtualapp/virtualapp.py:24 #: terminal/serializers/session.py:21 terminal/serializers/session.py:48 #: terminal/serializers/storage.py:71 @@ -1789,7 +1793,7 @@ msgstr "埠" msgid "Address" msgstr "地址" -#: assets/models/asset/common.py:161 assets/models/platform.py:134 +#: assets/models/asset/common.py:161 assets/models/platform.py:145 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:118 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:334 @@ -1804,7 +1808,7 @@ msgstr "網域" #: assets/models/asset/common.py:165 assets/models/automations/base.py:18 #: assets/models/cmd_filter.py:32 assets/models/node.py:553 -#: perms/models/asset_permission.py:72 perms/serializers/permission.py:37 +#: perms/models/asset_permission.py:72 perms/serializers/permission.py:36 #: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:335 msgid "Node" msgstr "節點" @@ -1854,7 +1858,7 @@ msgstr "用戶端金鑰" msgid "Allow invalid cert" msgstr "忽略證書校驗" -#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:84 +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:86 msgid "Proxy" msgstr "代理" @@ -1888,7 +1892,7 @@ msgid "Date verified" msgstr "校驗日期" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 -#: perms/serializers/permission.py:34 users/models/group.py:25 +#: perms/serializers/permission.py:33 users/models/group.py:25 #: users/models/user.py:821 msgid "User group" msgstr "用戶組" @@ -1966,7 +1970,7 @@ msgstr "標籤" msgid "New node" msgstr "新節點" -#: assets/models/node.py:467 audits/backends/db.py:65 audits/backends/db.py:66 +#: assets/models/node.py:467 audits/backends/db.py:68 audits/backends/db.py:69 msgid "empty" msgstr "空" @@ -1999,7 +2003,7 @@ msgid "Public" msgstr "開放的" #: assets/models/platform.py:21 assets/serializers/platform.py:49 -#: settings/serializers/settings.py:95 +#: settings/serializers/settings.py:105 #: users/templates/users/reset_password.html:29 msgid "Setting" msgstr "設置" @@ -2088,7 +2092,7 @@ msgstr "帳號移除方式" msgid "Remove account params" msgstr "帳號移除參數" -#: assets/models/platform.py:97 tickets/models/ticket/general.py:298 +#: assets/models/platform.py:97 tickets/models/ticket/general.py:301 msgid "Meta" msgstr "元數據" @@ -2096,23 +2100,23 @@ msgstr "元數據" msgid "Internal" msgstr "內建" -#: assets/models/platform.py:102 assets/serializers/platform.py:138 +#: assets/models/platform.py:102 assets/serializers/platform.py:131 msgid "Charset" msgstr "編碼" -#: assets/models/platform.py:104 assets/serializers/platform.py:167 +#: assets/models/platform.py:104 assets/serializers/platform.py:160 msgid "Domain enabled" msgstr "啟用網域" -#: assets/models/platform.py:106 assets/serializers/platform.py:166 +#: assets/models/platform.py:106 assets/serializers/platform.py:159 msgid "Su enabled" msgstr "啟用帳號切換" -#: assets/models/platform.py:107 assets/serializers/platform.py:144 +#: assets/models/platform.py:107 assets/serializers/platform.py:137 msgid "Su method" msgstr "帳號切換方式" -#: assets/models/platform.py:108 assets/serializers/platform.py:147 +#: assets/models/platform.py:108 assets/serializers/platform.py:140 msgid "Custom fields" msgstr "自訂屬性" @@ -2127,10 +2131,10 @@ msgid "" "type" msgstr "資產中批次更新平台,不符合平台類型跳過的資產" -#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:134 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 -#: perms/models/asset_permission.py:76 perms/serializers/permission.py:42 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:41 #: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:337 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" @@ -2191,7 +2195,7 @@ msgid "Model" msgstr "型號" #: assets/serializers/asset/info/gathered.py:8 -#: tickets/models/ticket/general.py:297 +#: tickets/models/ticket/general.py:300 msgid "Serial number" msgstr "序號" @@ -2240,7 +2244,7 @@ msgstr "約束" msgid "Types" msgstr "類型" -#: assets/serializers/domain.py:62 perms/serializers/permission.py:188 +#: assets/serializers/domain.py:62 perms/serializers/permission.py:178 msgid "Assets amount" msgstr "資產數量" @@ -2296,19 +2300,19 @@ msgstr "幫助" msgid "Choices" msgstr "選擇" -#: assets/serializers/platform.py:142 +#: assets/serializers/platform.py:135 msgid "Automation" msgstr "自動化" -#: assets/serializers/platform.py:168 +#: assets/serializers/platform.py:161 msgid "Default Domain" msgstr "默認網域" -#: assets/serializers/platform.py:189 +#: assets/serializers/platform.py:182 msgid "type is required" msgstr "類型 該欄位是必填項。" -#: assets/serializers/platform.py:204 +#: assets/serializers/platform.py:197 msgid "Protocols is required" msgstr "協議是必填的" @@ -2386,7 +2390,15 @@ msgstr "日誌審計" msgid "The text content is too long. Use Elasticsearch to store operation logs" msgstr "文字內容太長。請使用 Elasticsearch 儲存操作日誌" -#: audits/backends/db.py:91 +#: audits/backends/db.py:61 +msgid "labels" +msgstr "標籤" + +#: audits/backends/db.py:62 +msgid "operate_log_id" +msgstr "操作日誌ID" + +#: audits/backends/db.py:94 msgid "Tips" msgstr "提示" @@ -2672,7 +2684,7 @@ msgstr "認證令牌" msgid "WeCom" msgstr "企業微信" -#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:97 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 users/models/user.py:762 #: users/models/user.py:872 @@ -2680,13 +2692,13 @@ msgid "FeiShu" msgstr "飛書" #: audits/signal_handlers/login_log.py:40 authentication/views/login.py:101 -#: authentication/views/slack.py:87 notifications/backends/__init__.py:16 +#: authentication/views/slack.py:79 notifications/backends/__init__.py:16 #: settings/serializers/auth/slack.py:10 users/models/user.py:764 #: users/models/user.py:874 msgid "Slack" msgstr "" -#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:161 +#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:153 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:10 users/models/user.py:761 #: users/models/user.py:871 @@ -2958,21 +2970,21 @@ msgstr "手機號碼沒有設置" msgid "SSO auth closed" msgstr "SSO 認證關閉了" -#: authentication/errors/mfa.py:18 authentication/views/wecom.py:59 +#: authentication/errors/mfa.py:18 authentication/views/wecom.py:51 msgid "WeCom is already bound" msgstr "企業微信已經綁定" -#: authentication/errors/mfa.py:23 authentication/views/wecom.py:159 -#: authentication/views/wecom.py:201 +#: authentication/errors/mfa.py:23 authentication/views/wecom.py:151 +#: authentication/views/wecom.py:193 msgid "WeCom is not bound" msgstr "沒有綁定企業微信" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:213 -#: authentication/views/dingtalk.py:255 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 +#: authentication/views/dingtalk.py:247 msgid "DingTalk is not bound" msgstr "釘釘沒有綁定" -#: authentication/errors/mfa.py:33 authentication/views/feishu.py:138 +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:130 msgid "FeiShu is not bound" msgstr "沒有綁定飛書" @@ -2980,7 +2992,7 @@ msgstr "沒有綁定飛書" msgid "Lark is not bound" msgstr "Lark 沒有綁定" -#: authentication/errors/mfa.py:43 authentication/views/slack.py:127 +#: authentication/errors/mfa.py:43 authentication/views/slack.py:119 msgid "Slack is not bound" msgstr "Slack 沒有綁定" @@ -3264,15 +3276,15 @@ msgid "Ticket info" msgstr "工單資訊" #: authentication/serializers/connection_token.py:21 -#: perms/models/asset_permission.py:77 perms/serializers/permission.py:38 -#: perms/serializers/permission.py:59 +#: perms/models/asset_permission.py:77 perms/serializers/permission.py:37 +#: perms/serializers/permission.py:58 #: tickets/models/ticket/apply_application.py:28 #: tickets/models/ticket/apply_asset.py:18 msgid "Actions" msgstr "動作" #: authentication/serializers/connection_token.py:42 -#: perms/serializers/permission.py:40 perms/serializers/permission.py:60 +#: perms/serializers/permission.py:39 perms/serializers/permission.py:59 #: users/serializers/user.py:102 users/serializers/user.py:179 msgid "Is expired" msgstr "已過期" @@ -3286,8 +3298,8 @@ msgstr "{} 不能為空" msgid "Access IP" msgstr "IP 白名單" -#: authentication/serializers/token.py:92 perms/serializers/permission.py:39 -#: perms/serializers/permission.py:61 users/serializers/user.py:103 +#: authentication/serializers/token.py:92 perms/serializers/permission.py:38 +#: perms/serializers/permission.py:60 users/serializers/user.py:103 #: users/serializers/user.py:176 msgid "Is valid" msgstr "是否有效" @@ -3523,22 +3535,22 @@ msgstr "是否重試 ?" msgid "LAN" msgstr "區域網路" -#: authentication/views/base.py:73 +#: authentication/views/base.py:70 #: perms/templates/perms/_msg_permed_items_expire.html:21 msgid "If you have any question, please contact the administrator" msgstr "如果有疑問或需求,請聯絡系統管理員" -#: authentication/views/base.py:146 +#: authentication/views/base.py:140 #, python-format msgid "%s query user failed" msgstr "%s 查詢用戶失敗" -#: authentication/views/base.py:155 +#: authentication/views/base.py:148 #, python-format msgid "The %s is already bound to another user" msgstr "%s 已綁定到另一個用戶" -#: authentication/views/base.py:162 +#: authentication/views/base.py:154 #, python-format msgid "Binding %s successfully" msgstr "綁定 %s 成功" @@ -3547,46 +3559,39 @@ msgstr "綁定 %s 成功" msgid "DingTalk Error, Please contact your system administrator" msgstr "釘釘錯誤,請聯絡系統管理員" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:212 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 msgid "DingTalk Error" 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 "" -"為了您的安全,客戶端不支持自動跳轉登錄。如果需要在客戶端中打開,請重新登錄" - -#: authentication/views/dingtalk.py:61 +#: authentication/views/dingtalk.py:53 msgid "DingTalk is already bound" msgstr "釘釘已經綁定" -#: authentication/views/dingtalk.py:130 +#: authentication/views/dingtalk.py:122 msgid "Invalid user_id" msgstr "無效的 user_id" -#: authentication/views/dingtalk.py:146 +#: authentication/views/dingtalk.py:138 msgid "DingTalk query user failed" msgstr "釘釘查詢用戶失敗" -#: authentication/views/dingtalk.py:155 +#: authentication/views/dingtalk.py:147 msgid "The DingTalk is already bound to another user" msgstr "該釘釘已經綁定其他用戶" -#: authentication/views/dingtalk.py:162 +#: authentication/views/dingtalk.py:154 msgid "Binding DingTalk successfully" msgstr "綁定 釘釘 成功" -#: authentication/views/dingtalk.py:214 authentication/views/dingtalk.py:249 +#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 msgid "Failed to get user from DingTalk" msgstr "從釘釘獲取用戶失敗" -#: authentication/views/dingtalk.py:256 +#: authentication/views/dingtalk.py:248 msgid "Please login with a password and then bind the DingTalk" msgstr "請使用密碼登錄,然後綁定釘釘" -#: authentication/views/feishu.py:43 authentication/views/feishu.py:137 +#: authentication/views/feishu.py:43 authentication/views/feishu.py:129 msgid "FeiShu Error" msgstr "飛書錯誤" @@ -3594,7 +3599,7 @@ msgstr "飛書錯誤" msgid "FeiShu is already bound" msgstr "飛書已經綁定" -#: authentication/views/feishu.py:139 +#: authentication/views/feishu.py:131 msgid "Failed to get user from FeiShu" msgstr "從飛書獲取用戶失敗" @@ -3646,15 +3651,22 @@ msgstr "退出登錄成功" msgid "Logout success, return login page" msgstr "退出登錄成功,返回到登入頁面" -#: authentication/views/slack.py:35 authentication/views/slack.py:126 +#: 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 "" +"為了您的安全,客戶端不支持自動跳轉登錄。如果需要在客戶端中打開,請重新登錄" + +#: authentication/views/slack.py:35 authentication/views/slack.py:118 msgid "Slack Error" msgstr "Slack 錯誤" -#: authentication/views/slack.py:63 +#: authentication/views/slack.py:55 msgid "Slack is already bound" msgstr "Slack 已經綁定" -#: authentication/views/slack.py:128 +#: authentication/views/slack.py:120 msgid "Failed to get user from Slack" msgstr "從 Slack 獲取用戶失敗" @@ -3662,19 +3674,19 @@ msgstr "從 Slack 獲取用戶失敗" msgid "WeCom Error, Please contact your system administrator" msgstr "企業微信錯誤,請聯絡系統管理員" -#: authentication/views/wecom.py:43 authentication/views/wecom.py:158 +#: authentication/views/wecom.py:43 authentication/views/wecom.py:150 msgid "WeCom Error" msgstr "企業微信錯誤" -#: authentication/views/wecom.py:118 +#: authentication/views/wecom.py:110 msgid "Wecom" msgstr "" -#: authentication/views/wecom.py:160 authentication/views/wecom.py:195 +#: authentication/views/wecom.py:152 authentication/views/wecom.py:187 msgid "Failed to get user from WeCom" msgstr "從企業微信獲取用戶失敗" -#: authentication/views/wecom.py:202 +#: authentication/views/wecom.py:194 msgid "Please login with a password and then bind the WeCom" msgstr "請使用密碼登錄,然後綁定企業微信" @@ -3964,7 +3976,7 @@ msgstr "標籤管理" # msgid "Labels" # msgstr "標籤管理" -#: common/tasks.py:31 common/utils/verify_code.py:16 +#: common/tasks.py:31 msgid "Send email" msgstr "發件郵件" @@ -3984,11 +3996,15 @@ msgstr "無效 IP" msgid "Invalid address" msgstr "無效地址" -#: common/utils/translate.py:45 +#: common/utils/translate.py:46 #, python-format msgid "Hello %s" msgstr "你好 %s" +#: common/utils/verify_code.py:16 +msgid "Send SMS code" +msgstr "請輸入簡訊驗證碼" + #: common/validators.py:16 msgid "Special char not allowed" msgstr "不能包含特殊字元" @@ -4454,31 +4470,31 @@ msgstr "花費時間" msgid "You do not have permission for the current job." msgstr "你沒有當前作業的權限。" -#: ops/tasks.py:38 +#: ops/tasks.py:50 msgid "Run ansible task" msgstr "運行 Ansible 任務" -#: ops/tasks.py:72 +#: ops/tasks.py:76 msgid "Run ansible task execution" msgstr "開始執行 Ansible 任務" -#: ops/tasks.py:94 +#: ops/tasks.py:89 msgid "Clear celery periodic tasks" msgstr "清理週期任務" -#: ops/tasks.py:115 +#: ops/tasks.py:110 msgid "Create or update periodic tasks" msgstr "創建或更新週期任務" -#: ops/tasks.py:123 +#: ops/tasks.py:118 msgid "Periodic check service performance" msgstr "週期檢測服務性能" -#: ops/tasks.py:129 +#: ops/tasks.py:124 msgid "Clean up unexpected jobs" msgstr "清理異常作業" -#: ops/tasks.py:136 +#: ops/tasks.py:131 msgid "Clean job_execution db record" msgstr "清理作業中心執行歷史" @@ -4549,7 +4565,7 @@ msgstr "請選擇一個組織後再保存" #: rbac/serializers/rolebinding.py:44 settings/serializers/auth/ldap.py:63 #: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "組織" @@ -4570,7 +4586,7 @@ msgid "SYSTEM" msgstr "系統組織" #: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183 -#: terminal/models/applet/applet.py:41 +#: terminal/models/applet/applet.py:42 msgid "Builtin" msgstr "內建的" @@ -4667,7 +4683,7 @@ msgid "today" msgstr "今天" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:103 msgid "day" msgstr "天" @@ -4687,16 +4703,16 @@ msgstr "資產授權規則將要過期" msgid "asset permissions of organization {}" msgstr "組織 ({}) 的資產授權" -#: perms/serializers/permission.py:186 rbac/serializers/role.py:27 +#: perms/serializers/permission.py:176 rbac/serializers/role.py:27 #: users/serializers/group.py:54 users/serializers/group.py:60 msgid "Users amount" msgstr "用戶數量" -#: perms/serializers/permission.py:187 +#: perms/serializers/permission.py:177 msgid "User groups amount" msgstr "用戶組數量" -#: perms/serializers/permission.py:189 +#: perms/serializers/permission.py:179 msgid "Nodes amount" msgstr "節點數量" @@ -4840,7 +4856,7 @@ msgstr "系統角色綁定" msgid "Perms" msgstr "權限" -#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 +#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:35 #: terminal/models/virtualapp/virtualapp.py:20 msgid "Display name" msgstr "顯示名稱" @@ -4901,8 +4917,8 @@ msgstr "任務中心" msgid "My assets" msgstr "我的資產" -#: rbac/tree.py:58 terminal/models/applet/applet.py:52 -#: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 +#: rbac/tree.py:58 terminal/models/applet/applet.py:53 +#: terminal/models/applet/applet.py:328 terminal/models/applet/host.py:30 #: terminal/serializers/applet.py:15 msgid "Applet" msgstr "遠程應用" @@ -4911,8 +4927,8 @@ msgstr "遠程應用" msgid "Ticket comment" msgstr "工單評論" -#: rbac/tree.py:130 settings/serializers/feature.py:109 -#: tickets/models/ticket/general.py:305 +#: rbac/tree.py:130 settings/serializers/feature.py:94 +#: tickets/models/ticket/general.py:308 msgid "Ticket" msgstr "工單管理" @@ -5646,63 +5662,63 @@ msgstr "" msgid "Chat AI" msgstr "聊天 AI" -#: settings/serializers/feature.py:75 +#: settings/serializers/feature.py:77 msgid "Enable Chat AI" msgstr "啟動聊天 AI" -#: settings/serializers/feature.py:78 +#: settings/serializers/feature.py:80 msgid "Base Url" msgstr "基本地址" -#: settings/serializers/feature.py:81 templates/_header_bar.html:96 +#: settings/serializers/feature.py:83 templates/_header_bar.html:96 msgid "API Key" msgstr "API Key" -#: settings/serializers/feature.py:87 +#: settings/serializers/feature.py:89 msgid "GPT Model" msgstr "GPT 模型" -#: settings/serializers/feature.py:111 +#: settings/serializers/feature.py:96 msgid "Enable tickets" msgstr "啟用工單" -#: settings/serializers/feature.py:112 +#: settings/serializers/feature.py:97 msgid "No login approval" msgstr "免登錄審批" -#: settings/serializers/feature.py:115 +#: settings/serializers/feature.py:100 msgid "Ticket authorize default time" msgstr "默認工單授權時間" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:103 msgid "hour" msgstr "時" -#: settings/serializers/feature.py:119 +#: settings/serializers/feature.py:104 msgid "Ticket authorize default time unit" msgstr "默認工單授權時間單位" -#: settings/serializers/feature.py:124 +#: settings/serializers/feature.py:109 msgid "Feature" msgstr "功能" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:112 msgid "Operation center" msgstr "作業中心" -#: settings/serializers/feature.py:128 +#: settings/serializers/feature.py:113 msgid "Allow user run batch command or not using ansible" msgstr "是否允許用戶使用 ansible 執行批次命令" -#: settings/serializers/feature.py:132 +#: settings/serializers/feature.py:117 msgid "Operation center command blacklist" msgstr "作業中心命令黑名單" -#: settings/serializers/feature.py:133 +#: settings/serializers/feature.py:118 msgid "Commands that are not allowed execute." msgstr "不允許執行的命令" -#: settings/serializers/feature.py:138 +#: settings/serializers/feature.py:123 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5710,7 +5726,7 @@ msgstr "不允許執行的命令" msgid "Virtual app" msgstr "虛擬應用" -#: settings/serializers/feature.py:141 +#: settings/serializers/feature.py:126 msgid "Enable virtual app" msgstr "啟用虛擬應用" @@ -6088,7 +6104,7 @@ msgstr "郵件收件人" msgid "Multiple user using , split" msgstr "多個用戶,使用 , 分割" -#: settings/serializers/settings.py:62 +#: settings/serializers/settings.py:66 #, python-format msgid "[%s] %s" msgstr "[%s] %s" @@ -6666,59 +6682,63 @@ msgstr "不支持批次創建" msgid "Storage is invalid" msgstr "儲存無效" -#: terminal/models/applet/applet.py:30 xpack/plugins/license/models.py:88 +#: terminal/models/applet/applet.py:31 xpack/plugins/license/models.py:88 msgid "Community edition" msgstr "社區版" -#: terminal/models/applet/applet.py:31 +#: terminal/models/applet/applet.py:32 msgid "Enterprise" msgstr "企業版" -#: terminal/models/applet/applet.py:36 +#: terminal/models/applet/applet.py:37 #: terminal/models/virtualapp/virtualapp.py:22 msgid "Author" msgstr "作者" -#: terminal/models/applet/applet.py:38 terminal/serializers/applet.py:31 +#: terminal/models/applet/applet.py:39 terminal/serializers/applet.py:31 msgid "Edition" msgstr "版本" -#: terminal/models/applet/applet.py:43 +#: terminal/models/applet/applet.py:44 msgid "Can concurrent" msgstr "可以並發" -#: terminal/models/applet/applet.py:44 +#: terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "標籤" -#: terminal/models/applet/applet.py:48 terminal/serializers/applet_host.py:167 +#: terminal/models/applet/applet.py:49 terminal/serializers/applet_host.py:167 #: terminal/serializers/storage.py:197 msgid "Hosts" msgstr "主機" -#: terminal/models/applet/applet.py:93 +#: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 無效,缺少文件 {}" -#: terminal/models/applet/applet.py:112 +#: terminal/models/applet/applet.py:113 msgid "Load platform.yml failed: {}" msgstr "載入 platform.yml 失敗: {}" -#: terminal/models/applet/applet.py:115 +#: terminal/models/applet/applet.py:116 msgid "Only support custom platform" msgstr "只支持自訂平台" -#: terminal/models/applet/applet.py:120 +#: terminal/models/applet/applet.py:121 msgid "Missing type in platform.yml" msgstr "在 platform.yml 中缺少類型" -#: terminal/models/applet/applet.py:319 terminal/models/applet/host.py:36 +#: terminal/models/applet/applet.py:330 terminal/models/applet/host.py:36 #: terminal/models/applet/host.py:138 msgid "Hosting" msgstr "宿主機" +#: terminal/models/applet/applet.py:336 +msgid "Applet publication" +msgstr "應用發布" + #: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:69 msgid "Deploy options" msgstr "部署參數" @@ -6751,6 +6771,10 @@ msgstr "使用同名帳號" msgid "Initial" msgstr "初始化" +#: terminal/models/applet/host.py:148 +msgid "Applet host deployment" +msgstr "應用部署" + #: terminal/models/component/endpoint.py:15 msgid "HTTPS port" msgstr "HTTPS 埠" @@ -7492,7 +7516,7 @@ msgstr "沒有埠可以使用,檢查並修改配置文件中 Magnus 監聽的 msgid "All available port count: {}, Already use port count: {}" msgstr "所有可用埠數量:{},已使用埠數量:{}" -#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:286 +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" msgstr "申請人" @@ -7596,7 +7620,7 @@ msgid "Body" msgstr "內容" #: tickets/models/flow.py:19 tickets/models/flow.py:61 -#: tickets/models/ticket/general.py:42 +#: tickets/models/ticket/general.py:45 msgid "Approve level" msgstr "審批級別" @@ -7666,35 +7690,35 @@ msgstr "命令過濾器" msgid "Apply Command Ticket" msgstr "命令覆核工單" -#: tickets/models/ticket/general.py:77 +#: tickets/models/ticket/general.py:80 msgid "Ticket step" msgstr "工單步驟" -#: tickets/models/ticket/general.py:95 +#: tickets/models/ticket/general.py:98 msgid "Ticket assignee" msgstr "工單受理人" -#: tickets/models/ticket/general.py:270 +#: tickets/models/ticket/general.py:273 msgid "Title" msgstr "標題" -#: tickets/models/ticket/general.py:290 +#: tickets/models/ticket/general.py:293 msgid "TicketFlow" msgstr "工單流程" -#: tickets/models/ticket/general.py:293 +#: tickets/models/ticket/general.py:296 msgid "Approval step" msgstr "審批步驟" -#: tickets/models/ticket/general.py:296 +#: tickets/models/ticket/general.py:299 msgid "Relation snapshot" msgstr "工單快照" -#: tickets/models/ticket/general.py:399 +#: tickets/models/ticket/general.py:405 msgid "Please try again" msgstr "請再次嘗試" -#: tickets/models/ticket/general.py:475 +#: tickets/models/ticket/general.py:481 msgid "Super ticket" msgstr "超級工單" @@ -9254,11 +9278,5 @@ msgstr "企業專業版" msgid "Ultimate edition" msgstr "企業旗艦版" -#~ msgid "Please test the connection first" -#~ msgstr "請先測試連接" - -msgid "Store locally" -msgstr "本地儲存" - -msgid "Do not save" -msgstr "不儲存" \ No newline at end of file +#~ msgid "Account history" +#~ msgstr "帳號歷史" diff --git a/apps/settings/serializers/settings.py b/apps/settings/serializers/settings.py index 4706f9740..bb6c04909 100644 --- a/apps/settings/serializers/settings.py +++ b/apps/settings/serializers/settings.py @@ -14,6 +14,10 @@ from .auth import ( ) from .basic import BasicSettingSerializer from .cleaning import CleaningSerializer +from .feature import ( + AnnouncementSettingSerializer, OpsSettingSerializer, VaultSettingSerializer, + TicketSettingSerializer, ChatAISettingSerializer, VirtualAppSerializer +) from .msg import EmailSettingSerializer, EmailContentSettingSerializer from .other import OtherSettingSerializer from .security import SecuritySettingSerializer @@ -90,7 +94,13 @@ class SettingsSerializer( TencentSMSSettingSerializer, CMPP2SMSSettingSerializer, CustomSMSSettingSerializer, - PasskeySettingSerializer + PasskeySettingSerializer, + ChatAISettingSerializer, + AnnouncementSettingSerializer, + OpsSettingSerializer, + VaultSettingSerializer, + TicketSettingSerializer, + VirtualAppSerializer, ): PREFIX_TITLE = _('Setting') CACHE_KEY = 'SETTING_FIELDS_MAPPING' diff --git a/apps/terminal/migrations/0056_auto_20221228_1808.py b/apps/terminal/migrations/0056_auto_20221228_1808.py index c4b5b8a14..675037b89 100644 --- a/apps/terminal/migrations/0056_auto_20221228_1808.py +++ b/apps/terminal/migrations/0056_auto_20221228_1808.py @@ -70,6 +70,7 @@ class Migration(migrations.Migration): to='terminal.applethost', verbose_name='Host')), ], options={ + 'verbose_name': 'Applet publication', 'unique_together': {('applet', 'host')}, }, ), @@ -91,6 +92,7 @@ class Migration(migrations.Migration): verbose_name='Hosting')), ], options={ + 'verbose_name': 'Applet host deployment', 'ordering': ('-date_start',), }, ), @@ -115,11 +117,13 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='appletpublication', name='applet', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='publications', to='terminal.applet', verbose_name='Applet'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='publications', + to='terminal.applet', verbose_name='Applet'), ), migrations.AlterField( model_name='appletpublication', name='host', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='publications', to='terminal.applethost', verbose_name='Host'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='publications', + to='terminal.applethost', verbose_name='Host'), ), ] diff --git a/apps/terminal/models/applet/applet.py b/apps/terminal/models/applet/applet.py index 9317e7663..4d9158688 100644 --- a/apps/terminal/models/applet/applet.py +++ b/apps/terminal/models/applet/applet.py @@ -333,3 +333,4 @@ class AppletPublication(JMSBaseModel): class Meta: unique_together = ('applet', 'host') + verbose_name = _("Applet publication") diff --git a/apps/terminal/models/applet/host.py b/apps/terminal/models/applet/host.py index 7df9efe2f..0259e7640 100644 --- a/apps/terminal/models/applet/host.py +++ b/apps/terminal/models/applet/host.py @@ -145,6 +145,7 @@ class AppletHostDeployment(JMSBaseModel): class Meta: ordering = ('-date_start',) + verbose_name = _("Applet host deployment") def start(self, **kwargs): # 重新初始化部署,applet host 关联的终端需要删除