diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index a9a122d65..3a1d74f88 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-03-29 11:00+0800\n" +"POT-Creation-Date: 2024-05-11 10:40+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,21 +22,21 @@ msgstr "" msgid "The parameter 'action' must be [{}]" msgstr "" -#: accounts/automations/change_secret/manager.py:197 +#: accounts/automations/change_secret/manager.py:225 #, python-format msgid "Success: %s, Failed: %s, Total: %s" msgstr "" #: accounts/const/account.py:6 -#: accounts/serializers/automations/change_secret.py:32 +#: accounts/serializers/automations/change_secret.py:34 #: assets/models/_user.py:24 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:32 +#: authentication/confirm/password.py:26 authentication/forms.py:28 #: authentication/templates/authentication/login.html:329 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47 #: settings/serializers/msg.py:35 terminal/serializers/storage.py:123 -#: terminal/serializers/storage.py:142 users/forms/profile.py:22 -#: users/serializers/user.py:104 +#: terminal/serializers/storage.py:142 users/forms/profile.py:21 +#: users/serializers/user.py:110 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -44,7 +44,7 @@ msgid "Password" msgstr "" #: accounts/const/account.py:7 -#: accounts/serializers/automations/change_secret.py:33 +#: accounts/serializers/automations/change_secret.py:35 #: terminal/serializers/storage.py:124 msgid "SSH key" msgstr "" @@ -80,32 +80,38 @@ msgstr "" msgid "Anonymous account" msgstr "" -#: accounts/const/account.py:25 users/models/user.py:741 +#: accounts/const/account.py:18 +#, fuzzy +#| msgid "Is service account" +msgid "Specified account" +msgstr "Is service account" + +#: accounts/const/account.py:26 users/models/user.py:751 msgid "Local" msgstr "" -#: accounts/const/account.py:26 +#: accounts/const/account.py:27 msgid "Collected" msgstr "" -#: accounts/const/account.py:27 accounts/serializers/account/account.py:28 +#: accounts/const/account.py:28 accounts/serializers/account/account.py:28 #: settings/serializers/auth/sms.py:79 msgid "Template" msgstr "" -#: accounts/const/account.py:31 ops/const.py:46 +#: accounts/const/account.py:32 ops/const.py:46 msgid "Skip" msgstr "" -#: accounts/const/account.py:32 audits/const.py:24 rbac/tree.py:239 +#: accounts/const/account.py:33 audits/const.py:24 rbac/tree.py:239 #: templates/_csv_import_export.html:18 templates/_csv_update_modal.html:6 msgid "Update" msgstr "" -#: accounts/const/account.py:33 -#: accounts/serializers/automations/change_secret.py:150 audits/const.py:62 +#: accounts/const/account.py:34 accounts/const/automation.py:109 +#: accounts/serializers/automations/change_secret.py:164 audits/const.py:62 #: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19 -#: ops/const.py:75 terminal/const.py:79 xpack/plugins/cloud/const.py:46 +#: ops/const.py:76 terminal/const.py:79 xpack/plugins/cloud/const.py:47 msgid "Failed" msgstr "" @@ -206,9 +212,9 @@ msgstr "" #: authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 -#: settings/serializers/msg.py:64 users/forms/profile.py:102 -#: users/forms/profile.py:109 users/models/user.py:862 -#: users/templates/users/forgot_password.html:160 +#: settings/serializers/msg.py:64 users/forms/profile.py:100 +#: users/forms/profile.py:108 users/models/user.py:876 +#: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" msgstr "" @@ -217,6 +223,20 @@ msgstr "" msgid "SFTP" msgstr "" +#: accounts/const/automation.py:110 +#: accounts/serializers/automations/change_secret.py:163 audits/const.py:61 +#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 +#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 +#: terminal/const.py:78 terminal/models/session/sharing.py:121 +#: tickets/views/approve.py:128 +msgid "Success" +msgstr "Success" + +#: accounts/const/automation.py:111 common/const/choices.py:16 +#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38 +msgid "Pending" +msgstr "" + #: accounts/const/vault.py:8 assets/const/category.py:12 #: assets/models/asset/database.py:9 assets/models/asset/database.py:24 msgid "Database" @@ -249,19 +269,19 @@ msgstr "" #: accounts/serializers/account/account.py:215 #: accounts/serializers/account/account.py:260 #: accounts/serializers/account/gathered_account.py:10 -#: accounts/serializers/automations/change_secret.py:106 -#: accounts/serializers/automations/change_secret.py:126 +#: accounts/serializers/automations/change_secret.py:108 +#: accounts/serializers/automations/change_secret.py:140 #: accounts/templates/accounts/asset_account_change_info.html:7 +#: accounts/templates/accounts/change_secret_failed_info.html:11 #: acls/serializers/base.py:123 assets/models/asset/common.py:95 #: assets/models/asset/common.py:349 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 -#: terminal/backends/command/models.py:17 terminal/models/session/session.py:31 -#: terminal/notifications.py:155 terminal/serializers/command.py:17 -#: terminal/serializers/session.py:26 +#: perms/models/asset_permission.py:69 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 #: terminal/templates/terminal/_msg_command_warning.html:4 #: terminal/templates/terminal/_msg_session_sharing.html:4 -#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:256 +#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:252 msgid "Asset" msgstr "" @@ -273,15 +293,14 @@ msgstr "" msgid "Su from" msgstr "Switch from" -#: accounts/models/account.py:55 assets/const/protocol.py:169 -#: settings/serializers/auth/cas.py:20 settings/serializers/auth/feishu.py:20 -#: terminal/models/applet/applet.py:35 +#: accounts/models/account.py:55 assets/const/protocol.py:177 +#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:35 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "" #: accounts/models/account.py:57 accounts/serializers/account/account.py:217 -#: users/models/user.py:914 +#: users/models/user.py:928 msgid "Source" msgstr "" @@ -290,17 +309,18 @@ msgid "Source ID" msgstr "" #: accounts/models/account.py:61 -#: accounts/serializers/automations/change_secret.py:107 -#: accounts/serializers/automations/change_secret.py:127 +#: accounts/serializers/automations/change_secret.py:110 +#: accounts/serializers/automations/change_secret.py:141 +#: accounts/templates/accounts/change_secret_failed_info.html:12 #: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7 #: assets/serializers/gateway.py:28 audits/models.py:59 -#: authentication/api/connection_token.py:405 ops/models/base.py:18 +#: authentication/api/connection_token.py:411 ops/models/base.py:18 #: perms/models/asset_permission.py:75 settings/serializers/msg.py:33 -#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 +#: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 #: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 -#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 +#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85 msgid "Account" msgstr "" @@ -364,11 +384,11 @@ msgstr "" #: accounts/models/automations/backup_account.py:120 #: assets/models/automations/base.py:115 audits/models.py:65 -#: ops/models/base.py:55 ops/models/celery.py:86 ops/models/job.py:236 +#: ops/models/base.py:55 ops/models/celery.py:88 ops/models/job.py:241 #: ops/templates/ops/celery_task_log.html:75 #: perms/models/asset_permission.py:78 #: settings/templates/ldap/_msg_import_ldap_user.html:5 -#: terminal/models/applet/host.py:141 terminal/models/session/session.py:44 +#: terminal/models/applet/host.py:141 terminal/models/session/session.py:45 #: tickets/models/ticket/apply_application.py:30 #: tickets/models/ticket/apply_asset.py:19 msgid "Date start" @@ -387,21 +407,21 @@ msgstr "" #: accounts/models/automations/backup_account.py:131 #: accounts/serializers/account/backup.py:48 -#: accounts/serializers/automations/base.py:55 +#: accounts/serializers/automations/base.py:56 #: assets/models/automations/base.py:122 #: assets/serializers/automations/base.py:39 msgid "Trigger mode" msgstr "" #: accounts/models/automations/backup_account.py:134 audits/models.py:203 -#: terminal/models/session/sharing.py:125 xpack/plugins/cloud/models.py:208 +#: terminal/models/session/sharing.py:125 xpack/plugins/cloud/models.py:204 msgid "Reason" msgstr "" #: accounts/models/automations/backup_account.py:136 -#: accounts/serializers/automations/change_secret.py:105 -#: accounts/serializers/automations/change_secret.py:128 -#: ops/serializers/job.py:67 terminal/serializers/session.py:49 +#: accounts/serializers/automations/change_secret.py:107 +#: accounts/serializers/automations/change_secret.py:142 +#: ops/serializers/job.py:74 terminal/serializers/session.py:52 msgid "Is success" msgstr "Is success" @@ -452,8 +472,8 @@ msgstr "" #: accounts/models/automations/change_secret.py:15 #: accounts/models/automations/gather_account.py:58 #: accounts/serializers/account/backup.py:40 -#: accounts/serializers/automations/change_secret.py:56 -#: settings/serializers/auth/ldap.py:81 +#: accounts/serializers/automations/change_secret.py:58 +#: settings/serializers/auth/ldap.py:90 msgid "Recipient" msgstr "" @@ -475,27 +495,29 @@ msgstr "" #: accounts/models/automations/change_secret.py:42 #: assets/models/automations/base.py:116 ops/models/base.py:56 -#: ops/models/celery.py:87 ops/models/job.py:237 +#: ops/models/celery.py:89 ops/models/job.py:242 #: terminal/models/applet/host.py:142 msgid "Date finished" msgstr "" -#: accounts/models/automations/change_secret.py:43 +#: 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:228 +#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:233 #: terminal/models/applet/applet.py:320 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:283 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:281 #: tickets/serializers/super_ticket.py:13 -#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:204 -#: xpack/plugins/cloud/models.py:260 +#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:200 +#: xpack/plugins/cloud/models.py:256 msgid "Status" msgstr "" -#: accounts/models/automations/change_secret.py:44 -#: accounts/serializers/account/account.py:262 assets/const/automation.py:8 +#: accounts/models/automations/change_secret.py:47 +#: accounts/serializers/account/account.py:262 +#: accounts/templates/accounts/change_secret_failed_info.html:13 +#: assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 #: authentication/views/base.py:42 authentication/views/base.py:43 #: authentication/views/base.py:44 common/const/choices.py:20 @@ -503,7 +525,7 @@ msgstr "" msgid "Error" msgstr "" -#: accounts/models/automations/change_secret.py:48 +#: accounts/models/automations/change_secret.py:51 msgid "Change secret record" msgstr "" @@ -519,12 +541,12 @@ msgstr "" #: accounts/models/automations/push_account.py:15 accounts/models/base.py:65 #: accounts/serializers/account/virtual.py:21 acls/serializers/base.py:19 #: acls/serializers/base.py:50 assets/models/_user.py:23 audits/models.py:188 -#: authentication/forms.py:25 authentication/forms.py:27 +#: authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:9 #: 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:32 -#: users/forms/profile.py:115 users/models/user.py:858 +#: terminal/serializers/storage.py:136 users/forms/profile.py:31 +#: users/forms/profile.py:114 users/models/user.py:872 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -556,6 +578,7 @@ msgstr "" #: audits/models.py:92 audits/serializers.py:84 #: authentication/serializers/connect_token_secret.py:119 #: authentication/templates/authentication/_access_key_modal.html:34 +#: tickets/serializers/ticket/ticket.py:21 msgid "Action" msgstr "" @@ -570,7 +593,7 @@ msgstr "" #: accounts/models/base.py:37 accounts/models/base.py:67 #: accounts/serializers/account/account.py:442 #: accounts/serializers/account/base.py:17 -#: accounts/serializers/automations/change_secret.py:45 +#: accounts/serializers/automations/change_secret.py:47 #: authentication/serializers/connect_token_secret.py:42 #: authentication/serializers/connect_token_secret.py:51 #: terminal/serializers/storage.py:140 @@ -586,12 +609,12 @@ msgid "Secret" msgstr "" #: accounts/models/base.py:42 -#: accounts/serializers/automations/change_secret.py:39 +#: accounts/serializers/automations/change_secret.py:41 msgid "Secret strategy" msgstr "" #: accounts/models/base.py:44 accounts/serializers/account/template.py:24 -#: accounts/serializers/automations/change_secret.py:44 +#: accounts/serializers/automations/change_secret.py:46 msgid "Password rules" msgstr "" @@ -601,14 +624,14 @@ msgstr "" #: assets/models/_user.py:22 assets/models/asset/common.py:93 #: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21 #: assets/models/domain.py:19 assets/models/group.py:17 -#: assets/models/label.py:18 assets/models/platform.py:16 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:149 -#: assets/serializers/platform.py:136 assets/serializers/platform.py:254 +#: 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:143 assets/serializers/platform.py:261 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 -#: authentication/serializers/connect_token_secret.py:168 labels/models.py:11 +#: authentication/serializers/connect_token_secret.py:169 labels/models.py:11 #: ops/mixin.py:21 ops/models/adhoc.py:20 ops/models/celery.py:15 -#: ops/models/celery.py:80 ops/models/job.py:137 ops/models/playbook.py:28 +#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:89 @@ -616,12 +639,12 @@ msgstr "" #: 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:84 +#: terminal/models/component/terminal.py:85 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 -#: users/forms/profile.py:33 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:860 -#: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:276 +#: users/forms/profile.py:32 users/models/group.py:13 +#: users/models/preference.py:11 users/models/user.py:874 +#: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:272 #: xpack/plugins/cloud/serializers/task.py:70 msgid "Name" msgstr "" @@ -636,7 +659,7 @@ msgstr "" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:120 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:172 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:180 msgid "Is active" msgstr "Active" @@ -652,7 +675,7 @@ msgstr "" msgid "Push params" msgstr "" -#: accounts/models/template.py:26 xpack/plugins/cloud/models.py:333 +#: accounts/models/template.py:26 xpack/plugins/cloud/models.py:329 msgid "Account template" msgstr "" @@ -690,44 +713,49 @@ msgid "" "web-based and custom-type assets" msgstr "" -#: accounts/notifications.py:11 accounts/notifications.py:36 +#: accounts/notifications.py:12 accounts/notifications.py:37 msgid "Notification of account backup route task results" msgstr "" -#: accounts/notifications.py:21 accounts/notifications.py:45 +#: accounts/notifications.py:22 accounts/notifications.py:46 msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" msgstr "" -#: accounts/notifications.py:24 +#: accounts/notifications.py:25 msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " "encryption password for preference settings" msgstr "" -#: accounts/notifications.py:55 +#: accounts/notifications.py:56 msgid "Notification of implementation result of encryption change plan" msgstr "" -#: accounts/notifications.py:66 +#: accounts/notifications.py:67 msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" msgstr "" -#: accounts/notifications.py:70 +#: accounts/notifications.py:71 msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " "password in preferences" msgstr "" -#: accounts/notifications.py:82 +#: accounts/notifications.py:83 +#: accounts/templates/accounts/asset_account_change_info.html:3 msgid "Gather account change information" msgstr "" +#: accounts/notifications.py:105 +msgid "Change secret or push account failed information" +msgstr "" + #: accounts/serializers/account/account.py:31 msgid "Push now" msgstr "" @@ -741,30 +769,30 @@ msgid "Exist policy" msgstr "" #: accounts/serializers/account/account.py:195 applications/models.py:11 -#: assets/models/label.py:21 assets/models/platform.py:96 +#: 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:158 assets/serializers/platform.py:255 +#: assets/serializers/platform.py:165 assets/serializers/platform.py:262 #: perms/serializers/user_permission.py:26 settings/models.py:36 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "" #: accounts/serializers/account/account.py:196 -#: accounts/serializers/automations/base.py:54 acls/models/command_acl.py:24 +#: 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:97 -#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:138 -#: assets/serializers/platform.py:157 audits/serializers.py:53 +#: assets/models/cmd_filter.py:74 assets/models/platform.py:96 +#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:145 +#: assets/serializers/platform.py:164 audits/serializers.py:53 #: audits/serializers.py:170 -#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:145 +#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:150 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39 #: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 -#: terminal/serializers/session.py:21 terminal/serializers/storage.py:264 +#: terminal/serializers/session.py:23 terminal/serializers/storage.py:264 #: terminal/serializers/storage.py:276 tickets/models/comment.py:26 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 -#: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53 +#: tickets/models/ticket/general.py:273 tickets/serializers/flow.py:53 #: tickets/serializers/ticket/ticket.py:19 msgid "Type" msgstr "" @@ -778,9 +806,8 @@ msgid "Has secret" msgstr "" #: accounts/serializers/account/account.py:261 ops/models/celery.py:83 -#: tickets/models/comment.py:13 tickets/models/ticket/general.py:45 -#: tickets/models/ticket/general.py:279 tickets/serializers/super_ticket.py:14 -#: tickets/serializers/ticket/ticket.py:21 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:46 +#: tickets/models/ticket/general.py:277 tickets/serializers/super_ticket.py:14 msgid "State" msgstr "" @@ -792,9 +819,10 @@ msgstr "" #: 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 -#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:30 -#: authentication/api/connection_token.py:404 ops/models/base.py:17 -#: ops/models/job.py:147 ops/serializers/job.py:19 +#: assets/serializers/automations/base.py:20 +#: authentication/api/connection_token.py:410 ops/models/base.py:17 +#: ops/models/job.py:152 ops/serializers/job.py:19 +#: perms/serializers/permission.py:36 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 msgid "Assets" msgstr "" @@ -828,15 +856,15 @@ msgstr "" #: 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 -#: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17 -#: terminal/backends/command/models.py:16 terminal/models/session/session.py:29 -#: terminal/models/session/sharing.py:34 terminal/notifications.py:156 -#: terminal/notifications.py:205 terminal/serializers/command.py:16 +#: 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 terminal/notifications.py:205 +#: 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:1044 -#: users/models/user.py:1081 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1059 +#: users/models/user.py:1097 msgid "User" msgstr "" @@ -851,12 +879,12 @@ msgid "Zip Encrypt Password" msgstr "" #: accounts/serializers/account/backup.py:38 -#: accounts/serializers/automations/base.py:37 +#: accounts/serializers/automations/base.py:38 msgid "Executions" msgstr "Executions" #: accounts/serializers/account/backup.py:41 -#: accounts/serializers/automations/change_secret.py:57 +#: accounts/serializers/automations/change_secret.py:59 msgid "Currently only mail sending is supported" msgstr "" @@ -922,15 +950,15 @@ msgstr "" #: accounts/serializers/account/virtual.py:19 assets/models/_user.py:27 #: 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:153 ops/models/playbook.py:31 rbac/models/role.py:37 +#: ops/models/job.py:158 ops/models/playbook.py:31 rbac/models/role.py:37 #: settings/models.py:39 terminal/models/applet/applet.py:45 #: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 #: terminal/models/component/endpoint.py:25 #: terminal/models/component/endpoint.py:119 -#: terminal/models/session/session.py:46 +#: terminal/models/session/session.py:47 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 -#: tickets/models/ticket/general.py:297 users/models/user.py:896 -#: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 +#: tickets/models/ticket/general.py:295 users/models/user.py:910 +#: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:106 msgid "Comment" msgstr "Description" @@ -943,45 +971,43 @@ msgstr "" #: accounts/serializers/automations/base.py:23 #: assets/models/asset/common.py:164 assets/serializers/asset/common.py:152 -#: assets/serializers/automations/base.py:21 +#: assets/serializers/automations/base.py:21 perms/serializers/permission.py:37 msgid "Nodes" msgstr "" -#: accounts/serializers/automations/base.py:44 +#: accounts/serializers/automations/base.py:24 +#, fuzzy +#| msgid "Periodic run" +msgid "Periodic perform" +msgstr "Periodic" + +#: accounts/serializers/automations/base.py:45 msgid "Name already exists" msgstr "" -#: accounts/serializers/automations/base.py:53 +#: accounts/serializers/automations/base.py:54 #: assets/models/automations/base.py:118 #: assets/serializers/automations/base.py:38 msgid "Automation snapshot" msgstr "" -#: accounts/serializers/automations/change_secret.py:42 +#: accounts/serializers/automations/change_secret.py:44 msgid "SSH Key strategy" msgstr "" -#: accounts/serializers/automations/change_secret.py:79 +#: accounts/serializers/automations/change_secret.py:81 msgid "* Please enter the correct password length" msgstr "" -#: accounts/serializers/automations/change_secret.py:83 +#: accounts/serializers/automations/change_secret.py:85 msgid "* Password length range 6-30 bits" msgstr "" -#: accounts/serializers/automations/change_secret.py:109 +#: accounts/serializers/automations/change_secret.py:114 #: assets/models/automations/base.py:127 msgid "Automation task execution" msgstr "" -#: accounts/serializers/automations/change_secret.py:149 audits/const.py:61 -#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 -#: common/const/choices.py:18 ops/const.py:73 ops/serializers/celery.py:48 -#: terminal/const.py:78 terminal/models/session/sharing.py:121 -#: tickets/views/approve.py:117 -msgid "Success" -msgstr "Success" - # msgid "Success" # msgstr "" #: accounts/signal_handlers.py:47 @@ -1003,7 +1029,7 @@ msgstr "" msgid "Account execute automation" msgstr "" -#: accounts/tasks/automation.py:51 accounts/tasks/automation.py:62 +#: accounts/tasks/automation.py:51 accounts/tasks/automation.py:56 msgid "Execute automation record" msgstr "" @@ -1051,6 +1077,27 @@ msgstr "" msgid "Deleted account" msgstr "" +#: accounts/templates/accounts/change_secret_failed_info.html:3 +#: ops/templates/ops/celery_task_log.html:71 terminal/serializers/task.py:10 +msgid "Task name" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:4 +msgid "Task execution id" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:5 +#: acls/templates/acls/asset_login_reminder.html:3 +#: acls/templates/acls/user_login_reminder.html:3 +msgid "Respectful" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:6 +msgid "" +"Hello! The following is the failure of changing the password of your assets " +"or pushing the account. Please check and handle it in time." +msgstr "" + #: accounts/utils.py:52 msgid "" "If the password starts with {{` and ends with }} `, then the password is not " @@ -1065,7 +1112,7 @@ msgstr "" msgid "App Acls" msgstr "" -#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:46 +#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:44 #: tickets/templates/tickets/approve_check_password.html:47 msgid "Reject" msgstr "" @@ -1078,23 +1125,23 @@ msgstr "" msgid "Review" msgstr "" -#: acls/const.py:9 terminal/const.py:10 -msgid "Warning" +#: acls/const.py:9 +msgid "Warn" msgstr "" -#: acls/const.py:10 audits/const.py:35 -msgid "Notifications" +#: acls/const.py:10 +msgid "Notify" msgstr "" #: acls/models/base.py:37 assets/models/_user.py:51 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:112 -#: xpack/plugins/cloud/models.py:282 +#: xpack/plugins/cloud/models.py:278 msgid "Priority" msgstr "" #: acls/models/base.py:38 assets/models/_user.py:51 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:113 -#: xpack/plugins/cloud/models.py:283 +#: xpack/plugins/cloud/models.py:279 msgid "1-100, the lower the value will be match first" msgstr "" @@ -1107,12 +1154,13 @@ msgstr "" #: authentication/models/connection_token.py:53 #: authentication/templates/authentication/_access_key_modal.html:32 #: perms/models/asset_permission.py:82 terminal/models/session/sharing.py:29 -#: tickets/const.py:38 +#: tickets/const.py:36 msgid "Active" msgstr "Active" -#: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:302 +#: acls/models/base.py:81 perms/serializers/permission.py:32 +#: users/models/preference.py:16 users/serializers/group.py:21 +#: users/serializers/user.py:311 msgid "Users" msgstr "" @@ -1124,8 +1172,8 @@ msgid "Accounts" msgstr "" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 -#: ops/serializers/job.py:66 terminal/const.py:86 -#: terminal/models/session/session.py:42 terminal/serializers/command.py:18 +#: ops/serializers/job.py:73 terminal/const.py:86 +#: terminal/models/session/session.py:43 terminal/serializers/command.py:18 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 #: terminal/templates/terminal/_msg_command_warning.html:23 @@ -1133,7 +1181,7 @@ msgid "Command" msgstr "" #: acls/models/command_acl.py:17 assets/models/cmd_filter.py:59 -#: xpack/plugins/cloud/models.py:299 +#: xpack/plugins/cloud/models.py:295 msgid "Regex" msgstr "" @@ -1257,11 +1305,6 @@ msgstr "" msgid "Time Period" msgstr "" -#: acls/templates/acls/asset_login_reminder.html:3 -#: acls/templates/acls/user_login_reminder.html:3 -msgid "Respectful" -msgstr "" - #: acls/templates/acls/asset_login_reminder.html:10 msgid "" "The user has just logged in to the asset. Please ensure that this is an " @@ -1298,7 +1341,7 @@ msgid "App Applications" msgstr "" #: applications/models.py:16 xpack/plugins/cloud/models.py:37 -#: xpack/plugins/cloud/serializers/account.py:67 +#: xpack/plugins/cloud/serializers/account.py:68 msgid "Attrs" msgstr "" @@ -1314,19 +1357,19 @@ msgstr "" msgid "Cannot create asset directly, you should create a host or other" msgstr "" -#: assets/api/domain.py:64 +#: assets/api/domain.py:67 msgid "Number required" msgstr "" -#: assets/api/node.py:57 +#: assets/api/node.py:58 msgid "You can't update the root node name" msgstr "" -#: assets/api/node.py:64 +#: assets/api/node.py:65 msgid "You can't delete the root node ({})" msgstr "" -#: assets/api/node.py:67 +#: assets/api/node.py:68 msgid "Deletion failed and the node contains assets" msgstr "" @@ -1338,16 +1381,16 @@ msgstr "" msgid "App Assets" msgstr "" -#: assets/automations/base/manager.py:188 +#: assets/automations/base/manager.py:191 msgid "{} disabled" msgstr "" -#: assets/automations/base/manager.py:251 +#: assets/automations/base/manager.py:254 msgid " - Platform {} ansible disabled" msgstr "" #: assets/automations/ping_gateway/manager.py:33 -#: authentication/models/connection_token.py:128 +#: authentication/models/connection_token.py:131 msgid "No account" msgstr "" @@ -1361,7 +1404,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:93 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/backends/oauth2/views.py:60 authentication/middleware.py:93 +#: xpack/plugins/cloud/providers/fc.py:47 msgid "Authentication failed" msgstr "" @@ -1399,12 +1443,12 @@ msgstr "" #: assets/const/base.py:33 settings/serializers/basic.py:8 #: users/serializers/preference/koko.py:19 -#: users/serializers/preference/lina.py:39 -#: users/serializers/preference/luna.py:73 +#: users/serializers/preference/lina.py:46 +#: users/serializers/preference/luna.py:77 msgid "Basic" msgstr "" -#: assets/const/base.py:34 assets/const/protocol.py:252 +#: assets/const/base.py:34 assets/const/protocol.py:268 #: assets/models/asset/web.py:13 msgid "Script" msgstr "" @@ -1427,7 +1471,7 @@ msgstr "Cloud" #: assets/const/category.py:14 assets/models/asset/gpt.py:11 #: assets/models/asset/web.py:16 audits/const.py:42 -#: terminal/models/applet/applet.py:27 users/const.py:59 +#: terminal/models/applet/applet.py:27 users/const.py:64 msgid "Web" msgstr "" @@ -1472,11 +1516,19 @@ msgstr "" msgid "Other" msgstr "" -#: assets/const/protocol.py:49 +#: assets/const/protocol.py:45 +msgid "Old SSH version" +msgstr "" + +#: assets/const/protocol.py:46 +msgid "Old SSH version like openssh 5.x or 6.x" +msgstr "" + +#: assets/const/protocol.py:57 msgid "SFTP root" msgstr "" -#: assets/const/protocol.py:51 +#: assets/const/protocol.py:59 #, python-brace-format msgid "" "SFTP root directory, Support variable:
- ${ACCOUNT} The connected " @@ -1484,104 +1536,112 @@ msgid "" "
- ${USER} The username of the user" msgstr "" -#: assets/const/protocol.py:66 +#: assets/const/protocol.py:74 msgid "Console" msgstr "" -#: assets/const/protocol.py:67 +#: assets/const/protocol.py:75 msgid "Connect to console session" msgstr "" -#: assets/const/protocol.py:71 +#: assets/const/protocol.py:79 msgid "Any" msgstr "" -#: assets/const/protocol.py:73 settings/serializers/security.py:228 +#: assets/const/protocol.py:81 settings/serializers/security.py:232 msgid "Security" msgstr "" -#: assets/const/protocol.py:74 +#: assets/const/protocol.py:82 msgid "Security layer to use for the connection" msgstr "" -#: assets/const/protocol.py:80 +#: assets/const/protocol.py:88 msgid "AD domain" msgstr "" -#: assets/const/protocol.py:95 +#: assets/const/protocol.py:103 msgid "Username prompt" msgstr "" -#: assets/const/protocol.py:96 +#: assets/const/protocol.py:104 msgid "We will send username when we see this prompt" msgstr "" -#: assets/const/protocol.py:101 +#: assets/const/protocol.py:109 msgid "Password prompt" msgstr "" -#: assets/const/protocol.py:102 +#: assets/const/protocol.py:110 msgid "We will send password when we see this prompt" msgstr "" -#: assets/const/protocol.py:107 +#: assets/const/protocol.py:115 msgid "Success prompt" msgstr "" -#: assets/const/protocol.py:108 +#: assets/const/protocol.py:116 msgid "We will consider login success when we see this prompt" msgstr "" -#: assets/const/protocol.py:119 assets/models/asset/database.py:10 +#: assets/const/protocol.py:127 assets/models/asset/database.py:10 #: settings/serializers/msg.py:47 msgid "Use SSL" msgstr "" -#: assets/const/protocol.py:154 +#: assets/const/protocol.py:162 msgid "SYSDBA" msgstr "" -#: assets/const/protocol.py:155 +#: assets/const/protocol.py:163 msgid "Connect as SYSDBA" msgstr "" -#: assets/const/protocol.py:170 +#: assets/const/protocol.py:178 msgid "" "SQL Server version, Different versions have different connection drivers" msgstr "" -#: assets/const/protocol.py:199 +#: assets/const/protocol.py:202 +msgid "Auth source" +msgstr "" + +#: assets/const/protocol.py:203 +msgid "The database to authenticate against" +msgstr "" + +#: assets/const/protocol.py:215 msgid "Auth username" msgstr "" -#: assets/const/protocol.py:222 +#: assets/const/protocol.py:238 msgid "Safe mode" msgstr "" -#: assets/const/protocol.py:224 +#: assets/const/protocol.py:240 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:229 assets/models/asset/web.py:9 +#: assets/const/protocol.py:245 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "" -#: assets/const/protocol.py:237 assets/models/asset/web.py:10 +#: assets/const/protocol.py:253 assets/models/asset/web.py:10 msgid "Username selector" msgstr "" -#: assets/const/protocol.py:242 assets/models/asset/web.py:11 +#: assets/const/protocol.py:258 assets/models/asset/web.py:11 msgid "Password selector" msgstr "" -#: assets/const/protocol.py:247 assets/models/asset/web.py:12 +#: assets/const/protocol.py:263 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "" -#: assets/const/protocol.py:270 +#: assets/const/protocol.py:286 msgid "API mode" msgstr "" @@ -1608,18 +1668,18 @@ msgstr "" #: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: audits/models.py:267 common/db/models.py:34 ops/models/base.py:54 -#: ops/models/job.py:235 users/models/user.py:1082 +#: ops/models/job.py:240 users/models/user.py:1098 msgid "Date created" msgstr "" #: assets/models/_user.py:29 assets/models/cmd_filter.py:42 -#: common/db/models.py:35 users/models/user.py:921 +#: common/db/models.py:35 users/models/user.py:936 msgid "Date updated" msgstr "" #: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/cmd_filter.py:91 assets/models/group.py:18 -#: common/db/models.py:32 users/models/user.py:903 +#: common/db/models.py:32 users/models/user.py:917 #: users/serializers/group.py:32 msgid "Created by" msgstr "" @@ -1648,7 +1708,7 @@ msgstr "" #: authentication/serializers/connect_token_secret.py:114 #: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42 #: terminal/models/virtualapp/virtualapp.py:24 -#: terminal/serializers/session.py:19 terminal/serializers/session.py:45 +#: terminal/serializers/session.py:21 terminal/serializers/session.py:48 #: terminal/serializers/storage.py:71 msgid "Protocol" msgstr "" @@ -1657,7 +1717,7 @@ msgstr "" msgid "Sudo" msgstr "" -#: assets/models/_user.py:55 ops/const.py:50 ops/const.py:60 +#: assets/models/_user.py:55 ops/const.py:50 ops/const.py:61 msgid "Shell" msgstr "" @@ -1697,7 +1757,7 @@ msgstr "" msgid "Cloud" msgstr "" -#: assets/models/asset/common.py:94 assets/models/platform.py:17 +#: assets/models/asset/common.py:94 assets/models/platform.py:16 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72 #: settings/serializers/msg.py:32 terminal/serializers/storage.py:133 #: xpack/plugins/cloud/serializers/account_attrs.py:73 @@ -1709,16 +1769,16 @@ msgstr "" msgid "Address" msgstr "" -#: assets/models/asset/common.py:161 assets/models/platform.py:126 +#: assets/models/asset/common.py:161 assets/models/platform.py:134 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:118 -#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:329 +#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:325 msgid "Platform" msgstr "" #: assets/models/asset/common.py:163 assets/models/domain.py:22 #: authentication/serializers/connect_token_secret.py:136 -#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:331 +#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:327 msgid "Domain" msgstr "" @@ -1772,13 +1832,12 @@ msgid "Proxy" msgstr "" #: assets/models/automations/base.py:18 assets/models/cmd_filter.py:32 -#: assets/models/node.py:549 perms/models/asset_permission.py:72 -#: perms/serializers/permission.py:37 tickets/models/ticket/apply_asset.py:14 -#: xpack/plugins/cloud/models.py:330 +#: assets/models/node.py:553 perms/models/asset_permission.py:72 +#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:326 msgid "Node" msgstr "" -#: assets/models/automations/base.py:22 ops/models/job.py:231 +#: assets/models/automations/base.py:22 ops/models/job.py:236 #: settings/serializers/auth/sms.py:103 msgid "Parameters" msgstr "" @@ -1808,8 +1867,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 -#: users/models/user.py:866 +#: users/models/group.py:25 users/models/user.py:880 msgid "User group" msgstr "" @@ -1841,7 +1899,7 @@ msgstr "" msgid "Favorite asset" msgstr "" -#: assets/models/gateway.py:34 +#: assets/models/gateway.py:34 assets/serializers/domain.py:19 msgid "Gateway" msgstr "" @@ -1849,8 +1907,8 @@ msgstr "" msgid "Asset group" msgstr "" -#: assets/models/group.py:31 assets/models/platform.py:20 -#: assets/serializers/platform.py:139 +#: assets/models/group.py:31 assets/models/platform.py:19 +#: assets/serializers/platform.py:146 #: xpack/plugins/cloud/providers/nutanix.py:30 msgid "Default" msgstr "" @@ -1859,11 +1917,11 @@ msgstr "" msgid "Default asset group" msgstr "" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1067 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1083 msgid "System" msgstr "" -#: assets/models/label.py:19 assets/models/node.py:535 +#: assets/models/label.py:19 assets/models/node.py:539 #: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18 #: assets/serializers/cagegory.py:24 #: authentication/models/connection_token.py:29 @@ -1875,148 +1933,148 @@ msgstr "" #: assets/models/label.py:40 assets/serializers/cagegory.py:10 #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 -#: assets/serializers/platform.py:137 +#: assets/serializers/platform.py:144 #: authentication/serializers/connect_token_secret.py:124 #: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33 #: labels/serializers.py:45 settings/serializers/msg.py:90 msgid "Label" msgstr "" -#: assets/models/node.py:165 +#: assets/models/node.py:169 msgid "New node" msgstr "" -#: assets/models/node.py:463 audits/backends/db.py:65 audits/backends/db.py:66 +#: assets/models/node.py:467 audits/backends/db.py:65 audits/backends/db.py:66 msgid "empty" msgstr "" -#: assets/models/node.py:534 perms/models/perm_node.py:28 +#: assets/models/node.py:538 perms/models/perm_node.py:28 msgid "Key" msgstr "" -#: assets/models/node.py:536 assets/serializers/node.py:20 +#: assets/models/node.py:540 assets/serializers/node.py:20 msgid "Full value" msgstr "" -#: assets/models/node.py:540 perms/models/perm_node.py:30 +#: assets/models/node.py:544 perms/models/perm_node.py:30 msgid "Parent key" msgstr "" -#: assets/models/node.py:552 +#: assets/models/node.py:556 msgid "Can match node" msgstr "" -#: assets/models/platform.py:18 +#: assets/models/platform.py:17 msgid "Primary" msgstr "" -#: assets/models/platform.py:19 +#: assets/models/platform.py:18 msgid "Required" msgstr "" -#: assets/models/platform.py:21 +#: assets/models/platform.py:20 msgid "Public" msgstr "" -#: assets/models/platform.py:22 assets/serializers/platform.py:67 -#: settings/serializers/settings.py:66 +#: assets/models/platform.py:21 assets/serializers/platform.py:74 +#: settings/serializers/settings.py:95 #: users/templates/users/reset_password.html:29 msgid "Setting" msgstr "" -#: assets/models/platform.py:39 audits/const.py:56 +#: assets/models/platform.py:38 audits/const.py:56 #: authentication/backends/passkey/models.py:11 settings/models.py:38 #: terminal/serializers/applet_host.py:33 msgid "Enabled" msgstr "" -#: assets/models/platform.py:40 +#: assets/models/platform.py:39 msgid "Ansible config" msgstr "" -#: assets/models/platform.py:42 assets/serializers/platform.py:33 +#: assets/models/platform.py:41 assets/serializers/platform.py:33 msgid "Ping enabled" msgstr "" -#: assets/models/platform.py:43 assets/serializers/platform.py:34 +#: assets/models/platform.py:42 assets/serializers/platform.py:34 msgid "Ping method" msgstr "" -#: assets/models/platform.py:44 +#: assets/models/platform.py:43 msgid "Ping params" msgstr "" -#: assets/models/platform.py:46 assets/models/platform.py:70 -#: assets/serializers/platform.py:35 +#: assets/models/platform.py:45 assets/models/platform.py:69 +#: assets/serializers/platform.py:36 msgid "Gather facts enabled" msgstr "" -#: assets/models/platform.py:48 assets/models/platform.py:72 -#: assets/serializers/platform.py:37 +#: assets/models/platform.py:47 assets/models/platform.py:71 +#: assets/serializers/platform.py:40 msgid "Gather facts method" msgstr "" -#: assets/models/platform.py:50 assets/models/platform.py:74 +#: assets/models/platform.py:49 assets/models/platform.py:73 msgid "Gather facts params" msgstr "" -#: assets/models/platform.py:52 assets/serializers/platform.py:45 +#: assets/models/platform.py:51 assets/serializers/platform.py:50 msgid "Change secret enabled" msgstr "" -#: assets/models/platform.py:54 assets/serializers/platform.py:48 +#: assets/models/platform.py:53 assets/serializers/platform.py:54 msgid "Change secret method" msgstr "" -#: assets/models/platform.py:56 +#: assets/models/platform.py:55 msgid "Change secret params" msgstr "" -#: assets/models/platform.py:58 assets/serializers/platform.py:51 +#: assets/models/platform.py:57 assets/serializers/platform.py:57 msgid "Push account enabled" msgstr "" -#: assets/models/platform.py:60 assets/serializers/platform.py:53 +#: assets/models/platform.py:59 assets/serializers/platform.py:61 msgid "Push account method" msgstr "" -#: assets/models/platform.py:62 +#: assets/models/platform.py:61 msgid "Push account params" msgstr "" -#: assets/models/platform.py:64 +#: assets/models/platform.py:63 assets/serializers/platform.py:43 msgid "Verify account enabled" msgstr "" -#: assets/models/platform.py:66 assets/serializers/platform.py:41 +#: assets/models/platform.py:65 assets/serializers/platform.py:47 msgid "Verify account method" msgstr "" -#: assets/models/platform.py:68 +#: assets/models/platform.py:67 msgid "Verify account params" msgstr "" -#: assets/models/platform.py:76 +#: assets/models/platform.py:75 msgid "Remove account enabled" msgstr "" -#: assets/models/platform.py:78 +#: assets/models/platform.py:77 msgid "Remove account method" msgstr "" -#: assets/models/platform.py:80 +#: assets/models/platform.py:79 msgid "Remove account params" msgstr "" -#: assets/models/platform.py:98 tickets/models/ticket/general.py:300 +#: assets/models/platform.py:97 tickets/models/ticket/general.py:298 msgid "Meta" msgstr "" -#: assets/models/platform.py:99 labels/models.py:13 +#: assets/models/platform.py:98 labels/models.py:13 msgid "Internal" msgstr "Builtin" -#: assets/models/platform.py:103 assets/serializers/platform.py:156 +#: assets/models/platform.py:102 assets/serializers/platform.py:163 msgid "Charset" msgstr "" @@ -2024,15 +2082,15 @@ msgstr "" msgid "Gateway enabled" msgstr "" -#: assets/models/platform.py:107 assets/serializers/platform.py:184 +#: assets/models/platform.py:106 assets/serializers/platform.py:191 msgid "Su enabled" msgstr "Switch account enabled" -#: assets/models/platform.py:108 assets/serializers/platform.py:162 +#: assets/models/platform.py:107 assets/serializers/platform.py:169 msgid "Su method" msgstr "Switch account method" -#: assets/models/platform.py:109 assets/serializers/platform.py:165 +#: assets/models/platform.py:108 assets/serializers/platform.py:172 msgid "Custom fields" msgstr "" @@ -2047,11 +2105,11 @@ msgid "" "type" msgstr "" -#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:166 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:46 -#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:332 +#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:328 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" msgstr "" @@ -2109,7 +2167,7 @@ msgid "Model" msgstr "" #: assets/serializers/asset/info/gathered.py:8 -#: tickets/models/ticket/general.py:299 +#: tickets/models/ticket/general.py:297 msgid "Serial number" msgstr "" @@ -2158,11 +2216,7 @@ msgstr "" msgid "Types" msgstr "" -#: assets/serializers/domain.py:18 -msgid "Gateways" -msgstr "" - -#: assets/serializers/domain.py:20 orgs/serializers.py:13 +#: assets/serializers/domain.py:21 orgs/serializers.py:13 #: perms/serializers/permission.py:40 msgid "Assets amount" msgstr "" @@ -2179,75 +2233,75 @@ msgstr "" msgid "Can't contains: /" msgstr "" -#: assets/serializers/platform.py:34 +#: assets/serializers/platform.py:33 msgid "Enable asset detection" msgstr "" -#: assets/serializers/platform.py:38 +#: assets/serializers/platform.py:37 msgid "Enable asset information collection" msgstr "" -#: assets/serializers/platform.py:42 +#: assets/serializers/platform.py:44 msgid "Enable account verification" msgstr "" -#: assets/serializers/platform.py:49 +#: assets/serializers/platform.py:51 msgid "Enable account secret auto change" msgstr "" -#: assets/serializers/platform.py:54 +#: assets/serializers/platform.py:58 msgid "Enable account auto push" msgstr "" -#: assets/serializers/platform.py:57 +#: assets/serializers/platform.py:64 msgid "Gather accounts enabled" msgstr "" -#: assets/serializers/platform.py:60 -msgid "Gather accounts method" -msgstr "" - -#: assets/serializers/platform.py:61 +#: assets/serializers/platform.py:65 msgid "Enable account collection" msgstr "" #: assets/serializers/platform.py:68 +msgid "Gather accounts method" +msgstr "" + +#: assets/serializers/platform.py:75 msgid "Port from addr" msgstr "" -#: assets/serializers/platform.py:80 +#: assets/serializers/platform.py:87 msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." msgstr "" -#: assets/serializers/platform.py:85 +#: assets/serializers/platform.py:92 msgid "This protocol is required, and it must be set when adding assets." msgstr "" -#: assets/serializers/platform.py:88 +#: assets/serializers/platform.py:95 msgid "" "This protocol is default, when adding assets, it will be displayed by " "default." msgstr "" -#: assets/serializers/platform.py:91 +#: assets/serializers/platform.py:98 msgid "This protocol is public, asset will show this protocol to user" msgstr "" -#: assets/serializers/platform.py:140 +#: assets/serializers/platform.py:147 msgid "Help text" msgstr "" -#: assets/serializers/platform.py:141 +#: assets/serializers/platform.py:148 msgid "Choices" msgstr "" -#: assets/serializers/platform.py:160 +#: assets/serializers/platform.py:167 msgid "Automation" msgstr "" -#: assets/serializers/platform.py:186 +#: assets/serializers/platform.py:193 msgid "" "Login with account when accessing assets, then automatically switch to " "another, similar to logging in with a regular account and then switching to " @@ -2258,15 +2312,15 @@ msgstr "" msgid "Assets can be connected using a zone gateway" msgstr "" -#: assets/serializers/platform.py:194 +#: assets/serializers/platform.py:201 msgid "Default Domain" msgstr "" -#: assets/serializers/platform.py:215 +#: assets/serializers/platform.py:222 msgid "type is required" msgstr "" -#: assets/serializers/platform.py:230 +#: assets/serializers/platform.py:237 msgid "Protocols is required" msgstr "" @@ -2374,7 +2428,7 @@ msgstr "" msgid "Symlink" msgstr "" -#: audits/const.py:18 audits/const.py:28 terminal/api/session/session.py:146 +#: audits/const.py:18 audits/const.py:28 terminal/api/session/session.py:149 msgid "Download" msgstr "" @@ -2382,7 +2436,7 @@ msgstr "" msgid "Rename dir" msgstr "" -#: audits/const.py:23 rbac/tree.py:238 terminal/api/session/session.py:257 +#: audits/const.py:23 rbac/tree.py:238 terminal/api/session/session.py:277 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 msgid "View" @@ -2400,7 +2454,7 @@ msgstr "" #: audits/const.py:30 authentication/templates/authentication/login.html:296 #: authentication/templates/authentication/login.html:368 -#: templates/_header_bar.html:95 +#: templates/_header_bar.html:101 msgid "Login" msgstr "" @@ -2408,21 +2462,25 @@ msgstr "" msgid "Change password" msgstr "" -#: audits/const.py:37 tickets/const.py:47 +#: audits/const.py:35 +msgid "Notifications" +msgstr "" + +#: audits/const.py:37 tickets/const.py:45 msgid "Approve" msgstr "" #: audits/const.py:38 #: authentication/templates/authentication/_access_key_modal.html:155 #: authentication/templates/authentication/_mfa_confirm_modal.html:53 -#: templates/_modal.html:22 tickets/const.py:45 +#: templates/_modal.html:22 tickets/const.py:43 msgid "Close" msgstr "" #: audits/const.py:43 settings/serializers/terminal.py:6 -#: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:174 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:52 -#: terminal/serializers/session.py:66 +#: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:175 +#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:55 +#: terminal/serializers/session.py:69 msgid "Terminal" msgstr "" @@ -2447,11 +2505,11 @@ msgstr "" msgid "-" msgstr "" -#: audits/handler.py:117 +#: audits/handler.py:116 msgid "Yes" msgstr "" -#: audits/handler.py:117 +#: audits/handler.py:116 msgid "No" msgstr "" @@ -2460,7 +2518,7 @@ msgid "Job audit log" msgstr "" #: audits/models.py:56 audits/models.py:100 audits/models.py:175 -#: terminal/models/session/session.py:38 terminal/models/session/sharing.py:113 +#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:113 msgid "Remote addr" msgstr "" @@ -2538,7 +2596,7 @@ msgstr "" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:65 users/models/user.py:883 +#: users/forms/profile.py:63 users/models/user.py:897 #: users/serializers/profile.py:102 msgid "MFA" msgstr "" @@ -2562,17 +2620,18 @@ msgstr "" msgid "Session key" msgstr "" -#: audits/models.py:305 +#: audits/models.py:298 msgid "User session" msgstr "" -#: audits/models.py:307 +#: audits/models.py:300 msgid "Offline user session" msgstr "" #: audits/serializers.py:33 ops/models/adhoc.py:25 ops/models/base.py:16 -#: ops/models/base.py:53 ops/models/job.py:146 ops/models/job.py:234 -#: ops/models/playbook.py:30 terminal/models/session/sharing.py:25 +#: ops/models/base.py:53 ops/models/celery.py:86 ops/models/job.py:151 +#: ops/models/job.py:239 ops/models/playbook.py:30 +#: terminal/models/session/sharing.py:25 msgid "Creator" msgstr "" @@ -2588,7 +2647,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:901 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:915 msgid "Date expired" msgstr "" @@ -2622,48 +2681,47 @@ msgstr "" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:748 users/models/user.py:916 +#: users/models/user.py:758 users/models/user.py:930 msgid "WeCom" msgstr "" -#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:87 +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 -#: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:13 users/models/user.py:750 -#: users/models/user.py:918 +#: settings/serializers/auth/feishu.py:10 users/models/user.py:760 +#: users/models/user.py:932 msgid "FeiShu" msgstr "" -#: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 -#: authentication/views/slack.py:87 notifications/backends/__init__.py:15 +#: audits/signal_handlers/login_log.py:40 authentication/views/login.py:101 +#: 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:751 users/models/user.py:919 +#: users/models/user.py:762 users/models/user.py:934 msgid "Slack" msgstr "" -#: audits/signal_handlers/login_log.py:40 authentication/views/dingtalk.py:161 +#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:161 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:749 -#: users/models/user.py:917 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:759 +#: users/models/user.py:931 msgid "DingTalk" msgstr "" -#: audits/signal_handlers/login_log.py:41 +#: audits/signal_handlers/login_log.py:42 #: authentication/models/temp_token.py:16 msgid "Temporary token" msgstr "" -#: audits/signal_handlers/login_log.py:42 authentication/views/login.py:101 +#: audits/signal_handlers/login_log.py:43 authentication/views/login.py:107 #: settings/serializers/auth/passkey.py:8 #: settings/serializers/auth/passkey.py:11 msgid "Passkey" msgstr "" -#: audits/tasks.py:101 +#: audits/tasks.py:117 msgid "Clean audits session task log" msgstr "" -#: audits/tasks.py:114 +#: audits/tasks.py:130 msgid "Upload FTP file to external storage" msgstr "" @@ -2680,40 +2738,40 @@ msgstr "" msgid "This action require verify your MFA" msgstr "" -#: authentication/api/connection_token.py:260 +#: authentication/api/connection_token.py:265 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "" -#: authentication/api/connection_token.py:374 +#: authentication/api/connection_token.py:379 msgid "Anonymous account is not supported for this asset" msgstr "" -#: authentication/api/connection_token.py:393 +#: authentication/api/connection_token.py:399 msgid "Account not found" msgstr "" -#: authentication/api/connection_token.py:396 +#: authentication/api/connection_token.py:402 msgid "Permission expired" msgstr "" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:435 msgid "ACL action is reject: {}({})" msgstr "" -#: authentication/api/connection_token.py:430 +#: authentication/api/connection_token.py:439 msgid "ACL action is review" msgstr "" -#: authentication/api/mfa.py:59 +#: authentication/api/mfa.py:62 msgid "Current user not support mfa type: {}" msgstr "" -#: authentication/api/password.py:33 terminal/api/session/session.py:305 +#: authentication/api/password.py:33 terminal/api/session/session.py:325 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "" -#: authentication/api/password.py:33 users/views/profile/reset.py:164 +#: authentication/api/password.py:33 users/views/profile/reset.py:166 msgid "No user matched" msgstr "" @@ -2891,19 +2949,19 @@ msgstr "" msgid "Login confirm ticket was {}" msgstr "" -#: authentication/errors/failed.py:145 +#: authentication/errors/failed.py:149 msgid "Current IP and Time period is not allowed" msgstr "" -#: authentication/errors/failed.py:150 +#: authentication/errors/failed.py:154 msgid "Please enter MFA code" msgstr "" -#: authentication/errors/failed.py:155 +#: authentication/errors/failed.py:159 msgid "Please enter SMS code" msgstr "" -#: authentication/errors/failed.py:160 users/exceptions.py:15 +#: authentication/errors/failed.py:164 users/exceptions.py:15 msgid "Phone not set" msgstr "" @@ -2925,19 +2983,23 @@ msgstr "" msgid "DingTalk is not bound" msgstr "" -#: authentication/errors/mfa.py:33 authentication/views/feishu.py:128 +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:138 msgid "FeiShu is not bound" msgstr "" -#: authentication/errors/mfa.py:38 authentication/views/slack.py:127 +#: authentication/errors/mfa.py:38 authentication/views/lark.py:48 +msgid "Lark is not bound" +msgstr "" + +#: authentication/errors/mfa.py:43 authentication/views/slack.py:127 msgid "Slack is not bound" msgstr "" -#: authentication/errors/mfa.py:43 +#: authentication/errors/mfa.py:48 msgid "Your password is invalid" msgstr "" -#: authentication/errors/mfa.py:48 +#: authentication/errors/mfa.py:53 #, python-format msgid "Please wait for %s seconds before retry" msgstr "" @@ -2954,28 +3016,28 @@ msgstr "" msgid "Your password has expired, please reset before logging in" msgstr "" -#: authentication/forms.py:45 -msgid "{} days auto login" +#: authentication/forms.py:39 +msgid "Auto login" msgstr "" -#: authentication/forms.py:56 +#: authentication/forms.py:52 msgid "MFA Code" msgstr "" -#: authentication/forms.py:57 +#: authentication/forms.py:53 msgid "MFA type" msgstr "" -#: authentication/forms.py:65 +#: authentication/forms.py:61 #: authentication/templates/authentication/_captcha_field.html:15 msgid "Captcha" msgstr "" -#: authentication/forms.py:70 users/forms/profile.py:28 +#: authentication/forms.py:66 users/forms/profile.py:27 msgid "MFA code" msgstr "" -#: authentication/forms.py:72 +#: authentication/forms.py:68 msgid "Dynamic code" msgstr "" @@ -3030,8 +3092,8 @@ msgstr "" #: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 #: settings/serializers/auth/sms.py:17 settings/serializers/auth/sms.py:32 -#: users/forms/profile.py:104 users/forms/profile.py:109 -#: users/templates/users/forgot_password.html:155 +#: users/forms/profile.py:103 users/forms/profile.py:108 +#: users/templates/users/forgot_password.html:157 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "" @@ -3126,27 +3188,27 @@ msgstr "" msgid "Connection token" msgstr "" -#: authentication/models/connection_token.py:115 +#: authentication/models/connection_token.py:118 msgid "Connection token inactive" msgstr "" -#: authentication/models/connection_token.py:119 +#: authentication/models/connection_token.py:122 msgid "Connection token expired at: {}" msgstr "" -#: authentication/models/connection_token.py:122 +#: authentication/models/connection_token.py:125 msgid "No user or invalid user" msgstr "" -#: authentication/models/connection_token.py:125 +#: authentication/models/connection_token.py:128 msgid "No asset or inactive asset" msgstr "" -#: authentication/models/connection_token.py:269 +#: authentication/models/connection_token.py:274 msgid "Can view super connection token secret" msgstr "" -#: authentication/models/connection_token.py:271 +#: authentication/models/connection_token.py:276 msgid "Super connection token" msgstr "" @@ -3183,7 +3245,7 @@ msgid "Options" msgstr "" #: authentication/serializers/connect_token_secret.py:127 -#: ops/notifications.py:17 +#: ops/notifications.py:18 msgid "Component" msgstr "" @@ -3191,17 +3253,17 @@ msgstr "" msgid "Expired now" msgstr "" -#: authentication/serializers/connect_token_secret.py:169 +#: authentication/serializers/connect_token_secret.py:170 #: terminal/models/virtualapp/virtualapp.py:25 msgid "Image name" msgstr "" -#: authentication/serializers/connect_token_secret.py:170 +#: authentication/serializers/connect_token_secret.py:171 #: terminal/models/virtualapp/virtualapp.py:27 msgid "Image port" msgstr "" -#: authentication/serializers/connect_token_secret.py:171 +#: authentication/serializers/connect_token_secret.py:172 #: terminal/models/virtualapp/virtualapp.py:26 msgid "Image protocol" msgstr "" @@ -3224,12 +3286,12 @@ msgstr "" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 -#: users/serializers/user.py:97 users/serializers/user.py:176 +#: users/serializers/user.py:101 users/serializers/user.py:184 msgid "Is expired" msgstr "Expired" #: authentication/serializers/password_mfa.py:29 -#: users/templates/users/forgot_password.html:151 +#: users/templates/users/forgot_password.html:153 msgid "The {} cannot be empty" msgstr "" @@ -3238,8 +3300,8 @@ msgid "Access IP" msgstr "" #: authentication/serializers/token.py:92 perms/serializers/permission.py:43 -#: perms/serializers/permission.py:66 users/serializers/user.py:98 -#: users/serializers/user.py:173 +#: perms/serializers/permission.py:66 users/serializers/user.py:102 +#: users/serializers/user.py:181 msgid "Is valid" msgstr "Is Valid" @@ -3264,13 +3326,13 @@ msgid "Show" msgstr "" #: authentication/templates/authentication/_access_key_modal.html:66 -#: users/const.py:37 users/models/user.py:644 users/serializers/profile.py:92 +#: users/const.py:42 users/models/user.py:654 #: users/templates/users/user_verify_mfa.html:36 msgid "Disable" msgstr "" #: authentication/templates/authentication/_access_key_modal.html:67 -#: users/const.py:38 users/models/user.py:645 users/serializers/profile.py:93 +#: users/const.py:43 users/models/user.py:655 #: users/templates/users/mfa_setting.html:26 #: users/templates/users/mfa_setting.html:68 msgid "Enable" @@ -3309,7 +3371,7 @@ msgstr "" #: authentication/templates/authentication/_msg_reset_password_code.html:9 #: authentication/templates/authentication/_msg_rest_password_success.html:2 #: authentication/templates/authentication/_msg_rest_public_key_success.html:2 -#: jumpserver/conf.py:460 +#: jumpserver/conf.py:465 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: perms/templates/perms/_msg_permed_items_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:32 @@ -3361,7 +3423,7 @@ msgstr "" #: authentication/templates/authentication/_msg_reset_password_code.html:12 #: terminal/models/session/sharing.py:27 terminal/models/session/sharing.py:97 #: terminal/templates/terminal/_msg_session_sharing.html:12 -#: users/forms/profile.py:107 users/templates/users/forgot_password.html:97 +#: users/forms/profile.py:106 users/templates/users/forgot_password.html:98 msgid "Verify code" msgstr "" @@ -3451,7 +3513,7 @@ msgstr "" msgid "Return" msgstr "" -#: authentication/templates/authentication/login_wait_confirm.html:116 +#: authentication/templates/authentication/login_wait_confirm.html:117 msgid "Copy success" msgstr "" @@ -3466,7 +3528,7 @@ msgid "Do you want to retry ?" msgstr "" #: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24 -#: xpack/plugins/cloud/const.py:32 +#: xpack/plugins/cloud/const.py:33 msgid "LAN" msgstr "" @@ -3475,17 +3537,17 @@ msgstr "" msgid "If you have any question, please contact the administrator" msgstr "" -#: authentication/views/base.py:138 +#: authentication/views/base.py:146 #, python-format msgid "%s query user failed" msgstr "" -#: authentication/views/base.py:147 +#: authentication/views/base.py:155 #, python-format msgid "The %s is already bound to another user" msgstr "" -#: authentication/views/base.py:154 +#: authentication/views/base.py:162 #, python-format msgid "Binding %s successfully" msgstr "" @@ -3498,7 +3560,7 @@ msgstr "" msgid "DingTalk Error" msgstr "" -#: authentication/views/dingtalk.py:57 authentication/views/feishu.py:47 +#: authentication/views/dingtalk.py:57 authentication/views/feishu.py:68 #: authentication/views/slack.py:47 authentication/views/wecom.py:55 msgid "" "The system configuration is incorrect. Please contact your administrator" @@ -3532,49 +3594,61 @@ msgstr "" msgid "Please login with a password and then bind the DingTalk" msgstr "" -#: authentication/views/feishu.py:35 authentication/views/feishu.py:127 +#: authentication/views/feishu.py:43 authentication/views/feishu.py:137 msgid "FeiShu Error" msgstr "" -#: authentication/views/feishu.py:63 +#: authentication/views/feishu.py:44 msgid "FeiShu is already bound" msgstr "" -#: authentication/views/feishu.py:129 +#: authentication/views/feishu.py:139 msgid "Failed to get user from FeiShu" msgstr "" -#: authentication/views/login.py:217 +#: authentication/views/lark.py:19 authentication/views/lark.py:47 +msgid "Lark Error" +msgstr "" + +#: authentication/views/lark.py:20 +msgid "Lark is already bound" +msgstr "" + +#: authentication/views/lark.py:49 +msgid "Failed to get user from Lark" +msgstr "" + +#: authentication/views/login.py:230 msgid "Redirecting" msgstr "" -#: authentication/views/login.py:218 +#: authentication/views/login.py:231 msgid "Redirecting to {} authentication" msgstr "" -#: authentication/views/login.py:241 +#: authentication/views/login.py:254 msgid "Login timeout, please try again." msgstr "" -#: authentication/views/login.py:284 +#: authentication/views/login.py:297 msgid "User email already exists ({})" msgstr "" -#: authentication/views/login.py:362 +#: authentication/views/login.py:375 msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" msgstr "" -#: authentication/views/login.py:367 +#: authentication/views/login.py:380 msgid "No ticket found" msgstr "" -#: authentication/views/login.py:403 +#: authentication/views/login.py:416 msgid "Logout success" msgstr "" -#: authentication/views/login.py:404 +#: authentication/views/login.py:417 msgid "Logout success, return login page" msgstr "" @@ -3626,12 +3700,7 @@ msgstr "" msgid "Ready" msgstr "" -#: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:30 -#: tickets/const.py:40 -msgid "Pending" -msgstr "" - -#: common/const/choices.py:17 ops/const.py:72 +#: common/const/choices.py:17 ops/const.py:73 msgid "Running" msgstr "" @@ -3681,22 +3750,22 @@ msgstr "" msgid "Encrypt field using Secret Key" msgstr "" -#: common/db/fields.py:580 +#: common/db/fields.py:582 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:587 +#: common/db/fields.py:589 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" msgstr "" -#: common/db/fields.py:590 +#: common/db/fields.py:592 msgid "Invalid ids for ids, should be a list" msgstr "" -#: common/db/fields.py:592 common/db/fields.py:597 +#: common/db/fields.py:594 common/db/fields.py:599 #: common/serializers/fields.py:133 tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:56 #: xpack/plugins/cloud/serializers/account_attrs.py:79 @@ -3704,11 +3773,11 @@ msgstr "" msgid "This field is required." msgstr "" -#: common/db/fields.py:595 common/db/fields.py:600 +#: common/db/fields.py:597 common/db/fields.py:602 msgid "Invalid attrs, should be a list of dict" msgstr "" -#: common/db/fields.py:602 +#: common/db/fields.py:604 msgid "Invalid attrs, should be has name and value" msgstr "" @@ -3720,7 +3789,7 @@ msgstr "" msgid "discard time" msgstr "" -#: common/db/models.py:33 users/models/user.py:904 +#: common/db/models.py:33 users/models/user.py:918 msgid "Updated by" msgstr "" @@ -3734,7 +3803,7 @@ msgstr "" #: common/drf/metadata.py:127 msgid "Org ID" -msgstr "" +msgstr "Organization ID" #: common/drf/parsers/base.py:21 msgid "The file content overflowed (The maximum length `{}` bytes)" @@ -3748,7 +3817,7 @@ msgstr "" msgid "Invalid excel file" msgstr "" -#: common/drf/renders/base.py:207 +#: common/drf/renders/base.py:208 msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -3886,7 +3955,7 @@ msgstr "" msgid "Invalid choice: {}" msgstr "" -#: common/serializers/mixin.py:400 +#: common/serializers/mixin.py:409 msgid "Labels" msgstr "" @@ -3898,7 +3967,7 @@ msgstr "" msgid "Send email attachment" msgstr "" -#: common/tasks.py:80 terminal/tasks.py:62 +#: common/tasks.py:80 terminal/tasks.py:58 msgid "Upload session replay to external storage" msgstr "" @@ -3927,20 +3996,20 @@ msgstr "" msgid "The mobile phone number format is incorrect" msgstr "" -#: jumpserver/conf.py:454 +#: jumpserver/conf.py:459 #, python-brace-format msgid "The verification code is: {code}" msgstr "" -#: jumpserver/conf.py:459 +#: jumpserver/conf.py:464 msgid "Create account successfully" msgstr "" -#: jumpserver/conf.py:461 +#: jumpserver/conf.py:466 msgid "Your account has been created successfully" msgstr "" -#: jumpserver/context_processor.py:12 +#: jumpserver/context_processor.py:14 msgid "JumpServer Open Source Bastion Host" msgstr "" @@ -4018,15 +4087,15 @@ msgstr "" msgid "Publish the station message" msgstr "" -#: ops/ansible/inventory.py:97 ops/models/job.py:62 +#: ops/ansible/inventory.py:107 ops/models/job.py:65 msgid "No account available" msgstr "" -#: ops/ansible/inventory.py:264 +#: ops/ansible/inventory.py:286 msgid "Ansible disabled" msgstr "" -#: ops/ansible/inventory.py:280 +#: ops/ansible/inventory.py:302 msgid "Skip hosts below:" msgstr "" @@ -4034,49 +4103,71 @@ msgstr "" msgid "Waiting task start" msgstr "" -#: ops/api/celery.py:246 +#: ops/api/celery.py:262 msgid "Task {} not found" msgstr "" -#: ops/api/celery.py:251 +#: ops/api/celery.py:267 msgid "Task {} args or kwargs error" msgstr "" -#: ops/api/job.py:132 +#: ops/api/job.py:81 +#, 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:82 +#, python-brace-format +msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" +msgstr "" + +#: ops/api/job.py:83 +#, python-brace-format +msgid "Asset ({asset}) authorization lacks upload permissions" +msgstr "" + +#: ops/api/job.py:168 msgid "Duplicate file exists" msgstr "" -#: ops/api/job.py:137 +#: ops/api/job.py:173 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" msgstr "" +#: ops/api/job.py:237 +msgid "" +"The task is being created and cannot be interrupted. Please try again later." +msgstr "" + #: ops/api/playbook.py:39 msgid "Currently playbook is being used in a job" msgstr "" -#: ops/api/playbook.py:93 +#: ops/api/playbook.py:96 msgid "Unsupported file content" msgstr "" -#: ops/api/playbook.py:95 ops/api/playbook.py:141 ops/api/playbook.py:189 +#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192 msgid "Invalid file path" msgstr "" -#: ops/api/playbook.py:167 +#: ops/api/playbook.py:170 msgid "This file can not be rename" msgstr "" -#: ops/api/playbook.py:186 +#: ops/api/playbook.py:189 msgid "File already exists" msgstr "" -#: ops/api/playbook.py:204 +#: ops/api/playbook.py:207 msgid "File key is required" msgstr "" -#: ops/api/playbook.py:207 +#: ops/api/playbook.py:210 msgid "This file can not be delete" msgstr "" @@ -4120,7 +4211,7 @@ msgstr "" msgid "Adhoc" msgstr "" -#: ops/const.py:39 ops/models/job.py:144 +#: ops/const.py:39 ops/models/job.py:149 msgid "Playbook" msgstr "" @@ -4136,39 +4227,43 @@ msgstr "" msgid "Privileged First" msgstr "" -#: ops/const.py:51 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Powershell" msgstr "" -#: ops/const.py:52 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Python" msgstr "" -#: ops/const.py:53 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "MySQL" msgstr "" -#: ops/const.py:54 ops/const.py:65 +#: ops/const.py:54 ops/const.py:66 msgid "PostgreSQL" msgstr "" -#: ops/const.py:55 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "SQLServer" msgstr "" -#: ops/const.py:56 ops/const.py:68 +#: ops/const.py:56 ops/const.py:69 msgid "Raw" msgstr "" -#: ops/const.py:64 +#: ops/const.py:57 +msgid "HUAWEI" +msgstr "" + +#: ops/const.py:65 msgid "MariaDB" msgstr "" -#: ops/const.py:67 +#: ops/const.py:68 msgid "Oracle" msgstr "" -#: ops/const.py:74 +#: ops/const.py:75 msgid "Timeout" msgstr "" @@ -4210,11 +4305,11 @@ msgstr "" msgid "Pattern" msgstr "" -#: ops/models/adhoc.py:23 ops/models/job.py:141 +#: ops/models/adhoc.py:23 ops/models/job.py:146 msgid "Module" msgstr "" -#: ops/models/adhoc.py:24 ops/models/celery.py:81 ops/models/job.py:139 +#: ops/models/adhoc.py:24 ops/models/celery.py:81 ops/models/job.py:144 #: terminal/models/component/task.py:14 msgid "Args" msgstr "" @@ -4231,12 +4326,12 @@ msgstr "" msgid "Date last run" msgstr "" -#: ops/models/base.py:51 ops/models/job.py:232 -#: xpack/plugins/cloud/models.py:202 +#: ops/models/base.py:51 ops/models/job.py:237 +#: xpack/plugins/cloud/models.py:198 msgid "Result" msgstr "" -#: ops/models/base.py:52 ops/models/job.py:233 +#: ops/models/base.py:52 ops/models/job.py:238 msgid "Summary" msgstr "" @@ -4257,55 +4352,55 @@ msgid "Kwargs" msgstr "" #: ops/models/celery.py:84 terminal/models/session/sharing.py:128 -#: tickets/const.py:26 +#: tickets/const.py:25 msgid "Finished" msgstr "" -#: ops/models/celery.py:85 +#: ops/models/celery.py:87 msgid "Date published" msgstr "" -#: ops/models/celery.py:110 +#: ops/models/celery.py:112 msgid "Celery Task Execution" msgstr "" -#: ops/models/job.py:142 +#: ops/models/job.py:147 msgid "Chdir" msgstr "" -#: ops/models/job.py:143 +#: ops/models/job.py:148 msgid "Timeout (Seconds)" msgstr "" -#: ops/models/job.py:148 +#: ops/models/job.py:153 msgid "Use Parameter Define" msgstr "" -#: ops/models/job.py:149 +#: ops/models/job.py:154 msgid "Parameters define" msgstr "" -#: ops/models/job.py:150 +#: ops/models/job.py:155 msgid "Runas" msgstr "" -#: ops/models/job.py:152 +#: ops/models/job.py:157 msgid "Runas policy" msgstr "" -#: ops/models/job.py:216 terminal/notifications.py:174 +#: ops/models/job.py:221 terminal/notifications.py:174 msgid "Job" msgstr "" -#: ops/models/job.py:239 +#: ops/models/job.py:244 msgid "Material" msgstr "" -#: ops/models/job.py:241 +#: ops/models/job.py:246 msgid "Material Type" msgstr "" -#: ops/models/job.py:558 +#: ops/models/job.py:544 msgid "Job Execution" msgstr "" @@ -4317,30 +4412,30 @@ msgstr "" msgid "VCS URL" msgstr "" -#: ops/notifications.py:18 +#: ops/notifications.py:19 msgid "Server performance" msgstr "" -#: ops/notifications.py:24 +#: ops/notifications.py:25 msgid "Terminal health check warning" msgstr "" -#: ops/notifications.py:69 +#: ops/notifications.py:70 #, python-brace-format msgid "The terminal is offline: {name}" msgstr "" -#: ops/notifications.py:74 +#: ops/notifications.py:75 #, python-brace-format msgid "Disk used more than {max_threshold}%: => {value}" msgstr "" -#: ops/notifications.py:79 +#: ops/notifications.py:80 #, python-brace-format msgid "Memory used more than {max_threshold}%: => {value}" msgstr "" -#: ops/notifications.py:84 +#: ops/notifications.py:85 #, python-brace-format msgid "CPU load more than {max_threshold}: => {value}" msgstr "" @@ -4361,44 +4456,48 @@ msgstr "Execute after saving" msgid "Average time cost" msgstr "" -#: ops/serializers/job.py:65 +#: ops/serializers/job.py:72 msgid "Job type" msgstr "" -#: ops/serializers/job.py:68 terminal/serializers/session.py:53 +#: ops/serializers/job.py:75 terminal/serializers/session.py:56 msgid "Is finished" msgstr "Finished" -#: ops/serializers/job.py:69 +#: ops/serializers/job.py:76 #: settings/templates/ldap/_msg_import_ldap_user.html:7 msgid "Time cost" msgstr "" -#: ops/tasks.py:37 +#: ops/serializers/job.py:90 +msgid "You do not have permission for the current job." +msgstr "" + +#: ops/tasks.py:38 msgid "Run ansible task" msgstr "" -#: ops/tasks.py:71 +#: ops/tasks.py:72 msgid "Run ansible task execution" msgstr "" -#: ops/tasks.py:93 +#: ops/tasks.py:94 msgid "Clear celery periodic tasks" msgstr "" -#: ops/tasks.py:114 +#: ops/tasks.py:115 msgid "Create or update periodic tasks" msgstr "" -#: ops/tasks.py:122 +#: ops/tasks.py:123 msgid "Periodic check service performance" msgstr "" -#: ops/tasks.py:128 +#: ops/tasks.py:129 msgid "Clean up unexpected jobs" msgstr "" -#: ops/tasks.py:135 +#: ops/tasks.py:136 msgid "Clean job_execution db record" msgstr "" @@ -4406,10 +4505,6 @@ msgstr "" msgid "Task log" msgstr "" -#: ops/templates/ops/celery_task_log.html:71 terminal/serializers/task.py:10 -msgid "Task name" -msgstr "" - #: ops/variables.py:24 msgid "The current user`s username of JumpServer" msgstr "" @@ -4446,17 +4541,17 @@ msgstr "" msgid "Name of the job" msgstr "" -#: orgs/api.py:62 +#: orgs/api.py:61 msgid "The current organization ({}) cannot be deleted" msgstr "" -#: orgs/api.py:67 +#: orgs/api.py:66 msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" msgstr "" -#: orgs/api.py:77 +#: orgs/api.py:76 msgid "The organization have resource ({}) cannot be deleted" msgstr "" @@ -4469,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:302 tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "" @@ -4502,7 +4597,7 @@ msgstr "" msgid "Can view all joined org" msgstr "" -#: orgs/models.py:233 +#: orgs/models.py:236 msgid "Can not delete virtual org" msgstr "" @@ -4511,7 +4606,7 @@ msgstr "" msgid "Users amount" msgstr "" -#: orgs/serializers.py:11 perms/serializers/permission.py:39 +#: orgs/serializers.py:11 msgid "User groups amount" msgstr "" @@ -4612,7 +4707,7 @@ msgid "today" msgstr "" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:117 +#: settings/serializers/feature.py:118 msgid "day" msgstr "" @@ -4632,6 +4727,14 @@ msgstr "" msgid "asset permissions of organization {}" msgstr "" +#: perms/serializers/permission.py:34 users/serializers/user.py:173 +msgid "Groups" +msgstr "" + +#: perms/serializers/permission.py:39 +msgid "Groups amount" +msgstr "" + #: perms/tasks.py:27 msgid "Check asset permission expired" msgstr "" @@ -4657,7 +4760,7 @@ msgstr "" msgid "The role has been bound to users, can't be destroy" msgstr "" -#: rbac/api/role.py:102 +#: rbac/api/role.py:105 msgid "Internal role, can't be update" msgstr "" @@ -4671,27 +4774,27 @@ msgstr "" #: rbac/builtin.py:115 msgid "SystemAdmin" -msgstr "" +msgstr "System Admin" #: rbac/builtin.py:118 msgid "SystemAuditor" -msgstr "" +msgstr "System Auditor" #: rbac/builtin.py:121 msgid "SystemComponent" -msgstr "" +msgstr "System Component" #: rbac/builtin.py:127 msgid "OrgAdmin" -msgstr "Org Admin" +msgstr "Organizational Admin" #: rbac/builtin.py:130 msgid "OrgAuditor" -msgstr "Org Auditor" +msgstr "Organizational Auditor" #: rbac/builtin.py:133 msgid "OrgUser" -msgstr "Org User" +msgstr "Organizational user" #: rbac/models/menu.py:13 msgid "Menu permission" @@ -4731,7 +4834,7 @@ msgid "Scope" msgstr "" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:870 +#: users/models/user.py:884 msgid "Role" msgstr "" @@ -4743,7 +4846,7 @@ msgstr "" msgid "Organization role" msgstr "" -#: rbac/models/rolebinding.py:61 +#: rbac/models/rolebinding.py:62 msgid "Role binding" msgstr "" @@ -4751,17 +4854,17 @@ msgstr "" msgid "All organizations" msgstr "" -#: rbac/models/rolebinding.py:190 +#: rbac/models/rolebinding.py:193 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" msgstr "" -#: rbac/models/rolebinding.py:197 +#: rbac/models/rolebinding.py:200 msgid "Organization role binding" msgstr "" -#: rbac/models/rolebinding.py:212 +#: rbac/models/rolebinding.py:215 msgid "System role binding" msgstr "" @@ -4822,7 +4925,7 @@ msgstr "" msgid "Terminal setting" msgstr "" -#: rbac/tree.py:55 settings/serializers/feature.py:126 +#: rbac/tree.py:55 settings/serializers/feature.py:127 msgid "Job center" msgstr "" @@ -4849,7 +4952,7 @@ msgid "Ticket comment" msgstr "" #: rbac/tree.py:130 settings/serializers/feature.py:109 -#: settings/serializers/feature.py:111 tickets/models/ticket/general.py:307 +#: tickets/models/ticket/general.py:305 msgid "Ticket" msgstr "" @@ -4875,19 +4978,11 @@ msgstr "" msgid "Test mail sent to {}, please check" msgstr "" -#: settings/api/ldap.py:101 +#: settings/api/ldap.py:89 msgid "" "Users are not synchronized, please click the user synchronization button" msgstr "" -#: settings/api/ldap.py:137 -msgid "Get ldap users is None" -msgstr "" - -#: settings/api/ldap.py:147 -msgid "Imported {} users successfully (Organization: {})" -msgstr "" - #: settings/api/sms.py:142 msgid "Invalid SMS platform" msgstr "" @@ -5013,26 +5108,30 @@ msgid "FeiShu Auth" msgstr "" #: settings/serializers/auth/base.py:20 -msgid "Slack Auth" +msgid "Lark Auth" msgstr "" #: settings/serializers/auth/base.py:21 -msgid "WeCom Auth" +msgid "Slack Auth" msgstr "" #: settings/serializers/auth/base.py:22 -msgid "SSO Auth" +msgid "WeCom Auth" msgstr "" #: settings/serializers/auth/base.py:23 +msgid "SSO Auth" +msgstr "" + +#: settings/serializers/auth/base.py:24 msgid "Passkey Auth" msgstr "" -#: settings/serializers/auth/base.py:26 +#: settings/serializers/auth/base.py:27 msgid "Forgot Password URL" msgstr "" -#: settings/serializers/auth/base.py:29 +#: settings/serializers/auth/base.py:30 msgid "Login redirection prompt" msgstr "" @@ -5080,11 +5179,15 @@ msgstr "" msgid "Dingtalk" msgstr "" -#: settings/serializers/auth/feishu.py:16 -msgid "Lark" +#: settings/serializers/auth/feishu.py:12 +msgid "Enable FeiShu Auth" msgstr "" -#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:84 +#: settings/serializers/auth/lark.py:12 +msgid "Enable Lark Auth" +msgstr "" + +#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:93 msgid "LDAP" msgstr "" @@ -5123,7 +5226,17 @@ msgstr "" msgid "Connect timeout (s)" msgstr "" -#: settings/serializers/auth/ldap.py:79 +#: settings/serializers/auth/ldap.py:82 +msgid "User DN cache timeout (s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:84 +msgid "" +"Caching the User DN obtained during user login authentication can " +"effectivelyimprove the speed of user authentication., 0 means no cache" +msgstr "" + +#: settings/serializers/auth/ldap.py:88 msgid "Search paged size (piece)" msgstr "" @@ -5450,26 +5563,30 @@ msgid "Operate log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:27 -msgid "FTP log retention days (day)" +msgid "password change log keep days (day)" msgstr "" #: settings/serializers/cleaning.py:31 -msgid "Cloud sync task history retention days (day)" +msgid "FTP log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:35 -msgid "job execution retention days (day)" +msgid "Cloud sync task history retention days (day)" msgstr "" #: settings/serializers/cleaning.py:39 +msgid "job execution retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:43 msgid "Activity log retention days (day)" msgstr "" -#: settings/serializers/cleaning.py:42 +#: settings/serializers/cleaning.py:46 msgid "Session log retention days (day)" msgstr "" -#: settings/serializers/cleaning.py:44 +#: settings/serializers/cleaning.py:48 msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." @@ -5513,10 +5630,10 @@ msgid "Chat AI" msgstr "" #: settings/serializers/feature.py:78 -msgid "Base URL" +msgid "Base Url" msgstr "" -#: settings/serializers/feature.py:81 templates/_header_bar.html:90 +#: settings/serializers/feature.py:81 templates/_header_bar.html:96 msgid "API Key" msgstr "" @@ -5524,35 +5641,43 @@ msgstr "" msgid "GPT Model" msgstr "" -#: settings/serializers/feature.py:114 +#: settings/serializers/feature.py:111 +msgid "Enable tickets" +msgstr "" + +#: settings/serializers/feature.py:112 +msgid "No login approval" +msgstr "" + +#: settings/serializers/feature.py:115 msgid "Default period" msgstr "" -#: settings/serializers/feature.py:117 +#: settings/serializers/feature.py:118 msgid "hour" msgstr "" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:119 msgid "Default unit" msgstr "" -#: settings/serializers/feature.py:123 +#: settings/serializers/feature.py:124 msgid "Feature" msgstr "" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:128 msgid "Allow user run batch command or not using ansible" msgstr "" -#: settings/serializers/feature.py:131 +#: settings/serializers/feature.py:132 msgid "Command blacklist" msgstr "" -#: settings/serializers/feature.py:132 +#: settings/serializers/feature.py:133 msgid "Commands that are not allowed execute." msgstr "" -#: settings/serializers/feature.py:137 settings/serializers/feature.py:140 +#: settings/serializers/feature.py:138 settings/serializers/feature.py:141 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5856,40 +5981,48 @@ msgstr "" msgid "If idle time more than it, disconnect connection." msgstr "" -#: settings/serializers/security.py:201 -msgid "Max online time (hour)" +#: settings/serializers/security.py:200 +msgid "Session expire at browser closed" msgstr "" -#: settings/serializers/security.py:202 -msgid "If session connection time more than it, disconnect connection." +#: settings/serializers/security.py:201 +msgid "Whether to expire the session when the user closes their browser." msgstr "" #: settings/serializers/security.py:205 +msgid "Max online time (hour)" +msgstr "" + +#: settings/serializers/security.py:206 +msgid "If session connection time more than it, disconnect connection." +msgstr "" + +#: settings/serializers/security.py:209 msgid "Remember manual auth" msgstr "" -#: settings/serializers/security.py:208 +#: settings/serializers/security.py:212 #: terminal/templates/terminal/_msg_session_sharing.html:10 msgid "Session share" msgstr "" -#: settings/serializers/security.py:209 +#: settings/serializers/security.py:213 msgid "Enabled, Allows user active session to be shared with other users" msgstr "" -#: settings/serializers/security.py:215 +#: settings/serializers/security.py:219 msgid "Insecure command alert" msgstr "" -#: settings/serializers/security.py:218 +#: settings/serializers/security.py:222 msgid "Email recipient" msgstr "" -#: settings/serializers/security.py:219 +#: settings/serializers/security.py:223 msgid "Multiple user using , split" msgstr "" -#: settings/serializers/settings.py:70 +#: settings/serializers/settings.py:62 #, python-format msgid "[%s] %s" msgstr "" @@ -5943,7 +6076,7 @@ msgid "Sync task Finish" msgstr "" #: settings/templates/ldap/_msg_import_ldap_user.html:6 -#: terminal/models/session/session.py:45 +#: terminal/models/session/session.py:46 msgid "Date end" msgstr "" @@ -6040,10 +6173,6 @@ msgstr "" msgid "Succeed: Match {} s user" msgstr "" -#: settings/utils/ldap.py:655 -msgid "Please test the connection first" -msgstr "" - #: settings/utils/ldap.py:677 msgid "Authentication failed (configuration incorrect): {}" msgstr "" @@ -6060,6 +6189,14 @@ msgstr "" msgid "Authentication success: {}" msgstr "" +#: settings/ws.py:195 +msgid "Get ldap users is None" +msgstr "" + +#: settings/ws.py:205 +msgid "Imported {} users successfully (Organization: {})" +msgstr "" + #: templates/_csv_import_export.html:8 msgid "Export" msgstr "" @@ -6104,19 +6241,19 @@ msgstr "" msgid "Commercial support" msgstr "" -#: templates/_header_bar.html:79 users/forms/profile.py:44 +#: templates/_header_bar.html:85 users/forms/profile.py:43 msgid "Profile" msgstr "" -#: templates/_header_bar.html:83 +#: templates/_header_bar.html:89 msgid "Admin page" msgstr "" -#: templates/_header_bar.html:86 +#: templates/_header_bar.html:92 msgid "User page" msgstr "" -#: templates/_header_bar.html:91 +#: templates/_header_bar.html:97 msgid "Logout" msgstr "" @@ -6179,13 +6316,13 @@ msgstr "" msgid "Send verification code" msgstr "" -#: templates/_mfa_login_field.html:106 -#: users/templates/users/forgot_password.html:174 +#: templates/_mfa_login_field.html:107 +#: users/templates/users/forgot_password.html:176 msgid "Wait: " msgstr "" -#: templates/_mfa_login_field.html:116 -#: users/templates/users/forgot_password.html:190 +#: templates/_mfa_login_field.html:117 +#: users/templates/users/forgot_password.html:192 msgid "The verification code has been sent" msgstr "" @@ -6194,7 +6331,7 @@ msgid "Home page" msgstr "" #: templates/resource_download.html:18 templates/resource_download.html:33 -#: users/const.py:60 +#: users/const.py:65 msgid "Client" msgstr "" @@ -6232,13 +6369,13 @@ msgstr "" msgid "Offline video player" msgstr "" -#: terminal/api/applet/applet.py:50 terminal/api/applet/applet.py:53 +#: terminal/api/applet/applet.py:52 terminal/api/applet/applet.py:55 #: terminal/api/virtualapp/virtualapp.py:43 #: terminal/api/virtualapp/virtualapp.py:46 msgid "Invalid zip file" msgstr "" -#: terminal/api/applet/applet.py:72 +#: terminal/api/applet/applet.py:74 msgid "This is enterprise edition applet" msgstr "" @@ -6246,31 +6383,31 @@ msgstr "" msgid "Not found protocol query params" msgstr "" -#: terminal/api/component/storage.py:30 +#: terminal/api/component/storage.py:31 msgid "Deleting the default storage is not allowed" msgstr "" -#: terminal/api/component/storage.py:33 +#: terminal/api/component/storage.py:34 msgid "Cannot delete storage that is being used" msgstr "" -#: terminal/api/component/storage.py:74 terminal/api/component/storage.py:75 +#: terminal/api/component/storage.py:75 terminal/api/component/storage.py:76 msgid "Command storages" msgstr "" -#: terminal/api/component/storage.py:81 +#: terminal/api/component/storage.py:82 msgid "Invalid" msgstr "" -#: terminal/api/component/storage.py:129 terminal/tasks.py:142 +#: terminal/api/component/storage.py:130 terminal/tasks.py:149 msgid "Test failure: {}" msgstr "" -#: terminal/api/component/storage.py:132 +#: terminal/api/component/storage.py:133 msgid "Test successful" msgstr "" -#: terminal/api/component/storage.py:134 +#: terminal/api/component/storage.py:135 msgid "Test failure: Please check configuration" msgstr "" @@ -6278,20 +6415,20 @@ msgstr "" msgid "Have online sessions" msgstr "" -#: terminal/api/session/session.py:46 +#: terminal/api/session/session.py:48 #, python-format msgid "User %s %s session %s replay" msgstr "" -#: terminal/api/session/session.py:297 +#: terminal/api/session/session.py:317 msgid "Session does not exist: {}" msgstr "" -#: terminal/api/session/session.py:300 +#: terminal/api/session/session.py:320 msgid "Session is finished or the protocol not supported" msgstr "" -#: terminal/api/session/session.py:313 +#: terminal/api/session/session.py:333 msgid "User does not have permission" msgstr "" @@ -6340,6 +6477,14 @@ msgstr "" msgid "Remote Desktop" msgstr "" +#: terminal/connect_methods.py:37 +msgid "RDP Guide" +msgstr "" + +#: terminal/const.py:10 +msgid "Warning" +msgstr "" + #: terminal/const.py:12 msgid "Review & Reject" msgstr "" @@ -6447,7 +6592,8 @@ msgstr "" msgid "Tags" msgstr "" -#: terminal/models/applet/applet.py:48 terminal/serializers/storage.py:197 +#: terminal/models/applet/applet.py:48 terminal/serializers/applet_host.py:167 +#: terminal/serializers/storage.py:197 msgid "Hosts" msgstr "" @@ -6586,32 +6732,32 @@ msgid "Default storage" msgstr "" #: terminal/models/component/storage.py:140 -#: terminal/models/component/terminal.py:90 +#: terminal/models/component/terminal.py:91 msgid "Command storage" msgstr "" #: terminal/models/component/storage.py:204 -#: terminal/models/component/terminal.py:91 +#: terminal/models/component/terminal.py:92 msgid "Replay storage" msgstr "" -#: terminal/models/component/terminal.py:87 +#: terminal/models/component/terminal.py:88 msgid "type" msgstr "" -#: terminal/models/component/terminal.py:89 terminal/serializers/command.py:76 +#: terminal/models/component/terminal.py:90 terminal/serializers/command.py:76 msgid "Remote Address" msgstr "" -#: terminal/models/component/terminal.py:92 +#: terminal/models/component/terminal.py:93 msgid "Application User" msgstr "" -#: terminal/models/component/terminal.py:176 +#: terminal/models/component/terminal.py:177 msgid "Can view terminal config" msgstr "" -#: terminal/models/session/command.py:66 +#: terminal/models/session/command.py:76 msgid "Command record" msgstr "" @@ -6631,39 +6777,39 @@ msgstr "" msgid "Account ID" msgstr "" -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:118 +#: terminal/models/session/session.py:37 terminal/models/session/sharing.py:118 msgid "Login from" msgstr "" -#: terminal/models/session/session.py:41 +#: terminal/models/session/session.py:42 msgid "Replay" msgstr "" -#: terminal/models/session/session.py:47 terminal/serializers/session.py:65 +#: terminal/models/session/session.py:48 terminal/serializers/session.py:68 msgid "Command amount" msgstr "" -#: terminal/models/session/session.py:48 terminal/serializers/session.py:28 +#: terminal/models/session/session.py:49 terminal/serializers/session.py:30 msgid "Error reason" msgstr "" -#: terminal/models/session/session.py:282 +#: terminal/models/session/session.py:290 msgid "Session record" msgstr "" -#: terminal/models/session/session.py:284 +#: terminal/models/session/session.py:292 msgid "Can monitor session" msgstr "" -#: terminal/models/session/session.py:285 +#: terminal/models/session/session.py:293 msgid "Can share session" msgstr "" -#: terminal/models/session/session.py:286 +#: terminal/models/session/session.py:294 msgid "Can terminate session" msgstr "" -#: terminal/models/session/session.py:287 +#: terminal/models/session/session.py:295 msgid "Can validate session action perm" msgstr "" @@ -6762,7 +6908,7 @@ msgstr "" msgid "Command and replay storage" msgstr "Storage" -#: terminal/notifications.py:240 terminal/tasks.py:146 +#: terminal/notifications.py:240 terminal/tasks.py:153 msgid "Test failure: Account invalid" msgstr "" @@ -6866,6 +7012,18 @@ msgid "" "restart the service to enable it." msgstr "" +#: terminal/serializers/applet_host.py:137 +msgid "Install applets" +msgstr "" + +#: terminal/serializers/applet_host.py:167 +msgid "Host ID" +msgstr "" + +#: terminal/serializers/applet_host.py:168 +msgid "Applet ID" +msgstr "" + #: terminal/serializers/command.py:19 msgid "Session ID" msgstr "" @@ -6930,31 +7088,35 @@ msgstr "" msgid "Asset IP" msgstr "" -#: terminal/serializers/session.py:23 terminal/serializers/session.py:50 +#: terminal/serializers/session.py:25 terminal/serializers/session.py:53 msgid "Can replay" msgstr "" -#: terminal/serializers/session.py:24 terminal/serializers/session.py:51 +#: terminal/serializers/session.py:26 terminal/serializers/session.py:54 msgid "Can join" msgstr "" -#: terminal/serializers/session.py:25 terminal/serializers/session.py:54 +#: terminal/serializers/session.py:27 terminal/serializers/session.py:57 msgid "Can terminate" msgstr "" -#: terminal/serializers/session.py:46 +#: terminal/serializers/session.py:47 +msgid "Duration" +msgstr "" + +#: terminal/serializers/session.py:49 msgid "User ID" msgstr "" -#: terminal/serializers/session.py:47 +#: terminal/serializers/session.py:50 msgid "Asset ID" msgstr "" -#: terminal/serializers/session.py:48 +#: terminal/serializers/session.py:51 msgid "Login from display" msgstr "" -#: terminal/serializers/session.py:55 +#: terminal/serializers/session.py:58 msgid "Terminal display" msgstr "" @@ -6975,7 +7137,7 @@ msgstr "" msgid "Access key secret" msgstr "" -#: terminal/serializers/storage.py:68 xpack/plugins/cloud/models.py:253 +#: terminal/serializers/storage.py:68 xpack/plugins/cloud/models.py:249 msgid "Region" msgstr "" @@ -6995,7 +7157,7 @@ msgstr "" msgid "HOST" msgstr "" -#: terminal/serializers/storage.py:146 users/models/user.py:890 +#: terminal/serializers/storage.py:146 users/models/user.py:904 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "" @@ -7072,27 +7234,124 @@ msgstr "" msgid "Container Ports" msgstr "" -#: terminal/tasks.py:33 +#: terminal/session_lifecycle.py:30 +#, python-format +msgid "Connect to asset %s success" +msgstr "" + +#: terminal/session_lifecycle.py:38 +#, python-format +msgid "Connect to asset %s finished: %s" +msgstr "" + +#: terminal/session_lifecycle.py:48 +#, python-format +msgid "User %s create share link" +msgstr "" + +#: terminal/session_lifecycle.py:57 +#, python-format +msgid "User %s join session" +msgstr "" + +#: terminal/session_lifecycle.py:69 +#, python-format +msgid "User %s leave session" +msgstr "" + +#: terminal/session_lifecycle.py:81 +#, python-format +msgid "User %s join to monitor session" +msgstr "" + +#: terminal/session_lifecycle.py:93 +#, python-format +msgid "User %s exit to monitor session" +msgstr "" + +#: terminal/session_lifecycle.py:105 +msgid "Replay start to convert" +msgstr "" + +#: terminal/session_lifecycle.py:113 +msgid "Replay successfully converted to MP4 format" +msgstr "" + +#: terminal/session_lifecycle.py:121 +#, python-format +msgid "Replay failed to convert to MP4 format: %s" +msgstr "" + +#: terminal/session_lifecycle.py:129 +msgid "Replay start to upload" +msgstr "" + +#: terminal/session_lifecycle.py:137 +msgid "Replay successfully uploaded" +msgstr "" + +#: terminal/session_lifecycle.py:145 +#, python-format +msgid "Replay failed to upload: %s" +msgstr "" + +#: terminal/session_lifecycle.py:152 +msgid "connect failed" +msgstr "" + +#: terminal/session_lifecycle.py:153 +msgid "connection disconnect" +msgstr "" + +#: terminal/session_lifecycle.py:154 +msgid "user closed" +msgstr "" + +#: terminal/session_lifecycle.py:155 +msgid "idle disconnect" +msgstr "" + +#: terminal/session_lifecycle.py:156 +msgid "admin terminated" +msgstr "" + +#: terminal/session_lifecycle.py:157 +msgid "maximum session time has been reached" +msgstr "" + +#: terminal/session_lifecycle.py:158 +msgid "permission has expired" +msgstr "" + +#: terminal/session_lifecycle.py:159 +msgid "storage is null" +msgstr "" + +#: terminal/tasks.py:31 msgid "Periodic delete terminal status" msgstr "" -#: terminal/tasks.py:42 +#: terminal/tasks.py:39 msgid "Clean orphan session" msgstr "" -#: terminal/tasks.py:91 +#: terminal/tasks.py:87 msgid "Run applet host deployment" msgstr "" -#: terminal/tasks.py:101 +#: terminal/tasks.py:97 msgid "Install applet" msgstr "" -#: terminal/tasks.py:112 +#: terminal/tasks.py:108 +msgid "Uninstall applet" +msgstr "" + +#: terminal/tasks.py:119 msgid "Generate applet host accounts" msgstr "" -#: terminal/tasks.py:124 +#: terminal/tasks.py:131 msgid "Check command replay storage connectivity" msgstr "" @@ -7117,7 +7376,7 @@ msgstr "" msgid "All available port count: {}, Already use port count: {}" msgstr "" -#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:288 +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:286 msgid "Applicant" msgstr "" @@ -7129,59 +7388,55 @@ msgstr "" msgid "Apply for asset" msgstr "" -#: tickets/const.py:17 tickets/const.py:25 tickets/const.py:44 +#: tickets/const.py:17 tickets/const.py:24 tickets/const.py:42 msgid "Open" msgstr "" -#: tickets/const.py:19 tickets/const.py:32 -msgid "Reopen" -msgstr "" - -#: tickets/const.py:20 tickets/const.py:33 +#: tickets/const.py:19 tickets/const.py:31 msgid "Approved" msgstr "" -#: tickets/const.py:21 tickets/const.py:34 +#: tickets/const.py:20 tickets/const.py:32 msgid "Rejected" msgstr "" -#: tickets/const.py:31 tickets/const.py:39 +#: tickets/const.py:30 tickets/const.py:37 msgid "Closed" msgstr "" -#: tickets/const.py:51 +#: tickets/const.py:49 msgid "One level" msgstr "" -#: tickets/const.py:52 +#: tickets/const.py:50 msgid "Two level" msgstr "" -#: tickets/const.py:56 +#: tickets/const.py:54 msgid "Org admin" msgstr "" -#: tickets/const.py:57 +#: tickets/const.py:55 msgid "Custom user" msgstr "" -#: tickets/const.py:58 +#: tickets/const.py:56 msgid "Super admin" msgstr "" -#: tickets/const.py:59 +#: tickets/const.py:57 msgid "Super admin and org admin" msgstr "" -#: tickets/const.py:63 +#: tickets/const.py:61 msgid "All assets" msgstr "" -#: tickets/const.py:64 +#: tickets/const.py:62 msgid "Permed assets" msgstr "" -#: tickets/const.py:65 +#: tickets/const.py:63 msgid "Permed valid assets" msgstr "" @@ -7224,7 +7479,7 @@ msgid "Body" msgstr "" #: tickets/models/flow.py:19 tickets/models/flow.py:61 -#: tickets/models/ticket/general.py:41 +#: tickets/models/ticket/general.py:42 msgid "Approve level" msgstr "" @@ -7294,35 +7549,35 @@ msgstr "" msgid "Apply Command Ticket" msgstr "" -#: tickets/models/ticket/general.py:76 +#: tickets/models/ticket/general.py:77 msgid "Ticket step" msgstr "" -#: tickets/models/ticket/general.py:94 +#: tickets/models/ticket/general.py:95 msgid "Ticket assignee" msgstr "" -#: tickets/models/ticket/general.py:272 +#: tickets/models/ticket/general.py:270 msgid "Title" msgstr "" -#: tickets/models/ticket/general.py:292 +#: tickets/models/ticket/general.py:290 msgid "TicketFlow" msgstr "" -#: tickets/models/ticket/general.py:295 +#: tickets/models/ticket/general.py:293 msgid "Approval step" msgstr "" -#: tickets/models/ticket/general.py:298 +#: tickets/models/ticket/general.py:296 msgid "Relation snapshot" msgstr "" -#: tickets/models/ticket/general.py:401 +#: tickets/models/ticket/general.py:399 msgid "Please try again" msgstr "" -#: tickets/models/ticket/general.py:470 +#: tickets/models/ticket/general.py:475 msgid "Super ticket" msgstr "" @@ -7354,19 +7609,19 @@ msgstr "" msgid "Ticket applied info" msgstr "" -#: tickets/notifications.py:111 +#: tickets/notifications.py:105 msgid "Your has a new ticket, applicant - {}" msgstr "" -#: tickets/notifications.py:115 +#: tickets/notifications.py:109 msgid "{}: New Ticket - {} ({})" msgstr "" -#: tickets/notifications.py:159 +#: tickets/notifications.py:155 msgid "Your ticket has been processed, processor - {}" msgstr "" -#: tickets/notifications.py:163 +#: tickets/notifications.py:159 msgid "Ticket has processed - {} ({})" msgstr "" @@ -7432,7 +7687,7 @@ msgid "Ticket information" msgstr "" #: tickets/templates/tickets/approve_check_password.html:28 -#: tickets/views/approve.py:40 tickets/views/approve.py:77 +#: tickets/views/approve.py:43 tickets/views/approve.py:80 msgid "Ticket approval" msgstr "" @@ -7440,32 +7695,32 @@ msgstr "" msgid "Approval" msgstr "" -#: tickets/views/approve.py:41 +#: tickets/views/approve.py:44 msgid "" "This ticket does not exist, the process has ended, or this link has expired" msgstr "" -#: tickets/views/approve.py:69 +#: tickets/views/approve.py:72 msgid "Click the button below to approve or reject" msgstr "" -#: tickets/views/approve.py:78 +#: tickets/views/approve.py:81 msgid "After successful authentication, this ticket can be approved directly" msgstr "" -#: tickets/views/approve.py:95 +#: tickets/views/approve.py:105 msgid "Illegal approval action" msgstr "" -#: tickets/views/approve.py:108 +#: tickets/views/approve.py:119 msgid "This user is not authorized to approve this ticket" msgstr "" -#: users/api/user.py:137 +#: users/api/user.py:155 msgid "Can not invite self" msgstr "" -#: users/api/user.py:190 +#: users/api/user.py:208 msgid "Could not reset self otp, use profile reset instead" msgstr "" @@ -7513,11 +7768,27 @@ msgstr "" msgid "Drives redirect" msgstr "" -#: users/const.py:64 +#: users/const.py:37 +msgid "Current window" +msgstr "" + +#: users/const.py:38 +msgid "New window" +msgstr "" + +#: users/const.py:47 +msgid "High(32 bit)" +msgstr "" + +#: users/const.py:48 +msgid "Medium(16 bit)" +msgstr "" + +#: users/const.py:69 msgid "Replace" msgstr "" -#: users/const.py:65 +#: users/const.py:70 msgid "Suffix" msgstr "" @@ -7529,152 +7800,156 @@ msgstr "" msgid "Unable to delete all users" msgstr "" -#: users/forms/profile.py:50 +#: users/forms/profile.py:48 msgid "" "When enabled, you will enter the MFA binding process the next time you log " "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -#: users/forms/profile.py:61 +#: users/forms/profile.py:59 msgid "* Enable MFA to make the account more secure." msgstr "" -#: users/forms/profile.py:70 +#: users/forms/profile.py:68 msgid "" "In order to protect you and your company, please keep your account, password " "and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" -#: users/forms/profile.py:77 +#: users/forms/profile.py:75 msgid "Finish" msgstr "" -#: users/forms/profile.py:84 +#: users/forms/profile.py:82 users/serializers/preference/lina.py:20 msgid "New password" msgstr "" -#: users/forms/profile.py:89 +#: users/forms/profile.py:87 users/serializers/preference/lina.py:25 msgid "Confirm password" msgstr "" -#: users/forms/profile.py:97 +#: users/forms/profile.py:95 msgid "Password does not match" msgstr "" -#: users/forms/profile.py:105 +#: users/forms/profile.py:104 msgid "The phone number must contain an area code, for example, +86" msgstr "" -#: users/forms/profile.py:121 +#: users/forms/profile.py:120 msgid "Old password" msgstr "" -#: users/forms/profile.py:131 +#: users/forms/profile.py:130 msgid "Old password error" msgstr "" -#: users/forms/profile.py:141 +#: users/forms/profile.py:140 msgid "Automatically configure and download the SSH key" msgstr "" -#: users/forms/profile.py:143 +#: users/forms/profile.py:142 msgid "ssh public key" msgstr "" -#: users/forms/profile.py:144 +#: users/forms/profile.py:143 msgid "ssh-rsa AAAA..." msgstr "" -#: users/forms/profile.py:145 +#: users/forms/profile.py:144 msgid "Paste your id_rsa.pub here." msgstr "" -#: users/forms/profile.py:158 +#: users/forms/profile.py:157 msgid "Public key should not be the same as your old one." msgstr "" -#: users/forms/profile.py:162 users/serializers/profile.py:76 +#: users/forms/profile.py:161 users/serializers/profile.py:76 #: users/serializers/profile.py:165 users/serializers/profile.py:192 msgid "Not a valid ssh public key" msgstr "" -#: users/forms/profile.py:173 users/models/user.py:893 +#: users/forms/profile.py:172 users/models/user.py:907 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "" -#: users/models/preference.py:38 +#: users/models/preference.py:38 users/serializers/preference/preference.py:19 msgid "Preference" msgstr "" -#: users/models/user.py:646 users/serializers/profile.py:94 +#: users/models/user.py:656 msgid "Force enable" msgstr "" -#: users/models/user.py:872 users/serializers/user.py:174 +#: users/models/user.py:761 +msgid "Lark" +msgstr "" + +#: users/models/user.py:886 users/serializers/user.py:182 msgid "Is service account" msgstr "Is service account" -#: users/models/user.py:874 +#: users/models/user.py:888 msgid "Avatar" msgstr "" -#: users/models/user.py:877 +#: users/models/user.py:891 msgid "Wechat" msgstr "" -#: users/models/user.py:880 users/serializers/user.py:106 +#: users/models/user.py:894 users/serializers/user.py:112 msgid "Phone" msgstr "" -#: users/models/user.py:886 +#: users/models/user.py:900 msgid "OTP secret key" msgstr "" -#: users/models/user.py:898 users/serializers/profile.py:129 -#: users/serializers/user.py:171 +#: users/models/user.py:912 users/serializers/profile.py:129 +#: users/serializers/user.py:179 msgid "Is first login" msgstr "First login" -#: users/models/user.py:907 +#: users/models/user.py:921 msgid "Date password last updated" msgstr "Password updated" -#: users/models/user.py:910 +#: users/models/user.py:924 msgid "Need update password" msgstr "" -#: users/models/user.py:920 +#: users/models/user.py:935 msgid "Date api key used" msgstr "" -#: users/models/user.py:1039 +#: users/models/user.py:1054 msgid "Can not delete admin user" msgstr "" -#: users/models/user.py:1052 +#: users/models/user.py:1068 msgid "Can invite user" msgstr "" -#: users/models/user.py:1053 +#: users/models/user.py:1069 msgid "Can remove user" msgstr "" -#: users/models/user.py:1054 +#: users/models/user.py:1070 msgid "Can match user" msgstr "" -#: users/models/user.py:1063 +#: users/models/user.py:1079 msgid "Administrator" msgstr "" -#: users/models/user.py:1066 +#: users/models/user.py:1082 msgid "Administrator is the super user of system" msgstr "" -#: users/models/user.py:1091 +#: users/models/user.py:1107 msgid "User password history" msgstr "" @@ -7685,7 +7960,7 @@ msgstr "" msgid "Reset password" msgstr "" -#: users/notifications.py:85 users/views/profile/reset.py:231 +#: users/notifications.py:85 users/views/profile/reset.py:233 msgid "Reset password success" msgstr "" @@ -7717,15 +7992,14 @@ msgstr "" msgid "Terminal theme name" msgstr "" -#: users/serializers/preference/lina.py:13 -msgid "New file encryption password" +#: users/serializers/preference/lina.py:11 +msgid "" +"The password for file encryption, used for decryption when the system sends " +"emails containing file attachments.
Such as: account backup files, " +"account password change results files" msgstr "" -#: users/serializers/preference/lina.py:18 -msgid "Confirm file encryption password" -msgstr "" - -#: users/serializers/preference/lina.py:31 users/serializers/profile.py:48 +#: users/serializers/preference/lina.py:38 users/serializers/profile.py:48 msgid "The newly set password is inconsistent" msgstr "" @@ -7733,54 +8007,58 @@ msgstr "" msgid "Async loading of asset tree" msgstr "" -#: users/serializers/preference/luna.py:33 -msgid "RDP resolution" +#: users/serializers/preference/luna.py:30 +msgid "Connect default open method" msgstr "" #: users/serializers/preference/luna.py:37 -msgid "Keyboard layout" +msgid "RDP resolution" msgstr "" #: users/serializers/preference/luna.py:41 -msgid "RDP client option" +msgid "Keyboard layout" msgstr "" #: users/serializers/preference/luna.py:45 -msgid "RDP color quality" +msgid "RDP client option" msgstr "" #: users/serializers/preference/luna.py:49 -msgid "Rdp smart size" +msgid "RDP color quality" msgstr "" -#: users/serializers/preference/luna.py:50 +#: users/serializers/preference/luna.py:53 +msgid "RDP smart size" +msgstr "" + +#: users/serializers/preference/luna.py:54 msgid "" "Determines whether the client computer should scale the content on the " "remote computer to fit the window size of the client computer when the " "window is resized." msgstr "" -#: users/serializers/preference/luna.py:55 +#: users/serializers/preference/luna.py:59 msgid "Remote application connection method" msgstr "" -#: users/serializers/preference/luna.py:62 +#: users/serializers/preference/luna.py:66 msgid "Character terminal font size" msgstr "" -#: users/serializers/preference/luna.py:65 +#: users/serializers/preference/luna.py:69 msgid "Backspace as Ctrl+H" msgstr "" -#: users/serializers/preference/luna.py:68 +#: users/serializers/preference/luna.py:72 msgid "Right click quickly paste" msgstr "" -#: users/serializers/preference/luna.py:74 +#: users/serializers/preference/luna.py:78 msgid "Graphics" msgstr "" -#: users/serializers/preference/luna.py:75 +#: users/serializers/preference/luna.py:79 msgid "Command line" msgstr "" @@ -7796,76 +8074,97 @@ msgstr "" msgid "The new password cannot be the last {} passwords" msgstr "" -#: users/serializers/user.py:42 +#: users/serializers/profile.py:92 +msgid "Off" +msgstr "" + +#: users/serializers/profile.py:93 +msgid "On" +msgstr "" + +#: users/serializers/profile.py:94 +#, fuzzy +#| msgid "Su enabled" +msgid "Forced enabled" +msgstr "Switch enabled" + +#: users/serializers/user.py:45 msgid "System roles" msgstr "" -#: users/serializers/user.py:46 +#: users/serializers/user.py:49 msgid "Org roles" msgstr "" -#: users/serializers/user.py:90 -msgid "Password setting" -msgstr "" - -#: users/serializers/user.py:92 -msgid "MFA enabled" +#: users/serializers/user.py:52 +msgid "Organizations and roles" msgstr "" #: users/serializers/user.py:94 -msgid "MFA force enabled" +msgid "Password setting" msgstr "" #: users/serializers/user.py:96 +msgid "MFA enabled" +msgstr "" + +#: users/serializers/user.py:98 +msgid "MFA force enabled" +msgstr "" + +#: users/serializers/user.py:100 msgid "Login blocked" msgstr "" -#: users/serializers/user.py:99 users/serializers/user.py:180 +#: users/serializers/user.py:103 users/serializers/user.py:188 msgid "Is OTP bound" msgstr "OTP bound" -#: users/serializers/user.py:101 +#: users/serializers/user.py:104 +msgid "Super Administrator" +msgstr "" + +#: users/serializers/user.py:105 +msgid "Organization Administrator" +msgstr "" + +#: users/serializers/user.py:107 msgid "Can public key authentication" msgstr "Can public key authentication" -#: users/serializers/user.py:165 -msgid "Groups" -msgstr "" - -#: users/serializers/user.py:168 +#: users/serializers/user.py:176 msgid "Superuser" msgstr "" -#: users/serializers/user.py:175 +#: users/serializers/user.py:183 msgid "Is org admin" msgstr "Org admin" -#: users/serializers/user.py:177 +#: users/serializers/user.py:185 msgid "Avatar url" msgstr "" -#: users/serializers/user.py:181 +#: users/serializers/user.py:189 msgid "MFA level" msgstr "MFA" -#: users/serializers/user.py:303 +#: users/serializers/user.py:312 msgid "" -"For security, only a partial list of users is displayed. You can search for " -"more" +"For security, only a partial of users is displayed. You can search for more" msgstr "" -#: users/serializers/user.py:336 +#: users/serializers/user.py:345 msgid "name not unique" msgstr "" -#: users/signal_handlers.py:34 +#: users/signal_handlers.py:35 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" " and the current user is not in the user list. Please contact the " "administrator." msgstr "" -#: users/signal_handlers.py:168 +#: users/signal_handlers.py:169 msgid "Clean up expired user sessions" msgstr "" @@ -7956,15 +8255,15 @@ msgstr "" msgid "Email account" msgstr "" -#: users/templates/users/forgot_password.html:92 +#: users/templates/users/forgot_password.html:93 msgid "Mobile number" msgstr "" -#: users/templates/users/forgot_password.html:100 +#: users/templates/users/forgot_password.html:101 msgid "Send" msgstr "" -#: users/templates/users/forgot_password.html:104 +#: users/templates/users/forgot_password.html:105 #: users/templates/users/forgot_password_previewing.html:30 msgid "Submit" msgstr "" @@ -8117,23 +8416,23 @@ msgid "" "their passwords: {}" msgstr "" -#: users/views/profile/reset.py:186 users/views/profile/reset.py:197 +#: users/views/profile/reset.py:188 users/views/profile/reset.py:199 msgid "Token invalid or expired" msgstr "" -#: users/views/profile/reset.py:202 +#: users/views/profile/reset.py:204 msgid "User auth from {}, go there change password" msgstr "" -#: users/views/profile/reset.py:209 +#: users/views/profile/reset.py:211 msgid "* Your password does not meet the requirements" msgstr "" -#: users/views/profile/reset.py:215 +#: users/views/profile/reset.py:217 msgid "* The new password cannot be the last {} passwords" msgstr "" -#: users/views/profile/reset.py:232 +#: users/views/profile/reset.py:234 msgid "Reset password success, return to login page" msgstr "" @@ -8146,11 +8445,11 @@ msgid "" "The current task is not synchronized with unmatched policy assets, skipping" msgstr "" -#: xpack/plugins/cloud/api.py:56 +#: xpack/plugins/cloud/api.py:60 msgid "Test connection successful" msgstr "" -#: xpack/plugins/cloud/api.py:58 +#: xpack/plugins/cloud/api.py:62 msgid "Test connection failed: {}" msgstr "" @@ -8202,91 +8501,96 @@ msgstr "" msgid "UCloud" msgstr "" -#: xpack/plugins/cloud/const.py:22 +#: xpack/plugins/cloud/const.py:21 +msgid "Volcengine" +msgstr "" + +#: xpack/plugins/cloud/const.py:23 msgid "VMware" msgstr "" -#: xpack/plugins/cloud/const.py:23 xpack/plugins/cloud/providers/nutanix.py:15 +#: xpack/plugins/cloud/const.py:24 xpack/plugins/cloud/providers/nutanix.py:15 msgid "Nutanix" msgstr "" -#: xpack/plugins/cloud/const.py:24 +#: xpack/plugins/cloud/const.py:25 msgid "Huawei Private Cloud" msgstr "" -#: xpack/plugins/cloud/const.py:25 +#: xpack/plugins/cloud/const.py:26 msgid "Qingyun Private Cloud" msgstr "" -#: xpack/plugins/cloud/const.py:26 +#: xpack/plugins/cloud/const.py:27 msgid "CTYun Private Cloud" msgstr "" -#: xpack/plugins/cloud/const.py:27 +#: xpack/plugins/cloud/const.py:28 msgid "OpenStack" msgstr "" -#: xpack/plugins/cloud/const.py:28 xpack/plugins/cloud/providers/zstack.py:21 +#: xpack/plugins/cloud/const.py:29 xpack/plugins/cloud/providers/zstack.py:21 msgid "ZStack" msgstr "" -#: xpack/plugins/cloud/const.py:29 +#: xpack/plugins/cloud/const.py:30 msgid "Fusion Compute" msgstr "" -#: xpack/plugins/cloud/const.py:30 +#: xpack/plugins/cloud/const.py:31 msgid "SCP" msgstr "" -#: xpack/plugins/cloud/const.py:31 +#: xpack/plugins/cloud/const.py:32 msgid "Apsara Stack" msgstr "" -#: xpack/plugins/cloud/const.py:36 +#: xpack/plugins/cloud/const.py:37 msgid "Private IP" msgstr "" -#: xpack/plugins/cloud/const.py:37 +#: xpack/plugins/cloud/const.py:38 msgid "Public IP" msgstr "" -#: xpack/plugins/cloud/const.py:41 xpack/plugins/cloud/models.py:303 +#: xpack/plugins/cloud/const.py:42 xpack/plugins/cloud/models.py:299 msgid "Instance name" msgstr "" -#: xpack/plugins/cloud/const.py:42 +#: xpack/plugins/cloud/const.py:43 msgid "Instance name and Partial IP" msgstr "" -#: xpack/plugins/cloud/const.py:47 +#: xpack/plugins/cloud/const.py:48 msgid "Succeed" msgstr "" -#: xpack/plugins/cloud/const.py:51 +#: xpack/plugins/cloud/const.py:52 msgid "Unsync" msgstr "" -#: xpack/plugins/cloud/const.py:52 +#: xpack/plugins/cloud/const.py:53 msgid "New Sync" msgstr "" -#: xpack/plugins/cloud/const.py:53 +#: xpack/plugins/cloud/const.py:54 msgid "Synced" msgstr "" -#: xpack/plugins/cloud/const.py:54 +#: xpack/plugins/cloud/const.py:55 msgid "Released" msgstr "" -#: xpack/plugins/cloud/const.py:58 +#: xpack/plugins/cloud/const.py:59 msgid "And" msgstr "" -#: xpack/plugins/cloud/const.py:59 +#: xpack/plugins/cloud/const.py:60 msgid "Or" msgstr "" -#: xpack/plugins/cloud/manager.py:56 +#: xpack/plugins/cloud/manager.py:55 xpack/plugins/cloud/providers/gcp.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:34 msgid "Account unavailable" msgstr "" @@ -8310,143 +8614,141 @@ msgstr "" msgid "Test cloud account" msgstr "" -#: xpack/plugins/cloud/models.py:92 xpack/plugins/cloud/serializers/task.py:159 +#: xpack/plugins/cloud/models.py:88 xpack/plugins/cloud/serializers/task.py:159 msgid "Regions" msgstr "" -#: xpack/plugins/cloud/models.py:95 +#: xpack/plugins/cloud/models.py:91 msgid "Hostname strategy" msgstr "" -#: xpack/plugins/cloud/models.py:100 -#: xpack/plugins/cloud/serializers/task.py:162 +#: xpack/plugins/cloud/models.py:96 xpack/plugins/cloud/serializers/task.py:162 msgid "IP network segment group" msgstr "" -#: xpack/plugins/cloud/models.py:103 -#: xpack/plugins/cloud/serializers/task.py:167 +#: xpack/plugins/cloud/models.py:99 xpack/plugins/cloud/serializers/task.py:167 msgid "Sync IP type" msgstr "" -#: xpack/plugins/cloud/models.py:106 +#: xpack/plugins/cloud/models.py:102 #: xpack/plugins/cloud/serializers/task.py:185 msgid "Always update" msgstr "" -#: xpack/plugins/cloud/models.py:108 +#: xpack/plugins/cloud/models.py:104 msgid "Fully synchronous" msgstr "" -#: xpack/plugins/cloud/models.py:113 +#: xpack/plugins/cloud/models.py:109 msgid "Date last sync" msgstr "" -#: xpack/plugins/cloud/models.py:116 xpack/plugins/cloud/models.py:321 -#: xpack/plugins/cloud/models.py:345 +#: xpack/plugins/cloud/models.py:112 xpack/plugins/cloud/models.py:317 +#: xpack/plugins/cloud/models.py:341 msgid "Strategy" msgstr "" -#: xpack/plugins/cloud/models.py:121 xpack/plugins/cloud/models.py:200 +#: xpack/plugins/cloud/models.py:117 xpack/plugins/cloud/models.py:196 msgid "Sync instance task" msgstr "" -#: xpack/plugins/cloud/models.py:211 xpack/plugins/cloud/models.py:263 +#: xpack/plugins/cloud/models.py:207 xpack/plugins/cloud/models.py:259 msgid "Date sync" msgstr "" -#: xpack/plugins/cloud/models.py:215 +#: xpack/plugins/cloud/models.py:211 msgid "Sync instance snapshot" msgstr "" -#: xpack/plugins/cloud/models.py:219 +#: xpack/plugins/cloud/models.py:215 msgid "Sync instance task execution" msgstr "" -#: xpack/plugins/cloud/models.py:243 +#: xpack/plugins/cloud/models.py:239 msgid "Sync task" msgstr "" -#: xpack/plugins/cloud/models.py:247 +#: xpack/plugins/cloud/models.py:243 msgid "Sync instance task history" msgstr "" -#: xpack/plugins/cloud/models.py:250 +#: xpack/plugins/cloud/models.py:246 msgid "Instance" msgstr "" -#: xpack/plugins/cloud/models.py:267 +#: xpack/plugins/cloud/models.py:263 msgid "Sync instance detail" msgstr "" -#: xpack/plugins/cloud/models.py:279 xpack/plugins/cloud/serializers/task.py:72 +#: xpack/plugins/cloud/models.py:275 xpack/plugins/cloud/serializers/task.py:72 msgid "Rule relation" msgstr "" -#: xpack/plugins/cloud/models.py:288 +#: xpack/plugins/cloud/models.py:284 msgid "Task strategy" msgstr "" -#: xpack/plugins/cloud/models.py:292 +#: xpack/plugins/cloud/models.py:288 msgid "Equal" msgstr "" -#: xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:289 msgid "Not Equal" msgstr "" -#: xpack/plugins/cloud/models.py:294 +#: xpack/plugins/cloud/models.py:290 msgid "In" msgstr "" -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/models.py:291 msgid "Contains" msgstr "" -#: xpack/plugins/cloud/models.py:296 +#: xpack/plugins/cloud/models.py:292 msgid "Exclude" msgstr "" -#: xpack/plugins/cloud/models.py:297 +#: xpack/plugins/cloud/models.py:293 msgid "Startswith" msgstr "" -#: xpack/plugins/cloud/models.py:298 +#: xpack/plugins/cloud/models.py:294 msgid "Endswith" msgstr "" -#: xpack/plugins/cloud/models.py:304 +#: xpack/plugins/cloud/models.py:300 msgid "Instance platform" msgstr "" -#: xpack/plugins/cloud/models.py:305 +#: xpack/plugins/cloud/models.py:301 msgid "Instance address" msgstr "" -#: xpack/plugins/cloud/models.py:312 +#: xpack/plugins/cloud/models.py:308 msgid "Rule attr" msgstr "" -#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/models.py:312 msgid "Rule match" msgstr "" -#: xpack/plugins/cloud/models.py:318 +#: xpack/plugins/cloud/models.py:314 msgid "Rule value" msgstr "" -#: xpack/plugins/cloud/models.py:325 xpack/plugins/cloud/serializers/task.py:75 +#: xpack/plugins/cloud/models.py:321 xpack/plugins/cloud/serializers/task.py:75 msgid "Strategy rule" msgstr "" -#: xpack/plugins/cloud/models.py:340 +#: xpack/plugins/cloud/models.py:336 msgid "Action attr" msgstr "" -#: xpack/plugins/cloud/models.py:342 +#: xpack/plugins/cloud/models.py:338 msgid "Action value" msgstr "" -#: xpack/plugins/cloud/models.py:349 xpack/plugins/cloud/serializers/task.py:78 +#: xpack/plugins/cloud/models.py:345 xpack/plugins/cloud/serializers/task.py:78 msgid "Strategy action" msgstr "" @@ -8542,97 +8844,97 @@ msgstr "" msgid "South America (São Paulo)" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:54 +#: xpack/plugins/cloud/providers/baiducloud.py:56 #: xpack/plugins/cloud/providers/jdcloud.py:125 msgid "CN North-Beijing" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:55 -#: xpack/plugins/cloud/providers/huaweicloud.py:42 +#: xpack/plugins/cloud/providers/baiducloud.py:57 +#: xpack/plugins/cloud/providers/huaweicloud.py:47 #: xpack/plugins/cloud/providers/jdcloud.py:128 msgid "CN South-Guangzhou" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:56 +#: xpack/plugins/cloud/providers/baiducloud.py:58 msgid "CN East-Suzhou" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:57 -#: xpack/plugins/cloud/providers/huaweicloud.py:49 +#: xpack/plugins/cloud/providers/baiducloud.py:59 +#: xpack/plugins/cloud/providers/huaweicloud.py:54 msgid "CN-Hong Kong" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:58 +#: xpack/plugins/cloud/providers/baiducloud.py:60 msgid "CN Center-Wuhan" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:59 +#: xpack/plugins/cloud/providers/baiducloud.py:61 msgid "CN North-Baoding" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:60 +#: xpack/plugins/cloud/providers/baiducloud.py:62 #: xpack/plugins/cloud/providers/jdcloud.py:127 msgid "CN East-Shanghai" msgstr "" -#: xpack/plugins/cloud/providers/baiducloud.py:61 -#: xpack/plugins/cloud/providers/huaweicloud.py:51 +#: xpack/plugins/cloud/providers/baiducloud.py:63 +#: xpack/plugins/cloud/providers/huaweicloud.py:56 msgid "AP-Singapore" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:39 +#: xpack/plugins/cloud/providers/huaweicloud.py:44 msgid "CN North-Beijing1" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:40 +#: xpack/plugins/cloud/providers/huaweicloud.py:45 msgid "CN North-Beijing4" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:41 +#: xpack/plugins/cloud/providers/huaweicloud.py:46 msgid "CN North-Ulanqab1" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:43 +#: xpack/plugins/cloud/providers/huaweicloud.py:48 msgid "CN South-Shenzhen" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:44 +#: xpack/plugins/cloud/providers/huaweicloud.py:49 msgid "CN South-Guangzhou-InvitationOnly" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:45 +#: xpack/plugins/cloud/providers/huaweicloud.py:50 msgid "CN East-Shanghai2" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:46 +#: xpack/plugins/cloud/providers/huaweicloud.py:51 msgid "CN East-Shanghai1" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:48 +#: xpack/plugins/cloud/providers/huaweicloud.py:53 msgid "CN Southwest-Guiyang1" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:50 +#: xpack/plugins/cloud/providers/huaweicloud.py:55 msgid "AP-Bangkok" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:53 +#: xpack/plugins/cloud/providers/huaweicloud.py:58 msgid "AF-Johannesburg" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:54 +#: xpack/plugins/cloud/providers/huaweicloud.py:59 msgid "LA-Mexico City1" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:55 +#: xpack/plugins/cloud/providers/huaweicloud.py:60 msgid "LA-Santiago" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:56 +#: xpack/plugins/cloud/providers/huaweicloud.py:61 msgid "LA-Sao Paulo1" msgstr "" -#: xpack/plugins/cloud/providers/huaweicloud.py:58 +#: xpack/plugins/cloud/providers/huaweicloud.py:63 msgid "TR-Istanbul" msgstr "" @@ -8640,11 +8942,11 @@ msgstr "" msgid "CN East-Suqian" msgstr "" -#: xpack/plugins/cloud/serializers/account.py:68 +#: xpack/plugins/cloud/serializers/account.py:69 msgid "Validity display" msgstr "" -#: xpack/plugins/cloud/serializers/account.py:69 +#: xpack/plugins/cloud/serializers/account.py:70 msgid "Provider display" msgstr "" @@ -8794,14 +9096,10 @@ msgid "Theme" msgstr "" #: xpack/plugins/interface/models.py:42 -msgid "Beian link" +msgid "Footer content" msgstr "" -#: xpack/plugins/interface/models.py:43 -msgid "Beian text" -msgstr "" - -#: xpack/plugins/interface/models.py:46 xpack/plugins/interface/models.py:87 +#: xpack/plugins/interface/models.py:45 xpack/plugins/interface/models.py:86 msgid "Interface setting" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index c7cb07f11..26942f784 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-04-18 17:25+0800\n" +"POT-Creation-Date: 2024-05-11 10:40+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,11 +32,11 @@ msgstr "成功: %s、失敗: %s、合計: %s" #: assets/models/_user.py:24 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:330 +#: authentication/templates/authentication/login.html:329 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47 #: settings/serializers/msg.py:35 terminal/serializers/storage.py:123 #: terminal/serializers/storage.py:142 users/forms/profile.py:21 -#: users/serializers/user.py:109 +#: users/serializers/user.py:110 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -84,7 +84,7 @@ msgstr "匿名ユーザー" msgid "Specified account" msgstr "特定のアカウント" -#: accounts/const/account.py:26 users/models/user.py:752 +#: accounts/const/account.py:26 users/models/user.py:751 msgid "Local" msgstr "ローカル" @@ -211,7 +211,7 @@ msgstr "作成のみ" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 #: settings/serializers/msg.py:64 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user.py:816 +#: users/forms/profile.py:108 users/models/user.py:876 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -224,7 +224,7 @@ msgstr "SFTP" #: accounts/const/automation.py:110 #: accounts/serializers/automations/change_secret.py:163 audits/const.py:61 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 -#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:46 +#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -274,10 +274,9 @@ msgstr "ユーザー %s がパスワードを閲覧/導き出しました" #: acls/serializers/base.py:123 assets/models/asset/common.py:95 #: assets/models/asset/common.py:349 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 -#: 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 +#: perms/models/asset_permission.py:69 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 #: terminal/templates/terminal/_msg_command_warning.html:4 #: terminal/templates/terminal/_msg_session_sharing.html:4 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:252 @@ -298,8 +297,8 @@ msgstr "から切り替え" msgid "Version" msgstr "バージョン" -#: accounts/models/account.py:57 accounts/serializers/account/account.py:215 -#: users/models/user.py:859 +#: accounts/models/account.py:57 accounts/serializers/account/account.py:217 +#: users/models/user.py:928 msgid "Source" msgstr "ソース" @@ -312,11 +311,11 @@ msgstr "ソース ID" #: accounts/serializers/automations/change_secret.py:141 #: accounts/templates/accounts/change_secret_failed_info.html:12 #: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7 -#: 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 +#: 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 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 +#: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85 @@ -391,7 +390,7 @@ msgstr "アカウントバックアップ計画" #: accounts/models/automations/backup_account.py:120 #: assets/models/automations/base.py:115 audits/models.py:65 -#: ops/models/base.py:55 ops/models/celery.py:88 ops/models/job.py:238 +#: ops/models/base.py:55 ops/models/celery.py:88 ops/models/job.py:241 #: ops/templates/ops/celery_task_log.html:75 #: perms/models/asset_permission.py:78 #: settings/templates/ldap/_msg_import_ldap_user.html:5 @@ -412,23 +411,23 @@ msgstr "時間" msgid "Account backup snapshot" msgstr "アカウントのバックアップスナップショット" -#: accounts/models/automations/backup_account.py:130 -#: accounts/serializers/account/backup.py:49 +#: accounts/models/automations/backup_account.py:131 +#: accounts/serializers/account/backup.py:48 #: accounts/serializers/automations/base.py:56 #: assets/models/automations/base.py:122 #: assets/serializers/automations/base.py:39 msgid "Trigger mode" msgstr "トリガーモード" -#: accounts/models/automations/backup_account.py:133 audits/models.py:203 +#: accounts/models/automations/backup_account.py:134 audits/models.py:203 #: terminal/models/session/sharing.py:125 xpack/plugins/cloud/models.py:204 msgid "Reason" msgstr "理由" -#: accounts/models/automations/backup_account.py:135 +#: accounts/models/automations/backup_account.py:136 #: accounts/serializers/automations/change_secret.py:107 #: accounts/serializers/automations/change_secret.py:142 -#: ops/serializers/job.py:71 terminal/serializers/session.py:52 +#: ops/serializers/job.py:74 terminal/serializers/session.py:52 msgid "Is success" msgstr "成功は" @@ -478,7 +477,7 @@ msgstr "SSHキープッシュ方式" #: accounts/models/automations/change_secret.py:15 #: accounts/models/automations/gather_account.py:58 -#: accounts/serializers/account/backup.py:41 +#: accounts/serializers/account/backup.py:40 #: accounts/serializers/automations/change_secret.py:58 #: settings/serializers/auth/ldap.py:90 msgid "Recipient" @@ -502,14 +501,14 @@ msgstr "開始日" #: accounts/models/automations/change_secret.py:42 #: assets/models/automations/base.py:116 ops/models/base.py:56 -#: ops/models/celery.py:89 ops/models/job.py:239 +#: ops/models/celery.py:89 ops/models/job.py:242 #: terminal/models/applet/host.py:142 msgid "Date finished" 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:230 +#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:233 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 @@ -522,7 +521,7 @@ msgid "Status" msgstr "ステータス" #: accounts/models/automations/change_secret.py:47 -#: accounts/serializers/account/account.py:260 +#: accounts/serializers/account/account.py:262 #: accounts/templates/accounts/change_secret_failed_info.html:13 #: assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 @@ -555,7 +554,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:812 +#: users/forms/profile.py:114 users/models/user.py:872 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -635,14 +634,14 @@ msgstr "パスワードルール" #: assets/models/_user.py:22 assets/models/asset/common.py:93 #: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21 #: assets/models/domain.py:19 assets/models/group.py:17 -#: assets/models/label.py:18 assets/models/platform.py:16 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:149 -#: assets/serializers/platform.py:136 assets/serializers/platform.py:254 +#: 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:143 assets/serializers/platform.py:261 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 -#: authentication/serializers/connect_token_secret.py:168 labels/models.py:11 +#: authentication/serializers/connect_token_secret.py:169 labels/models.py:11 #: ops/mixin.py:21 ops/models/adhoc.py:20 ops/models/celery.py:15 -#: ops/models/celery.py:80 ops/models/job.py:139 ops/models/playbook.py:28 +#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:89 @@ -654,7 +653,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:814 +#: users/models/preference.py:11 users/models/user.py:874 #: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:272 #: xpack/plugins/cloud/serializers/task.py:70 msgid "Name" @@ -670,7 +669,7 @@ msgstr "特権アカウント" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:120 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:180 msgid "Is active" msgstr "アクティブです。" @@ -792,23 +791,23 @@ msgid "Exist policy" msgstr "アカウントの存在ポリシー" #: accounts/serializers/account/account.py:195 applications/models.py:11 -#: assets/models/label.py:21 assets/models/platform.py:96 +#: 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:158 assets/serializers/platform.py:255 +#: assets/serializers/platform.py:165 assets/serializers/platform.py:262 #: perms/serializers/user_permission.py:26 settings/models.py:36 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "カテゴリ" -#: accounts/serializers/account/account.py:194 +#: accounts/serializers/account/account.py:196 #: 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:97 -#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:138 -#: assets/serializers/platform.py:157 audits/serializers.py:53 +#: assets/models/cmd_filter.py:74 assets/models/platform.py:96 +#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:145 +#: assets/serializers/platform.py:164 audits/serializers.py:53 #: audits/serializers.py:170 -#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:147 +#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:150 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39 #: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 @@ -828,7 +827,7 @@ msgstr "資産が存在しません" msgid "Has secret" msgstr "エスクローされたパスワード" -#: accounts/serializers/account/account.py:259 ops/models/celery.py:83 +#: accounts/serializers/account/account.py:261 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 msgid "State" @@ -844,7 +843,8 @@ msgstr "編集済み" #: assets/models/automations/base.py:19 #: assets/serializers/automations/base.py:20 #: authentication/api/connection_token.py:410 ops/models/base.py:17 -#: ops/models/job.py:149 ops/serializers/job.py:19 +#: ops/models/job.py:152 ops/serializers/job.py:19 +#: perms/serializers/permission.py:36 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 msgid "Assets" msgstr "資産" @@ -878,15 +878,15 @@ 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 -#: 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 -#: terminal/notifications.py:205 terminal/serializers/command.py:16 +#: 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 terminal/notifications.py:205 +#: 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:1019 -#: users/models/user.py:1057 users/serializers/group.py:21 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1059 +#: users/models/user.py:1097 msgid "User" msgstr "ユーザー" @@ -896,20 +896,20 @@ msgstr "ユーザー" msgid "Date" msgstr "日付" +#: accounts/serializers/account/backup.py:20 +#, fuzzy +#| msgid "Zip Encrypt Password" +msgid "Zip Encrypt Password" +msgstr "新しいファイルの暗号化パスワード" + #: accounts/serializers/account/backup.py:38 -#: accounts/serializers/automations/base.py:24 -#: accounts/serializers/automations/base.py:37 -#: assets/serializers/automations/base.py:34 ops/mixin.py:23 ops/mixin.py:104 -#: settings/serializers/auth/ldap.py:66 -msgid "Periodic perform" -msgstr "定期的なパフォーマンス" - -#: accounts/serializers/account/backup.py:39 #: accounts/serializers/automations/base.py:38 -msgid "Executed amount" -msgstr "実行回数" +#, fuzzy +#| msgid "Job Execution" +msgid "Executions" +msgstr "ジョブ実行" -#: accounts/serializers/account/backup.py:42 +#: accounts/serializers/account/backup.py:41 #: accounts/serializers/automations/change_secret.py:59 msgid "Currently only mail sending is supported" msgstr "現在、メール送信のみがサポートされています" @@ -978,14 +978,14 @@ msgstr "关联平台,可以配置推送参数,如果不关联,则使用默 #: accounts/serializers/account/virtual.py:19 assets/models/_user.py:27 #: 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:155 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:38 terminal/models/applet/applet.py:45 +#: ops/models/job.py:158 ops/models/playbook.py:31 rbac/models/role.py:37 +#: settings/models.py:39 terminal/models/applet/applet.py:45 #: terminal/models/applet/applet.py:321 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:850 +#: tickets/models/ticket/general.py:295 users/models/user.py:910 #: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:106 msgid "Comment" msgstr "コメント" @@ -1003,10 +1003,14 @@ msgstr "" #: accounts/serializers/automations/base.py:23 #: assets/models/asset/common.py:164 assets/serializers/asset/common.py:152 -#: assets/serializers/automations/base.py:21 +#: assets/serializers/automations/base.py:21 perms/serializers/permission.py:37 msgid "Nodes" msgstr "ノード" +#: accounts/serializers/automations/base.py:24 +msgid "Periodic perform" +msgstr "定期的なパフォーマンス" + #: accounts/serializers/automations/base.py:45 msgid "Name already exists" msgstr "名前は既に存在します。" @@ -1154,13 +1158,15 @@ msgstr "受け入れられる" msgid "Review" msgstr "レビュー担当者" -#: acls/const.py:9 terminal/const.py:10 -msgid "Warning" +#: acls/const.py:9 +#, fuzzy +#| msgid "Warning" +msgid "Warn" msgstr "警告" -#: acls/const.py:10 audits/const.py:35 -msgid "Notifications" -msgstr "通知" +#: acls/const.py:10 +msgid "Notify" +msgstr "" #: acls/models/base.py:37 assets/models/_user.py:51 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:112 @@ -1187,8 +1193,9 @@ msgstr "レビュー担当者" msgid "Active" msgstr "アクティブ" -#: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:302 +#: acls/models/base.py:81 perms/serializers/permission.py:32 +#: users/models/preference.py:16 users/serializers/group.py:21 +#: users/serializers/user.py:311 msgid "Users" msgstr "ユーザー" @@ -1200,7 +1207,7 @@ msgid "Accounts" msgstr "アカウント" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 -#: ops/serializers/job.py:70 terminal/const.py:86 +#: ops/serializers/job.py:73 terminal/const.py:86 #: terminal/models/session/session.py:43 terminal/serializers/command.py:18 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 @@ -1403,15 +1410,15 @@ msgstr "" msgid "Number required" msgstr "必要な数" -#: assets/api/node.py:57 +#: assets/api/node.py:58 msgid "You can't update the root node name" msgstr "ルートノード名を更新できません" -#: assets/api/node.py:64 +#: assets/api/node.py:65 msgid "You can't delete the root node ({})" msgstr "ルートノード ({}) を削除できません。" -#: assets/api/node.py:67 +#: assets/api/node.py:68 msgid "Deletion failed and the node contains assets" msgstr "削除に失敗し、ノードにアセットが含まれています。" @@ -1425,11 +1432,11 @@ msgstr "同じレベルのノード名を同じにすることはできません msgid "App Assets" msgstr "アプリ資産" -#: assets/automations/base/manager.py:188 +#: assets/automations/base/manager.py:191 msgid "{} disabled" msgstr "{} 無効" -#: assets/automations/base/manager.py:251 +#: assets/automations/base/manager.py:254 msgid " - Platform {} ansible disabled" msgstr " - プラットフォーム {} ansible 無効" @@ -1487,7 +1494,7 @@ msgstr "無効" #: assets/const/base.py:33 settings/serializers/basic.py:8 #: users/serializers/preference/koko.py:19 -#: users/serializers/preference/lina.py:39 +#: users/serializers/preference/lina.py:46 #: users/serializers/preference/luna.py:77 msgid "Basic" msgstr "基本" @@ -1694,7 +1701,7 @@ msgstr "ボタンセレクターを確認する" msgid "API mode" msgstr "APIモード" -#: assets/const/types.py:248 +#: assets/const/types.py:251 msgid "All types" msgstr "いろんなタイプ" @@ -1717,18 +1724,18 @@ msgstr "SSHパブリックキー" #: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: audits/models.py:267 common/db/models.py:34 ops/models/base.py:54 -#: ops/models/job.py:237 users/models/user.py:1058 +#: ops/models/job.py:240 users/models/user.py:1098 msgid "Date created" msgstr "作成された日付" #: assets/models/_user.py:29 assets/models/cmd_filter.py:42 -#: common/db/models.py:35 users/models/user.py:868 +#: common/db/models.py:35 users/models/user.py:936 msgid "Date updated" msgstr "更新日" #: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/cmd_filter.py:91 assets/models/group.py:18 -#: common/db/models.py:32 users/models/user.py:857 +#: common/db/models.py:32 users/models/user.py:917 #: users/serializers/group.py:32 msgid "Created by" msgstr "によって作成された" @@ -1806,7 +1813,7 @@ msgstr "システムユーザーに一致できます" msgid "Cloud" msgstr "クラウド サービス" -#: assets/models/asset/common.py:94 assets/models/platform.py:17 +#: assets/models/asset/common.py:94 assets/models/platform.py:16 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72 #: settings/serializers/msg.py:32 terminal/serializers/storage.py:133 #: xpack/plugins/cloud/serializers/account_attrs.py:73 @@ -1818,7 +1825,7 @@ msgstr "ポート" msgid "Address" msgstr "アドレス" -#: assets/models/asset/common.py:161 assets/models/platform.py:126 +#: assets/models/asset/common.py:161 assets/models/platform.py:134 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:118 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:325 @@ -1831,14 +1838,7 @@ msgstr "プラットフォーム" msgid "Domain" 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 -#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:326 -msgid "Node" -msgstr "ノード" - -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:385 +#: assets/models/asset/common.py:166 assets/serializers/asset/common.py:385 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "資産ハードウェア情報の収集" @@ -1887,7 +1887,13 @@ msgstr "証明書チェックを無視" msgid "Proxy" msgstr "プロキシー" -#: assets/models/automations/base.py:22 ops/models/job.py:233 +#: assets/models/automations/base.py:18 assets/models/cmd_filter.py:32 +#: assets/models/node.py:553 perms/models/asset_permission.py:72 +#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:326 +msgid "Node" +msgstr "ノード" + +#: assets/models/automations/base.py:22 ops/models/job.py:236 #: settings/serializers/auth/sms.py:103 msgid "Parameters" msgstr "パラメータ" @@ -1917,8 +1923,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 -#: users/models/user.py:820 +#: users/models/group.py:25 users/models/user.py:880 msgid "User group" msgstr "ユーザーグループ" @@ -1958,8 +1963,8 @@ msgstr "ゲートウェイ" msgid "Asset group" msgstr "資産グループ" -#: assets/models/group.py:31 assets/models/platform.py:20 -#: assets/serializers/platform.py:139 +#: assets/models/group.py:31 assets/models/platform.py:19 +#: assets/serializers/platform.py:146 #: xpack/plugins/cloud/providers/nutanix.py:30 msgid "Default" msgstr "デフォルト" @@ -1968,7 +1973,7 @@ msgstr "デフォルト" msgid "Default asset group" msgstr "デフォルトアセットグループ" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1043 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1083 msgid "System" msgstr "システム" @@ -1984,7 +1989,7 @@ msgstr "値" #: assets/models/label.py:40 assets/serializers/cagegory.py:10 #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 -#: assets/serializers/platform.py:137 +#: assets/serializers/platform.py:144 #: authentication/serializers/connect_token_secret.py:124 #: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33 #: labels/serializers.py:45 settings/serializers/msg.py:90 @@ -2015,117 +2020,117 @@ msgstr "親キー" msgid "Can match node" msgstr "ノードを一致させることができます" -#: assets/models/platform.py:18 +#: assets/models/platform.py:17 msgid "Primary" msgstr "主要" -#: assets/models/platform.py:19 +#: assets/models/platform.py:18 msgid "Required" msgstr "必要" -#: assets/models/platform.py:21 +#: assets/models/platform.py:20 msgid "Public" msgstr "開ける" -#: assets/models/platform.py:22 assets/serializers/platform.py:49 +#: assets/models/platform.py:21 assets/serializers/platform.py:74 #: settings/serializers/settings.py:95 #: users/templates/users/reset_password.html:29 msgid "Setting" msgstr "設定" -#: assets/models/platform.py:39 audits/const.py:56 +#: assets/models/platform.py:38 audits/const.py:56 #: authentication/backends/passkey/models.py:11 settings/models.py:38 #: terminal/serializers/applet_host.py:33 msgid "Enabled" msgstr "有効化" -#: assets/models/platform.py:40 +#: assets/models/platform.py:39 msgid "Ansible config" msgstr "Ansible 構成" -#: assets/models/platform.py:42 assets/serializers/platform.py:33 +#: assets/models/platform.py:41 assets/serializers/platform.py:33 msgid "Ping enabled" msgstr "アセット ディスカバリを有効にする" -#: assets/models/platform.py:43 assets/serializers/platform.py:34 +#: assets/models/platform.py:42 assets/serializers/platform.py:34 msgid "Ping method" msgstr "資産検出方法" -#: assets/models/platform.py:44 +#: assets/models/platform.py:43 msgid "Ping params" msgstr "資産検出パラメータ" -#: assets/models/platform.py:46 assets/models/platform.py:70 -#: assets/serializers/platform.py:35 +#: assets/models/platform.py:45 assets/models/platform.py:69 +#: assets/serializers/platform.py:36 msgid "Gather facts enabled" msgstr "資産情報の収集を有効にする" -#: assets/models/platform.py:48 assets/models/platform.py:72 -#: assets/serializers/platform.py:37 +#: assets/models/platform.py:47 assets/models/platform.py:71 +#: assets/serializers/platform.py:40 msgid "Gather facts method" msgstr "情報収集の方法" -#: assets/models/platform.py:50 assets/models/platform.py:74 +#: assets/models/platform.py:49 assets/models/platform.py:73 msgid "Gather facts params" msgstr "情報収集パラメータ" -#: assets/models/platform.py:52 assets/serializers/platform.py:45 +#: assets/models/platform.py:51 assets/serializers/platform.py:50 msgid "Change secret enabled" msgstr "パスワードの変更が有効" -#: assets/models/platform.py:54 assets/serializers/platform.py:48 +#: assets/models/platform.py:53 assets/serializers/platform.py:54 msgid "Change secret method" msgstr "パスワード変更モード" -#: assets/models/platform.py:56 +#: assets/models/platform.py:55 msgid "Change secret params" msgstr "パスワード変更パラメータ" -#: assets/models/platform.py:58 assets/serializers/platform.py:51 +#: assets/models/platform.py:57 assets/serializers/platform.py:57 msgid "Push account enabled" msgstr "アカウントのプッシュを有効にする" -#: assets/models/platform.py:60 assets/serializers/platform.py:53 +#: assets/models/platform.py:59 assets/serializers/platform.py:61 msgid "Push account method" msgstr "アカウントプッシュ方式" -#: assets/models/platform.py:62 +#: assets/models/platform.py:61 msgid "Push account params" msgstr "アカウントプッシュパラメータ" -#: assets/models/platform.py:64 +#: assets/models/platform.py:63 assets/serializers/platform.py:43 msgid "Verify account enabled" msgstr "アカウントの確認をオンにする" -#: assets/models/platform.py:66 assets/serializers/platform.py:41 +#: assets/models/platform.py:65 assets/serializers/platform.py:47 msgid "Verify account method" msgstr "アカウント認証方法" -#: assets/models/platform.py:68 +#: assets/models/platform.py:67 msgid "Verify account params" msgstr "アカウント認証パラメータ" -#: assets/models/platform.py:76 +#: assets/models/platform.py:75 msgid "Remove account enabled" msgstr "アカウントを開いて削除" -#: assets/models/platform.py:78 +#: assets/models/platform.py:77 msgid "Remove account method" msgstr "アカウントの削除方法" -#: assets/models/platform.py:80 +#: assets/models/platform.py:79 msgid "Remove account params" msgstr "アカウント削除パラメータ" -#: assets/models/platform.py:98 tickets/models/ticket/general.py:298 +#: assets/models/platform.py:97 tickets/models/ticket/general.py:298 msgid "Meta" msgstr "メタ" -#: assets/models/platform.py:99 labels/models.py:13 +#: assets/models/platform.py:98 labels/models.py:13 msgid "Internal" msgstr "ビルトイン" -#: assets/models/platform.py:103 assets/serializers/platform.py:156 +#: assets/models/platform.py:102 assets/serializers/platform.py:163 msgid "Charset" msgstr "シャーセット" @@ -2133,15 +2138,15 @@ msgstr "シャーセット" msgid "Gateway enabled" msgstr "ドメインを有効にする" -#: assets/models/platform.py:107 assets/serializers/platform.py:184 +#: assets/models/platform.py:106 assets/serializers/platform.py:191 msgid "Su enabled" msgstr "アカウントの切り替えを有効にする" -#: assets/models/platform.py:108 assets/serializers/platform.py:162 +#: assets/models/platform.py:107 assets/serializers/platform.py:169 msgid "Su method" msgstr "アカウントの切り替え方法" -#: assets/models/platform.py:109 assets/serializers/platform.py:165 +#: assets/models/platform.py:108 assets/serializers/platform.py:172 msgid "Custom fields" msgstr "カスタムフィールド" @@ -2158,10 +2163,10 @@ msgstr "" "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" "ラットフォーム" -#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:166 #: 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:46 #: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:328 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" @@ -2271,7 +2276,8 @@ msgstr "制約" msgid "Types" msgstr "タイプ" -#: assets/serializers/domain.py:62 perms/serializers/permission.py:188 +#: assets/serializers/domain.py:21 orgs/serializers.py:13 +#: perms/serializers/permission.py:40 msgid "Assets amount" msgstr "資産数量" @@ -2287,51 +2293,51 @@ msgstr "値" msgid "Can't contains: /" msgstr "含まれない:/" -#: assets/serializers/platform.py:34 +#: assets/serializers/platform.py:33 #, fuzzy #| msgid "Run ansible task execution" msgid "Enable asset detection" msgstr "Ansible タスクの実行を開始する" -#: assets/serializers/platform.py:38 +#: assets/serializers/platform.py:37 msgid "Enable asset information collection" msgstr "" -#: assets/serializers/platform.py:42 +#: assets/serializers/platform.py:44 #, fuzzy #| msgid "Ignore SSL verification" msgid "Enable account verification" msgstr "Ssl検証を無視する" -#: assets/serializers/platform.py:49 +#: assets/serializers/platform.py:51 msgid "Enable account secret auto change" msgstr "" -#: assets/serializers/platform.py:54 +#: assets/serializers/platform.py:58 #, fuzzy #| msgid "Enable SSO auth" msgid "Enable account auto push" msgstr "SSO Token認証の有効化" -#: assets/serializers/platform.py:57 +#: assets/serializers/platform.py:64 msgid "Gather accounts enabled" msgstr "アカウント収集を有効にする" -#: assets/serializers/platform.py:60 -msgid "Gather accounts method" -msgstr "アカウントの収集方法" - -#: assets/serializers/platform.py:61 +#: assets/serializers/platform.py:65 #, fuzzy #| msgid "Gather account automation" msgid "Enable account collection" msgstr "自動収集アカウント" #: assets/serializers/platform.py:68 +msgid "Gather accounts method" +msgstr "アカウントの収集方法" + +#: assets/serializers/platform.py:75 msgid "Port from addr" msgstr "アドレスからのポート" -#: assets/serializers/platform.py:80 +#: assets/serializers/platform.py:87 msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." @@ -2339,11 +2345,11 @@ msgstr "" "このプロトコルはプライマリであり、資産を追加するときに設定する必要がありま" "す。また、プライマリプロトコルは1つしかありません" -#: assets/serializers/platform.py:85 +#: assets/serializers/platform.py:92 msgid "This protocol is required, and it must be set when adding assets." msgstr "このプロトコルは必須であり、資産を追加するときに設定する必要があります" -#: assets/serializers/platform.py:88 +#: assets/serializers/platform.py:95 msgid "" "This protocol is default, when adding assets, it will be displayed by " "default." @@ -2351,24 +2357,24 @@ msgstr "" "このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されま" "す" -#: assets/serializers/platform.py:91 +#: assets/serializers/platform.py:98 msgid "This protocol is public, asset will show this protocol to user" msgstr "" "このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" -#: assets/serializers/platform.py:140 +#: assets/serializers/platform.py:147 msgid "Help text" msgstr "ヘルプ" -#: assets/serializers/platform.py:141 +#: assets/serializers/platform.py:148 msgid "Choices" msgstr "せんたく" -#: assets/serializers/platform.py:160 +#: assets/serializers/platform.py:167 msgid "Automation" msgstr "オートメーション" -#: assets/serializers/platform.py:186 +#: assets/serializers/platform.py:193 msgid "" "Login with account when accessing assets, then automatically switch to " "another, similar to logging in with a regular account and then switching to " @@ -2379,15 +2385,15 @@ msgstr "" msgid "Assets can be connected using a zone gateway" msgstr "" -#: assets/serializers/platform.py:194 +#: assets/serializers/platform.py:201 msgid "Default Domain" msgstr "デフォルト ドメイン" -#: assets/serializers/platform.py:215 +#: assets/serializers/platform.py:222 msgid "type is required" msgstr "タイプ このフィールドは必須です." -#: assets/serializers/platform.py:230 +#: assets/serializers/platform.py:237 msgid "Protocols is required" msgstr "同意が必要です" @@ -2524,7 +2530,7 @@ msgid "Connect" msgstr "接続" #: audits/const.py:30 authentication/templates/authentication/login.html:296 -#: authentication/templates/authentication/login.html:369 +#: authentication/templates/authentication/login.html:368 #: templates/_header_bar.html:101 msgid "Login" msgstr "ログイン" @@ -2533,6 +2539,10 @@ msgstr "ログイン" msgid "Change password" msgstr "パスワードを変更する" +#: audits/const.py:35 +msgid "Notifications" +msgstr "通知" + #: audits/const.py:37 tickets/const.py:45 msgid "Approve" msgstr "承認" @@ -2663,7 +2673,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:837 +#: users/forms/profile.py:63 users/models/user.py:897 #: users/serializers/profile.py:102 msgid "MFA" msgstr "MFA" @@ -2696,8 +2706,8 @@ msgid "Offline user session" msgstr "オフラインユーザセッション" #: audits/serializers.py:33 ops/models/adhoc.py:25 ops/models/base.py:16 -#: ops/models/base.py:53 ops/models/celery.py:86 ops/models/job.py:148 -#: ops/models/job.py:236 ops/models/playbook.py:30 +#: ops/models/base.py:53 ops/models/celery.py:86 ops/models/job.py:151 +#: ops/models/job.py:239 ops/models/playbook.py:30 #: terminal/models/session/sharing.py:25 msgid "Creator" msgstr "作成者" @@ -2715,7 +2725,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:855 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:915 msgid "Date expired" msgstr "期限切れの日付" @@ -2748,29 +2758,29 @@ msgstr "認証トークン" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 -#: settings/serializers/auth/wecom.py:10 users/models/user.py:759 -#: users/models/user.py:869 +#: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 +#: users/models/user.py:758 users/models/user.py:930 msgid "WeCom" msgstr "企業微信" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 -#: settings/serializers/auth/feishu.py:10 users/models/user.py:761 -#: users/models/user.py:871 +#: settings/serializers/auth/feishu.py:10 users/models/user.py:760 +#: users/models/user.py:932 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 -#: settings/serializers/auth/slack.py:10 users/models/user.py:763 -#: users/models/user.py:873 +#: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 +#: users/models/user.py:762 users/models/user.py:934 msgid "Slack" msgstr "" #: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:161 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:760 -#: users/models/user.py:870 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:759 +#: users/models/user.py:931 msgid "DingTalk" msgstr "DingTalk" @@ -2832,7 +2842,7 @@ msgstr "ACL アクションは拒否です: {}({})" msgid "ACL action is review" msgstr "ACL アクションはレビューです" -#: authentication/api/mfa.py:59 +#: authentication/api/mfa.py:62 msgid "Current user not support mfa type: {}" msgstr "現在のユーザーはmfaタイプをサポートしていません: {}" @@ -2854,7 +2864,7 @@ msgstr "" "さい。" #: authentication/api/password.py:65 -#: authentication/templates/authentication/login.html:361 +#: authentication/templates/authentication/login.html:360 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 #: users/templates/users/forgot_password_previewing.html:13 @@ -3177,8 +3187,9 @@ msgstr "メッセージ検証コードが無効" #: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 -#: settings/serializers/auth/sms.py:32 users/forms/profile.py:103 -#: users/forms/profile.py:108 users/templates/users/forgot_password.html:157 +#: settings/serializers/auth/sms.py:17 settings/serializers/auth/sms.py:32 +#: users/forms/profile.py:103 users/forms/profile.py:108 +#: users/templates/users/forgot_password.html:157 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "メッセージ" @@ -3291,11 +3302,11 @@ msgstr "ユーザーなしまたは期限切れのユーザー" msgid "No asset or inactive asset" msgstr "アセットがないか、有効化されていないアセット" -#: authentication/models/connection_token.py:272 +#: authentication/models/connection_token.py:274 msgid "Can view super connection token secret" msgstr "スーパー接続トークンのシークレットを表示できます" -#: authentication/models/connection_token.py:274 +#: authentication/models/connection_token.py:276 msgid "Super connection token" msgstr "スーパー接続トークン" @@ -3332,7 +3343,7 @@ msgid "Options" msgstr "オプション" #: authentication/serializers/connect_token_secret.py:127 -#: ops/notifications.py:17 +#: ops/notifications.py:18 msgid "Component" msgstr "コンポーネント" @@ -3340,17 +3351,17 @@ msgstr "コンポーネント" msgid "Expired now" msgstr "すぐに期限切れ" -#: authentication/serializers/connect_token_secret.py:169 +#: authentication/serializers/connect_token_secret.py:170 #: terminal/models/virtualapp/virtualapp.py:25 msgid "Image name" msgstr "ミラー名" -#: authentication/serializers/connect_token_secret.py:170 +#: authentication/serializers/connect_token_secret.py:171 #: terminal/models/virtualapp/virtualapp.py:27 msgid "Image port" msgstr "ミラーポート" -#: authentication/serializers/connect_token_secret.py:171 +#: authentication/serializers/connect_token_secret.py:172 #: terminal/models/virtualapp/virtualapp.py:26 msgid "Image protocol" msgstr "ミラープロトコル" @@ -3372,8 +3383,8 @@ msgid "Actions" msgstr "アクション" #: authentication/serializers/connection_token.py:42 -#: perms/serializers/permission.py:40 perms/serializers/permission.py:60 -#: users/serializers/user.py:100 users/serializers/user.py:177 +#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 +#: users/serializers/user.py:101 users/serializers/user.py:184 msgid "Is expired" msgstr "期限切れです" @@ -3386,9 +3397,9 @@ 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:101 -#: users/serializers/user.py:174 +#: authentication/serializers/token.py:92 perms/serializers/permission.py:43 +#: perms/serializers/permission.py:66 users/serializers/user.py:102 +#: users/serializers/user.py:181 msgid "Is valid" msgstr "有効です" @@ -3413,13 +3424,13 @@ msgid "Show" msgstr "表示" #: authentication/templates/authentication/_access_key_modal.html:66 -#: users/const.py:42 users/models/user.py:654 users/serializers/profile.py:92 +#: users/const.py:42 users/models/user.py:654 #: users/templates/users/user_verify_mfa.html:36 msgid "Disable" msgstr "無効化" #: authentication/templates/authentication/_access_key_modal.html:67 -#: users/const.py:43 users/models/user.py:655 users/serializers/profile.py:93 +#: users/const.py:43 users/models/user.py:655 #: users/templates/users/mfa_setting.html:26 #: users/templates/users/mfa_setting.html:68 msgid "Enable" @@ -3717,23 +3728,23 @@ msgstr "Lark はすでにバインドされています" msgid "Failed to get user from Lark" msgstr "Lark からユーザーを取得できませんでした" -#: authentication/views/login.py:227 +#: authentication/views/login.py:230 msgid "Redirecting" msgstr "リダイレクト" -#: authentication/views/login.py:228 +#: authentication/views/login.py:231 msgid "Redirecting to {} authentication" msgstr "{} 認証へのリダイレクト" -#: authentication/views/login.py:251 +#: authentication/views/login.py:254 msgid "Login timeout, please try again." msgstr "ログインタイムアウト、もう一度お試しください" -#: authentication/views/login.py:294 +#: authentication/views/login.py:297 msgid "User email already exists ({})" msgstr "ユーザー メールボックスは既に存在します ({})" -#: authentication/views/login.py:372 +#: authentication/views/login.py:375 msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -3741,15 +3752,15 @@ msgstr "" "{} 確認を待ちます。彼女/彼へのリンクをコピーすることもできます
\n" " このページを閉じないでください" -#: authentication/views/login.py:377 +#: authentication/views/login.py:380 msgid "No ticket found" msgstr "チケットが見つかりません" -#: authentication/views/login.py:413 +#: authentication/views/login.py:416 msgid "Logout success" msgstr "ログアウト成功" -#: authentication/views/login.py:414 +#: authentication/views/login.py:417 msgid "Logout success, return login page" msgstr "ログアウト成功、ログインページを返す" @@ -3893,7 +3904,7 @@ msgstr "は破棄されます" msgid "discard time" msgstr "時間を捨てる" -#: common/db/models.py:33 users/models/user.py:858 +#: common/db/models.py:33 users/models/user.py:918 msgid "Updated by" msgstr "によって更新" @@ -4061,7 +4072,7 @@ msgstr "間違ったデータ タイプです。リストにする必要があ msgid "Invalid choice: {}" msgstr "無効なオプション: {}" -#: common/serializers/mixin.py:400 +#: common/serializers/mixin.py:409 msgid "Labels" msgstr "ラベル" @@ -4209,15 +4220,15 @@ msgstr "システムメッセージ" msgid "Publish the station message" msgstr "投稿サイトニュース" -#: ops/ansible/inventory.py:106 ops/models/job.py:63 +#: ops/ansible/inventory.py:107 ops/models/job.py:65 msgid "No account available" msgstr "利用可能なアカウントがありません" -#: ops/ansible/inventory.py:285 +#: ops/ansible/inventory.py:286 msgid "Ansible disabled" msgstr "Ansible 無効" -#: ops/ansible/inventory.py:301 +#: ops/ansible/inventory.py:302 msgid "Skip hosts below:" msgstr "次のホストをスキップします: " @@ -4298,8 +4309,10 @@ msgstr "ファイルキーこのフィールドは必須です" msgid "This file can not be delete" msgstr "このファイルを削除できません" -#: ops/apps.py:9 ops/notifications.py:18 rbac/tree.py:57 -msgid "App ops" +#: ops/apps.py:9 +#, fuzzy +#| msgid "App ops" +msgid "App Ops" msgstr "アプリ操作" #: ops/const.py:6 @@ -4338,7 +4351,7 @@ msgstr "VCS" msgid "Adhoc" msgstr "コマンド#コマンド#" -#: ops/const.py:39 ops/models/job.py:146 +#: ops/const.py:39 ops/models/job.py:149 msgid "Playbook" msgstr "Playbook" @@ -4440,11 +4453,11 @@ msgstr "定期的または定期的に設定を行う必要があります" msgid "Pattern" msgstr "パターン" -#: ops/models/adhoc.py:23 ops/models/job.py:143 +#: ops/models/adhoc.py:23 ops/models/job.py:146 msgid "Module" msgstr "モジュール" -#: ops/models/adhoc.py:24 ops/models/celery.py:81 ops/models/job.py:141 +#: ops/models/adhoc.py:24 ops/models/celery.py:81 ops/models/job.py:144 #: terminal/models/component/task.py:14 msgid "Args" msgstr "アルグ" @@ -4463,12 +4476,12 @@ msgstr "最後の実行" msgid "Date last run" msgstr "最終実行日" -#: ops/models/base.py:51 ops/models/job.py:234 +#: ops/models/base.py:51 ops/models/job.py:237 #: xpack/plugins/cloud/models.py:198 msgid "Result" msgstr "結果" -#: ops/models/base.py:52 ops/models/job.py:235 +#: ops/models/base.py:52 ops/models/job.py:238 msgid "Summary" msgstr "概要" @@ -4489,7 +4502,7 @@ msgid "Kwargs" msgstr "クワーグ" #: ops/models/celery.py:84 terminal/models/session/sharing.py:128 -#: tickets/const.py:26 +#: tickets/const.py:25 msgid "Finished" msgstr "終了" @@ -4501,43 +4514,43 @@ msgstr "発売日" msgid "Celery Task Execution" msgstr "Celery タスク実行" -#: ops/models/job.py:144 +#: ops/models/job.py:147 msgid "Chdir" msgstr "実行ディレクトリ" -#: ops/models/job.py:145 +#: ops/models/job.py:148 msgid "Timeout (Seconds)" msgstr "タイムアウト(秒)" -#: ops/models/job.py:150 +#: ops/models/job.py:153 msgid "Use Parameter Define" msgstr "パラメータ定義を使用する" -#: ops/models/job.py:151 +#: ops/models/job.py:154 msgid "Parameters define" msgstr "パラメータ定義" -#: ops/models/job.py:152 +#: ops/models/job.py:155 msgid "Runas" msgstr "ユーザーとして実行" -#: ops/models/job.py:154 +#: ops/models/job.py:157 msgid "Runas policy" msgstr "ユーザー ポリシー" -#: ops/models/job.py:218 +#: ops/models/job.py:221 terminal/notifications.py:174 msgid "Job" msgstr "ジョブ#ジョブ#" -#: ops/models/job.py:241 +#: ops/models/job.py:244 msgid "Material" msgstr "Material" -#: ops/models/job.py:243 +#: ops/models/job.py:246 msgid "Material Type" msgstr "Material を選択してオプションを設定します。" -#: ops/models/job.py:540 +#: ops/models/job.py:544 msgid "Job Execution" msgstr "ジョブ実行" @@ -4595,20 +4608,26 @@ msgstr "最後の実行" msgid "Execute after saving" msgstr "保存後に実行" -#: ops/serializers/job.py:69 +#: ops/serializers/job.py:52 +#, fuzzy +#| msgid "Time cost" +msgid "Average time cost" +msgstr "時を過ごす" + +#: ops/serializers/job.py:72 msgid "Job type" msgstr "タスクの種類" -#: ops/serializers/job.py:72 terminal/serializers/session.py:56 +#: ops/serializers/job.py:75 terminal/serializers/session.py:56 msgid "Is finished" msgstr "終了しました" -#: ops/serializers/job.py:73 +#: ops/serializers/job.py:76 #: settings/templates/ldap/_msg_import_ldap_user.html:7 msgid "Time cost" msgstr "時を過ごす" -#: ops/serializers/job.py:87 +#: ops/serializers/job.py:90 msgid "You do not have permission for the current job." msgstr "あなたは現在のジョブの権限を持っていません。" @@ -4748,7 +4767,7 @@ msgstr "仮想組織を削除できませんでした" msgid "Users amount" msgstr "ユーザー数" -#: orgs/serializers.py:11 perms/serializers/permission.py:39 +#: orgs/serializers.py:11 msgid "User groups amount" msgstr "ユーザーグループの数" @@ -4877,6 +4896,16 @@ msgstr "資産権限の有効期限が近づいています" msgid "asset permissions of organization {}" msgstr "組織 {} の資産権限" +#: perms/serializers/permission.py:34 users/serializers/user.py:173 +msgid "Groups" +msgstr "" + +#: perms/serializers/permission.py:39 +#, fuzzy +#| msgid "User groups amount" +msgid "Groups amount" +msgstr "ユーザーグループの数" + #: perms/tasks.py:27 msgid "Check asset permission expired" msgstr "アセット認証ルールの有効期限が切れていることを確認する" @@ -4981,7 +5010,7 @@ msgid "Scope" msgstr "スコープ" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:824 +#: users/models/user.py:884 msgid "Role" msgstr "ロール" @@ -5073,7 +5102,7 @@ msgstr "資産の改ざん" msgid "Terminal setting" msgstr "ターミナル設定" -#: rbac/tree.py:55 settings/serializers/feature.py:126 +#: rbac/tree.py:55 settings/serializers/feature.py:127 msgid "Job center" msgstr "タスクセンター" @@ -5081,6 +5110,10 @@ msgstr "タスクセンター" msgid "My assets" msgstr "私の資産" +#: rbac/tree.py:57 +msgid "App ops" +msgstr "アプリ操作" + #: rbac/tree.py:58 terminal/models/applet/applet.py:52 #: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 #: terminal/serializers/applet.py:15 @@ -5280,11 +5313,15 @@ msgid "Passkey Auth" msgstr "Passkey 認証" #: settings/serializers/auth/base.py:27 -msgid "Forgot password url" -msgstr "パスワードのURLを忘れた" +#, fuzzy +#| msgid "Forgot password" +msgid "Forgot Password URL" +msgstr "パスワードを忘れた" #: settings/serializers/auth/base.py:30 -msgid "Enable login redirect msg" +#, fuzzy +#| msgid "Enable login redirect msg" +msgid "Login redirection prompt" msgstr "ログインリダイレクトの有効化msg" #: settings/serializers/auth/cas.py:10 settings/serializers/auth/cas.py:12 @@ -5339,7 +5376,7 @@ msgstr "飛本認証の有効化" msgid "Enable Lark Auth" msgstr "Lark 認証の有効化" -#: settings/serializers/auth/ldap.py:39 +#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:93 msgid "LDAP" msgstr "LDAP" @@ -5396,10 +5433,6 @@ msgstr "" msgid "Search paged size (piece)" msgstr "ページサイズを検索 (じょう)" -#: settings/serializers/auth/ldap.py:93 -msgid "Enable LDAP auth" -msgstr "LDAP認証の有効化" - #: settings/serializers/auth/oauth2.py:18 #: settings/serializers/auth/oauth2.py:21 msgid "OAuth2" @@ -5736,24 +5769,34 @@ msgid "password change log keep days (day)" msgstr "パスワード変更ログ(天)" #: settings/serializers/cleaning.py:31 -msgid "FTP log keep days (day)" -msgstr "ダウンロードのアップロード(天)" +#, fuzzy +#| msgid "Task log retention days (day)" +msgid "FTP log retention days (day)" +msgstr "タスクログは日数を保持します(天)" #: settings/serializers/cleaning.py:35 -msgid "Cloud sync record keep days (day)" -msgstr "クラウド同期レコードは日数を保持します(天)" +#, fuzzy +#| msgid "Task log retention days (day)" +msgid "Cloud sync task history retention days (day)" +msgstr "タスクログは日数を保持します(天)" #: settings/serializers/cleaning.py:39 -msgid "job execution keep days (day)" +#, fuzzy +#| msgid "job execution keep days (day)" +msgid "job execution retention days (day)" msgstr "ジョブセンターの実行履歴 (天) " #: settings/serializers/cleaning.py:43 -msgid "Activity log keep days (day)" +#, fuzzy +#| msgid "Activity log keep days (day)" +msgid "Activity log retention days (day)" msgstr "活動ログは日数を保持します(天)" #: settings/serializers/cleaning.py:46 -msgid "Session keep duration (day)" -msgstr "セッション維持期間(天)" +#, fuzzy +#| msgid "Login log retention days (day)" +msgid "Session log retention days (day)" +msgstr "ログインログは日数を保持します(天)" #: settings/serializers/cleaning.py:48 msgid "" @@ -5804,7 +5847,9 @@ msgid "Chat AI" msgstr "チャットAI" #: settings/serializers/feature.py:78 -msgid "Base URL" +#, fuzzy +#| msgid "Base URL" +msgid "Base Url" msgstr "基本的なUrl" #: settings/serializers/feature.py:81 templates/_header_bar.html:96 @@ -5824,38 +5869,40 @@ msgid "No login approval" msgstr "ログイン承認なし" #: settings/serializers/feature.py:115 -msgid "Ticket authorize default time" -msgstr "デフォルト製造オーダ承認時間" +#, fuzzy +#| msgid "Default asset group" +msgid "Default period" +msgstr "デフォルトアセットグループ" #: settings/serializers/feature.py:118 msgid "hour" msgstr "時" #: settings/serializers/feature.py:119 -msgid "Ticket authorize default time unit" -msgstr "デフォルト製造オーダ承認時間単位" +#, fuzzy +#| msgid "Default" +msgid "Default unit" +msgstr "デフォルト" #: settings/serializers/feature.py:124 msgid "Feature" msgstr "機能" -#: settings/serializers/feature.py:127 -msgid "Operation center" -msgstr "職業センター" - #: settings/serializers/feature.py:128 msgid "Allow user run batch command or not using ansible" msgstr "ユーザー実行バッチコマンドを許可するか、ansibleを使用しない" #: settings/serializers/feature.py:132 -msgid "Operation center command blacklist" -msgstr "オペレーション センター コマンド ブラックリスト" +#, fuzzy +#| msgid "Command acl" +msgid "Command blacklist" +msgstr "コマンドフィルタリング" #: settings/serializers/feature.py:133 msgid "Commands that are not allowed execute." msgstr "実行が許可されていないコマンド" -#: settings/serializers/feature.py:138 +#: settings/serializers/feature.py:138 settings/serializers/feature.py:141 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5863,10 +5910,6 @@ msgstr "実行が許可されていないコマンド" msgid "Virtual app" msgstr "仮想アプリケーション" -#: settings/serializers/feature.py:141 -msgid "Enable virtual app" -msgstr "仮想アプリケーションの有効化" - #: settings/serializers/msg.py:25 #, fuzzy #| msgid "SMTP host" @@ -6208,8 +6251,10 @@ msgid "Whether to expire the session when the user closes their browser." msgstr "ユーザーがブラウザを閉じたときにセッションを期限切れにするかどうか。" #: settings/serializers/security.py:205 -msgid "Session max connection time (hour)" -msgstr "セッション最大接続時間(時間)" +#, fuzzy +#| msgid "Max idle time (minute)" +msgid "Max online time (hour)" +msgstr "接続最大アイドル時間(分)" #: settings/serializers/security.py:206 msgid "If session connection time more than it, disconnect connection." @@ -6738,6 +6783,10 @@ msgstr "リモートデスクトップ" msgid "RDP Guide" msgstr "RDP 接続ウィザード" +#: terminal/const.py:10 +msgid "Warning" +msgstr "警告" + #: terminal/const.py:12 msgid "Review & Reject" msgstr "レビューと拒否" @@ -7161,10 +7210,6 @@ msgstr "レベル" msgid "Command and replay storage" msgstr "コマンド及び録画記憶" -#: terminal/notifications.py:225 -msgid "Connectivity alarm" -msgstr "接続性アラーム" - #: terminal/notifications.py:240 terminal/tasks.py:153 msgid "Test failure: Account invalid" msgstr "テスト失敗: アカウントが無効" @@ -7438,7 +7483,7 @@ msgstr "エンドポイントサフィックス" msgid "HOST" msgstr "ホスト" -#: terminal/serializers/storage.py:146 users/models/user.py:844 +#: terminal/serializers/storage.py:146 users/models/user.py:904 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "ssh秘密鍵" @@ -8126,11 +8171,11 @@ msgstr "" msgid "Finish" msgstr "仕上げ" -#: users/forms/profile.py:82 +#: users/forms/profile.py:82 users/serializers/preference/lina.py:20 msgid "New password" msgstr "新しいパスワード" -#: users/forms/profile.py:87 +#: users/forms/profile.py:87 users/serializers/preference/lina.py:25 msgid "Confirm password" msgstr "パスワードの確認" @@ -8171,11 +8216,11 @@ msgid "Public key should not be the same as your old one." msgstr "公開鍵は古いものと同じであってはなりません。" #: users/forms/profile.py:161 users/serializers/profile.py:76 -#: users/serializers/profile.py:164 users/serializers/profile.py:191 +#: users/serializers/profile.py:165 users/serializers/profile.py:192 msgid "Not a valid ssh public key" msgstr "有効なssh公開鍵ではありません" -#: users/forms/profile.py:172 users/models/user.py:847 +#: users/forms/profile.py:172 users/models/user.py:907 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "公開キー" @@ -8184,78 +8229,78 @@ msgstr "公開キー" msgid "Preference" msgstr "ユーザー設定" -#: users/models/user.py:656 users/serializers/profile.py:94 +#: users/models/user.py:656 msgid "Force enable" msgstr "強制有効" -#: users/models/user.py:762 +#: users/models/user.py:761 msgid "Lark" msgstr "" -#: users/models/user.py:826 users/serializers/user.py:175 +#: users/models/user.py:886 users/serializers/user.py:182 msgid "Is service account" msgstr "サービスアカウントです" -#: users/models/user.py:828 +#: users/models/user.py:888 msgid "Avatar" msgstr "アバター" -#: users/models/user.py:831 +#: users/models/user.py:891 msgid "Wechat" msgstr "微信" -#: users/models/user.py:834 users/serializers/user.py:111 +#: users/models/user.py:894 users/serializers/user.py:112 msgid "Phone" msgstr "電話" -#: users/models/user.py:840 +#: users/models/user.py:900 msgid "OTP secret key" msgstr "OTP 秘密" # msgid "Private key" # msgstr "ssh秘密鍵" -#: users/models/user.py:852 users/serializers/profile.py:128 -#: users/serializers/user.py:172 +#: users/models/user.py:912 users/serializers/profile.py:129 +#: users/serializers/user.py:179 msgid "Is first login" msgstr "最初のログインです" -#: users/models/user.py:862 +#: users/models/user.py:921 msgid "Date password last updated" msgstr "最終更新日パスワード" -#: users/models/user.py:865 +#: users/models/user.py:924 msgid "Need update password" msgstr "更新パスワードが必要" -#: users/models/user.py:867 +#: users/models/user.py:935 msgid "Date api key used" msgstr "Api key 最後に使用した日付" -#: users/models/user.py:1000 +#: users/models/user.py:1054 msgid "Can not delete admin user" msgstr "管理者ユーザーを削除できませんでした" -#: users/models/user.py:1028 +#: users/models/user.py:1068 msgid "Can invite user" msgstr "ユーザーを招待できます" -#: users/models/user.py:1029 +#: users/models/user.py:1069 msgid "Can remove user" msgstr "ユーザーを削除できます" -#: users/models/user.py:1030 +#: users/models/user.py:1070 msgid "Can match user" msgstr "ユーザーに一致できます" -#: users/models/user.py:1039 +#: users/models/user.py:1079 msgid "Administrator" msgstr "管理者" -#: users/models/user.py:1042 +#: users/models/user.py:1082 msgid "Administrator is the super user of system" msgstr "管理者はシステムのスーパーユーザーです" -#: users/models/user.py:1067 +#: users/models/user.py:1107 msgid "User password history" msgstr "ユーザーパスワード履歴" @@ -8298,15 +8343,14 @@ msgstr "ファイル名競合ソリューション" msgid "Terminal theme name" msgstr "ターミナルテーマ名" -#: users/serializers/preference/lina.py:13 -msgid "New file encryption password" -msgstr "新しいファイルの暗号化パスワード" +#: users/serializers/preference/lina.py:11 +msgid "" +"The password for file encryption, used for decryption when the system sends " +"emails containing file attachments.
Such as: account backup files, " +"account password change results files" +msgstr "" -#: users/serializers/preference/lina.py:18 -msgid "Confirm file encryption password" -msgstr "ファイルの暗号化パスワードを確認する" - -#: users/serializers/preference/lina.py:31 users/serializers/profile.py:48 +#: users/serializers/preference/lina.py:38 users/serializers/profile.py:48 msgid "The newly set password is inconsistent" msgstr "新しく設定されたパスワードが一致しない" @@ -8392,75 +8436,98 @@ msgstr "パスワードがセキュリティルールと一致しない" msgid "The new password cannot be the last {} passwords" msgstr "新しいパスワードを最後の {} 個のパスワードにすることはできません" -#: users/serializers/user.py:44 +#: users/serializers/profile.py:92 +#, fuzzy +#| msgid "Offline" +msgid "Off" +msgstr "オフライン" + +#: users/serializers/profile.py:93 +#, fuzzy +#| msgid "Open" +msgid "On" +msgstr "オープン" + +#: users/serializers/profile.py:94 +#, fuzzy +#| msgid "Force enable" +msgid "Forced enabled" +msgstr "強制有効" + +#: users/serializers/user.py:45 msgid "System roles" msgstr "システムの役割" -#: users/serializers/user.py:48 +#: users/serializers/user.py:49 msgid "Org roles" msgstr "組織ロール" -#: users/serializers/user.py:51 +#: users/serializers/user.py:52 msgid "Organizations and roles" msgstr "そしきとやくわり" -#: users/serializers/user.py:93 -msgid "Password strategy" +#: users/serializers/user.py:94 +#, fuzzy +#| msgid "Password strategy" +msgid "Password setting" msgstr "パスワード戦略" -#: users/serializers/user.py:95 +#: users/serializers/user.py:96 msgid "MFA enabled" msgstr "MFA有効化" -#: users/serializers/user.py:97 +#: users/serializers/user.py:98 msgid "MFA force enabled" msgstr "MFAフォース有効化" -#: users/serializers/user.py:99 +#: users/serializers/user.py:100 msgid "Login blocked" msgstr "ログインがロックされました" -#: users/serializers/user.py:102 users/serializers/user.py:181 +#: users/serializers/user.py:103 users/serializers/user.py:188 msgid "Is OTP bound" msgstr "仮想MFAがバインドされているか" -#: users/serializers/user.py:103 +#: users/serializers/user.py:104 msgid "Super Administrator" msgstr "スーパーアドミニストレーター" -#: users/serializers/user.py:104 +#: users/serializers/user.py:105 msgid "Organization Administrator" msgstr "組織管理者" -#: users/serializers/user.py:106 +#: users/serializers/user.py:107 msgid "Can public key authentication" msgstr "公開鍵認証が可能" #: users/serializers/user.py:176 +#, fuzzy +#| msgid "System user" +msgid "Superuser" +msgstr "システムユーザー" + +#: users/serializers/user.py:183 msgid "Is org admin" msgstr "組織管理者です" -#: users/serializers/user.py:178 +#: users/serializers/user.py:185 msgid "Avatar url" msgstr "アバターURL" -#: users/serializers/user.py:182 +#: users/serializers/user.py:189 msgid "MFA level" msgstr "MFA レベル" -#: users/serializers/user.py:304 -msgid "Select users" -msgstr "ユーザーの選択" +#: users/serializers/user.py:312 +msgid "" +"For security, only a partial of users is displayed. You can search for more" +msgstr "" -#: users/serializers/user.py:305 -msgid "For security, only list several users" -msgstr "セキュリティのために、複数のユーザーのみをリストします" - -#: users/serializers/user.py:338 +#: users/serializers/user.py:345 msgid "name not unique" msgstr "名前が一意ではない" -#: users/signal_handlers.py:33 +#: users/signal_handlers.py:35 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" " and the current user is not in the user list. Please contact the " @@ -8469,7 +8536,7 @@ msgstr "" "管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザー" "はユーザーリストにありません。管理者に連絡してください。" -#: users/signal_handlers.py:167 +#: users/signal_handlers.py:169 msgid "Clean up expired user sessions" msgstr "期限切れのユーザー・セッションのパージ" @@ -9470,5 +9537,56 @@ msgstr "エンタープライズプロフェッショナル版" msgid "Ultimate edition" msgstr "エンタープライズ・フラッグシップ・エディション" +#~ msgid "Executed amount" +#~ msgstr "実行回数" + +#~ msgid "Forgot password url" +#~ msgstr "パスワードのURLを忘れた" + +#~ msgid "Enable LDAP auth" +#~ msgstr "LDAP認証の有効化" + +#~ msgid "FTP log keep days (day)" +#~ msgstr "ダウンロードのアップロード(天)" + +#~ msgid "Cloud sync record keep days (day)" +#~ msgstr "クラウド同期レコードは日数を保持します(天)" + +#~ msgid "Session keep duration (day)" +#~ msgstr "セッション維持期間(天)" + +#~ msgid "Ticket authorize default time" +#~ msgstr "デフォルト製造オーダ承認時間" + +#~ msgid "Ticket authorize default time unit" +#~ msgstr "デフォルト製造オーダ承認時間単位" + +#~ msgid "Operation center" +#~ msgstr "職業センター" + +#~ msgid "Operation center command blacklist" +#~ msgstr "オペレーション センター コマンド ブラックリスト" + +#~ msgid "Enable virtual app" +#~ msgstr "仮想アプリケーションの有効化" + +#~ msgid "Session max connection time (hour)" +#~ msgstr "セッション最大接続時間(時間)" + +#~ msgid "Connectivity alarm" +#~ msgstr "接続性アラーム" + +#~ msgid "New file encryption password" +#~ msgstr "新しいファイルの暗号化パスワード" + +#~ msgid "Confirm file encryption password" +#~ msgstr "ファイルの暗号化パスワードを確認する" + +#~ msgid "Select users" +#~ msgstr "ユーザーの選択" + +#~ msgid "For security, only list several users" +#~ msgstr "セキュリティのために、複数のユーザーのみをリストします" + #~ msgid "Please test the connection first" #~ msgstr "まず接続をテストしてください" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index fb2b2a10d..eb8f6ae61 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-04-18 17:25+0800\n" +"POT-Creation-Date: 2024-05-11 10:40+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -30,10 +30,12 @@ msgstr "成功: %s, 失败: %s, 总数: %s" #: accounts/serializers/automations/change_secret.py:34 #: assets/models/_user.py:24 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:329 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47 #: settings/serializers/msg.py:35 terminal/serializers/storage.py:123 #: terminal/serializers/storage.py:142 users/forms/profile.py:21 -#: users/serializers/user.py:109 +#: users/serializers/user.py:110 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -81,7 +83,7 @@ msgstr "匿名账号" msgid "Specified account" msgstr "指定账号" -#: accounts/const/account.py:26 users/models/user.py:752 +#: accounts/const/account.py:26 users/models/user.py:751 msgid "Local" msgstr "数据库" @@ -207,9 +209,9 @@ msgstr "仅创建" #: authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 -#: settings/serializers/msg.py:64 users/forms/profile.py:102 -#: users/forms/profile.py:109 users/models/user.py:862 -#: users/templates/users/forgot_password.html:160 +#: settings/serializers/msg.py:64 users/forms/profile.py:100 +#: users/forms/profile.py:108 users/models/user.py:876 +#: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" msgstr "邮箱" @@ -221,7 +223,7 @@ msgstr "SFTP" #: accounts/const/automation.py:110 #: accounts/serializers/automations/change_secret.py:163 audits/const.py:61 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 -#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:46 +#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -271,10 +273,9 @@ msgstr "用户 %s 查看/导出 了密码" #: acls/serializers/base.py:123 assets/models/asset/common.py:95 #: assets/models/asset/common.py:349 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 -#: 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 +#: perms/models/asset_permission.py:69 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 #: terminal/templates/terminal/_msg_command_warning.html:4 #: terminal/templates/terminal/_msg_session_sharing.html:4 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:252 @@ -296,7 +297,7 @@ msgid "Version" msgstr "版本" #: accounts/models/account.py:57 accounts/serializers/account/account.py:217 -#: users/models/user.py:914 +#: users/models/user.py:928 msgid "Source" msgstr "来源" @@ -310,9 +311,9 @@ msgstr "来源 ID" #: accounts/templates/accounts/change_secret_failed_info.html:12 #: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7 #: assets/serializers/gateway.py:28 audits/models.py:59 -#: authentication/api/connection_token.py:405 ops/models/base.py:18 +#: authentication/api/connection_token.py:411 ops/models/base.py:18 #: perms/models/asset_permission.py:75 settings/serializers/msg.py:33 -#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 +#: terminal/backends/command/models.py:18 terminal/models/session/session.py:34 #: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 @@ -388,7 +389,7 @@ msgstr "账号备份计划" #: accounts/models/automations/backup_account.py:120 #: assets/models/automations/base.py:115 audits/models.py:65 -#: ops/models/base.py:55 ops/models/celery.py:86 ops/models/job.py:236 +#: ops/models/base.py:55 ops/models/celery.py:88 ops/models/job.py:241 #: ops/templates/ops/celery_task_log.html:75 #: perms/models/asset_permission.py:78 #: settings/templates/ldap/_msg_import_ldap_user.html:5 @@ -411,21 +412,21 @@ msgstr "账号备份快照" #: accounts/models/automations/backup_account.py:131 #: accounts/serializers/account/backup.py:48 -#: accounts/serializers/automations/base.py:55 +#: accounts/serializers/automations/base.py:56 #: assets/models/automations/base.py:122 #: assets/serializers/automations/base.py:39 msgid "Trigger mode" msgstr "触发模式" #: accounts/models/automations/backup_account.py:134 audits/models.py:203 -#: terminal/models/session/sharing.py:125 xpack/plugins/cloud/models.py:208 +#: terminal/models/session/sharing.py:125 xpack/plugins/cloud/models.py:204 msgid "Reason" msgstr "原因" #: accounts/models/automations/backup_account.py:136 -#: accounts/serializers/automations/change_secret.py:105 -#: accounts/serializers/automations/change_secret.py:128 -#: ops/serializers/job.py:67 terminal/serializers/session.py:49 +#: accounts/serializers/automations/change_secret.py:107 +#: accounts/serializers/automations/change_secret.py:142 +#: ops/serializers/job.py:74 terminal/serializers/session.py:52 msgid "Is success" msgstr "是否成功" @@ -476,8 +477,8 @@ msgstr "SSH 密钥推送方式" #: accounts/models/automations/change_secret.py:15 #: accounts/models/automations/gather_account.py:58 #: accounts/serializers/account/backup.py:40 -#: accounts/serializers/automations/change_secret.py:56 -#: settings/serializers/auth/ldap.py:81 +#: accounts/serializers/automations/change_secret.py:58 +#: settings/serializers/auth/ldap.py:90 msgid "Recipient" msgstr "收件人" @@ -499,14 +500,14 @@ msgstr "开始日期" #: accounts/models/automations/change_secret.py:42 #: assets/models/automations/base.py:116 ops/models/base.py:56 -#: ops/models/celery.py:87 ops/models/job.py:237 +#: ops/models/celery.py:89 ops/models/job.py:242 #: terminal/models/applet/host.py:142 msgid "Date finished" 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:228 +#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:233 #: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 @@ -518,8 +519,10 @@ msgstr "结束日期" msgid "Status" msgstr "状态" -#: accounts/models/automations/change_secret.py:44 -#: accounts/serializers/account/account.py:262 assets/const/automation.py:8 +#: accounts/models/automations/change_secret.py:47 +#: accounts/serializers/account/account.py:262 +#: accounts/templates/accounts/change_secret_failed_info.html:13 +#: assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 #: authentication/views/base.py:42 authentication/views/base.py:43 #: authentication/views/base.py:44 common/const/choices.py:20 @@ -549,8 +552,8 @@ msgstr "最后登录日期" #: authentication/models/temp_token.py:9 #: 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:32 -#: users/forms/profile.py:115 users/models/user.py:858 +#: terminal/serializers/storage.py:136 users/forms/profile.py:31 +#: users/forms/profile.py:114 users/models/user.py:872 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -630,14 +633,14 @@ msgstr "密码规则" #: assets/models/_user.py:22 assets/models/asset/common.py:93 #: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21 #: assets/models/domain.py:19 assets/models/group.py:17 -#: assets/models/label.py:18 assets/models/platform.py:16 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:149 -#: assets/serializers/platform.py:136 assets/serializers/platform.py:254 +#: 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:143 assets/serializers/platform.py:261 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 -#: authentication/serializers/connect_token_secret.py:168 labels/models.py:11 +#: authentication/serializers/connect_token_secret.py:169 labels/models.py:11 #: ops/mixin.py:21 ops/models/adhoc.py:20 ops/models/celery.py:15 -#: ops/models/celery.py:80 ops/models/job.py:137 ops/models/playbook.py:28 +#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:89 @@ -648,9 +651,9 @@ msgstr "密码规则" #: terminal/models/component/terminal.py:85 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 -#: users/forms/profile.py:33 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:860 -#: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:276 +#: users/forms/profile.py:32 users/models/group.py:13 +#: users/models/preference.py:11 users/models/user.py:874 +#: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:272 #: xpack/plugins/cloud/serializers/task.py:70 msgid "Name" msgstr "名称" @@ -665,7 +668,7 @@ msgstr "特权账号" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:120 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:172 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:180 msgid "Is active" msgstr "激活" @@ -784,23 +787,23 @@ msgid "Exist policy" msgstr "账号存在策略" #: accounts/serializers/account/account.py:195 applications/models.py:11 -#: assets/models/label.py:21 assets/models/platform.py:96 +#: 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:158 assets/serializers/platform.py:255 +#: assets/serializers/platform.py:165 assets/serializers/platform.py:262 #: perms/serializers/user_permission.py:26 settings/models.py:36 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "类别" #: accounts/serializers/account/account.py:196 -#: accounts/serializers/automations/base.py:54 acls/models/command_acl.py:24 +#: 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:97 -#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:138 -#: assets/serializers/platform.py:157 audits/serializers.py:53 +#: assets/models/cmd_filter.py:74 assets/models/platform.py:96 +#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:145 +#: assets/serializers/platform.py:164 audits/serializers.py:53 #: audits/serializers.py:170 -#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:145 +#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:150 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39 #: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 @@ -821,9 +824,8 @@ msgid "Has secret" msgstr "已托管密码" #: accounts/serializers/account/account.py:261 ops/models/celery.py:83 -#: tickets/models/comment.py:13 tickets/models/ticket/general.py:45 -#: tickets/models/ticket/general.py:279 tickets/serializers/super_ticket.py:14 -#: tickets/serializers/ticket/ticket.py:21 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:46 +#: tickets/models/ticket/general.py:277 tickets/serializers/super_ticket.py:14 msgid "State" msgstr "状态" @@ -835,9 +837,10 @@ msgstr "已修改" #: 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 -#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:30 -#: authentication/api/connection_token.py:404 ops/models/base.py:17 -#: ops/models/job.py:147 ops/serializers/job.py:19 +#: assets/serializers/automations/base.py:20 +#: authentication/api/connection_token.py:410 ops/models/base.py:17 +#: ops/models/job.py:152 ops/serializers/job.py:19 +#: perms/serializers/permission.py:36 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 msgid "Assets" msgstr "资产" @@ -871,15 +874,15 @@ 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 -#: 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 -#: terminal/notifications.py:205 terminal/serializers/command.py:16 +#: 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 terminal/notifications.py:205 +#: 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:1044 -#: users/models/user.py:1081 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1059 +#: users/models/user.py:1097 msgid "User" msgstr "用户" @@ -894,12 +897,12 @@ msgid "Zip Encrypt Password" msgstr "文件加密密码" #: accounts/serializers/account/backup.py:38 -#: accounts/serializers/automations/base.py:37 +#: accounts/serializers/automations/base.py:38 msgid "Executions" msgstr "执行次数" #: accounts/serializers/account/backup.py:41 -#: accounts/serializers/automations/change_secret.py:57 +#: accounts/serializers/automations/change_secret.py:59 msgid "Currently only mail sending is supported" msgstr "当前只支持邮件发送" @@ -967,15 +970,15 @@ msgstr "关联平台,可配置推送参数,如果不关联,将使用默认 #: accounts/serializers/account/virtual.py:19 assets/models/_user.py:27 #: 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:153 ops/models/playbook.py:31 rbac/models/role.py:37 +#: ops/models/job.py:158 ops/models/playbook.py:31 rbac/models/role.py:37 #: settings/models.py:39 terminal/models/applet/applet.py:45 #: terminal/models/applet/applet.py:321 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:297 users/models/user.py:896 -#: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 +#: tickets/models/ticket/general.py:295 users/models/user.py:910 +#: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:106 msgid "Comment" msgstr "备注" @@ -991,10 +994,16 @@ msgstr "" #: accounts/serializers/automations/base.py:23 #: assets/models/asset/common.py:164 assets/serializers/asset/common.py:152 -#: assets/serializers/automations/base.py:21 +#: assets/serializers/automations/base.py:21 perms/serializers/permission.py:37 msgid "Nodes" msgstr "节点" +#: accounts/serializers/automations/base.py:24 +#, fuzzy +#| msgid "Periodic run" +msgid "Periodic perform" +msgstr "周期执行" + #: accounts/serializers/automations/base.py:45 msgid "Name already exists" msgstr "名称已存在" @@ -1124,7 +1133,7 @@ msgstr "密钥不合法或密钥密码错误" msgid "App Acls" msgstr "访问控制" -#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:46 +#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:44 #: tickets/templates/tickets/approve_check_password.html:47 msgid "Reject" msgstr "拒绝" @@ -1137,13 +1146,15 @@ msgstr "接受" msgid "Review" msgstr "审批" -#: acls/const.py:9 terminal/const.py:10 -msgid "Warning" +#: acls/const.py:9 +#, fuzzy +#| msgid "Warning" +msgid "Warn" msgstr "告警" -#: acls/const.py:10 audits/const.py:35 -msgid "Notifications" -msgstr "通知" +#: acls/const.py:10 +msgid "Notify" +msgstr "" #: acls/models/base.py:37 assets/models/_user.py:51 #: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:112 @@ -1170,8 +1181,9 @@ msgstr "审批人" msgid "Active" msgstr "激活中" -#: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:302 +#: acls/models/base.py:81 perms/serializers/permission.py:32 +#: users/models/preference.py:16 users/serializers/group.py:21 +#: users/serializers/user.py:311 msgid "Users" msgstr "用户" @@ -1183,6 +1195,8 @@ msgid "Accounts" msgstr "账号" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 +#: ops/serializers/job.py:73 terminal/const.py:86 +#: terminal/models/session/session.py:43 terminal/serializers/command.py:18 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 #: terminal/templates/terminal/_msg_command_warning.html:23 @@ -1378,15 +1392,15 @@ msgstr "不能直接创建资产, 你应该创建主机或其他资产" msgid "Number required" msgstr "需要为数字" -#: assets/api/node.py:57 +#: assets/api/node.py:58 msgid "You can't update the root node name" msgstr "不能修改根节点名称" -#: assets/api/node.py:64 +#: assets/api/node.py:65 msgid "You can't delete the root node ({})" msgstr "不能删除根节点 ({})" -#: assets/api/node.py:67 +#: assets/api/node.py:68 msgid "Deletion failed and the node contains assets" msgstr "删除失败,节点包含资产" @@ -1398,11 +1412,11 @@ msgstr "同级别节点名字不能重复" msgid "App Assets" msgstr "资产管理" -#: assets/automations/base/manager.py:188 +#: assets/automations/base/manager.py:191 msgid "{} disabled" msgstr "{} 已禁用" -#: assets/automations/base/manager.py:251 +#: assets/automations/base/manager.py:254 msgid " - Platform {} ansible disabled" msgstr " - 平台 {} Ansible 已禁用, 无法执行任务" @@ -1460,7 +1474,7 @@ msgstr "禁用" #: assets/const/base.py:33 settings/serializers/basic.py:8 #: users/serializers/preference/koko.py:19 -#: users/serializers/preference/lina.py:39 +#: users/serializers/preference/lina.py:46 #: users/serializers/preference/luna.py:77 msgid "Basic" msgstr "基本" @@ -1665,7 +1679,7 @@ msgstr "确认按钮选择器" msgid "API mode" msgstr "API 模式" -#: assets/const/types.py:248 +#: assets/const/types.py:251 msgid "All types" msgstr "所有类型" @@ -1690,15 +1704,18 @@ msgstr "SSH公钥" #: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: audits/models.py:267 common/db/models.py:34 ops/models/base.py:54 +#: ops/models/job.py:240 users/models/user.py:1098 msgid "Date created" msgstr "创建日期" #: assets/models/_user.py:29 assets/models/cmd_filter.py:42 +#: common/db/models.py:35 users/models/user.py:936 msgid "Date updated" msgstr "更新日期" #: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/cmd_filter.py:91 assets/models/group.py:18 +#: common/db/models.py:32 users/models/user.py:917 #: users/serializers/group.py:32 msgid "Created by" msgstr "创建者" @@ -1776,7 +1793,7 @@ msgstr "可以匹配系统用户" msgid "Cloud" msgstr "云服务" -#: assets/models/asset/common.py:94 assets/models/platform.py:17 +#: assets/models/asset/common.py:94 assets/models/platform.py:16 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72 #: settings/serializers/msg.py:32 terminal/serializers/storage.py:133 #: xpack/plugins/cloud/serializers/account_attrs.py:73 @@ -1788,7 +1805,7 @@ msgstr "端口" msgid "Address" msgstr "地址" -#: assets/models/asset/common.py:161 assets/models/platform.py:126 +#: assets/models/asset/common.py:161 assets/models/platform.py:134 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:118 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:325 @@ -1801,14 +1818,7 @@ msgstr "平台" msgid "Domain" 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 -#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:326 -msgid "Node" -msgstr "节点" - -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:385 +#: assets/models/asset/common.py:166 assets/serializers/asset/common.py:385 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "收集资产硬件信息" @@ -1857,7 +1867,13 @@ msgstr "忽略证书校验" msgid "Proxy" msgstr "代理" -#: assets/models/automations/base.py:22 ops/models/job.py:233 +#: assets/models/automations/base.py:18 assets/models/cmd_filter.py:32 +#: assets/models/node.py:553 perms/models/asset_permission.py:72 +#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:326 +msgid "Node" +msgstr "节点" + +#: assets/models/automations/base.py:22 ops/models/job.py:236 #: settings/serializers/auth/sms.py:103 msgid "Parameters" msgstr "参数" @@ -1887,7 +1903,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 +#: users/models/group.py:25 users/models/user.py:880 msgid "User group" msgstr "用户组" @@ -1927,8 +1943,8 @@ msgstr "网关" msgid "Asset group" msgstr "资产组" -#: assets/models/group.py:31 assets/models/platform.py:20 -#: assets/serializers/platform.py:139 +#: assets/models/group.py:31 assets/models/platform.py:19 +#: assets/serializers/platform.py:146 #: xpack/plugins/cloud/providers/nutanix.py:30 msgid "Default" msgstr "默认" @@ -1937,7 +1953,7 @@ msgstr "默认" msgid "Default asset group" msgstr "默认资产组" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1043 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1083 msgid "System" msgstr "系统" @@ -1953,7 +1969,7 @@ msgstr "值" #: assets/models/label.py:40 assets/serializers/cagegory.py:10 #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 -#: assets/serializers/platform.py:137 +#: assets/serializers/platform.py:144 #: authentication/serializers/connect_token_secret.py:124 #: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33 #: labels/serializers.py:45 settings/serializers/msg.py:90 @@ -1984,117 +2000,117 @@ msgstr "ssh私钥" msgid "Can match node" msgstr "可以匹配节点" -#: assets/models/platform.py:18 +#: assets/models/platform.py:17 msgid "Primary" msgstr "主要的" -#: assets/models/platform.py:19 +#: assets/models/platform.py:18 msgid "Required" msgstr "必须的" -#: assets/models/platform.py:21 +#: assets/models/platform.py:20 msgid "Public" msgstr "开放的" -#: assets/models/platform.py:22 assets/serializers/platform.py:67 -#: settings/serializers/settings.py:66 +#: assets/models/platform.py:21 assets/serializers/platform.py:74 +#: settings/serializers/settings.py:95 #: users/templates/users/reset_password.html:29 msgid "Setting" msgstr "设置" -#: assets/models/platform.py:39 audits/const.py:56 +#: assets/models/platform.py:38 audits/const.py:56 #: authentication/backends/passkey/models.py:11 settings/models.py:38 #: terminal/serializers/applet_host.py:33 msgid "Enabled" msgstr "启用" -#: assets/models/platform.py:40 +#: assets/models/platform.py:39 msgid "Ansible config" msgstr "Ansible 配置" -#: assets/models/platform.py:42 assets/serializers/platform.py:33 +#: assets/models/platform.py:41 assets/serializers/platform.py:33 msgid "Ping enabled" msgstr "启用资产探活" -#: assets/models/platform.py:43 assets/serializers/platform.py:34 +#: assets/models/platform.py:42 assets/serializers/platform.py:34 msgid "Ping method" msgstr "资产探活方式" -#: assets/models/platform.py:44 +#: assets/models/platform.py:43 msgid "Ping params" msgstr "资产探活参数" -#: assets/models/platform.py:46 assets/models/platform.py:70 -#: assets/serializers/platform.py:35 +#: assets/models/platform.py:45 assets/models/platform.py:69 +#: assets/serializers/platform.py:36 msgid "Gather facts enabled" msgstr "启用收集资产信息" -#: assets/models/platform.py:48 assets/models/platform.py:72 -#: assets/serializers/platform.py:37 +#: assets/models/platform.py:47 assets/models/platform.py:71 +#: assets/serializers/platform.py:40 msgid "Gather facts method" msgstr "收集信息方式" -#: assets/models/platform.py:50 assets/models/platform.py:74 +#: assets/models/platform.py:49 assets/models/platform.py:73 msgid "Gather facts params" msgstr "收集信息参数" -#: assets/models/platform.py:52 assets/serializers/platform.py:45 +#: assets/models/platform.py:51 assets/serializers/platform.py:50 msgid "Change secret enabled" msgstr "启用改密" -#: assets/models/platform.py:54 assets/serializers/platform.py:48 +#: assets/models/platform.py:53 assets/serializers/platform.py:54 msgid "Change secret method" msgstr "改密方式" -#: assets/models/platform.py:56 +#: assets/models/platform.py:55 msgid "Change secret params" msgstr "改密参数" -#: assets/models/platform.py:58 assets/serializers/platform.py:51 +#: assets/models/platform.py:57 assets/serializers/platform.py:57 msgid "Push account enabled" msgstr "启用账号推送" -#: assets/models/platform.py:60 assets/serializers/platform.py:53 +#: assets/models/platform.py:59 assets/serializers/platform.py:61 msgid "Push account method" msgstr "账号推送方式" -#: assets/models/platform.py:62 +#: assets/models/platform.py:61 msgid "Push account params" msgstr "账号推送参数" -#: assets/models/platform.py:64 +#: assets/models/platform.py:63 assets/serializers/platform.py:43 msgid "Verify account enabled" msgstr "开启账号验证" -#: assets/models/platform.py:66 assets/serializers/platform.py:41 +#: assets/models/platform.py:65 assets/serializers/platform.py:47 msgid "Verify account method" msgstr "账号验证方式" -#: assets/models/platform.py:68 +#: assets/models/platform.py:67 msgid "Verify account params" msgstr "账号验证参数" -#: assets/models/platform.py:76 +#: assets/models/platform.py:75 msgid "Remove account enabled" msgstr "开启账号移除" -#: assets/models/platform.py:78 +#: assets/models/platform.py:77 msgid "Remove account method" msgstr "账号移除方式" -#: assets/models/platform.py:80 +#: assets/models/platform.py:79 msgid "Remove account params" msgstr "账号移除参数" -#: assets/models/platform.py:98 tickets/models/ticket/general.py:298 +#: assets/models/platform.py:97 tickets/models/ticket/general.py:298 msgid "Meta" msgstr "元数据" -#: assets/models/platform.py:99 labels/models.py:13 +#: assets/models/platform.py:98 labels/models.py:13 msgid "Internal" msgstr "内置" -#: assets/models/platform.py:103 assets/serializers/platform.py:156 +#: assets/models/platform.py:102 assets/serializers/platform.py:163 msgid "Charset" msgstr "编码" @@ -2102,15 +2118,15 @@ msgstr "编码" msgid "Gateway enabled" msgstr "启用网域" -#: assets/models/platform.py:107 assets/serializers/platform.py:184 +#: assets/models/platform.py:106 assets/serializers/platform.py:191 msgid "Su enabled" msgstr "启用账号切换" -#: assets/models/platform.py:108 assets/serializers/platform.py:162 +#: assets/models/platform.py:107 assets/serializers/platform.py:169 msgid "Su method" msgstr "账号切换方式" -#: assets/models/platform.py:109 assets/serializers/platform.py:165 +#: assets/models/platform.py:108 assets/serializers/platform.py:172 msgid "Custom fields" msgstr "自定义属性" @@ -2125,9 +2141,11 @@ msgid "" "type" msgstr "资产中批量更新平台,不符合平台类型跳过的资产" -#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:166 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:46 +#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:328 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" msgstr "协议组" @@ -2236,7 +2254,8 @@ msgstr "约束" msgid "Types" msgstr "类型" -#: assets/serializers/domain.py:62 perms/serializers/permission.py:188 +#: assets/serializers/domain.py:21 orgs/serializers.py:13 +#: perms/serializers/permission.py:40 msgid "Assets amount" msgstr "资产数量" @@ -2252,83 +2271,83 @@ msgstr "值" msgid "Can't contains: /" msgstr "不能包含: /" -#: assets/serializers/platform.py:34 +#: assets/serializers/platform.py:33 #, fuzzy #| msgid "Run ansible task execution" msgid "Enable asset detection" msgstr "开始执行 Ansible 任务" -#: assets/serializers/platform.py:38 +#: assets/serializers/platform.py:37 msgid "Enable asset information collection" msgstr "" -#: assets/serializers/platform.py:42 +#: assets/serializers/platform.py:44 #, fuzzy #| msgid "Ignore SSL verification" msgid "Enable account verification" msgstr "忽略 SSL 证书验证" -#: assets/serializers/platform.py:49 +#: assets/serializers/platform.py:51 msgid "Enable account secret auto change" msgstr "" -#: assets/serializers/platform.py:54 +#: assets/serializers/platform.py:58 #, fuzzy #| msgid "Enable SSO auth" msgid "Enable account auto push" msgstr "启用 SSO 令牌认证" -#: assets/serializers/platform.py:57 +#: assets/serializers/platform.py:64 msgid "Gather accounts enabled" msgstr "启用账号收集" -#: assets/serializers/platform.py:60 -msgid "Gather accounts method" -msgstr "收集账号方式" - -#: assets/serializers/platform.py:61 +#: assets/serializers/platform.py:65 #, fuzzy #| msgid "Gather account automation" msgid "Enable account collection" msgstr "自动化收集账号" #: assets/serializers/platform.py:68 +msgid "Gather accounts method" +msgstr "收集账号方式" + +#: assets/serializers/platform.py:75 msgid "Port from addr" msgstr "端口来自地址" -#: assets/serializers/platform.py:80 +#: assets/serializers/platform.py:87 msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." msgstr "该协议是主要的,添加资产时必须设置。并且只能有一个主要协议" -#: assets/serializers/platform.py:85 +#: assets/serializers/platform.py:92 msgid "This protocol is required, and it must be set when adding assets." msgstr "该协议是必填的,添加资产时必须设置" -#: assets/serializers/platform.py:88 +#: assets/serializers/platform.py:95 msgid "" "This protocol is default, when adding assets, it will be displayed by " "default." msgstr "该协议是默认的,添加资产时,将默认显示" -#: assets/serializers/platform.py:91 +#: assets/serializers/platform.py:98 msgid "This protocol is public, asset will show this protocol to user" msgstr "该协议是公开的,资产将向用户显示该协议并可以连接使用" -#: assets/serializers/platform.py:140 +#: assets/serializers/platform.py:147 msgid "Help text" msgstr "帮助" -#: assets/serializers/platform.py:141 +#: assets/serializers/platform.py:148 msgid "Choices" msgstr "选择" -#: assets/serializers/platform.py:160 +#: assets/serializers/platform.py:167 msgid "Automation" msgstr "自动化" -#: assets/serializers/platform.py:186 +#: assets/serializers/platform.py:193 msgid "" "Login with account when accessing assets, then automatically switch to " "another, similar to logging in with a regular account and then switching to " @@ -2339,15 +2358,15 @@ msgstr "" msgid "Assets can be connected using a zone gateway" msgstr "" -#: assets/serializers/platform.py:194 +#: assets/serializers/platform.py:201 msgid "Default Domain" msgstr "默认网域" -#: assets/serializers/platform.py:215 +#: assets/serializers/platform.py:222 msgid "type is required" msgstr "类型 该字段是必填项。" -#: assets/serializers/platform.py:230 +#: assets/serializers/platform.py:237 msgid "Protocols is required" msgstr "协议是必填的" @@ -2480,6 +2499,8 @@ msgid "Connect" msgstr "连接" #: audits/const.py:30 authentication/templates/authentication/login.html:296 +#: authentication/templates/authentication/login.html:368 +#: templates/_header_bar.html:101 msgid "Login" msgstr "登录" @@ -2487,6 +2508,10 @@ msgstr "登录" msgid "Change password" msgstr "改密" +#: audits/const.py:35 +msgid "Notifications" +msgstr "通知" + #: audits/const.py:37 tickets/const.py:45 msgid "Approve" msgstr "同意" @@ -2494,6 +2519,7 @@ msgstr "同意" #: audits/const.py:38 #: authentication/templates/authentication/_access_key_modal.html:155 #: authentication/templates/authentication/_mfa_confirm_modal.html:53 +#: templates/_modal.html:22 tickets/const.py:43 msgid "Close" msgstr "关闭" @@ -2615,6 +2641,8 @@ msgid "Login IP" 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:897 #: users/serializers/profile.py:102 msgid "MFA" msgstr "MFA" @@ -2647,8 +2675,8 @@ msgid "Offline user session" msgstr "下线用户会话" #: audits/serializers.py:33 ops/models/adhoc.py:25 ops/models/base.py:16 -#: ops/models/base.py:53 ops/models/celery.py:86 ops/models/job.py:148 -#: ops/models/job.py:236 ops/models/playbook.py:30 +#: ops/models/base.py:53 ops/models/celery.py:86 ops/models/job.py:151 +#: ops/models/job.py:239 ops/models/playbook.py:30 #: terminal/models/session/sharing.py:25 msgid "Creator" msgstr "创建者" @@ -2664,6 +2692,8 @@ 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:915 msgid "Date expired" msgstr "失效日期" @@ -2696,27 +2726,29 @@ msgstr "认证令牌" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 +#: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 +#: users/models/user.py:758 users/models/user.py:930 msgid "WeCom" msgstr "企业微信" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:105 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 -#: settings/serializers/auth/feishu.py:10 users/models/user.py:761 -#: users/models/user.py:871 +#: settings/serializers/auth/feishu.py:10 users/models/user.py:760 +#: users/models/user.py:932 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 -#: settings/serializers/auth/slack.py:10 users/models/user.py:763 -#: users/models/user.py:873 +#: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 +#: users/models/user.py:762 users/models/user.py:934 msgid "Slack" msgstr "" #: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:161 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:760 -#: users/models/user.py:870 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:759 +#: users/models/user.py:931 msgid "DingTalk" msgstr "钉钉" @@ -2776,7 +2808,7 @@ msgstr "ACL 动作是拒绝: {}({})" msgid "ACL action is review" msgstr "ACL 动作是复核" -#: authentication/api/mfa.py:59 +#: authentication/api/mfa.py:62 msgid "Current user not support mfa type: {}" msgstr "当前用户不支持 MFA 类型: {}" @@ -2785,7 +2817,7 @@ msgstr "当前用户不支持 MFA 类型: {}" msgid "User does not exist: {}" msgstr "用户不存在: {}" -#: authentication/api/password.py:33 users/views/profile/reset.py:164 +#: authentication/api/password.py:33 users/views/profile/reset.py:166 msgid "No user matched" msgstr "没有匹配到用户" @@ -2796,6 +2828,7 @@ msgid "" msgstr "用户来自 {} 请去相应系统修改密码" #: authentication/api/password.py:65 +#: authentication/templates/authentication/login.html:360 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 #: users/templates/users/forgot_password_previewing.html:13 @@ -3107,6 +3140,9 @@ msgstr "短信验证码校验失败" #: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 +#: settings/serializers/auth/sms.py:17 settings/serializers/auth/sms.py:32 +#: users/forms/profile.py:103 users/forms/profile.py:108 +#: users/templates/users/forgot_password.html:157 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "短信" @@ -3217,11 +3253,11 @@ msgstr "没有用户或用户失效" msgid "No asset or inactive asset" msgstr "没有资产或资产未激活" -#: authentication/models/connection_token.py:272 +#: authentication/models/connection_token.py:274 msgid "Can view super connection token secret" msgstr "可以查看超级连接令牌密文" -#: authentication/models/connection_token.py:274 +#: authentication/models/connection_token.py:276 msgid "Super connection token" msgstr "超级连接令牌" @@ -3258,7 +3294,7 @@ msgid "Options" msgstr "选项" #: authentication/serializers/connect_token_secret.py:127 -#: ops/notifications.py:17 +#: ops/notifications.py:18 msgid "Component" msgstr "组件" @@ -3266,17 +3302,17 @@ msgstr "组件" msgid "Expired now" msgstr "立刻过期" -#: authentication/serializers/connect_token_secret.py:169 +#: authentication/serializers/connect_token_secret.py:170 #: terminal/models/virtualapp/virtualapp.py:25 msgid "Image name" msgstr "镜像名称" -#: authentication/serializers/connect_token_secret.py:170 +#: authentication/serializers/connect_token_secret.py:171 #: terminal/models/virtualapp/virtualapp.py:27 msgid "Image port" msgstr "镜像端口" -#: authentication/serializers/connect_token_secret.py:171 +#: authentication/serializers/connect_token_secret.py:172 #: terminal/models/virtualapp/virtualapp.py:26 msgid "Image protocol" msgstr "镜像协议" @@ -3298,10 +3334,13 @@ msgid "Actions" msgstr "动作" #: authentication/serializers/connection_token.py:42 +#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 +#: users/serializers/user.py:101 users/serializers/user.py:184 msgid "Is expired" msgstr "已过期" #: authentication/serializers/password_mfa.py:29 +#: users/templates/users/forgot_password.html:153 msgid "The {} cannot be empty" msgstr "{} 不能为空" @@ -3309,11 +3348,9 @@ 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:101 -#: users/serializers/user.py:174 -#: perms/serializers/permission.py:66 users/serializers/user.py:98 -#: users/serializers/user.py:173 +#: authentication/serializers/token.py:92 perms/serializers/permission.py:43 +#: perms/serializers/permission.py:66 users/serializers/user.py:102 +#: users/serializers/user.py:181 msgid "Is valid" msgstr "是否有效" @@ -3338,13 +3375,13 @@ msgid "Show" msgstr "显示" #: authentication/templates/authentication/_access_key_modal.html:66 -#: users/const.py:42 users/models/user.py:654 users/serializers/profile.py:92 +#: users/const.py:42 users/models/user.py:654 #: users/templates/users/user_verify_mfa.html:36 msgid "Disable" msgstr "禁用" #: authentication/templates/authentication/_access_key_modal.html:67 -#: users/const.py:43 users/models/user.py:655 users/serializers/profile.py:93 +#: users/const.py:43 users/models/user.py:655 #: users/templates/users/mfa_setting.html:26 #: users/templates/users/mfa_setting.html:68 msgid "Enable" @@ -3435,6 +3472,7 @@ msgstr "重新申请" #: authentication/templates/authentication/_msg_reset_password_code.html:12 #: terminal/models/session/sharing.py:27 terminal/models/session/sharing.py:97 #: terminal/templates/terminal/_msg_session_sharing.html:12 +#: users/forms/profile.py:106 users/templates/users/forgot_password.html:98 msgid "Verify code" msgstr "验证码" @@ -3629,23 +3667,23 @@ msgstr "Lark 已经绑定" msgid "Failed to get user from Lark" msgstr "从 Lark 获取用户失败" -#: authentication/views/login.py:227 +#: authentication/views/login.py:230 msgid "Redirecting" msgstr "跳转中" -#: authentication/views/login.py:228 +#: authentication/views/login.py:231 msgid "Redirecting to {} authentication" msgstr "正在跳转到 {} 认证" -#: authentication/views/login.py:251 +#: authentication/views/login.py:254 msgid "Login timeout, please try again." msgstr "登录超时,请重新登录" -#: authentication/views/login.py:294 +#: authentication/views/login.py:297 msgid "User email already exists ({})" msgstr "用户邮箱已存在 ({})" -#: authentication/views/login.py:372 +#: authentication/views/login.py:375 msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -3653,15 +3691,15 @@ msgstr "" "等待 {} 确认, 你也可以复制链接发给他/她
\n" " 不要关闭本页面" -#: authentication/views/login.py:377 +#: authentication/views/login.py:380 msgid "No ticket found" msgstr "没有发现工单" -#: authentication/views/login.py:413 +#: authentication/views/login.py:416 msgid "Logout success" msgstr "退出登录成功" -#: authentication/views/login.py:414 +#: authentication/views/login.py:417 msgid "Logout success, return login page" msgstr "退出登录成功,返回到登录页面" @@ -3713,10 +3751,16 @@ msgstr "定时触发" msgid "Ready" msgstr "准备" -#: common/const/choices.py:17 ops/const.py:72 +#: common/const/choices.py:17 ops/const.py:73 msgid "Running" msgstr "运行中" +#: common/const/choices.py:21 +#, fuzzy +#| msgid "Cancel" +msgid "Canceled" +msgstr "取消" + #: common/const/common.py:5 #, python-format msgid "%(name)s was created successfully" @@ -3801,7 +3845,7 @@ msgstr "忽略的" msgid "discard time" msgstr "忽略时间" -#: common/db/models.py:33 users/models/user.py:904 +#: common/db/models.py:33 users/models/user.py:918 msgid "Updated by" msgstr "最后更新者" @@ -3967,7 +4011,7 @@ msgstr "错误的数据类型,应该是列表" msgid "Invalid choice: {}" msgstr "无效选项: {}" -#: common/serializers/mixin.py:400 +#: common/serializers/mixin.py:409 msgid "Labels" msgstr "标签" @@ -4106,15 +4150,15 @@ msgstr "系统信息" msgid "Publish the station message" msgstr "发布站内消息" -#: ops/ansible/inventory.py:106 ops/models/job.py:63 +#: ops/ansible/inventory.py:107 ops/models/job.py:65 msgid "No account available" msgstr "无可用账号" -#: ops/ansible/inventory.py:285 +#: ops/ansible/inventory.py:286 msgid "Ansible disabled" msgstr "Ansible 已禁用" -#: ops/ansible/inventory.py:301 +#: ops/ansible/inventory.py:302 msgid "Skip hosts below:" msgstr "跳过以下主机: " @@ -4230,7 +4274,7 @@ msgstr "VCS" msgid "Adhoc" msgstr "命令" -#: ops/const.py:39 ops/models/job.py:144 +#: ops/const.py:39 ops/models/job.py:149 msgid "Playbook" msgstr "Playbook" @@ -4324,11 +4368,11 @@ msgstr "需要周期或定期设置" msgid "Pattern" msgstr "模式" -#: ops/models/adhoc.py:23 ops/models/job.py:141 +#: ops/models/adhoc.py:23 ops/models/job.py:146 msgid "Module" msgstr "模块" -#: ops/models/adhoc.py:24 ops/models/celery.py:81 ops/models/job.py:139 +#: ops/models/adhoc.py:24 ops/models/celery.py:81 ops/models/job.py:144 #: terminal/models/component/task.py:14 msgid "Args" msgstr "参数" @@ -4347,12 +4391,12 @@ msgstr "最后执行" msgid "Date last run" msgstr "最后运行日期" -#: ops/models/base.py:51 ops/models/job.py:232 -#: xpack/plugins/cloud/models.py:202 +#: ops/models/base.py:51 ops/models/job.py:237 +#: xpack/plugins/cloud/models.py:198 msgid "Result" msgstr "结果" -#: ops/models/base.py:52 ops/models/job.py:233 +#: ops/models/base.py:52 ops/models/job.py:238 msgid "Summary" msgstr "汇总" @@ -4373,7 +4417,7 @@ msgid "Kwargs" msgstr "其它参数" #: ops/models/celery.py:84 terminal/models/session/sharing.py:128 -#: tickets/const.py:26 +#: tickets/const.py:25 msgid "Finished" msgstr "结束" @@ -4385,43 +4429,43 @@ msgstr "发布日期" msgid "Celery Task Execution" msgstr "Celery 任务执行" -#: ops/models/job.py:142 +#: ops/models/job.py:147 msgid "Chdir" msgstr "运行目录" -#: ops/models/job.py:143 +#: ops/models/job.py:148 msgid "Timeout (Seconds)" msgstr "超时时间 (秒)" -#: ops/models/job.py:148 +#: ops/models/job.py:153 msgid "Use Parameter Define" msgstr "使用参数定义" -#: ops/models/job.py:149 +#: ops/models/job.py:154 msgid "Parameters define" msgstr "参数定义" -#: ops/models/job.py:150 +#: ops/models/job.py:155 msgid "Runas" msgstr "运行用户" -#: ops/models/job.py:152 +#: ops/models/job.py:157 msgid "Runas policy" msgstr "用户策略" -#: ops/models/job.py:216 terminal/notifications.py:174 +#: ops/models/job.py:221 terminal/notifications.py:174 msgid "Job" msgstr "作业" -#: ops/models/job.py:239 +#: ops/models/job.py:244 msgid "Material" msgstr "Material" -#: ops/models/job.py:241 +#: ops/models/job.py:246 msgid "Material Type" msgstr "Material 类型" -#: ops/models/job.py:558 +#: ops/models/job.py:544 msgid "Job Execution" msgstr "作业执行" @@ -4477,20 +4521,20 @@ msgstr "保存后执行" msgid "Average time cost" msgstr "平均耗时" -#: ops/serializers/job.py:65 +#: ops/serializers/job.py:72 msgid "Job type" msgstr "任务类型" -#: ops/serializers/job.py:68 terminal/serializers/session.py:53 +#: ops/serializers/job.py:75 terminal/serializers/session.py:56 msgid "Is finished" msgstr "是否完成" -#: ops/serializers/job.py:69 +#: ops/serializers/job.py:76 #: settings/templates/ldap/_msg_import_ldap_user.html:7 msgid "Time cost" msgstr "花费时间" -#: ops/serializers/job.py:87 +#: ops/serializers/job.py:90 msgid "You do not have permission for the current job." msgstr "你没有当前作业的权限。" @@ -4627,7 +4671,7 @@ msgstr "无法删除虚拟组织" msgid "Users amount" msgstr "用户数量" -#: orgs/serializers.py:11 perms/serializers/permission.py:39 +#: orgs/serializers.py:11 msgid "User groups amount" msgstr "用户组数量" @@ -4748,6 +4792,16 @@ msgstr "资产授权规则将要过期" msgid "asset permissions of organization {}" msgstr "组织 ({}) 的资产授权" +#: perms/serializers/permission.py:34 users/serializers/user.py:173 +msgid "Groups" +msgstr "用户组" + +#: perms/serializers/permission.py:39 +#, fuzzy +#| msgid "User groups amount" +msgid "Groups amount" +msgstr "用户组数量" + #: perms/tasks.py:27 msgid "Check asset permission expired" msgstr "校验资产授权规则已过期" @@ -4850,7 +4904,7 @@ msgid "Scope" msgstr "范围" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:870 +#: users/models/user.py:884 msgid "Role" msgstr "角色" @@ -4941,7 +4995,7 @@ msgstr "资产改密" msgid "Terminal setting" msgstr "终端设置" -#: rbac/tree.py:55 settings/serializers/feature.py:126 +#: rbac/tree.py:55 settings/serializers/feature.py:127 msgid "Job center" msgstr "任务中心" @@ -4968,7 +5022,7 @@ msgid "Ticket comment" msgstr "工单评论" #: rbac/tree.py:130 settings/serializers/feature.py:109 -#: settings/serializers/feature.py:111 tickets/models/ticket/general.py:307 +#: tickets/models/ticket/general.py:305 msgid "Ticket" msgstr "工单" @@ -5143,11 +5197,11 @@ msgstr "SSO 令牌认证" msgid "Passkey Auth" msgstr "Passkey 认证" -#: settings/serializers/auth/base.py:26 +#: settings/serializers/auth/base.py:27 msgid "Forgot Password URL" msgstr "忘记密码 URL" -#: settings/serializers/auth/base.py:29 +#: settings/serializers/auth/base.py:30 msgid "Login redirection prompt" msgstr "启用登录跳转提示" @@ -5195,11 +5249,19 @@ msgstr "" msgid "Dingtalk" msgstr "启用钉钉认证" -#: settings/serializers/auth/feishu.py:16 -msgid "Lark" -msgstr "启用飞书认证" +#: settings/serializers/auth/feishu.py:12 +#, fuzzy +#| msgid "FeiShu Auth" +msgid "Enable FeiShu Auth" +msgstr "飞书 认证" -#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:84 +#: settings/serializers/auth/lark.py:12 +#, fuzzy +#| msgid "Lark Auth" +msgid "Enable Lark Auth" +msgstr "Lark 认证" + +#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:93 msgid "LDAP" msgstr "LDAP" @@ -5583,22 +5645,28 @@ msgid "Operate log retention days (day)" msgstr "操作日志 (天)" #: settings/serializers/cleaning.py:27 +#, fuzzy +#| msgid "Password change log" +msgid "password change log keep days (day)" +msgstr "改密日志" + +#: settings/serializers/cleaning.py:31 msgid "FTP log retention days (day)" msgstr "上传下载 (天)" -#: settings/serializers/cleaning.py:31 +#: settings/serializers/cleaning.py:35 msgid "Cloud sync task history retention days (day)" msgstr "云同步记录 (天)" -#: settings/serializers/cleaning.py:35 +#: settings/serializers/cleaning.py:39 msgid "job execution retention days (day)" msgstr "作业中心执行历史 (天)" -#: settings/serializers/cleaning.py:39 +#: settings/serializers/cleaning.py:43 msgid "Activity log retention days (day)" msgstr "活动记录 (天)" -#: settings/serializers/cleaning.py:42 +#: settings/serializers/cleaning.py:46 msgid "Session log retention days (day)" msgstr "会话日志 (天)" @@ -5649,7 +5717,9 @@ msgid "Chat AI" msgstr "聊天 AI" #: settings/serializers/feature.py:78 -msgid "Base URL" +#, fuzzy +#| msgid "Base URL" +msgid "Base Url" msgstr "基本地址" #: settings/serializers/feature.py:81 templates/_header_bar.html:96 @@ -5660,7 +5730,19 @@ msgstr "API Key" msgid "GPT Model" msgstr "GPT 模型" -#: settings/serializers/feature.py:114 +#: settings/serializers/feature.py:111 +#, fuzzy +#| msgid "Enable attributes map" +msgid "Enable tickets" +msgstr "启用属性映射" + +#: settings/serializers/feature.py:112 +#, fuzzy +#| msgid "Direct approval" +msgid "No login approval" +msgstr "直接批准" + +#: settings/serializers/feature.py:115 msgid "Default period" msgstr "默认工单授权时间" @@ -5668,7 +5750,7 @@ msgstr "默认工单授权时间" msgid "hour" msgstr "时" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:119 msgid "Default unit" msgstr "默认工单授权时间单位" @@ -5676,11 +5758,11 @@ msgstr "默认工单授权时间单位" msgid "Feature" msgstr "功能" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:128 msgid "Allow user run batch command or not using ansible" msgstr "是否允许用户使用 ansible 执行批量命令" -#: settings/serializers/feature.py:131 +#: settings/serializers/feature.py:132 msgid "Command blacklist" msgstr "作业中心命令黑名单" @@ -5688,7 +5770,7 @@ msgstr "作业中心命令黑名单" msgid "Commands that are not allowed execute." msgstr "不允许执行的命令" -#: settings/serializers/feature.py:137 settings/serializers/feature.py:140 +#: settings/serializers/feature.py:138 settings/serializers/feature.py:141 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -6010,6 +6092,10 @@ msgid "Session expire at browser closed" msgstr "会话在浏览器关闭时过期" #: settings/serializers/security.py:201 +msgid "Whether to expire the session when the user closes their browser." +msgstr "" + +#: settings/serializers/security.py:205 msgid "Max online time (hour)" msgstr "会话连接最大时间 (时)" @@ -6356,13 +6442,13 @@ msgstr "" msgid "Send verification code" msgstr "发送验证码" -#: templates/_mfa_login_field.html:106 -#: users/templates/users/forgot_password.html:174 +#: templates/_mfa_login_field.html:107 +#: users/templates/users/forgot_password.html:176 msgid "Wait: " msgstr "等待:" -#: templates/_mfa_login_field.html:116 -#: users/templates/users/forgot_password.html:190 +#: templates/_mfa_login_field.html:117 +#: users/templates/users/forgot_password.html:192 msgid "The verification code has been sent" msgstr "验证码已发送" @@ -6523,6 +6609,10 @@ msgstr "远程桌面客户端" msgid "RDP Guide" msgstr "RDP 连接向导" +#: terminal/const.py:10 +msgid "Warning" +msgstr "告警" + #: terminal/const.py:12 msgid "Review & Reject" msgstr "审批 & 拒绝" @@ -6946,7 +7036,7 @@ msgstr "级别" msgid "Command and replay storage" msgstr "命令及录像存储" -#: terminal/notifications.py:240 terminal/tasks.py:146 +#: terminal/notifications.py:240 terminal/tasks.py:153 msgid "Test failure: Account invalid" msgstr "测试失败: 账号无效" @@ -7212,7 +7302,7 @@ msgstr "端点后缀" msgid "HOST" msgstr "主机" -#: terminal/serializers/storage.py:146 users/models/user.py:890 +#: terminal/serializers/storage.py:146 users/models/user.py:904 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "ssh私钥" @@ -7445,59 +7535,55 @@ msgstr "工单管理" msgid "Apply for asset" msgstr "申请资产" -#: tickets/const.py:17 tickets/const.py:25 tickets/const.py:44 +#: tickets/const.py:17 tickets/const.py:24 tickets/const.py:42 msgid "Open" msgstr "打开" -#: tickets/const.py:19 tickets/const.py:32 -msgid "Reopen" -msgstr "重新打开" - -#: tickets/const.py:20 tickets/const.py:33 +#: tickets/const.py:19 tickets/const.py:31 msgid "Approved" msgstr "已同意" -#: tickets/const.py:21 tickets/const.py:34 +#: tickets/const.py:20 tickets/const.py:32 msgid "Rejected" msgstr "已拒绝" -#: tickets/const.py:31 tickets/const.py:39 +#: tickets/const.py:30 tickets/const.py:37 msgid "Closed" msgstr "关闭的" -#: tickets/const.py:51 +#: tickets/const.py:49 msgid "One level" msgstr "1 级" -#: tickets/const.py:52 +#: tickets/const.py:50 msgid "Two level" msgstr "2 级" -#: tickets/const.py:56 +#: tickets/const.py:54 msgid "Org admin" msgstr "组织管理员" -#: tickets/const.py:57 +#: tickets/const.py:55 msgid "Custom user" msgstr "自定义用户" -#: tickets/const.py:58 +#: tickets/const.py:56 msgid "Super admin" msgstr "超级管理员" -#: tickets/const.py:59 +#: tickets/const.py:57 msgid "Super admin and org admin" msgstr "组织管理员或超级管理员" -#: tickets/const.py:63 +#: tickets/const.py:61 msgid "All assets" msgstr "所有资产" -#: tickets/const.py:64 +#: tickets/const.py:62 msgid "Permed assets" msgstr "授权的资产" -#: tickets/const.py:65 +#: tickets/const.py:63 msgid "Permed valid assets" msgstr "有效授权的资产" @@ -7888,11 +7974,11 @@ msgstr "" msgid "Finish" msgstr "完成" -#: users/forms/profile.py:82 +#: users/forms/profile.py:82 users/serializers/preference/lina.py:20 msgid "New password" msgstr "新密码" -#: users/forms/profile.py:87 +#: users/forms/profile.py:87 users/serializers/preference/lina.py:25 msgid "Confirm password" msgstr "确认密码" @@ -7932,12 +8018,12 @@ msgstr "复制你的公钥到这里" msgid "Public key should not be the same as your old one." msgstr "不能和原来的密钥相同" -#: users/forms/profile.py:162 users/serializers/profile.py:76 +#: users/forms/profile.py:161 users/serializers/profile.py:76 #: users/serializers/profile.py:165 users/serializers/profile.py:192 msgid "Not a valid ssh public key" msgstr "SSH密钥不合法" -#: users/forms/profile.py:173 users/models/user.py:893 +#: users/forms/profile.py:172 users/models/user.py:907 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "SSH公钥" @@ -7946,74 +8032,78 @@ msgstr "SSH公钥" msgid "Preference" msgstr "用户设置" -#: users/models/user.py:656 users/serializers/profile.py:94 +#: users/models/user.py:656 msgid "Force enable" msgstr "强制启用" -#: users/models/user.py:872 users/serializers/user.py:174 +#: users/models/user.py:761 +msgid "Lark" +msgstr "启用飞书认证" + +#: users/models/user.py:886 users/serializers/user.py:182 msgid "Is service account" msgstr "服务账号" -#: users/models/user.py:874 +#: users/models/user.py:888 msgid "Avatar" msgstr "头像" -#: users/models/user.py:877 +#: users/models/user.py:891 msgid "Wechat" msgstr "微信" -#: users/models/user.py:880 users/serializers/user.py:106 +#: users/models/user.py:894 users/serializers/user.py:112 msgid "Phone" msgstr "手机" -#: users/models/user.py:886 +#: users/models/user.py:900 msgid "OTP secret key" msgstr "OTP 密钥" # msgid "Private key" # msgstr "ssh私钥" -#: users/models/user.py:898 users/serializers/profile.py:129 -#: users/serializers/user.py:171 +#: users/models/user.py:912 users/serializers/profile.py:129 +#: users/serializers/user.py:179 msgid "Is first login" msgstr "首次登录" -#: users/models/user.py:907 +#: users/models/user.py:921 msgid "Date password last updated" msgstr "最后更新密码日期" -#: users/models/user.py:910 +#: users/models/user.py:924 msgid "Need update password" msgstr "需要更新密码" -#: users/models/user.py:920 +#: users/models/user.py:935 msgid "Date api key used" msgstr "Api key 最后使用日期" -#: users/models/user.py:1039 +#: users/models/user.py:1054 msgid "Can not delete admin user" msgstr "无法删除管理员用户" -#: users/models/user.py:1052 +#: users/models/user.py:1068 msgid "Can invite user" msgstr "可以邀请用户" -#: users/models/user.py:1053 +#: users/models/user.py:1069 msgid "Can remove user" msgstr "可以移除用户" -#: users/models/user.py:1054 +#: users/models/user.py:1070 msgid "Can match user" msgstr "可以匹配用户" -#: users/models/user.py:1063 +#: users/models/user.py:1079 msgid "Administrator" msgstr "管理员" -#: users/models/user.py:1066 +#: users/models/user.py:1082 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超级管理员" -#: users/models/user.py:1091 +#: users/models/user.py:1107 msgid "User password history" msgstr "用户密码历史" @@ -8024,7 +8114,7 @@ msgstr "用户密码历史" msgid "Reset password" msgstr "重置密码" -#: users/notifications.py:85 users/views/profile/reset.py:231 +#: users/notifications.py:85 users/views/profile/reset.py:233 msgid "Reset password success" msgstr "重置密码成功" @@ -8056,15 +8146,16 @@ msgstr "文件名冲突解决方案" msgid "Terminal theme name" msgstr "终端主题名称" -#: users/serializers/preference/lina.py:13 -msgid "New file encryption password" -msgstr "文件加密密码" +#: users/serializers/preference/lina.py:11 +msgid "" +"The password for file encryption, used for decryption when the system sends " +"emails containing file attachments.
Such as: account backup files, " +"account password change results files" +msgstr "" +"文件加密密码,当系统发送的邮件中包含文件附件时,使用此密码进行解密。
" +"如:账号备份文件、账号改密结果文件" -#: users/serializers/preference/lina.py:18 -msgid "Confirm file encryption password" -msgstr "确认文件加密密码" - -#: users/serializers/preference/lina.py:31 users/serializers/profile.py:48 +#: users/serializers/preference/lina.py:38 users/serializers/profile.py:48 msgid "The newly set password is inconsistent" msgstr "两次密码不一致" @@ -8143,77 +8234,96 @@ msgstr "密码不满足安全规则" msgid "The new password cannot be the last {} passwords" msgstr "新密码不能是最近 {} 次的密码" -#: users/serializers/user.py:44 +#: users/serializers/profile.py:92 +#, fuzzy +#| msgid "Offline" +msgid "Off" +msgstr "离线" + +#: users/serializers/profile.py:93 +#, fuzzy +#| msgid "Open" +msgid "On" +msgstr "打开" + +#: users/serializers/profile.py:94 +#, fuzzy +#| msgid "Force enable" +msgid "Forced enabled" +msgstr "强制启用" + +#: users/serializers/user.py:45 msgid "System roles" msgstr "系统角色" -#: users/serializers/user.py:48 +#: users/serializers/user.py:49 msgid "Org roles" msgstr "组织角色" -#: users/serializers/user.py:90 +#: users/serializers/user.py:52 +#, fuzzy +#| msgid "Organization role" +msgid "Organizations and roles" +msgstr "组织角色" + +#: users/serializers/user.py:94 msgid "Password setting" msgstr "密码选项" -#: users/serializers/user.py:95 +#: users/serializers/user.py:96 msgid "MFA enabled" msgstr "MFA 已启用" -#: users/serializers/user.py:97 +#: users/serializers/user.py:98 msgid "MFA force enabled" msgstr "强制 MFA" -#: users/serializers/user.py:99 +#: users/serializers/user.py:100 msgid "Login blocked" msgstr "登录被锁定" -#: users/serializers/user.py:99 users/serializers/user.py:180 +#: users/serializers/user.py:103 users/serializers/user.py:188 msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" -#: users/serializers/user.py:103 +#: users/serializers/user.py:104 msgid "Super Administrator" msgstr "超级管理员" -#: users/serializers/user.py:104 +#: users/serializers/user.py:105 msgid "Organization Administrator" msgstr "组织管理员" -#: users/serializers/user.py:106 +#: users/serializers/user.py:107 msgid "Can public key authentication" msgstr "可以公钥认证吗" -#: users/serializers/user.py:165 -msgid "Groups" -msgstr "用户组" - -#: users/serializers/user.py:168 +#: users/serializers/user.py:176 msgid "Superuser" msgstr "超级用户" -#: users/serializers/user.py:175 +#: users/serializers/user.py:183 msgid "Is org admin" msgstr "组织管理员" -#: users/serializers/user.py:177 +#: users/serializers/user.py:185 msgid "Avatar url" msgstr "头像路径" -#: users/serializers/user.py:181 +#: users/serializers/user.py:189 msgid "MFA level" msgstr "MFA" -#: users/serializers/user.py:303 +#: users/serializers/user.py:312 msgid "" -"For security, only a partial list of users is displayed. You can search for " -"more" +"For security, only a partial of users is displayed. You can search for more" msgstr "" -#: users/serializers/user.py:336 +#: users/serializers/user.py:345 msgid "name not unique" msgstr "名称重复" -#: users/signal_handlers.py:34 +#: users/signal_handlers.py:35 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" " and the current user is not in the user list. Please contact the " @@ -8221,7 +8331,7 @@ msgid "" msgstr "" "管理员已开启'仅允许已存在用户登录',当前用户不在用户列表中,请联系管理员。" -#: users/signal_handlers.py:168 +#: users/signal_handlers.py:169 msgid "Clean up expired user sessions" msgstr "清除过期的用户会话" @@ -8314,15 +8424,15 @@ msgstr "输入您的手机号码,验证码将发送到您的手机" msgid "Email account" msgstr "邮箱账号" -#: users/templates/users/forgot_password.html:92 +#: users/templates/users/forgot_password.html:93 msgid "Mobile number" msgstr "手机号码" -#: users/templates/users/forgot_password.html:100 +#: users/templates/users/forgot_password.html:101 msgid "Send" msgstr "发送" -#: users/templates/users/forgot_password.html:104 +#: users/templates/users/forgot_password.html:105 #: users/templates/users/forgot_password_previewing.html:30 msgid "Submit" msgstr "提交" @@ -8475,23 +8585,23 @@ msgid "" "their passwords: {}" msgstr "非本地用户仅允许从第三方平台登录,不支持修改密码: {}" -#: users/views/profile/reset.py:186 users/views/profile/reset.py:197 +#: users/views/profile/reset.py:188 users/views/profile/reset.py:199 msgid "Token invalid or expired" msgstr "令牌错误或失效" -#: users/views/profile/reset.py:202 +#: users/views/profile/reset.py:204 msgid "User auth from {}, go there change password" msgstr "用户认证源来自 {}, 请去相应系统修改密码" -#: users/views/profile/reset.py:209 +#: users/views/profile/reset.py:211 msgid "* Your password does not meet the requirements" msgstr "* 您的密码不符合要求" -#: users/views/profile/reset.py:215 +#: users/views/profile/reset.py:217 msgid "* The new password cannot be the last {} passwords" msgstr "* 新密码不能是最近 {} 次的密码" -#: users/views/profile/reset.py:232 +#: users/views/profile/reset.py:234 msgid "Reset password success, return to login page" msgstr "重置密码成功,返回到登录页面" @@ -8648,7 +8758,8 @@ msgstr "与" msgid "Or" msgstr "或" -#: xpack/plugins/cloud/manager.py:56 +#: xpack/plugins/cloud/manager.py:55 xpack/plugins/cloud/providers/gcp.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:34 msgid "Account unavailable" msgstr "账号无效" @@ -9204,6 +9315,15 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Reopen" +#~ msgstr "重新打开" + +#~ msgid "New file encryption password" +#~ msgstr "文件加密密码" + +#~ msgid "Confirm file encryption password" +#~ msgstr "确认文件加密密码" + #~ msgid "Key password" #~ msgstr "密钥密码" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 5fd239852..d7af35ae0 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -35,6 +35,7 @@ "AccountTemplates": "Templates", "Accounts": "Accounts", "Action": "Action", + "PermAction": "Permission Action", "ActionCount": "Actions", "ActionSetting": "Action settings", "Actions": "Action", @@ -164,6 +165,7 @@ "AuthSetting": "Authentication", "AuthSettings": "Authentication configuration", "AuthUserAttrMapHelpText": "The key on the left belongs to the jumpserver user properties, and the value on the right belongs to the authentication platform user properties", + "PasswordAndSSHKey": "Password & SSH Key", "Authentication": "Authentication", "AutoPush": "Auto push", "Automations": "Automations", @@ -293,8 +295,8 @@ "ConnectMethodAclUpdate": "Update the connect method control", "ConnectWebSocketError": "Connection to websocket failed", "ConnectionDropped": "Connection disconnected", - "ConnectionToken": "Connection token", "ConnectionTokenList": "The connection token is a type of authentication information that combines identity verification with connecting assets. it supports one-click user login to assets. currently supported components include: koko, lion, magnus, razor, etc.", + "ConnectionToken": "Connection tokens", "Console": "Console", "Consult": "Consult", "ContainAttachment": "With attachment", @@ -453,7 +455,7 @@ "FailedAsset": "Failed assets", "FaviconTip": "Note: website icon (suggested image size: 16px*16px)", "Features": "Features", - "FeiShu": "Lark", + "FeiShu": "FeiShu", "FeiShuTest": "Test", "FieldRequiredError": "This field is required", "FileExplorer": "File explorer", @@ -580,10 +582,12 @@ "JobExecutionLog": "Job logs", "JobManagement": "Jobs", "JobUpdate": "Update the job", - "KingSoftCloud": "Kingsoft cloud", "KokoSettingUpdate": "Koko", "LAN": "Bulk account add results", - "LDAPUser": "Ldap users", + "KingSoftCloud": "KingSoft Cloud", + "KokoSetting": "KoKo", + "GenericSetting": "Generic", + "LDAPUser": "LDAP Users", "Label": "Label", "LabelCreate": "Create label", "LabelInputFormatValidation": "Label format error, the correct format is: name:value", @@ -635,14 +639,15 @@ "LoginUsers": "Active account", "LogoIndexTip": "Tip: it will be displayed in the upper left corner of the page (recommended image size: 185px*55px)", "LogoLogoutTip": "Tip: it will be displayed on the web terminal page of enterprise edition users (recommended image size: 82px*82px)", - "Logout": "Logout", - "LogsAudit": "Activities", - "Lowercase": "Lowercase", "LunaSettingUpdate": "Luna", - "MFAErrorMsg": "Mfa errors, please check", "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make your account more secure.
after enabling, you will enter the multi-factor authentication binding process the next time you log in; you can also directly bind in (personal information->quick modification->change multi-factor settings)!", "MFAOfUserFirstLoginUserGuidePage": "In order to protect your and the company's security, please carefully safeguard important sensitive information such as your account, password, and key (for example, set a complex password, and enable multi-factor authentication)
personal information such as email, mobile number, and wechat are only used for user authentication and platform internal message notifications.", "MailRecipient": "Email recipient", + "Logout": "Sign out", + "LogsAudit": "Activities", + "Lowercase": "Lowercase", + "LunaSetting": "Luna", + "MFAErrorMsg": "MFA errors, please check", "MailSend": "Sending", "ManualAccount": "Manual accounts", "ManualAccountTip": "Manual input of username/password upon login", @@ -664,7 +669,8 @@ "Message": "Message", "MessageSubscription": "Message subscription", "MessageType": "Message type", - "MfaLevel": "Mfa", + "NotificationConfiguration": "Notification Configuration", + "MfaLevel": "MFA", "Min": "Min", "Modify": "Edit", "Module": "Module", @@ -721,6 +727,8 @@ "OldSSHKey": "Old ssh public key", "OneAssignee": "First-level approver", "OneAssigneeType": "First-level handler type", + "OldPublicKey": "Old Public Key", + "NewPublicKey": "New Public Key", "OneClickReadMsg": "Are you sure you want to mark the current information as read?", "OnlineSession": "Online devices", "OnlineSessionHelpMsg": "Unable to log out of the current session because it is the current user's online session. currently only users logged in via web are being logged.", @@ -735,15 +743,15 @@ "OperateLog": "Operate logs", "OperationLogNum": "Operation logs", "OrgAdmin": "Organization admin", - "OrgAuditor": "Org auditors", "OrgName": "Authorized organization name", - "OrgRole": "Org roles", "OrgRoleHelpMsg": "Organization roles are roles tailored to individual organizations within the platform. these roles are assigned when inviting users to join a particular organization and dictate their permissions and access levels within that organization. unlike system roles, organization roles are customizable and apply only within the scope of the organization they are assigned to.", "OrgRoleHelpText": "The org role is the user's role within the current organization", - "OrgRoles": "Org role", "OrgUser": "Organize users", "OrganizationCreate": "Create organization", "OrganizationDetail": "Organization details", + "OrgAuditor": "Organizational auditors", + "OrgRole": "Organizational roles", + "OrgRoles": "Organizational roles", "OrganizationList": "Organizations", "OrganizationManage": "Manage orgs", "OrganizationUpdate": "Update the organization", @@ -934,16 +942,17 @@ "RunningTimes": "Last 5 run times", "SCP": "Sangfor cloud platform", "SMS": "Message", - "SMSProvider": "Sms service provider", + "SMSProvider": "SMS service provider", "SMTP": "Email server", - "SSHKey": "Ssh key", - "SSHKeyOfProfileSSHUpdatePage": "Copy your public key here", "SSHKeySetting": "Ssh key", - "SSHPort": "Ssh port", - "SSHSecretKey": "Ssh key", "SafeCommand": "Secure command", "SameAccount": "Same accounts", "SameAccountTip": "Accounts with the same username as authorized users", + "SSHKey": "SSH Key", + "SSHKeyOfProfileSSHUpdatePage": "You can reset and download the SSH public key by clicking the button below, or copy your SSH public key and submit it.", + "LoginSSHKeySetting": "Login SSH Key", + "SSHPort": "SSH Port", + "SSHSecretKey": "SSH Key", "SameTypeAccountTip": "An account with the same username and key type already exists", "Saturday": "Sat", "Save": "Save", @@ -1008,13 +1017,19 @@ "SetDingTalk": "Dingtalk oauth", "SetFailed": "Setting failed", "SetFeiShu": "Set feishu authentication", - "SetMFA": "Multi-factor auth", "SetSlack": "Slack oauth", "SetStatus": "Status setting", "SetSuccess": "Successfully set", "SetToDefault": "Set as default", "SetToDefaultStorage": "Set as default storage", "SetWeCom": "Wecom oauth", + "DingTalkOAuth": "DingTalk OAuth", + "FeiShuOAuth": "Feishu OAuth", + "LarkOAuth": "Lark OAuth", + "SetMFA": "Multi-factor authentication", + "SlackOAuth": "Slack OAuth", + "Configured": "Configured", + "WeComOAuth": "WeCom OAuth", "Setting": "Setting", "SettingInEndpointHelpText": "Configure service address and port in system settings / component settings / server endpoints", "Settings": "System settings", @@ -1105,6 +1120,8 @@ "TaskMonitor": "Monitoring", "TechnologyConsult": "Technical consultation", "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", + "TempPasswordTip": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", + "TempToken": "Temporary tokens", "TemplateAdd": "Add from template", "TemplateCreate": "Create template", "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", @@ -1180,6 +1197,7 @@ "UpdateNodeAssetHardwareInfo": "Update node assets hardware information", "UpdatePlatformHelpText": "The asset will be updated only if the original platform type is the same as the selected platform type. if the platform types before and after the update are different, it will not be updated.", "UpdateSSHKey": "Change ssh public key", + "NewSSHKey": "New SSH Key", "UpdateSelected": "Update selected", "UpdateSuccessMsg": "Update successful", "Updated": "Updated", @@ -1204,7 +1222,6 @@ "UserGroupDetail": "User group details", "UserGroupList": "Groups", "UserGroupUpdate": "Update the user group", - "UserGroups": "User groups", "UserInformation": "User info", "UserList": "Users", "UserLoginACLHelpMsg": "When logging into the system, the user's login ip and time range can be audited to determine whether they are allowed to log into the system (effective globally)", @@ -1219,6 +1236,9 @@ "UserProfile": "Profile", "UserSession": "Asset sessions", "UserSetting": "Preference", + "UserGroups": "Groups", + "PersonalSettings": "Personal Settings", + "Preferences": "Preferences", "UserSwitchFrom": "Switch from", "UserUpdate": "Update the user", "Username": "Username", @@ -1269,5 +1289,9 @@ "ZoneEnabled": "Enable zone", "ZoneHelpMessage": "The zone is the location where assets are located, which can be a data center, public cloud, or VPC. Gateways can be set up within the region. When the network cannot be directly accessed, users can utilize gateways to log in to the assets.", "ZoneList": "Zones", - "ZoneUpdate": "Update the zone" -} \ No newline at end of file + "ZoneUpdate": "Update the zone", + "YourProfile": "Your profile", + "AccessKeys": "Access keys", + "InformationModification": "Information Modification", + "Phone": "Phone" +} diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index aba9357cf..c4d82be73 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -28,6 +28,7 @@ "AccountTemplates": "账号模版", "Accounts": "账号管理", "Action": "动作", + "PermAction": "授权动作", "ActionCount": "动作数量", "ActionSetting": "动作设置", "Actions": "动作", @@ -145,7 +146,7 @@ "AuthSAMLKeyHelpText": "SP 证书和密钥 是用来和 IDP 加密通信的", "AuthSaml2UserAttrMapHelpText": "左侧的键为 SAML2 用户属性,右侧的值为认证平台用户属性", "AuthSecurity": "认证安全", - "AuthSetting": "认证设置", + "PasswordAndSSHKey": "认证设置", "AuthSettings": "认证配置", "AuthUserAttrMapHelpText": "左侧的键为 JumpServer 用户属性,右侧的值为认证平台用户属性", "Authentication": "认证", @@ -549,7 +550,8 @@ "JobManagement": "作业管理", "JobUpdate": "更新作业", "KingSoftCloud": "金山云", - "KokoSettingUpdate": "Koko 配置设置", + "KokoSetting": "KoKo 配置", + "GenericSetting": "通用配置", "LAN": "局域网", "LDAPUser": "LDAP 用户", "Label": "标签", @@ -592,7 +594,7 @@ "LoginImageTip": "提示:将会显示在企业版用户登录页面(建议图片大小为: 492*472px)", "LoginLog": "登录日志", "LoginNum": "登录数", - "LoginPasswordSetting": "登录密码设置", + "LoginPasswordSetting": "登录密码", "LoginRequiredMsg": "账号已退出,请重新登录", "LoginSucceeded": "登录成功", "LoginTitleTip": "提示:将会显示在企业版用户 SSH 登录 KoKo 登录页面(eg: 欢迎使用JumpServer开源堡垒机)", @@ -604,7 +606,7 @@ "Logout": "退出登录", "LogsAudit": "日志审计", "Lowercase": "小写字母", - "LunaSettingUpdate": "Luna 配置设置", + "LunaSetting": "Luna 配置", "MFAErrorMsg": "MFA错误,请检查", "MFAOfUserFirstLoginPersonalInformationImprovementPage": "启用多因子认证,使账号更加安全。
启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速修改->更改多因子设置)中直接绑定!", "MFAOfUserFirstLoginUserGuidePage": "为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:设置复杂密码,并启用多因子认证)
邮箱、手机号、微信等个人信息,仅作为用户认证和平台内部消息通知使用。", @@ -628,7 +630,7 @@ "MenuPermissions": "授权管理", "MenuUsers": "用户管理", "Message": "消息", - "MessageSubscription": "消息订阅", + "NotificationConfiguration": "通知设置", "MessageType": "消息类型", "MfaLevel": "多因子认证", "Min": "分钟", @@ -684,7 +686,8 @@ "OfflineSuccessMsg": "下线成功", "OfflineUpload": "离线上传", "OldPassword": "原密码", - "OldSSHKey": "原来SSH公钥", + "OldPublicKey": "久 SSH 公钥", + "NewPublicKey": "新 SSH 公钥", "OneAssignee": "一级受理人", "OneAssigneeType": "一级受理人类型", "OneClickReadMsg": "你确定要将当前信息标记为已读吗?", @@ -766,7 +769,6 @@ "PrivilegedOnly": "仅特权账号", "PrivilegedTemplate": "特权的", "Product": "产品", - "Profile": "个人信息", "ProfileSetting": "个人信息设置", "Project": "项目名", "Prompt": "提示词", @@ -897,8 +899,8 @@ "SMSProvider": "短信服务商", "SMTP": "邮件服务器", "SSHKey": "SSH公钥", - "SSHKeyOfProfileSSHUpdatePage": "复制你的公钥到这里", - "SSHKeySetting": "SSH公钥设置", + "SSHKeyOfProfileSSHUpdatePage": "你可以点击下面的按钮重置并下载 SSH 公钥,或者复制你的 SSH 公钥并提交。", + "LoginSSHKeySetting": "登录 SSH 公钥", "SSHPort": "SSH 端口", "SSHSecretKey": "SSH 密钥", "SafeCommand": "安全命令", @@ -963,16 +965,17 @@ "SessionsAudit": "会话审计", "SessionsNum": "会话数", "Set": "已设置", - "SetDingTalk": "设置钉钉认证", + "DingTalkOAuth": "钉钉认证", "SetFailed": "设置失败", - "SetFeiShu": "设置飞书认证", - "SetMFA": "设置多因子认证", - "SetSlack": "设置Slack认证", - "SetStatus": "设置状态", + "FeiShuOAuth": "飞书认证", + "LarkOAuth": "Lark 认证", + "SetMFA": "MFA 认证", + "SlackOAuth": "Slack 认证", + "Configured": "已配置", "SetSuccess": "设置成功", "SetToDefault": "设为默认", "SetToDefaultStorage": "设置为默认存储", - "SetWeCom": "设置企业微信认证", + "WeComOAuth": "企业微信认证", "Setting": "设置", "SettingInEndpointHelpText": "在 系统设置 / 组件设置 / 服务端点 中配置服务地址和端口", "Settings": "系统设置", @@ -1056,7 +1059,8 @@ "TaskList": "任务列表", "TaskMonitor": "任务监控", "TechnologyConsult": "技术咨询", - "TempPassword": "临时密码有效期为 300 秒,使用后立刻失效", + "TempPasswordTip": "临时密码有效期为 300 秒,使用后立刻失效", + "TempToken": "临时密码", "TemplateAdd": "模版添加", "TemplateCreate": "创建模版", "TemplateHelpText": "选择模版添加时,会自动创建资产下不存在的账号并推送", @@ -1132,6 +1136,7 @@ "UpdateNodeAssetHardwareInfo": "更新节点资产硬件信息", "UpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", "UpdateSSHKey": "更新SSH公钥", + "NewSSHKey": "SSH 公钥", "UpdateSelected": "更新所选", "UpdateSuccessMsg": "更新成功", "Updated": "已更新", @@ -1157,7 +1162,7 @@ "UserGroupList": "用户组", "UserGroupUpdate": "更新用户组", "UserGroups": "用户组", - "UserInformation": "用户信息", + "Profile": "个人信息", "UserList": "用户列表", "UserLoginACLHelpMsg": "登录系统时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录系统(全局生效)", "UserLoginACLHelpText": "登录系统时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录", @@ -1167,9 +1172,9 @@ "UserLoginAclUpdate": "更新用户登录控制", "UserLoginLimit": "用户登录限制", "UserLoginTrend": "账号登录趋势", - "UserProfile": "个人信息", + "PersonalSettings": "个人设置", "UserSession": "用户会话", - "UserSetting": "偏好设置", + "Preferences": "偏好设置", "UserUpdate": "更新用户", "Username": "用户名", "UsernamePlaceholder": "请输入用户名", @@ -1218,5 +1223,10 @@ "ZoneEnabled": "启用网关", "ZoneHelpMessage": "区域是资产所在的位置,可以是机房,公有云 或者 VPC。区域中可以设置网关,当网络不能直达的时候,可以使用网关跳转登录到资产", "ZoneList": "区域列表", - "ZoneUpdate": "更新区域" -} \ No newline at end of file + "ZoneUpdate": "更新区域", + "YourProfile": "个人信息", + "AccessKeys": "访问密钥", + "InformationModification": "信息更改", + "Phone": "手机" + +} diff --git a/apps/locale/zh_Hant/LC_MESSAGES/django.mo b/apps/locale/zh_Hant/LC_MESSAGES/django.mo deleted file mode 100644 index 68eb45e31..000000000 --- a/apps/locale/zh_Hant/LC_MESSAGES/django.mo +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d73b2f2320bf2be7b4223de27c095e6b69de1b85d21722a0589709bd5315620 -size 145170 diff --git a/apps/locale/zh_Hant/LC_MESSAGES/djangojs.mo b/apps/locale/zh_Hant/LC_MESSAGES/djangojs.mo deleted file mode 100644 index a7a02ede1..000000000 --- a/apps/locale/zh_Hant/LC_MESSAGES/djangojs.mo +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc91c07e525f289e4277ec70a51438c10b694a4111f922bd4ee4b20f6e0f0cd0 -size 2832 diff --git a/apps/locale/zh_Hant/LC_MESSAGES/djangojs.po b/apps/locale/zh_Hant/LC_MESSAGES/djangojs.po deleted file mode 100644 index 934646143..000000000 --- a/apps/locale/zh_Hant/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,159 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-24 11:05+0800\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:35:03 | https://zhconvert.org\n" - -#: static/js/jumpserver.js:259 -msgid "Update is successful!" -msgstr "更新成功" - -#: static/js/jumpserver.js:261 -msgid "An unknown error occurred while updating.." -msgstr "更新時發生未知錯誤" - -#: static/js/jumpserver.js:324 static/js/jumpserver.js:362 -#: static/js/jumpserver.js:364 -msgid "Error" -msgstr "錯誤" - -#: static/js/jumpserver.js:324 -msgid "Being used by the asset, please unbind the asset first." -msgstr "正在被資產使用中,請先解除資產綁定" - -#: static/js/jumpserver.js:330 static/js/jumpserver.js:371 -msgid "Delete the success" -msgstr "刪除成功" - -#: static/js/jumpserver.js:337 -msgid "Are you sure about deleting it?" -msgstr "你確定刪除嗎 ?" - -#: static/js/jumpserver.js:341 static/js/jumpserver.js:382 -msgid "Cancel" -msgstr "取消" - -#: static/js/jumpserver.js:343 static/js/jumpserver.js:384 -msgid "Confirm" -msgstr "確認" - -#: static/js/jumpserver.js:362 -msgid "" -"The organization contains undeleted information. Please try again after " -"deleting" -msgstr "組織中包含未刪除資訊,請刪除後重試" - -#: static/js/jumpserver.js:364 -msgid "" -"Do not perform this operation under this organization. Try again after " -"switching to another organization" -msgstr "請勿在此組織下執行此操作,切換到其他組織後重試" - -#: static/js/jumpserver.js:378 -msgid "" -"Please ensure that the following information in the organization has been " -"deleted" -msgstr "請確保組織內的以下資訊已刪除" - -#: static/js/jumpserver.js:379 -msgid "" -"User list、User group、Asset list、Domain list、Admin user、System user、" -"Labels、Asset permission" -msgstr "" -"用戶列表、用戶組、資產列表、網域列表、特權用戶、系統用戶、標籤管理、資產授權" -"規則" - -#: static/js/jumpserver.js:416 -msgid "Loading" -msgstr "載入中" - -#: static/js/jumpserver.js:417 -msgid "Search" -msgstr "搜索" - -#: static/js/jumpserver.js:420 -#, javascript-format -msgid "Selected item %d" -msgstr "選中 %d 項" - -#: static/js/jumpserver.js:424 -msgid "Per page _MENU_" -msgstr "每頁 _MENU_" - -#: static/js/jumpserver.js:425 -msgid "" -"Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" -msgstr "顯示第 _START_ 至 _END_ 項結果; 總共 _TOTAL_ 項" - -#: static/js/jumpserver.js:428 -msgid "No match" -msgstr "沒有匹配項" - -#: static/js/jumpserver.js:429 -msgid "No record" -msgstr "沒有記錄" - -#: static/js/jumpserver.js:582 -msgid "Unknown error occur" -msgstr "出現未知錯誤" - -#: static/js/jumpserver.js:838 -msgid "Password minimum length {N} bits" -msgstr "密碼最小長度 {N} 位" - -#: static/js/jumpserver.js:839 -msgid "Must contain capital letters" -msgstr "必須包含大寫字母" - -#: static/js/jumpserver.js:840 -msgid "Must contain lowercase letters" -msgstr "必須包含小寫字母" - -#: static/js/jumpserver.js:841 -msgid "Must contain numeric characters" -msgstr "必須包含數字字元" - -#: static/js/jumpserver.js:842 -msgid "Must contain special characters" -msgstr "必須包含特殊字元" - -#: static/js/jumpserver.js:984 -msgid "Export failed" -msgstr "匯出失敗" - -#: static/js/jumpserver.js:1001 -msgid "Import Success" -msgstr "匯入成功" - -#: static/js/jumpserver.js:1006 -msgid "Update Success" -msgstr "更新成功" - -#: static/js/jumpserver.js:1007 -msgid "Count" -msgstr "數量" - -#: static/js/jumpserver.js:1035 -msgid "Import failed" -msgstr "匯入失敗" - -#: static/js/jumpserver.js:1040 -msgid "Update failed" -msgstr "更新失敗" - -#: static/js/plugins/moment/moment.min.js:6 -msgid "\n" -msgstr "" diff --git a/apps/users/serializers/preference/lina.py b/apps/users/serializers/preference/lina.py index b658904f4..2dd09a370 100644 --- a/apps/users/serializers/preference/lina.py +++ b/apps/users/serializers/preference/lina.py @@ -6,16 +6,23 @@ from ...models import Preference class BasicSerializer(serializers.Serializer): - has_secret_key = serializers.SerializerMethodField() + has_secret_key = serializers.SerializerMethodField( + help_text=_( + 'The password for file encryption, ' + 'used for decryption when the system sends emails containing file attachments. ' + '
' + 'Such as: account backup files, account password change results files' + ) + ) secret_key = EncryptedField( required=False, max_length=1024, write_only=True, allow_blank=True, - label=_('New file encryption password') + label=_('New password'), ) secret_key_again = EncryptedField( required=False, max_length=1024, write_only=True, allow_blank=True, - label=_('Confirm file encryption password') + label=_('Confirm password') ) def get_has_secret_key(self, obj): diff --git a/apps/users/serializers/profile.py b/apps/users/serializers/profile.py index 6b04671f8..3b236bc5e 100644 --- a/apps/users/serializers/profile.py +++ b/apps/users/serializers/profile.py @@ -89,9 +89,9 @@ class UserRoleSerializer(serializers.Serializer): class UserProfileSerializer(UserSerializer): MFA_LEVEL_CHOICES = ( - (0, _('Disable')), - (1, _('Enable')), - (2, _("Force enable")), + (0, _('Off')), + (1, _('On')), + (2, _("Forced enabled")), ) public_key_comment = serializers.CharField( source='get_public_key_comment', required=False, read_only=True, max_length=128