diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 93428c9b4..7df22facf 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-08 15:32+0800\n" +"POT-Creation-Date: 2024-07-09 16:23+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -123,7 +123,7 @@ msgstr "" #: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:9 #: authentication/confirm/password.py:24 authentication/confirm/password.py:26 #: authentication/forms.py:28 -#: authentication/templates/authentication/login.html:323 +#: authentication/templates/authentication/login.html:362 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:50 #: settings/serializers/msg.py:36 settings/serializers/terminal.py:28 #: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142 @@ -153,7 +153,7 @@ msgstr "" msgid "API key" msgstr "" -#: accounts/const/account.py:14 common/db/fields.py:235 +#: accounts/const/account.py:14 common/db/fields.py:230 #: settings/serializers/terminal.py:14 msgid "All" msgstr "" @@ -174,7 +174,7 @@ msgstr "" msgid "Specified account" msgstr "" -#: accounts/const/account.py:26 users/models/user.py:791 +#: accounts/const/account.py:26 users/models/user.py:792 msgid "Local" msgstr "" @@ -294,7 +294,7 @@ msgstr "" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 #: settings/serializers/msg.py:58 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user.py:902 +#: users/forms/profile.py:108 users/models/user.py:903 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -373,7 +373,7 @@ msgid "Version" msgstr "" #: accounts/models/account.py:57 accounts/serializers/account/account.py:220 -#: users/models/user.py:963 +#: users/models/user.py:964 msgid "Source" msgstr "" @@ -622,7 +622,7 @@ msgstr "" #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 #: terminal/serializers/storage.py:136 users/forms/profile.py:31 -#: users/forms/profile.py:114 users/models/user.py:900 +#: users/forms/profile.py:114 users/models/user.py:901 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -719,7 +719,7 @@ msgstr "" #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: users/forms/profile.py:32 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:901 +#: users/models/preference.py:11 users/models/user.py:902 #: xpack/plugins/cloud/models.py:33 xpack/plugins/cloud/models.py:296 #: xpack/plugins/cloud/serializers/task.py:74 msgid "Name" @@ -944,8 +944,8 @@ msgstr "" #: terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 -#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1124 -#: users/models/user.py:1168 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1125 +#: users/models/user.py:1169 msgid "User" msgstr "" @@ -1032,7 +1032,7 @@ msgstr "" #: 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:935 +#: tickets/models/ticket/general.py:295 users/models/user.py:936 #: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:121 msgid "Comment" msgstr "Description" @@ -1464,7 +1464,7 @@ msgstr "" msgid "Deletion failed and the node contains assets" msgstr "" -#: assets/api/tree.py:49 assets/serializers/node.py:42 +#: assets/api/tree.py:48 assets/serializers/node.py:42 msgid "The same level node name cannot be the same" msgstr "" @@ -1549,7 +1549,7 @@ msgid "Gather facts" msgstr "" #: assets/const/base.py:32 audits/const.py:58 -#: terminal/serializers/applet_host.py:32 users/models/user.py:688 +#: terminal/serializers/applet_host.py:32 users/models/user.py:689 msgid "Disabled" msgstr "" @@ -1559,7 +1559,7 @@ msgstr "" msgid "Basic" msgstr "" -#: assets/const/base.py:34 assets/const/protocol.py:275 +#: assets/const/base.py:34 assets/const/protocol.py:281 #: assets/models/asset/web.py:13 msgid "Script" msgstr "" @@ -1724,38 +1724,48 @@ msgstr "" msgid "The database to authenticate against" msgstr "" -#: assets/const/protocol.py:222 +#: assets/const/protocol.py:215 +#, fuzzy +#| msgid "More login options" +msgid "Connection options" +msgstr "Or" + +#: assets/const/protocol.py:216 +msgid "The connection specific options eg. retryWrites=false&retryReads=false" +msgstr "" + +#: assets/const/protocol.py:228 msgid "Auth username" msgstr "" -#: assets/const/protocol.py:245 +#: assets/const/protocol.py:251 msgid "Safe mode" msgstr "" -#: assets/const/protocol.py:247 +#: assets/const/protocol.py:253 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." msgstr "" -#: assets/const/protocol.py:252 assets/models/asset/web.py:9 +#: assets/const/protocol.py:258 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "" -#: assets/const/protocol.py:260 assets/models/asset/web.py:10 +#: assets/const/protocol.py:266 assets/models/asset/web.py:10 msgid "Username selector" msgstr "" -#: assets/const/protocol.py:265 assets/models/asset/web.py:11 +#: assets/const/protocol.py:271 assets/models/asset/web.py:11 msgid "Password selector" msgstr "" -#: assets/const/protocol.py:270 assets/models/asset/web.py:12 +#: assets/const/protocol.py:276 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "" -#: assets/const/protocol.py:293 +#: assets/const/protocol.py:299 msgid "API mode" msgstr "" @@ -1868,7 +1878,7 @@ msgstr "" #: assets/models/automations/base.py:114 assets/models/cmd_filter.py:41 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:241 -#: users/models/user.py:1171 +#: users/models/user.py:1172 msgid "Date created" msgstr "" @@ -1889,17 +1899,17 @@ msgid "Date verified" msgstr "" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 -#: users/models/group.py:25 users/models/user.py:907 +#: users/models/group.py:25 users/models/user.py:908 msgid "User group" msgstr "" #: assets/models/cmd_filter.py:42 common/db/models.py:35 -#: users/models/user.py:983 +#: users/models/user.py:984 msgid "Date updated" msgstr "" #: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 -#: common/db/models.py:32 users/models/user.py:945 +#: common/db/models.py:32 users/models/user.py:946 #: users/serializers/group.py:32 msgid "Created by" msgstr "" @@ -1936,7 +1946,7 @@ msgstr "" msgid "Gateway" msgstr "" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1150 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1151 msgid "System" msgstr "" @@ -2009,7 +2019,7 @@ msgstr "" #: assets/models/platform.py:38 audits/const.py:59 #: authentication/backends/passkey/models.py:11 settings/models.py:38 -#: terminal/serializers/applet_host.py:33 users/models/user.py:689 +#: terminal/serializers/applet_host.py:33 users/models/user.py:690 msgid "Enabled" msgstr "" @@ -2494,8 +2504,8 @@ msgstr "" msgid "Connect" msgstr "" -#: audits/const.py:30 authentication/templates/authentication/login.html:290 -#: authentication/templates/authentication/login.html:362 +#: audits/const.py:30 authentication/templates/authentication/login.html:329 +#: authentication/templates/authentication/login.html:401 #: templates/_header_bar.html:101 msgid "Login" msgstr "Sign in" @@ -2554,11 +2564,11 @@ msgstr "" msgid "-" msgstr "" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "Yes" msgstr "" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "No" msgstr "" @@ -2645,7 +2655,7 @@ msgstr "" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:63 users/models/user.py:923 +#: users/forms/profile.py:63 users/models/user.py:924 #: users/serializers/profile.py:97 msgid "MFA" msgstr "" @@ -2703,7 +2713,7 @@ msgstr "" #: audits/serializers.py:172 authentication/models/connection_token.py:47 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 #: tickets/models/ticket/apply_application.py:31 -#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:942 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:943 msgid "Date expired" msgstr "" @@ -2737,29 +2747,29 @@ msgstr "" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:78 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:798 users/models/user.py:966 +#: users/models/user.py:799 users/models/user.py:967 msgid "WeCom" msgstr "" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 #: authentication/views/login.py:90 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:12 users/models/user.py:800 -#: users/models/user.py:972 +#: settings/serializers/auth/feishu.py:12 users/models/user.py:801 +#: users/models/user.py:973 msgid "FeiShu" msgstr "" #: audits/signal_handlers/login_log.py:40 authentication/views/login.py:102 #: authentication/views/slack.py:87 notifications/backends/__init__.py:16 #: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 -#: users/models/user.py:802 users/models/user.py:978 +#: users/models/user.py:803 users/models/user.py:979 msgid "Slack" msgstr "" #: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:159 #: authentication/views/login.py:84 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:799 -#: users/models/user.py:969 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:800 +#: users/models/user.py:970 msgid "DingTalk" msgstr "" @@ -2839,7 +2849,7 @@ msgid "" msgstr "" #: authentication/api/password.py:65 -#: authentication/templates/authentication/login.html:354 +#: authentication/templates/authentication/login.html:393 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 #: users/templates/users/forgot_password_previewing.html:13 @@ -3541,17 +3551,17 @@ msgstr "" msgid "Cancel" msgstr "" -#: authentication/templates/authentication/login.html:270 +#: authentication/templates/authentication/login.html:308 msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" msgstr "" -#: authentication/templates/authentication/login.html:271 +#: authentication/templates/authentication/login.html:309 msgid "If you are administrator, you can update the config resolve it, set" msgstr "" -#: authentication/templates/authentication/login.html:369 +#: authentication/templates/authentication/login.html:408 msgid "More login options" msgstr "Or" @@ -3792,62 +3802,62 @@ msgstr "" msgid "gettext_lazy" msgstr "" -#: common/db/fields.py:106 +#: common/db/fields.py:105 msgid "Marshal dict data to char field" msgstr "" -#: common/db/fields.py:110 +#: common/db/fields.py:109 msgid "Marshal dict data to text field" msgstr "" -#: common/db/fields.py:122 +#: common/db/fields.py:121 msgid "Marshal list data to char field" msgstr "" -#: common/db/fields.py:126 +#: common/db/fields.py:125 msgid "Marshal list data to text field" msgstr "" -#: common/db/fields.py:130 +#: common/db/fields.py:129 msgid "Marshal data to char field" msgstr "" -#: common/db/fields.py:134 +#: common/db/fields.py:133 msgid "Marshal data to text field" msgstr "" -#: common/db/fields.py:167 +#: common/db/fields.py:166 msgid "Encrypt field using Secret Key" msgstr "" -#: common/db/fields.py:582 +#: common/db/fields.py:577 msgid "" "Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " "{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -#: common/db/fields.py:589 +#: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" msgstr "" -#: common/db/fields.py:592 +#: common/db/fields.py:587 msgid "Invalid ids for ids, should be a list" msgstr "" -#: common/db/fields.py:594 common/db/fields.py:599 -#: common/serializers/fields.py:147 tickets/serializers/ticket/common.py:58 +#: common/db/fields.py:589 common/db/fields.py:594 +#: common/serializers/fields.py:144 tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:56 #: xpack/plugins/cloud/serializers/account_attrs.py:79 #: xpack/plugins/cloud/serializers/account_attrs.py:150 msgid "This field is required." msgstr "" -#: common/db/fields.py:597 common/db/fields.py:602 +#: common/db/fields.py:592 common/db/fields.py:597 msgid "Invalid attrs, should be a list of dict" msgstr "" -#: common/db/fields.py:604 +#: common/db/fields.py:599 msgid "Invalid attrs, should be has name and value" msgstr "" @@ -3859,7 +3869,7 @@ msgstr "" msgid "discard time" msgstr "" -#: common/db/models.py:33 users/models/user.py:948 +#: common/db/models.py:33 users/models/user.py:949 msgid "Updated by" msgstr "" @@ -4017,25 +4027,25 @@ msgstr "" msgid "File" msgstr "" -#: common/serializers/fields.py:140 +#: common/serializers/fields.py:137 msgid "Invalid data type" msgstr "" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:145 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "" -#: common/serializers/fields.py:149 +#: common/serializers/fields.py:146 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "" -#: common/serializers/fields.py:223 +#: common/serializers/fields.py:220 msgid "Invalid data type, should be list" msgstr "" -#: common/serializers/fields.py:238 +#: common/serializers/fields.py:235 msgid "Invalid choice: {}" msgstr "" @@ -4204,34 +4214,34 @@ msgstr "" msgid "Task {} args or kwargs error" msgstr "" -#: ops/api/job.py:82 +#: ops/api/job.py:83 #, python-brace-format msgid "" "Asset ({asset}) must have at least one of the following protocols added: " "SSH, SFTP, or WinRM" msgstr "" -#: ops/api/job.py:83 +#: ops/api/job.py:84 #, python-brace-format msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" msgstr "" -#: ops/api/job.py:84 +#: ops/api/job.py:85 #, python-brace-format msgid "Asset ({asset}) authorization lacks upload permissions" msgstr "" -#: ops/api/job.py:169 +#: ops/api/job.py:170 msgid "Duplicate file exists" msgstr "" -#: ops/api/job.py:174 +#: ops/api/job.py:175 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" msgstr "" -#: ops/api/job.py:238 +#: ops/api/job.py:244 msgid "" "The task is being created and cannot be interrupted. Please try again later." msgstr "" @@ -4364,6 +4374,10 @@ msgstr "" msgid "Timeout" msgstr "" +#: ops/const.py:82 +msgid "Command execution disabled" +msgstr "" + #: ops/exception.py:6 msgid "no valid program entry found." msgstr "" @@ -4931,7 +4945,7 @@ msgid "Scope" msgstr "" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:910 +#: users/models/user.py:911 msgid "Role" msgstr "" @@ -5319,7 +5333,7 @@ msgstr "" msgid "Dingtalk" msgstr "" -#: settings/serializers/auth/lark.py:12 users/models/user.py:801 +#: settings/serializers/auth/lark.py:12 users/models/user.py:802 msgid "Lark" msgstr "" @@ -5635,7 +5649,7 @@ msgstr "" msgid "Template code" msgstr "" -#: settings/serializers/auth/sms.py:40 users/models/user.py:920 +#: settings/serializers/auth/sms.py:40 users/models/user.py:921 #: users/serializers/user.py:155 msgid "Phone" msgstr "" @@ -6275,7 +6289,7 @@ msgid "" msgstr "" #: settings/serializers/terminal.py:34 users/forms/profile.py:172 -#: users/models/user.py:933 +#: users/models/user.py:934 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "" @@ -7435,7 +7449,7 @@ msgstr "" msgid "HOST" msgstr "" -#: terminal/serializers/storage.py:146 users/models/user.py:930 +#: terminal/serializers/storage.py:146 users/models/user.py:931 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "" @@ -8165,68 +8179,68 @@ msgstr "" msgid "Preference" msgstr "" -#: users/models/user.py:690 +#: users/models/user.py:691 msgid "Force enabled" msgstr "" -#: users/models/user.py:913 users/serializers/user.py:271 +#: users/models/user.py:914 users/serializers/user.py:271 msgid "Is service account" msgstr "Is service account" -#: users/models/user.py:915 +#: users/models/user.py:916 msgid "Avatar" msgstr "" -#: users/models/user.py:917 +#: users/models/user.py:918 msgid "Wechat" msgstr "" -#: users/models/user.py:926 +#: users/models/user.py:927 msgid "OTP secret key" msgstr "" -#: users/models/user.py:936 users/serializers/profile.py:124 +#: users/models/user.py:937 users/serializers/profile.py:124 #: users/serializers/user.py:268 msgid "Is first login" msgstr "First login" -#: users/models/user.py:954 +#: users/models/user.py:955 msgid "Date password last updated" msgstr "Password updated" -#: users/models/user.py:957 +#: users/models/user.py:958 msgid "Need update password" msgstr "" -#: users/models/user.py:981 +#: users/models/user.py:982 msgid "Date api key used" msgstr "" -#: users/models/user.py:1119 +#: users/models/user.py:1120 msgid "Can not delete admin user" msgstr "" -#: users/models/user.py:1133 +#: users/models/user.py:1134 msgid "Can invite user" msgstr "" -#: users/models/user.py:1134 +#: users/models/user.py:1135 msgid "Can remove user" msgstr "" -#: users/models/user.py:1135 +#: users/models/user.py:1136 msgid "Can match user" msgstr "" -#: users/models/user.py:1146 +#: users/models/user.py:1147 msgid "Administrator" msgstr "" -#: users/models/user.py:1149 +#: users/models/user.py:1150 msgid "Administrator is the super user of system" msgstr "" -#: users/models/user.py:1181 +#: users/models/user.py:1182 msgid "User password history" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index ae7846d85..d28089be7 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-08 15:32+0800\n" +"POT-Creation-Date: 2024-07-09 16:23+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -123,7 +123,7 @@ msgstr "成功: %s、失敗: %s、合計: %s" #: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:9 #: authentication/confirm/password.py:24 authentication/confirm/password.py:26 #: authentication/forms.py:28 -#: authentication/templates/authentication/login.html:323 +#: authentication/templates/authentication/login.html:362 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:50 #: settings/serializers/msg.py:36 settings/serializers/terminal.py:28 #: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142 @@ -153,7 +153,7 @@ msgstr "トークン" msgid "API key" msgstr "API key" -#: accounts/const/account.py:14 common/db/fields.py:235 +#: accounts/const/account.py:14 common/db/fields.py:230 #: settings/serializers/terminal.py:14 msgid "All" msgstr "すべて" @@ -174,7 +174,7 @@ msgstr "匿名ユーザー" msgid "Specified account" msgstr "特定のアカウント" -#: accounts/const/account.py:26 users/models/user.py:791 +#: accounts/const/account.py:26 users/models/user.py:792 msgid "Local" msgstr "ローカル" @@ -294,7 +294,7 @@ msgstr "作成のみ" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 #: settings/serializers/msg.py:58 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user.py:902 +#: users/forms/profile.py:108 users/models/user.py:903 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -373,7 +373,7 @@ msgid "Version" msgstr "バージョン" #: accounts/models/account.py:57 accounts/serializers/account/account.py:220 -#: users/models/user.py:963 +#: users/models/user.py:964 msgid "Source" msgstr "ソース" @@ -622,7 +622,7 @@ msgstr "最終ログイン日" #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 #: terminal/serializers/storage.py:136 users/forms/profile.py:31 -#: users/forms/profile.py:114 users/models/user.py:900 +#: users/forms/profile.py:114 users/models/user.py:901 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -719,7 +719,7 @@ msgstr "パスワードルール" #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: users/forms/profile.py:32 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:901 +#: users/models/preference.py:11 users/models/user.py:902 #: xpack/plugins/cloud/models.py:33 xpack/plugins/cloud/models.py:296 #: xpack/plugins/cloud/serializers/task.py:74 msgid "Name" @@ -954,8 +954,8 @@ msgstr "ID" #: terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 -#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1124 -#: users/models/user.py:1168 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1125 +#: users/models/user.py:1169 msgid "User" msgstr "ユーザー" @@ -1044,7 +1044,7 @@ msgstr "关联平台,可以配置推送参数,如果不关联,则使用默 #: 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:935 +#: tickets/models/ticket/general.py:295 users/models/user.py:936 #: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:121 msgid "Comment" msgstr "コメント" @@ -1492,7 +1492,7 @@ msgstr "ルートノード ({}) を削除できません。" msgid "Deletion failed and the node contains assets" msgstr "削除に失敗し、ノードにアセットが含まれています。" -#: assets/api/tree.py:49 assets/serializers/node.py:42 +#: assets/api/tree.py:48 assets/serializers/node.py:42 msgid "The same level node name cannot be the same" msgstr "同じレベルのノード名を同じにすることはできません。" @@ -1577,7 +1577,7 @@ msgid "Gather facts" msgstr "資産情報の収集" #: assets/const/base.py:32 audits/const.py:58 -#: terminal/serializers/applet_host.py:32 users/models/user.py:688 +#: terminal/serializers/applet_host.py:32 users/models/user.py:689 msgid "Disabled" msgstr "無効" @@ -1587,7 +1587,7 @@ msgstr "無効" msgid "Basic" msgstr "基本" -#: assets/const/base.py:34 assets/const/protocol.py:275 +#: assets/const/base.py:34 assets/const/protocol.py:281 #: assets/models/asset/web.py:13 msgid "Script" msgstr "脚本" @@ -1755,15 +1755,25 @@ msgstr "認証データベース" msgid "The database to authenticate against" msgstr "認証するデータベース" -#: assets/const/protocol.py:222 +#: assets/const/protocol.py:215 +#, fuzzy +#| msgid "Connect options" +msgid "Connection options" +msgstr "接続アイテム" + +#: assets/const/protocol.py:216 +msgid "The connection specific options eg. retryWrites=false&retryReads=false" +msgstr "" + +#: assets/const/protocol.py:228 msgid "Auth username" msgstr "ユーザー名で認証する" -#: assets/const/protocol.py:245 +#: assets/const/protocol.py:251 msgid "Safe mode" msgstr "安全モード" -#: assets/const/protocol.py:247 +#: assets/const/protocol.py:253 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." @@ -1771,24 +1781,24 @@ msgstr "" "安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへ" "のアクセスなど、一部の操作が無効になります" -#: assets/const/protocol.py:252 assets/models/asset/web.py:9 +#: assets/const/protocol.py:258 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自動充填" -#: assets/const/protocol.py:260 assets/models/asset/web.py:10 +#: assets/const/protocol.py:266 assets/models/asset/web.py:10 msgid "Username selector" msgstr "ユーザー名ピッカー" -#: assets/const/protocol.py:265 assets/models/asset/web.py:11 +#: assets/const/protocol.py:271 assets/models/asset/web.py:11 msgid "Password selector" msgstr "パスワードセレクター" -#: assets/const/protocol.py:270 assets/models/asset/web.py:12 +#: assets/const/protocol.py:276 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "ボタンセレクターを確認する" -#: assets/const/protocol.py:293 +#: assets/const/protocol.py:299 msgid "API mode" msgstr "APIモード" @@ -1901,7 +1911,7 @@ msgstr "アセットの自動化タスク" #: assets/models/automations/base.py:114 assets/models/cmd_filter.py:41 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:241 -#: users/models/user.py:1171 +#: users/models/user.py:1172 msgid "Date created" msgstr "作成された日付" @@ -1922,17 +1932,17 @@ msgid "Date verified" msgstr "確認済みの日付" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 -#: users/models/group.py:25 users/models/user.py:907 +#: users/models/group.py:25 users/models/user.py:908 msgid "User group" msgstr "ユーザーグループ" #: assets/models/cmd_filter.py:42 common/db/models.py:35 -#: users/models/user.py:983 +#: users/models/user.py:984 msgid "Date updated" msgstr "更新日" #: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 -#: common/db/models.py:32 users/models/user.py:945 +#: common/db/models.py:32 users/models/user.py:946 #: users/serializers/group.py:32 msgid "Created by" msgstr "によって作成された" @@ -1969,7 +1979,7 @@ msgstr "お気に入りのアセット" msgid "Gateway" msgstr "ゲートウェイ" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1150 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1151 msgid "System" msgstr "システム" @@ -2042,7 +2052,7 @@ msgstr "設定" #: assets/models/platform.py:38 audits/const.py:59 #: authentication/backends/passkey/models.py:11 settings/models.py:38 -#: terminal/serializers/applet_host.py:33 users/models/user.py:689 +#: terminal/serializers/applet_host.py:33 users/models/user.py:690 msgid "Enabled" msgstr "有効化" @@ -2543,8 +2553,8 @@ msgstr "作成" msgid "Connect" msgstr "接続" -#: audits/const.py:30 authentication/templates/authentication/login.html:290 -#: authentication/templates/authentication/login.html:362 +#: audits/const.py:30 authentication/templates/authentication/login.html:329 +#: authentication/templates/authentication/login.html:401 #: templates/_header_bar.html:101 msgid "Login" msgstr "ログイン" @@ -2603,11 +2613,11 @@ msgstr "タスク" msgid "-" msgstr "-" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "Yes" msgstr "是" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "No" msgstr "否" @@ -2694,7 +2704,7 @@ msgstr "ログインIP" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:63 users/models/user.py:923 +#: users/forms/profile.py:63 users/models/user.py:924 #: users/serializers/profile.py:97 msgid "MFA" msgstr "MFA" @@ -2752,7 +2762,7 @@ msgstr "ユーザー %s %s が現在のリソースをサブスクライブし #: audits/serializers.py:172 authentication/models/connection_token.py:47 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 #: tickets/models/ticket/apply_application.py:31 -#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:942 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:943 msgid "Date expired" msgstr "期限切れの日付" @@ -2786,29 +2796,29 @@ msgstr "認証トークン" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:78 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:798 users/models/user.py:966 +#: users/models/user.py:799 users/models/user.py:967 msgid "WeCom" msgstr "企業微信" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 #: authentication/views/login.py:90 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:12 users/models/user.py:800 -#: users/models/user.py:972 +#: settings/serializers/auth/feishu.py:12 users/models/user.py:801 +#: users/models/user.py:973 msgid "FeiShu" msgstr "本を飛ばす" #: audits/signal_handlers/login_log.py:40 authentication/views/login.py:102 #: authentication/views/slack.py:87 notifications/backends/__init__.py:16 #: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 -#: users/models/user.py:802 users/models/user.py:978 +#: users/models/user.py:803 users/models/user.py:979 msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:159 #: authentication/views/login.py:84 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:799 -#: users/models/user.py:969 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:800 +#: users/models/user.py:970 msgid "DingTalk" msgstr "DingTalk" @@ -2892,7 +2902,7 @@ msgstr "" "さい。" #: authentication/api/password.py:65 -#: authentication/templates/authentication/login.html:354 +#: authentication/templates/authentication/login.html:393 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 #: users/templates/users/forgot_password_previewing.html:13 @@ -3616,7 +3626,7 @@ msgstr "" msgid "Cancel" msgstr "キャンセル" -#: authentication/templates/authentication/login.html:270 +#: authentication/templates/authentication/login.html:308 msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" @@ -3624,11 +3634,11 @@ msgstr "" "設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のド" "キュメントを参照してください。" -#: authentication/templates/authentication/login.html:271 +#: authentication/templates/authentication/login.html:309 msgid "If you are administrator, you can update the config resolve it, set" msgstr "管理者の場合は、configを更新して解決することができます。" -#: authentication/templates/authentication/login.html:369 +#: authentication/templates/authentication/login.html:408 msgid "More login options" msgstr "その他のログインオプション" @@ -3873,35 +3883,35 @@ msgstr "%(name)s は正常に更新されました" msgid "gettext_lazy" msgstr "gettext_lazy" -#: common/db/fields.py:106 +#: common/db/fields.py:105 msgid "Marshal dict data to char field" msgstr "チャーフィールドへのマーシャルディクトデータ" -#: common/db/fields.py:110 +#: common/db/fields.py:109 msgid "Marshal dict data to text field" msgstr "テキストフィールドへのマーシャルディクトデータ" -#: common/db/fields.py:122 +#: common/db/fields.py:121 msgid "Marshal list data to char field" msgstr "元帥リストデータをチャーフィールドに" -#: common/db/fields.py:126 +#: common/db/fields.py:125 msgid "Marshal list data to text field" msgstr "マーシャルリストデータをテキストフィールドに" -#: common/db/fields.py:130 +#: common/db/fields.py:129 msgid "Marshal data to char field" msgstr "チャーフィールドへのマーシャルデータ" -#: common/db/fields.py:134 +#: common/db/fields.py:133 msgid "Marshal data to text field" msgstr "テキストフィールドへのマーシャルデータ" -#: common/db/fields.py:167 +#: common/db/fields.py:166 msgid "Encrypt field using Secret Key" msgstr "Secret Keyを使用したフィールドの暗号化" -#: common/db/fields.py:582 +#: common/db/fields.py:577 msgid "" "Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " "{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " @@ -3911,27 +3921,27 @@ msgstr "" "{'type':'ids','ids':[]}或 #タイプ:属性、属性:[#名前:ip、照合:正確、" "値:1.1.1.1}" -#: common/db/fields.py:589 +#: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" msgstr "無効なタイプです。all、ids、またはattrsでなければなりません" -#: common/db/fields.py:592 +#: common/db/fields.py:587 msgid "Invalid ids for ids, should be a list" msgstr "無効なID、リストでなければなりません" -#: common/db/fields.py:594 common/db/fields.py:599 -#: common/serializers/fields.py:147 tickets/serializers/ticket/common.py:58 +#: common/db/fields.py:589 common/db/fields.py:594 +#: common/serializers/fields.py:144 tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:56 #: xpack/plugins/cloud/serializers/account_attrs.py:79 #: xpack/plugins/cloud/serializers/account_attrs.py:150 msgid "This field is required." msgstr "このフィールドは必須です。" -#: common/db/fields.py:597 common/db/fields.py:602 +#: common/db/fields.py:592 common/db/fields.py:597 msgid "Invalid attrs, should be a list of dict" msgstr "無効な属性、dictリストでなければなりません" -#: common/db/fields.py:604 +#: common/db/fields.py:599 msgid "Invalid attrs, should be has name and value" msgstr "名前と値が必要な無効な属性" @@ -3943,7 +3953,7 @@ msgstr "は破棄されます" msgid "discard time" msgstr "時間を捨てる" -#: common/db/models.py:33 users/models/user.py:948 +#: common/db/models.py:33 users/models/user.py:949 msgid "Updated by" msgstr "によって更新" @@ -4105,25 +4115,25 @@ msgstr "ノード" msgid "File" msgstr "書類" -#: common/serializers/fields.py:140 +#: common/serializers/fields.py:137 msgid "Invalid data type" msgstr "無効なデータ" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:145 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "無効な pk \"{pk_value}\" - オブジェクトが存在しません" -#: common/serializers/fields.py:149 +#: common/serializers/fields.py:146 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "エラータイプ。 予想される pk 値、受信 {data_type}。" -#: common/serializers/fields.py:223 +#: common/serializers/fields.py:220 msgid "Invalid data type, should be list" msgstr "間違ったデータ タイプです。リストにする必要があります" -#: common/serializers/fields.py:238 +#: common/serializers/fields.py:235 msgid "Invalid choice: {}" msgstr "無効なオプション: {}" @@ -4302,7 +4312,7 @@ msgstr "タスクは存在しません" msgid "Task {} args or kwargs error" msgstr "タスク実行パラメータエラー" -#: ops/api/job.py:82 +#: ops/api/job.py:83 #, python-brace-format msgid "" "Asset ({asset}) must have at least one of the following protocols added: " @@ -4311,22 +4321,22 @@ msgstr "" "資産({asset})には、少なくともSSH、SFTP、WinRMのいずれか一つのプロトコルを追加" "する必要があります" -#: ops/api/job.py:83 +#: ops/api/job.py:84 #, python-brace-format msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" msgstr "" "資産({asset})の認証にはSSH、SFTP、またはWinRMプロトコルが不足しています" -#: ops/api/job.py:84 +#: ops/api/job.py:85 #, python-brace-format msgid "Asset ({asset}) authorization lacks upload permissions" msgstr "資産({asset})の認証にはアップロード権限が不足しています" -#: ops/api/job.py:169 +#: ops/api/job.py:170 msgid "Duplicate file exists" msgstr "重複したファイルが存在する" -#: ops/api/job.py:174 +#: ops/api/job.py:175 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" @@ -4334,7 +4344,7 @@ msgstr "" "ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択し" "てください。" -#: ops/api/job.py:238 +#: ops/api/job.py:244 msgid "" "The task is being created and cannot be interrupted. Please try again later." msgstr "タスクを作成中で、中断できません。後でもう一度お試しください。" @@ -4467,6 +4477,10 @@ msgstr "Oracle" msgid "Timeout" msgstr "タイムアウト" +#: ops/const.py:82 +msgid "Command execution disabled" +msgstr "コマンド実行が無効" + #: ops/exception.py:6 msgid "no valid program entry found." msgstr "利用可能なプログラムポータルがありません" @@ -5038,7 +5052,7 @@ msgid "Scope" msgstr "スコープ" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:910 +#: users/models/user.py:911 msgid "Role" msgstr "ロール" @@ -5438,7 +5452,7 @@ msgstr "" msgid "Dingtalk" msgstr "ピン認証の有効化" -#: settings/serializers/auth/lark.py:12 users/models/user.py:801 +#: settings/serializers/auth/lark.py:12 users/models/user.py:802 msgid "Lark" msgstr "Lark認証を有効にする" @@ -5773,7 +5787,7 @@ msgstr "署名" msgid "Template code" msgstr "テンプレートコード" -#: settings/serializers/auth/sms.py:40 users/models/user.py:920 +#: settings/serializers/auth/sms.py:40 users/models/user.py:921 #: users/serializers/user.py:155 msgid "Phone" msgstr "電話" @@ -6475,7 +6489,7 @@ msgstr "" "する" #: settings/serializers/terminal.py:34 users/forms/profile.py:172 -#: users/models/user.py:933 +#: users/models/user.py:934 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "公開キー" @@ -7704,7 +7718,7 @@ msgstr "エンドポイントサフィックス" msgid "HOST" msgstr "ホスト" -#: terminal/serializers/storage.py:146 users/models/user.py:930 +#: terminal/serializers/storage.py:146 users/models/user.py:931 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "ssh秘密鍵" @@ -8452,70 +8466,70 @@ msgstr "有効なssh公開鍵ではありません" msgid "Preference" msgstr "ユーザー設定" -#: users/models/user.py:690 +#: users/models/user.py:691 msgid "Force enabled" msgstr "強制有効" -#: users/models/user.py:913 users/serializers/user.py:271 +#: users/models/user.py:914 users/serializers/user.py:271 msgid "Is service account" msgstr "サービスアカウントです" -#: users/models/user.py:915 +#: users/models/user.py:916 msgid "Avatar" msgstr "アバター" -#: users/models/user.py:917 +#: users/models/user.py:918 msgid "Wechat" msgstr "微信" -#: users/models/user.py:926 +#: users/models/user.py:927 msgid "OTP secret key" msgstr "OTP 秘密" # msgid "Private key" # msgstr "ssh秘密鍵" -#: users/models/user.py:936 users/serializers/profile.py:124 +#: users/models/user.py:937 users/serializers/profile.py:124 #: users/serializers/user.py:268 msgid "Is first login" msgstr "最初のログインです" -#: users/models/user.py:954 +#: users/models/user.py:955 msgid "Date password last updated" msgstr "最終更新日パスワード" -#: users/models/user.py:957 +#: users/models/user.py:958 msgid "Need update password" msgstr "更新パスワードが必要" -#: users/models/user.py:981 +#: users/models/user.py:982 msgid "Date api key used" msgstr "API key 最後に使用した日付" -#: users/models/user.py:1119 +#: users/models/user.py:1120 msgid "Can not delete admin user" msgstr "管理者ユーザーを削除できませんでした" -#: users/models/user.py:1133 +#: users/models/user.py:1134 msgid "Can invite user" msgstr "ユーザーを招待できます" -#: users/models/user.py:1134 +#: users/models/user.py:1135 msgid "Can remove user" msgstr "ユーザーを削除できます" -#: users/models/user.py:1135 +#: users/models/user.py:1136 msgid "Can match user" msgstr "ユーザーに一致できます" -#: users/models/user.py:1146 +#: users/models/user.py:1147 msgid "Administrator" msgstr "管理者" -#: users/models/user.py:1149 +#: users/models/user.py:1150 msgid "Administrator is the super user of system" msgstr "管理者はシステムのスーパーユーザーです" -#: users/models/user.py:1181 +#: users/models/user.py:1182 msgid "User password history" msgstr "ユーザーパスワード履歴" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 7d7615ef9..a60295b6f 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/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-08 15:32+0800\n" +"POT-Creation-Date: 2024-07-09 16:23+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -122,7 +122,7 @@ msgstr "成功: %s, 失败: %s, 总数: %s" #: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:9 #: authentication/confirm/password.py:24 authentication/confirm/password.py:26 #: authentication/forms.py:28 -#: authentication/templates/authentication/login.html:323 +#: authentication/templates/authentication/login.html:362 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:50 #: settings/serializers/msg.py:36 settings/serializers/terminal.py:28 #: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142 @@ -152,7 +152,7 @@ msgstr "令牌" msgid "API key" msgstr "API key" -#: accounts/const/account.py:14 common/db/fields.py:235 +#: accounts/const/account.py:14 common/db/fields.py:230 #: settings/serializers/terminal.py:14 msgid "All" msgstr "全部" @@ -173,7 +173,7 @@ msgstr "匿名账号" msgid "Specified account" msgstr "指定账号" -#: accounts/const/account.py:26 users/models/user.py:791 +#: accounts/const/account.py:26 users/models/user.py:792 msgid "Local" msgstr "数据库" @@ -293,7 +293,7 @@ msgstr "仅创建" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 #: settings/serializers/msg.py:58 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user.py:902 +#: users/forms/profile.py:108 users/models/user.py:903 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -372,7 +372,7 @@ msgid "Version" msgstr "版本" #: accounts/models/account.py:57 accounts/serializers/account/account.py:220 -#: users/models/user.py:963 +#: users/models/user.py:964 msgid "Source" msgstr "来源" @@ -621,7 +621,7 @@ msgstr "最后登录日期" #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 #: terminal/serializers/storage.py:136 users/forms/profile.py:31 -#: users/forms/profile.py:114 users/models/user.py:900 +#: users/forms/profile.py:114 users/models/user.py:901 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -718,7 +718,7 @@ msgstr "密码规则" #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: users/forms/profile.py:32 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:901 +#: users/models/preference.py:11 users/models/user.py:902 #: xpack/plugins/cloud/models.py:33 xpack/plugins/cloud/models.py:296 #: xpack/plugins/cloud/serializers/task.py:74 msgid "Name" @@ -952,8 +952,8 @@ msgstr "ID" #: terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 -#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1124 -#: users/models/user.py:1168 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1125 +#: users/models/user.py:1169 msgid "User" msgstr "用户" @@ -1042,7 +1042,7 @@ msgstr "关联平台,可配置推送参数,如果不关联,将使用默认 #: 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:935 +#: tickets/models/ticket/general.py:295 users/models/user.py:936 #: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:121 msgid "Comment" msgstr "备注" @@ -1481,7 +1481,7 @@ msgstr "不能删除根节点 ({})" msgid "Deletion failed and the node contains assets" msgstr "删除失败,节点包含资产" -#: assets/api/tree.py:49 assets/serializers/node.py:42 +#: assets/api/tree.py:48 assets/serializers/node.py:42 msgid "The same level node name cannot be the same" msgstr "同级别节点名字不能重复" @@ -1566,7 +1566,7 @@ msgid "Gather facts" msgstr "收集资产信息" #: assets/const/base.py:32 audits/const.py:58 -#: terminal/serializers/applet_host.py:32 users/models/user.py:688 +#: terminal/serializers/applet_host.py:32 users/models/user.py:689 msgid "Disabled" msgstr "禁用" @@ -1576,7 +1576,7 @@ msgstr "禁用" msgid "Basic" msgstr "基本" -#: assets/const/base.py:34 assets/const/protocol.py:275 +#: assets/const/base.py:34 assets/const/protocol.py:281 #: assets/models/asset/web.py:13 msgid "Script" msgstr "脚本" @@ -1743,39 +1743,49 @@ msgstr "认证数据库" msgid "The database to authenticate against" msgstr "要进行身份验证的数据库" -#: assets/const/protocol.py:222 +#: assets/const/protocol.py:215 +#, fuzzy +#| msgid "Connect options" +msgid "Connection options" +msgstr "连接项" + +#: assets/const/protocol.py:216 +msgid "The connection specific options eg. retryWrites=false&retryReads=false" +msgstr "" + +#: assets/const/protocol.py:228 msgid "Auth username" msgstr "使用用户名认证" -#: assets/const/protocol.py:245 +#: assets/const/protocol.py:251 msgid "Safe mode" msgstr "安全模式" -#: assets/const/protocol.py:247 +#: assets/const/protocol.py:253 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." msgstr "" "当安全模式启用时,一些操作将被禁用,例如:新建标签页、右键、访问其它网站 等" -#: assets/const/protocol.py:252 assets/models/asset/web.py:9 +#: assets/const/protocol.py:258 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自动代填" -#: assets/const/protocol.py:260 assets/models/asset/web.py:10 +#: assets/const/protocol.py:266 assets/models/asset/web.py:10 msgid "Username selector" msgstr "用户名选择器" -#: assets/const/protocol.py:265 assets/models/asset/web.py:11 +#: assets/const/protocol.py:271 assets/models/asset/web.py:11 msgid "Password selector" msgstr "密码选择器" -#: assets/const/protocol.py:270 assets/models/asset/web.py:12 +#: assets/const/protocol.py:276 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "确认按钮选择器" -#: assets/const/protocol.py:293 +#: assets/const/protocol.py:299 msgid "API mode" msgstr "API 模式" @@ -1890,7 +1900,7 @@ msgstr "资产自动化任务" # msgstr "备注" #: assets/models/automations/base.py:114 assets/models/cmd_filter.py:41 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:241 -#: users/models/user.py:1171 +#: users/models/user.py:1172 msgid "Date created" msgstr "创建日期" @@ -1911,17 +1921,17 @@ msgid "Date verified" msgstr "校验日期" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 -#: users/models/group.py:25 users/models/user.py:907 +#: users/models/group.py:25 users/models/user.py:908 msgid "User group" msgstr "用户组" #: assets/models/cmd_filter.py:42 common/db/models.py:35 -#: users/models/user.py:983 +#: users/models/user.py:984 msgid "Date updated" msgstr "更新日期" #: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 -#: common/db/models.py:32 users/models/user.py:945 +#: common/db/models.py:32 users/models/user.py:946 #: users/serializers/group.py:32 msgid "Created by" msgstr "创建者" @@ -1958,7 +1968,7 @@ msgstr "收藏的资产" msgid "Gateway" msgstr "网关" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1150 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1151 msgid "System" msgstr "系统" @@ -2031,7 +2041,7 @@ msgstr "设置" #: assets/models/platform.py:38 audits/const.py:59 #: authentication/backends/passkey/models.py:11 settings/models.py:38 -#: terminal/serializers/applet_host.py:33 users/models/user.py:689 +#: terminal/serializers/applet_host.py:33 users/models/user.py:690 msgid "Enabled" msgstr "启用" @@ -2520,8 +2530,8 @@ msgstr "创建" msgid "Connect" msgstr "连接" -#: audits/const.py:30 authentication/templates/authentication/login.html:290 -#: authentication/templates/authentication/login.html:362 +#: audits/const.py:30 authentication/templates/authentication/login.html:329 +#: authentication/templates/authentication/login.html:401 #: templates/_header_bar.html:101 msgid "Login" msgstr "登录" @@ -2580,11 +2590,11 @@ msgstr "任务" msgid "-" msgstr "-" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "Yes" msgstr "是" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "No" msgstr "否" @@ -2671,7 +2681,7 @@ msgstr "登录 IP" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:63 users/models/user.py:923 +#: users/forms/profile.py:63 users/models/user.py:924 #: users/serializers/profile.py:97 msgid "MFA" msgstr "MFA" @@ -2729,7 +2739,7 @@ msgstr "用户 %s %s 了当前资源" #: audits/serializers.py:172 authentication/models/connection_token.py:47 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 #: tickets/models/ticket/apply_application.py:31 -#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:942 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:943 msgid "Date expired" msgstr "失效日期" @@ -2763,29 +2773,29 @@ msgstr "认证令牌" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:78 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:798 users/models/user.py:966 +#: users/models/user.py:799 users/models/user.py:967 msgid "WeCom" msgstr "企业微信" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 #: authentication/views/login.py:90 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:12 users/models/user.py:800 -#: users/models/user.py:972 +#: settings/serializers/auth/feishu.py:12 users/models/user.py:801 +#: users/models/user.py:973 msgid "FeiShu" msgstr "飞书" #: audits/signal_handlers/login_log.py:40 authentication/views/login.py:102 #: authentication/views/slack.py:87 notifications/backends/__init__.py:16 #: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 -#: users/models/user.py:802 users/models/user.py:978 +#: users/models/user.py:803 users/models/user.py:979 msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:159 #: authentication/views/login.py:84 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:799 -#: users/models/user.py:969 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:800 +#: users/models/user.py:970 msgid "DingTalk" msgstr "钉钉" @@ -2865,7 +2875,7 @@ msgid "" msgstr "用户来自 {} 请去相应系统修改密码" #: authentication/api/password.py:65 -#: authentication/templates/authentication/login.html:354 +#: authentication/templates/authentication/login.html:393 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 #: users/templates/users/forgot_password_previewing.html:13 @@ -3570,17 +3580,17 @@ msgstr "如果这次公钥更新不是由你发起的,那么你的账号可能 msgid "Cancel" msgstr "取消" -#: authentication/templates/authentication/login.html:270 +#: authentication/templates/authentication/login.html:308 msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" msgstr "配置文件有问题,无法登录,请联系管理员或查看最新文档" -#: authentication/templates/authentication/login.html:271 +#: authentication/templates/authentication/login.html:309 msgid "If you are administrator, you can update the config resolve it, set" msgstr "如果你是管理员,可以更新配置文件解决,设置配置项" -#: authentication/templates/authentication/login.html:369 +#: authentication/templates/authentication/login.html:408 msgid "More login options" msgstr "其他方式登录" @@ -3823,35 +3833,35 @@ msgstr "%(name)s 更新成功" msgid "gettext_lazy" msgstr "gettext_lazy" -#: common/db/fields.py:106 +#: common/db/fields.py:105 msgid "Marshal dict data to char field" msgstr "编码 dict 为 char" -#: common/db/fields.py:110 +#: common/db/fields.py:109 msgid "Marshal dict data to text field" msgstr "编码 dict 为 text" -#: common/db/fields.py:122 +#: common/db/fields.py:121 msgid "Marshal list data to char field" msgstr "编码 list 为 char" -#: common/db/fields.py:126 +#: common/db/fields.py:125 msgid "Marshal list data to text field" msgstr "编码 list 为 text" -#: common/db/fields.py:130 +#: common/db/fields.py:129 msgid "Marshal data to char field" msgstr "编码数据为 char" -#: common/db/fields.py:134 +#: common/db/fields.py:133 msgid "Marshal data to text field" msgstr "编码数据为 text" -#: common/db/fields.py:167 +#: common/db/fields.py:166 msgid "Encrypt field using Secret Key" msgstr "加密的字段" -#: common/db/fields.py:582 +#: common/db/fields.py:577 msgid "" "Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " "{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " @@ -3861,27 +3871,27 @@ msgstr "" "{'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': " "'1.1.1.1'}}" -#: common/db/fields.py:589 +#: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" msgstr "无效类型,应为 all、ids 或 attrs" -#: common/db/fields.py:592 +#: common/db/fields.py:587 msgid "Invalid ids for ids, should be a list" msgstr "无效的ID,应为列表" -#: common/db/fields.py:594 common/db/fields.py:599 -#: common/serializers/fields.py:147 tickets/serializers/ticket/common.py:58 +#: common/db/fields.py:589 common/db/fields.py:594 +#: common/serializers/fields.py:144 tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:56 #: xpack/plugins/cloud/serializers/account_attrs.py:79 #: xpack/plugins/cloud/serializers/account_attrs.py:150 msgid "This field is required." msgstr "该字段是必填项。" -#: common/db/fields.py:597 common/db/fields.py:602 +#: common/db/fields.py:592 common/db/fields.py:597 msgid "Invalid attrs, should be a list of dict" msgstr "无效的属性,应为dict列表" -#: common/db/fields.py:604 +#: common/db/fields.py:599 msgid "Invalid attrs, should be has name and value" msgstr "无效属性,应具有名称和值" @@ -3893,7 +3903,7 @@ msgstr "忽略的" msgid "discard time" msgstr "忽略时间" -#: common/db/models.py:33 users/models/user.py:948 +#: common/db/models.py:33 users/models/user.py:949 msgid "Updated by" msgstr "最后更新者" @@ -4051,25 +4061,25 @@ msgstr "节点" msgid "File" msgstr "文件" -#: common/serializers/fields.py:140 +#: common/serializers/fields.py:137 msgid "Invalid data type" msgstr "无效的数据" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:145 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "错误的 pk \"{pk_value}\" - 对象不存在" -#: common/serializers/fields.py:149 +#: common/serializers/fields.py:146 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "错误类型。期望 pk 值,收到 {data_type}。" -#: common/serializers/fields.py:223 +#: common/serializers/fields.py:220 msgid "Invalid data type, should be list" msgstr "错误的数据类型,应该是列表" -#: common/serializers/fields.py:238 +#: common/serializers/fields.py:235 msgid "Invalid choice: {}" msgstr "无效选项: {}" @@ -4245,34 +4255,34 @@ msgstr "任务 {} 不存在" msgid "Task {} args or kwargs error" msgstr "任务 {} 执行参数错误" -#: ops/api/job.py:82 +#: ops/api/job.py:83 #, python-brace-format msgid "" "Asset ({asset}) must have at least one of the following protocols added: " "SSH, SFTP, or WinRM" msgstr "资产({asset})至少要添加ssh,sftp,winrm其中一种协议" -#: ops/api/job.py:83 +#: ops/api/job.py:84 #, python-brace-format msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" msgstr "资产({asset})授权缺少ssh,sftp或winrm协议" -#: ops/api/job.py:84 +#: ops/api/job.py:85 #, python-brace-format msgid "Asset ({asset}) authorization lacks upload permissions" msgstr "资产({asset})授权缺少上传权限" -#: ops/api/job.py:169 +#: ops/api/job.py:170 msgid "Duplicate file exists" msgstr "存在同名文件" -#: ops/api/job.py:174 +#: ops/api/job.py:175 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" msgstr "文件大小超过最大限制。请选择小于 {limit}MB 的文件。" -#: ops/api/job.py:238 +#: ops/api/job.py:244 msgid "" "The task is being created and cannot be interrupted. Please try again later." msgstr "正在创建任务,无法中断,请稍后重试。" @@ -4405,6 +4415,10 @@ msgstr "Oracle" msgid "Timeout" msgstr "超时" +#: ops/const.py:82 +msgid "Command execution disabled" +msgstr "命令执行已禁用" + #: ops/exception.py:6 msgid "no valid program entry found." msgstr "没有可用程序入口" @@ -4975,7 +4989,7 @@ msgid "Scope" msgstr "范围" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:910 +#: users/models/user.py:911 msgid "Role" msgstr "角色" @@ -5369,7 +5383,7 @@ msgstr "用户认证成功后,若用户不存在,则自动创建用户" msgid "Dingtalk" msgstr "启用钉钉认证" -#: settings/serializers/auth/lark.py:12 users/models/user.py:801 +#: settings/serializers/auth/lark.py:12 users/models/user.py:802 msgid "Lark" msgstr "启用Lark认证" @@ -5698,7 +5712,7 @@ msgstr "签名" msgid "Template code" msgstr "模板" -#: settings/serializers/auth/sms.py:40 users/models/user.py:920 +#: settings/serializers/auth/sms.py:40 users/models/user.py:921 #: users/serializers/user.py:155 msgid "Phone" msgstr "手机" @@ -6360,7 +6374,7 @@ msgid "" msgstr "* 允许用户通过密码验证登录KoKo组件" #: settings/serializers/terminal.py:34 users/forms/profile.py:172 -#: users/models/user.py:933 +#: users/models/user.py:934 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "SSH公钥" @@ -7565,7 +7579,7 @@ msgstr "端点后缀" msgid "HOST" msgstr "主机" -#: terminal/serializers/storage.py:146 users/models/user.py:930 +#: terminal/serializers/storage.py:146 users/models/user.py:931 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "ssh私钥" @@ -8304,70 +8318,70 @@ msgstr "SSH密钥不合法" msgid "Preference" msgstr "用户设置" -#: users/models/user.py:690 +#: users/models/user.py:691 msgid "Force enabled" msgstr "强制启用" -#: users/models/user.py:913 users/serializers/user.py:271 +#: users/models/user.py:914 users/serializers/user.py:271 msgid "Is service account" msgstr "服务账号" -#: users/models/user.py:915 +#: users/models/user.py:916 msgid "Avatar" msgstr "头像" -#: users/models/user.py:917 +#: users/models/user.py:918 msgid "Wechat" msgstr "微信" -#: users/models/user.py:926 +#: users/models/user.py:927 msgid "OTP secret key" msgstr "OTP 密钥" # msgid "Private key" # msgstr "ssh私钥" -#: users/models/user.py:936 users/serializers/profile.py:124 +#: users/models/user.py:937 users/serializers/profile.py:124 #: users/serializers/user.py:268 msgid "Is first login" msgstr "首次登录" -#: users/models/user.py:954 +#: users/models/user.py:955 msgid "Date password last updated" msgstr "最后更新密码日期" -#: users/models/user.py:957 +#: users/models/user.py:958 msgid "Need update password" msgstr "需要更新密码" -#: users/models/user.py:981 +#: users/models/user.py:982 msgid "Date api key used" msgstr "API key 最后使用日期" -#: users/models/user.py:1119 +#: users/models/user.py:1120 msgid "Can not delete admin user" msgstr "无法删除管理员用户" -#: users/models/user.py:1133 +#: users/models/user.py:1134 msgid "Can invite user" msgstr "可以邀请用户" -#: users/models/user.py:1134 +#: users/models/user.py:1135 msgid "Can remove user" msgstr "可以移除用户" -#: users/models/user.py:1135 +#: users/models/user.py:1136 msgid "Can match user" msgstr "可以匹配用户" -#: users/models/user.py:1146 +#: users/models/user.py:1147 msgid "Administrator" msgstr "管理员" -#: users/models/user.py:1149 +#: users/models/user.py:1150 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超级管理员" -#: users/models/user.py:1181 +#: users/models/user.py:1182 msgid "User password history" msgstr "用户密码历史" diff --git a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po index 7e11dd50c..a30748e53 100644 --- a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-08 15:32+0800\n" +"POT-Creation-Date: 2024-07-09 16:23+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -124,7 +124,7 @@ msgstr "成功: %s, 失敗: %s, 總數: %s" #: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:9 #: authentication/confirm/password.py:24 authentication/confirm/password.py:26 #: authentication/forms.py:28 -#: authentication/templates/authentication/login.html:323 +#: authentication/templates/authentication/login.html:362 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:50 #: settings/serializers/msg.py:36 settings/serializers/terminal.py:28 #: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142 @@ -154,7 +154,7 @@ msgstr "Token" msgid "API key" msgstr "API key" -#: accounts/const/account.py:14 common/db/fields.py:235 +#: accounts/const/account.py:14 common/db/fields.py:230 #: settings/serializers/terminal.py:14 msgid "All" msgstr "全部" @@ -175,7 +175,7 @@ msgstr "匿名帳號" msgid "Specified account" msgstr "指定帳號" -#: accounts/const/account.py:26 users/models/user.py:791 +#: accounts/const/account.py:26 users/models/user.py:792 msgid "Local" msgstr "資料庫" @@ -295,7 +295,7 @@ msgstr "僅創建" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 #: settings/serializers/msg.py:58 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user.py:902 +#: users/forms/profile.py:108 users/models/user.py:903 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -374,7 +374,7 @@ msgid "Version" msgstr "版本" #: accounts/models/account.py:57 accounts/serializers/account/account.py:220 -#: users/models/user.py:963 +#: users/models/user.py:964 msgid "Source" msgstr "來源" @@ -623,7 +623,7 @@ msgstr "登錄日期" #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 #: terminal/serializers/storage.py:136 users/forms/profile.py:31 -#: users/forms/profile.py:114 users/models/user.py:900 +#: users/forms/profile.py:114 users/models/user.py:901 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -720,7 +720,7 @@ msgstr "密碼規則" #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: users/forms/profile.py:32 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:901 +#: users/models/preference.py:11 users/models/user.py:902 #: xpack/plugins/cloud/models.py:33 xpack/plugins/cloud/models.py:296 #: xpack/plugins/cloud/serializers/task.py:74 msgid "Name" @@ -954,8 +954,8 @@ msgstr "ID" #: terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 -#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1124 -#: users/models/user.py:1168 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1125 +#: users/models/user.py:1169 msgid "User" msgstr "用戶" @@ -1044,7 +1044,7 @@ msgstr "關聯平台,可配置推送參數,如果不關聯,將使用默認 #: 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:935 +#: tickets/models/ticket/general.py:295 users/models/user.py:936 #: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:121 msgid "Comment" msgstr "備註" @@ -1483,7 +1483,7 @@ msgstr "不能刪除根節點 ({})" msgid "Deletion failed and the node contains assets" msgstr "刪除失敗,節點包含資產" -#: assets/api/tree.py:49 assets/serializers/node.py:42 +#: assets/api/tree.py:48 assets/serializers/node.py:42 msgid "The same level node name cannot be the same" msgstr "同級別節點名字不能重複" @@ -1568,7 +1568,7 @@ msgid "Gather facts" msgstr "收集資產資訊" #: assets/const/base.py:32 audits/const.py:58 -#: terminal/serializers/applet_host.py:32 users/models/user.py:688 +#: terminal/serializers/applet_host.py:32 users/models/user.py:689 msgid "Disabled" msgstr "禁用" @@ -1578,7 +1578,7 @@ msgstr "禁用" msgid "Basic" msgstr "基本" -#: assets/const/base.py:34 assets/const/protocol.py:275 +#: assets/const/base.py:34 assets/const/protocol.py:281 #: assets/models/asset/web.py:13 msgid "Script" msgstr "腳本" @@ -1745,39 +1745,49 @@ msgstr "認證資料庫" msgid "The database to authenticate against" msgstr "要進行身份驗證的資料庫" -#: assets/const/protocol.py:222 +#: assets/const/protocol.py:215 +#, fuzzy +#| msgid "Connect options" +msgid "Connection options" +msgstr "連接項" + +#: assets/const/protocol.py:216 +msgid "The connection specific options eg. retryWrites=false&retryReads=false" +msgstr "" + +#: assets/const/protocol.py:228 msgid "Auth username" msgstr "使用使用者名稱認證" -#: assets/const/protocol.py:245 +#: assets/const/protocol.py:251 msgid "Safe mode" msgstr "安全模式" -#: assets/const/protocol.py:247 +#: assets/const/protocol.py:253 msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." msgstr "" "當安全模式啟用時,一些操作將被禁用,例如:新建標籤頁、右鍵、訪問其它網站 等" -#: assets/const/protocol.py:252 assets/models/asset/web.py:9 +#: assets/const/protocol.py:258 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自動代填" -#: assets/const/protocol.py:260 assets/models/asset/web.py:10 +#: assets/const/protocol.py:266 assets/models/asset/web.py:10 msgid "Username selector" msgstr "使用者名稱選擇器" -#: assets/const/protocol.py:265 assets/models/asset/web.py:11 +#: assets/const/protocol.py:271 assets/models/asset/web.py:11 msgid "Password selector" msgstr "密碼選擇器" -#: assets/const/protocol.py:270 assets/models/asset/web.py:12 +#: assets/const/protocol.py:276 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "確認按鈕選擇器" -#: assets/const/protocol.py:293 +#: assets/const/protocol.py:299 msgid "API mode" msgstr "API 模式" @@ -1892,7 +1902,7 @@ msgstr "資產自動化任務" # msgstr "備註" #: assets/models/automations/base.py:114 assets/models/cmd_filter.py:41 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:241 -#: users/models/user.py:1171 +#: users/models/user.py:1172 msgid "Date created" msgstr "創建日期" @@ -1913,17 +1923,17 @@ msgid "Date verified" msgstr "校驗日期" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 -#: users/models/group.py:25 users/models/user.py:907 +#: users/models/group.py:25 users/models/user.py:908 msgid "User group" msgstr "用戶組" #: assets/models/cmd_filter.py:42 common/db/models.py:35 -#: users/models/user.py:983 +#: users/models/user.py:984 msgid "Date updated" msgstr "更新日期" #: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 -#: common/db/models.py:32 users/models/user.py:945 +#: common/db/models.py:32 users/models/user.py:946 #: users/serializers/group.py:32 msgid "Created by" msgstr "創建者" @@ -1960,7 +1970,7 @@ msgstr "收藏的資產" msgid "Gateway" msgstr "網關" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1150 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1151 msgid "System" msgstr "系統" @@ -2033,7 +2043,7 @@ msgstr "設置" #: assets/models/platform.py:38 audits/const.py:59 #: authentication/backends/passkey/models.py:11 settings/models.py:38 -#: terminal/serializers/applet_host.py:33 users/models/user.py:689 +#: terminal/serializers/applet_host.py:33 users/models/user.py:690 msgid "Enabled" msgstr "啟用" @@ -2522,8 +2532,8 @@ msgstr "創建" msgid "Connect" msgstr "連接" -#: audits/const.py:30 authentication/templates/authentication/login.html:290 -#: authentication/templates/authentication/login.html:362 +#: audits/const.py:30 authentication/templates/authentication/login.html:329 +#: authentication/templates/authentication/login.html:401 #: templates/_header_bar.html:101 msgid "Login" msgstr "登錄" @@ -2582,11 +2592,11 @@ msgstr "任務" msgid "-" msgstr "-" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "Yes" msgstr "是" -#: audits/handler.py:116 +#: audits/handler.py:126 msgid "No" msgstr "否" @@ -2673,7 +2683,7 @@ msgstr "登錄 IP" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:63 users/models/user.py:923 +#: users/forms/profile.py:63 users/models/user.py:924 #: users/serializers/profile.py:97 msgid "MFA" msgstr "MFA" @@ -2731,7 +2741,7 @@ msgstr "用户 %s %s 了当前资源" #: audits/serializers.py:172 authentication/models/connection_token.py:47 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 #: tickets/models/ticket/apply_application.py:31 -#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:942 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:943 msgid "Date expired" msgstr "失效日期" @@ -2765,29 +2775,29 @@ msgstr "認證令牌" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:78 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:798 users/models/user.py:966 +#: users/models/user.py:799 users/models/user.py:967 msgid "WeCom" msgstr "企業微信" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 #: authentication/views/login.py:90 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:12 users/models/user.py:800 -#: users/models/user.py:972 +#: settings/serializers/auth/feishu.py:12 users/models/user.py:801 +#: users/models/user.py:973 msgid "FeiShu" msgstr "飛書" #: audits/signal_handlers/login_log.py:40 authentication/views/login.py:102 #: authentication/views/slack.py:87 notifications/backends/__init__.py:16 #: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 -#: users/models/user.py:802 users/models/user.py:978 +#: users/models/user.py:803 users/models/user.py:979 msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:159 #: authentication/views/login.py:84 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:799 -#: users/models/user.py:969 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:800 +#: users/models/user.py:970 msgid "DingTalk" msgstr "釘釘" @@ -2867,7 +2877,7 @@ msgid "" msgstr "用戶來自 {} 請去相應系統修改密碼" #: authentication/api/password.py:65 -#: authentication/templates/authentication/login.html:354 +#: authentication/templates/authentication/login.html:393 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 #: users/templates/users/forgot_password_previewing.html:13 @@ -3572,17 +3582,17 @@ msgstr "如果這次公鑰更新不是由你發起的,那麼你的帳號可能 msgid "Cancel" msgstr "取消" -#: authentication/templates/authentication/login.html:270 +#: authentication/templates/authentication/login.html:308 msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" msgstr "配置文件有問題,無法登錄,請聯絡管理員或查看最新文件" -#: authentication/templates/authentication/login.html:271 +#: authentication/templates/authentication/login.html:309 msgid "If you are administrator, you can update the config resolve it, set" msgstr "如果你是管理員,可以更新配置文件解決,設置配置項" -#: authentication/templates/authentication/login.html:369 +#: authentication/templates/authentication/login.html:408 msgid "More login options" msgstr "其他方式登錄" @@ -3825,35 +3835,35 @@ msgstr "%(name)s 更新成功" msgid "gettext_lazy" msgstr "gettext_lazy" -#: common/db/fields.py:106 +#: common/db/fields.py:105 msgid "Marshal dict data to char field" msgstr "編碼 dict 為 char" -#: common/db/fields.py:110 +#: common/db/fields.py:109 msgid "Marshal dict data to text field" msgstr "編碼 dict 為 text" -#: common/db/fields.py:122 +#: common/db/fields.py:121 msgid "Marshal list data to char field" msgstr "編碼 list 為 char" -#: common/db/fields.py:126 +#: common/db/fields.py:125 msgid "Marshal list data to text field" msgstr "編碼 list 為 text" -#: common/db/fields.py:130 +#: common/db/fields.py:129 msgid "Marshal data to char field" msgstr "編碼數據為 char" -#: common/db/fields.py:134 +#: common/db/fields.py:133 msgid "Marshal data to text field" msgstr "編碼數據為 text" -#: common/db/fields.py:167 +#: common/db/fields.py:166 msgid "Encrypt field using Secret Key" msgstr "加密的欄位" -#: common/db/fields.py:582 +#: common/db/fields.py:577 msgid "" "Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " "{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " @@ -3863,27 +3873,27 @@ msgstr "" "{'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': " "'1.1.1.1'}}" -#: common/db/fields.py:589 +#: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" msgstr "無效類型,應為 all、ids 或 attrs" -#: common/db/fields.py:592 +#: common/db/fields.py:587 msgid "Invalid ids for ids, should be a list" msgstr "無效的ID,應為列表" -#: common/db/fields.py:594 common/db/fields.py:599 -#: common/serializers/fields.py:147 tickets/serializers/ticket/common.py:58 +#: common/db/fields.py:589 common/db/fields.py:594 +#: common/serializers/fields.py:144 tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:56 #: xpack/plugins/cloud/serializers/account_attrs.py:79 #: xpack/plugins/cloud/serializers/account_attrs.py:150 msgid "This field is required." msgstr "該欄位是必填項。" -#: common/db/fields.py:597 common/db/fields.py:602 +#: common/db/fields.py:592 common/db/fields.py:597 msgid "Invalid attrs, should be a list of dict" msgstr "無效的屬性,應為dict列表" -#: common/db/fields.py:604 +#: common/db/fields.py:599 msgid "Invalid attrs, should be has name and value" msgstr "無效屬性,應具有名稱和值" @@ -3895,7 +3905,7 @@ msgstr "忽略的" msgid "discard time" msgstr "忽略時間" -#: common/db/models.py:33 users/models/user.py:948 +#: common/db/models.py:33 users/models/user.py:949 msgid "Updated by" msgstr "最後更新者" @@ -4053,25 +4063,25 @@ msgstr "節點" msgid "File" msgstr "文件" -#: common/serializers/fields.py:140 +#: common/serializers/fields.py:137 msgid "Invalid data type" msgstr "无效的数据" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:145 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "錯誤的 pk \"{pk_value}\" - 對象不存在" -#: common/serializers/fields.py:149 +#: common/serializers/fields.py:146 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "錯誤類型。期望 pk 值,收到 {data_type}。" -#: common/serializers/fields.py:223 +#: common/serializers/fields.py:220 msgid "Invalid data type, should be list" msgstr "錯誤的數據類型,應該是列表" -#: common/serializers/fields.py:238 +#: common/serializers/fields.py:235 msgid "Invalid choice: {}" msgstr "無效選項: {}" @@ -4246,34 +4256,34 @@ msgstr "任務 {} 不存在" msgid "Task {} args or kwargs error" msgstr "任務 {} 執行參數錯誤" -#: ops/api/job.py:82 +#: ops/api/job.py:83 #, python-brace-format msgid "" "Asset ({asset}) must have at least one of the following protocols added: " "SSH, SFTP, or WinRM" msgstr "资产({asset})至少要添加ssh,sftp,winrm其中一种协议" -#: ops/api/job.py:83 +#: ops/api/job.py:84 #, python-brace-format msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" msgstr "资产({asset})授权缺少ssh,sftp或winrm协议" -#: ops/api/job.py:84 +#: ops/api/job.py:85 #, python-brace-format msgid "Asset ({asset}) authorization lacks upload permissions" msgstr "资产({asset})授权缺少上传权限" -#: ops/api/job.py:169 +#: ops/api/job.py:170 msgid "Duplicate file exists" msgstr "存在同名文件" -#: ops/api/job.py:174 +#: ops/api/job.py:175 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" msgstr "檔案大小超過最大限制。請選擇小於 {limit}MB 的文件。" -#: ops/api/job.py:238 +#: ops/api/job.py:244 msgid "" "The task is being created and cannot be interrupted. Please try again later." msgstr "正在創建任務,無法中斷,請稍後重試。" @@ -4406,6 +4416,10 @@ msgstr "Oracle" msgid "Timeout" msgstr "超時" +#: ops/const.py:82 +msgid "Command execution disabled" +msgstr "命令執行禁用" + #: ops/exception.py:6 msgid "no valid program entry found." msgstr "沒有可用程序入口" @@ -4980,7 +4994,7 @@ msgid "Scope" msgstr "範圍" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:910 +#: users/models/user.py:911 msgid "Role" msgstr "角色" @@ -5374,7 +5388,7 @@ msgstr "使用者認證成功後,若使用者不存在,則自動創建使用 msgid "Dingtalk" msgstr "啟用釘釘認證" -#: settings/serializers/auth/lark.py:12 users/models/user.py:801 +#: settings/serializers/auth/lark.py:12 users/models/user.py:802 msgid "Lark" msgstr "啟用Lark認證" @@ -5703,7 +5717,7 @@ msgstr "簽名" msgid "Template code" msgstr "模板" -#: settings/serializers/auth/sms.py:40 users/models/user.py:920 +#: settings/serializers/auth/sms.py:40 users/models/user.py:921 #: users/serializers/user.py:155 msgid "Phone" msgstr "手機" @@ -6365,7 +6379,7 @@ msgid "" msgstr "* 允許用戶透過密碼驗證登入KoKo元件" #: settings/serializers/terminal.py:34 users/forms/profile.py:172 -#: users/models/user.py:933 +#: users/models/user.py:934 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "SSH公鑰" @@ -7570,7 +7584,7 @@ msgstr "端點後綴" msgid "HOST" msgstr "主機" -#: terminal/serializers/storage.py:146 users/models/user.py:930 +#: terminal/serializers/storage.py:146 users/models/user.py:931 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "ssh私鑰" @@ -8309,70 +8323,70 @@ msgstr "SSH金鑰不合法" msgid "Preference" msgstr "用戶設置" -#: users/models/user.py:690 +#: users/models/user.py:691 msgid "Force enabled" msgstr "強制啟用" -#: users/models/user.py:913 users/serializers/user.py:271 +#: users/models/user.py:914 users/serializers/user.py:271 msgid "Is service account" msgstr "服務帳號" -#: users/models/user.py:915 +#: users/models/user.py:916 msgid "Avatar" msgstr "頭像" -#: users/models/user.py:917 +#: users/models/user.py:918 msgid "Wechat" msgstr "微信" -#: users/models/user.py:926 +#: users/models/user.py:927 msgid "OTP secret key" msgstr "OTP 金鑰" # msgid "Private key" # msgstr "ssh私鑰" -#: users/models/user.py:936 users/serializers/profile.py:124 +#: users/models/user.py:937 users/serializers/profile.py:124 #: users/serializers/user.py:268 msgid "Is first login" msgstr "首次登錄" -#: users/models/user.py:954 +#: users/models/user.py:955 msgid "Date password last updated" msgstr "最後更新密碼日期" -#: users/models/user.py:957 +#: users/models/user.py:958 msgid "Need update password" msgstr "需要更新密碼" -#: users/models/user.py:981 +#: users/models/user.py:982 msgid "Date api key used" msgstr "Api key 最後使用日期" -#: users/models/user.py:1119 +#: users/models/user.py:1120 msgid "Can not delete admin user" msgstr "無法刪除管理員用戶" -#: users/models/user.py:1133 +#: users/models/user.py:1134 msgid "Can invite user" msgstr "可以邀請用戶" -#: users/models/user.py:1134 +#: users/models/user.py:1135 msgid "Can remove user" msgstr "可以移除用戶" -#: users/models/user.py:1135 +#: users/models/user.py:1136 msgid "Can match user" msgstr "可以匹配用戶" -#: users/models/user.py:1146 +#: users/models/user.py:1147 msgid "Administrator" msgstr "管理員" -#: users/models/user.py:1149 +#: users/models/user.py:1150 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超級管理員" -#: users/models/user.py:1181 +#: users/models/user.py:1182 msgid "User password history" msgstr "用戶密碼歷史" diff --git a/apps/ops/api/job.py b/apps/ops/api/job.py index 55365861b..dcb7ee85f 100644 --- a/apps/ops/api/job.py +++ b/apps/ops/api/job.py @@ -29,6 +29,7 @@ __all__ = [ from ops.tasks import run_ops_job_execution from ops.variables import JMS_JOB_VARIABLE_HELP +from ops.const import COMMAND_EXECUTION_DISABLED from orgs.mixins.api import OrgBulkModelViewSet from orgs.utils import tmp_to_org, get_current_org from accounts.models import Account @@ -73,7 +74,7 @@ class JobViewSet(OrgBulkModelViewSet): return super().check_permissions(request) # job: adhoc, playbook if not settings.SECURITY_COMMAND_EXECUTION: - return self.permission_denied(request, "Command execution disabled") + return self.permission_denied(request, COMMAND_EXECUTION_DISABLED) return super().check_permissions(request) def check_upload_permission(self, assets, account_name): @@ -202,6 +203,11 @@ class JobExecutionViewSet(OrgBulkModelViewSet): search_fields = ('material',) filterset_fields = ['status', 'job_id'] + def check_permissions(self, request): + if not settings.SECURITY_COMMAND_EXECUTION: + return self.permission_denied(request, COMMAND_EXECUTION_DISABLED) + return super().check_permissions(request) + @staticmethod def start_deploy(instance, serializer): run_ops_job_execution.apply_async((str(instance.id),), task_id=str(instance.id)) diff --git a/apps/ops/const.py b/apps/ops/const.py index ee4e90a91..5676da4de 100644 --- a/apps/ops/const.py +++ b/apps/ops/const.py @@ -78,3 +78,5 @@ class JobStatus(models.TextChoices): # celery 日志完成之后,写入的魔法字符,作为结束标记 CELERY_LOG_MAGIC_MARK = b'\x00\x00\x00\x00\x00' + +COMMAND_EXECUTION_DISABLED = _('Command execution disabled')