diff --git a/apps/accounts/backends/aws/service.py b/apps/accounts/backends/aws/service.py index d4236403e..b521f55c5 100644 --- a/apps/accounts/backends/aws/service.py +++ b/apps/accounts/backends/aws/service.py @@ -36,8 +36,7 @@ class AmazonSecretsManagerClient(object): try: secret = self.client.get_secret_value(**params)['SecretString'] return secret if secret != self.empty_secret else '' - except Exception as e: - logger.error(f"Error retrieving secret: {e}") + except Exception: # noqa return '' def create(self, name, secret): diff --git a/apps/accounts/backends/azure/service.py b/apps/accounts/backends/azure/service.py index 8c748115e..800687ee6 100644 --- a/apps/accounts/backends/azure/service.py +++ b/apps/accounts/backends/azure/service.py @@ -49,10 +49,7 @@ class AZUREVaultClient(object): self.client.set_secret(name, secret) def delete(self, name): - try: - self.client.begin_delete_secret(name) - except ResourceNotFoundError as e: - logger.warning(f'Delete {name} failed: {str(e)}') + self.client.begin_delete_secret(name) def update_metadata(self, name, metadata: dict): try: diff --git a/apps/accounts/exceptions.py b/apps/accounts/exceptions.py new file mode 100644 index 000000000..4c87891d3 --- /dev/null +++ b/apps/accounts/exceptions.py @@ -0,0 +1,8 @@ +from common.exceptions import JMSException +from django.utils.translation import gettext_lazy as _ + + +class VaultException(JMSException): + default_detail = _( + 'Vault operation failed. Please retry or check your account information on Vault.' + ) diff --git a/apps/accounts/signal_handlers.py b/apps/accounts/signal_handlers.py index 04c2cc333..fefd50132 100644 --- a/apps/accounts/signal_handlers.py +++ b/apps/accounts/signal_handlers.py @@ -14,6 +14,7 @@ from common.decorators import merge_delay_run from common.signals import django_ready from common.utils import get_logger, i18n_fmt from common.utils.connection import RedisPubSub +from .exceptions import VaultException from .models import Account, AccountTemplate from .tasks.push_account import push_accounts_to_assets_task @@ -81,14 +82,22 @@ class VaultSignalHandler(object): @staticmethod def save_to_vault(sender, instance, created, **kwargs): - if created: - vault_client.create(instance) - else: - vault_client.update(instance) + try: + if created: + vault_client.create(instance) + else: + vault_client.update(instance) + except Exception as e: + logger.error('Vault save failed: {}'.format(e)) + raise VaultException() @staticmethod def delete_to_vault(sender, instance, **kwargs): - vault_client.delete(instance) + try: + vault_client.delete(instance) + except Exception as e: + logger.error('Vault delete failed: {}'.format(e)) + raise VaultException() for model in (Account, AccountTemplate, Account.history.model): diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 2c5a9e953..78859bcf5 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-11-19 18:55+0800\n" +"POT-Creation-Date: 2024-12-03 11:26+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,7 +36,7 @@ msgstr "" #: accounts/automations/backup_account/handlers.py:156 #: accounts/automations/backup_account/handlers.py:295 -#: accounts/automations/backup_account/manager.py:40 ops/serializers/job.py:82 +#: accounts/automations/backup_account/manager.py:40 ops/serializers/job.py:94 #: settings/templates/ldap/_msg_import_ldap_user.html:7 msgid "Time cost" msgstr "" @@ -58,7 +58,7 @@ msgid "The backup file will be sent to" msgstr "" #: accounts/automations/backup_account/handlers.py:213 -#: users/forms/profile.py:75 +#: users/forms/profile.py:76 msgid "Finish" msgstr "" @@ -131,8 +131,8 @@ msgstr "" #: settings/serializers/auth/ldap.py:26 settings/serializers/auth/ldap.py:52 #: settings/serializers/auth/ldap_ha.py:34 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:28 terminal/serializers/storage.py:123 -#: terminal/serializers/storage.py:142 users/forms/profile.py:21 -#: users/serializers/user.py:144 +#: terminal/serializers/storage.py:142 users/forms/profile.py:22 +#: users/serializers/user.py:148 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -150,7 +150,7 @@ msgid "Access key" msgstr "" #: accounts/const/account.py:9 authentication/backends/passkey/models.py:16 -#: authentication/models/sso_token.py:14 settings/serializers/feature.py:74 +#: authentication/models/sso_token.py:14 settings/serializers/feature.py:83 msgid "Token" msgstr "" @@ -298,8 +298,8 @@ msgstr "" #: authentication/serializers/password_mfa.py:17 #: authentication/serializers/password_mfa.py:25 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 -#: settings/serializers/msg.py:61 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user/__init__.py:65 +#: settings/serializers/msg.py:61 users/forms/profile.py:101 +#: users/forms/profile.py:111 users/models/user/__init__.py:65 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -320,14 +320,24 @@ msgstr "" msgid "Database" msgstr "" -#: accounts/const/vault.py:9 settings/serializers/feature.py:69 +#: accounts/const/vault.py:9 settings/serializers/feature.py:78 msgid "HCP Vault" msgstr "" -#: accounts/const/vault.py:10 settings/serializers/feature.py:82 +#: accounts/const/vault.py:10 settings/serializers/feature.py:91 msgid "Azure Key Vault" msgstr "" +#: accounts/const/vault.py:11 settings/serializers/feature.py:107 +msgid "Amazon Secrets Manager" +msgstr "" + +#: accounts/exceptions.py:7 +msgid "" +"Vault operation failed. Please retry or check your account information on " +"Vault." +msgstr "" + #: accounts/mixins.py:35 msgid "Export all" msgstr "" @@ -511,7 +521,7 @@ msgstr "" #: accounts/models/automations/backup_account.py:136 #: accounts/serializers/automations/change_secret.py:117 #: accounts/serializers/automations/change_secret.py:152 -#: ops/serializers/job.py:80 terminal/serializers/session.py:54 +#: ops/serializers/job.py:92 terminal/serializers/session.py:54 msgid "Is success" msgstr "Is success" @@ -594,7 +604,7 @@ msgstr "" #: accounts/models/automations/change_secret.py:44 #: assets/models/automations/base.py:113 #: assets/serializers/automations/base.py:39 audits/models.py:208 -#: audits/serializers.py:76 ops/models/base.py:49 ops/models/job.py:235 +#: audits/serializers.py:78 ops/models/base.py:49 ops/models/job.py:235 #: terminal/models/applet/applet.py:331 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 @@ -636,8 +646,8 @@ msgstr "" #: 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:31 -#: users/forms/profile.py:114 users/models/user/__init__.py:63 +#: terminal/serializers/storage.py:136 users/forms/profile.py:32 +#: users/forms/profile.py:117 users/models/user/__init__.py:63 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -666,7 +676,7 @@ msgstr "" #: accounts/models/automations/push_account.py:16 acls/models/base.py:41 #: acls/serializers/base.py:57 assets/models/cmd_filter.py:81 -#: audits/models.py:92 audits/serializers.py:106 +#: audits/models.py:92 audits/serializers.py:108 #: authentication/serializers/connect_token_secret.py:119 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:52 perms/serializers/permission.py:74 @@ -735,7 +745,7 @@ 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:32 users/models/group.py:13 +#: users/forms/profile.py:33 users/models/group.py:13 #: users/models/preference.py:11 users/models/user/__init__.py:64 #: xpack/plugins/cloud/models.py:34 xpack/plugins/cloud/models.py:310 #: xpack/plugins/cloud/serializers/task.py:75 @@ -750,7 +760,7 @@ msgstr "" #: assets/models/cmd_filter.py:39 assets/models/label.py:22 #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:41 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:269 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:274 msgid "Is active" msgstr "Active" @@ -877,8 +887,8 @@ msgstr "" #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:96 #: assets/serializers/asset/common.py:146 assets/serializers/platform.py:159 -#: assets/serializers/platform.py:171 audits/serializers.py:75 -#: audits/serializers.py:192 +#: assets/serializers/platform.py:171 audits/serializers.py:77 +#: audits/serializers.py:194 #: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:153 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 #: terminal/models/component/storage.py:58 @@ -951,7 +961,7 @@ msgstr "" #: acls/templates/acls/user_login_reminder.html:8 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 #: audits/models.py:90 audits/models.py:172 audits/models.py:271 -#: audits/serializers.py:193 authentication/models/connection_token.py:32 +#: audits/serializers.py:195 authentication/models/connection_token.py:32 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 @@ -1119,17 +1129,17 @@ msgstr "" # msgid "Success" # msgstr "" -#: accounts/signal_handlers.py:48 +#: accounts/signal_handlers.py:52 #, python-format msgid "Push related accounts to assets: %s, by system" msgstr "" -#: accounts/signal_handlers.py:57 +#: accounts/signal_handlers.py:61 #, python-format msgid "Add account: %s" msgstr "" -#: accounts/signal_handlers.py:59 +#: accounts/signal_handlers.py:63 #, python-format msgid "Delete account: %s" msgstr "" @@ -1243,11 +1253,11 @@ msgid "" " Accounts' this task will be executed" msgstr "" -#: accounts/tasks/vault.py:32 +#: accounts/tasks/vault.py:33 msgid "Sync secret to vault" msgstr "" -#: accounts/tasks/vault.py:34 +#: accounts/tasks/vault.py:35 msgid "" "When clicking 'Sync' in 'System Settings - Features - Account Storage' this " "task will be executed" @@ -1362,7 +1372,7 @@ msgstr "Active" #: acls/models/base.py:81 perms/serializers/permission.py:42 #: tickets/models/flow.py:23 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:424 +#: users/serializers/group.py:21 users/serializers/user.py:437 msgid "Users" msgstr "" @@ -1374,7 +1384,7 @@ msgid "Accounts" msgstr "" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 -#: audits/serializers.py:38 ops/serializers/job.py:79 terminal/const.py:88 +#: audits/serializers.py:38 ops/serializers/job.py:91 terminal/const.py:88 #: 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 @@ -1556,7 +1566,7 @@ msgid "Login city" msgstr "" #: acls/templates/acls/user_login_reminder.html:11 audits/models.py:197 -#: audits/models.py:266 audits/serializers.py:90 +#: audits/models.py:266 audits/serializers.py:92 msgid "User agent" msgstr "" @@ -1690,7 +1700,7 @@ msgstr "" #: assets/const/category.py:10 assets/models/asset/host.py:8 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:76 -#: settings/serializers/feature.py:71 settings/serializers/feature.py:84 +#: settings/serializers/feature.py:80 settings/serializers/feature.py:93 #: settings/serializers/msg.py:30 terminal/models/component/endpoint.py:14 #: terminal/serializers/applet.py:17 xpack/plugins/cloud/manager.py:89 #: xpack/plugins/cloud/serializers/account_attrs.py:72 @@ -1794,7 +1804,7 @@ msgid "Any" msgstr "" #: assets/const/protocol.py:88 rbac/tree.py:62 -#: settings/serializers/security.py:232 +#: settings/serializers/security.py:241 msgid "Security" msgstr "" @@ -1994,7 +2004,7 @@ msgstr "" msgid "Postgresql SSL mode" msgstr "" -#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:114 +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:137 msgid "Proxy" msgstr "" @@ -2719,7 +2729,7 @@ msgstr "" #: audits/const.py:18 audits/const.py:28 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:153 +#: terminal/api/session/session.py:154 msgid "Download" msgstr "" @@ -2727,7 +2737,7 @@ msgstr "" msgid "Rename dir" msgstr "" -#: audits/const.py:23 rbac/tree.py:268 terminal/api/session/session.py:281 +#: audits/const.py:23 rbac/tree.py:268 terminal/api/session/session.py:284 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:90 @@ -2812,7 +2822,7 @@ msgstr "" msgid "No" msgstr "" -#: audits/models.py:47 rbac/tree.py:67 +#: audits/models.py:47 msgid "Job audit log" msgstr "" @@ -2821,7 +2831,7 @@ msgstr "" msgid "Remote addr" msgstr "" -#: audits/models.py:61 audits/serializers.py:60 +#: audits/models.py:61 audits/serializers.py:62 msgid "Operate" msgstr "" @@ -2846,12 +2856,12 @@ msgstr "" msgid "File transfer log" msgstr "" -#: audits/models.py:94 audits/serializers.py:108 +#: audits/models.py:94 audits/serializers.py:110 msgid "Resource Type" msgstr "" #: audits/models.py:95 audits/models.py:98 audits/models.py:144 -#: audits/serializers.py:107 labels/serializers.py:46 +#: audits/serializers.py:109 labels/serializers.py:46 msgid "Resource" msgstr "" @@ -2893,9 +2903,9 @@ msgstr "" msgid "Login IP" msgstr "" -#: audits/models.py:200 audits/serializers.py:74 +#: audits/models.py:200 audits/serializers.py:76 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:63 users/models/user/__init__.py:86 +#: users/forms/profile.py:64 users/models/user/__init__.py:86 #: users/serializers/profile.py:70 msgid "MFA" msgstr "" @@ -2946,20 +2956,20 @@ msgstr "" msgid "Execution cycle" msgstr "" -#: audits/serializers.py:91 +#: audits/serializers.py:93 msgid "Reason display" msgstr "" -#: audits/serializers.py:92 audits/serializers.py:206 +#: audits/serializers.py:94 audits/serializers.py:208 msgid "Auth backend display" msgstr "" -#: audits/serializers.py:156 +#: audits/serializers.py:158 #, python-format msgid "%s %s this resource" msgstr "" -#: audits/serializers.py:194 authentication/models/connection_token.py:47 +#: audits/serializers.py:196 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/__init__.py:105 @@ -3100,22 +3110,22 @@ msgstr "" msgid "Current user not support mfa type: {}" msgstr "" -#: authentication/api/password.py:33 terminal/api/session/session.py:334 +#: authentication/api/password.py:34 terminal/api/session/session.py:337 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "" -#: authentication/api/password.py:33 users/views/profile/reset.py:166 +#: authentication/api/password.py:34 users/views/profile/reset.py:166 msgid "No user matched" msgstr "" -#: authentication/api/password.py:37 +#: authentication/api/password.py:38 msgid "" "The user is from {}, please go to the corresponding system to change the " "password" msgstr "" -#: authentication/api/password.py:65 +#: authentication/api/password.py:69 #: authentication/templates/authentication/login.html:393 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 @@ -3129,7 +3139,7 @@ msgid "App Authentication" msgstr "Authentication" #: authentication/backends/custom.py:59 -#: authentication/backends/oauth2/backends.py:173 +#: authentication/backends/oauth2/backends.py:158 msgid "User invalid, disabled or expired" msgstr "" @@ -3351,15 +3361,15 @@ msgstr "" msgid "Please wait for %s seconds before retry" msgstr "" -#: authentication/errors/redirect.py:85 authentication/mixins.py:365 +#: authentication/errors/redirect.py:85 authentication/mixins.py:373 msgid "Your password is too simple, please change it for security" msgstr "" -#: authentication/errors/redirect.py:93 authentication/mixins.py:374 +#: authentication/errors/redirect.py:93 authentication/mixins.py:382 msgid "You should to change your password before login" msgstr "" -#: authentication/errors/redirect.py:101 authentication/mixins.py:383 +#: authentication/errors/redirect.py:101 authentication/mixins.py:391 msgid "Your password has expired, please reset before logging in" msgstr "" @@ -3380,7 +3390,7 @@ msgstr "" msgid "Captcha" msgstr "" -#: authentication/forms.py:66 users/forms/profile.py:27 +#: authentication/forms.py:66 users/forms/profile.py:28 msgid "MFA code" msgstr "" @@ -3404,11 +3414,11 @@ msgstr "" msgid "MFA custom global enabled, cannot disable" msgstr "" -#: authentication/mfa/face.py:13 +#: authentication/mfa/face.py:11 msgid "Face Recognition" msgstr "" -#: authentication/mfa/face.py:23 authentication/mfa/face.py:25 +#: authentication/mfa/face.py:21 authentication/mfa/face.py:23 msgid "Facial comparison failed" msgstr "" @@ -3444,28 +3454,28 @@ msgstr "" msgid "Radius global enabled, cannot disable" msgstr "" -#: authentication/mfa/sms.py:7 +#: authentication/mfa/sms.py:8 msgid "SMS verify code invalid" msgstr "" -#: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:17 +#: authentication/mfa/sms.py:13 authentication/serializers/password_mfa.py:17 #: authentication/serializers/password_mfa.py:25 #: settings/serializers/auth/sms.py:18 settings/serializers/auth/sms.py:36 -#: users/forms/profile.py:103 users/forms/profile.py:108 +#: users/forms/profile.py:104 users/forms/profile.py:111 #: users/templates/users/forgot_password.html:157 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "" -#: authentication/mfa/sms.py:13 +#: authentication/mfa/sms.py:14 msgid "SMS verification code" msgstr "" -#: authentication/mfa/sms.py:57 +#: authentication/mfa/sms.py:63 msgid "Set phone number to enable" msgstr "" -#: authentication/mfa/sms.py:61 +#: authentication/mfa/sms.py:67 msgid "Clear phone number to disable" msgstr "" @@ -3483,11 +3493,11 @@ msgid "" " The current user source is {}. Please contact the administrator." msgstr "" -#: authentication/mixins.py:311 +#: authentication/mixins.py:319 msgid "The MFA type ({}) is not enabled" msgstr "" -#: authentication/mixins.py:353 +#: authentication/mixins.py:361 msgid "Please change your password" msgstr "" @@ -3588,7 +3598,7 @@ msgid "Private key" msgstr "" #: authentication/models/ssh_key.py:18 settings/serializers/terminal.py:34 -#: users/forms/profile.py:172 users/models/user/__init__.py:96 +#: users/forms/profile.py:175 users/models/user/__init__.py:96 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "" @@ -3667,7 +3677,7 @@ msgstr "" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:54 perms/serializers/permission.py:75 -#: users/serializers/user.py:127 users/serializers/user.py:273 +#: users/serializers/user.py:127 users/serializers/user.py:278 msgid "Is expired" msgstr "Expired" @@ -3699,7 +3709,7 @@ msgid "" "downloaded once" msgstr "" -#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:161 +#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 #: users/serializers/profile.py:133 users/serializers/profile.py:160 msgid "Not a valid ssh public key" msgstr "" @@ -3710,7 +3720,7 @@ msgstr "" #: authentication/serializers/token.py:92 perms/serializers/permission.py:53 #: perms/serializers/permission.py:76 users/serializers/user.py:128 -#: users/serializers/user.py:270 +#: users/serializers/user.py:275 msgid "Is valid" msgstr "Is Valid" @@ -3783,7 +3793,7 @@ msgstr "" #: authentication/templates/authentication/_msg_oauth_bind.html:3 #: authentication/templates/authentication/_msg_reset_password.html:3 #: authentication/templates/authentication/_msg_reset_password_code.html:9 -#: jumpserver/conf.py:536 +#: jumpserver/conf.py:539 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:32 #: users/templates/users/_msg_account_expire_reminder.html:4 @@ -3833,7 +3843,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 +#: users/forms/profile.py:108 users/templates/users/forgot_password.html:98 msgid "Verify code" msgstr "" @@ -3881,7 +3891,7 @@ msgstr "" msgid "Cancel" msgstr "" -#: authentication/templates/authentication/face_capture.html:44 +#: authentication/templates/authentication/face_capture.html:14 msgid "Retry" msgstr "" @@ -4521,16 +4531,16 @@ msgstr "" msgid "The mobile phone number format is incorrect" msgstr "" -#: jumpserver/conf.py:530 +#: jumpserver/conf.py:533 #, python-brace-format msgid "The verification code is: {code}" msgstr "" -#: jumpserver/conf.py:535 +#: jumpserver/conf.py:538 msgid "Create account successfully" msgstr "" -#: jumpserver/conf.py:537 +#: jumpserver/conf.py:540 msgid "Your account has been created successfully" msgstr "" @@ -4668,17 +4678,17 @@ msgstr "" msgid "Asset ({asset}) authorization lacks upload permissions" msgstr "" -#: ops/api/job.py:157 +#: ops/api/job.py:158 msgid "Duplicate file exists" msgstr "" -#: ops/api/job.py:162 +#: ops/api/job.py:163 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" msgstr "" -#: ops/api/job.py:235 +#: ops/api/job.py:236 msgid "" "The task is being created and cannot be interrupted. Please try again later." msgstr "" @@ -4748,7 +4758,7 @@ msgid "VCS" msgstr "" #: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 -#: settings/serializers/feature.py:145 +#: settings/serializers/feature.py:168 msgid "Adhoc" msgstr "" @@ -4959,7 +4969,7 @@ msgstr "" msgid "Run as policy" msgstr "" -#: ops/models/job.py:223 ops/models/variable.py:28 ops/serializers/job.py:98 +#: ops/models/job.py:223 ops/models/variable.py:28 ops/serializers/job.py:110 #: terminal/notifications.py:182 msgid "Job" msgstr "" @@ -5048,23 +5058,23 @@ msgstr "" msgid "Execute after saving" msgstr "Execute after saving" -#: ops/serializers/job.py:58 terminal/serializers/session.py:49 +#: ops/serializers/job.py:70 terminal/serializers/session.py:49 msgid "Duration" msgstr "" -#: ops/serializers/job.py:78 +#: ops/serializers/job.py:90 msgid "Job type" msgstr "" -#: ops/serializers/job.py:81 terminal/serializers/session.py:58 +#: ops/serializers/job.py:93 terminal/serializers/session.py:58 msgid "Is finished" msgstr "Finished" -#: ops/serializers/job.py:95 +#: ops/serializers/job.py:107 msgid "Task id" msgstr "" -#: ops/serializers/job.py:104 +#: ops/serializers/job.py:116 msgid "You do not have permission for the current job." msgstr "" @@ -5366,7 +5376,7 @@ msgid "today" msgstr "" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:136 +#: settings/serializers/feature.py:159 msgid "day" msgstr "" @@ -5396,7 +5406,7 @@ msgstr "" msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" msgstr "" -#: perms/serializers/permission.py:44 users/serializers/user.py:257 +#: perms/serializers/permission.py:44 users/serializers/user.py:262 msgid "Groups" msgstr "" @@ -5611,7 +5621,7 @@ msgstr "" msgid "App ops" msgstr "Ops" -#: rbac/tree.py:57 settings/serializers/feature.py:142 +#: rbac/tree.py:57 settings/serializers/feature.py:165 msgid "Feature" msgstr "" @@ -5634,7 +5644,7 @@ msgid "Appearance" msgstr "" #: rbac/tree.py:65 xpack/plugins/license/meta.py:10 -#: xpack/plugins/license/models.py:155 +#: xpack/plugins/license/models.py:152 msgid "License" msgstr "" @@ -5646,8 +5656,8 @@ msgstr "Organizations" msgid "Ticket comment" msgstr "" -#: rbac/tree.py:161 settings/serializers/feature.py:123 -#: settings/serializers/feature.py:125 tickets/models/ticket/general.py:308 +#: rbac/tree.py:161 settings/serializers/feature.py:146 +#: settings/serializers/feature.py:148 tickets/models/ticket/general.py:308 msgid "Ticket" msgstr "" @@ -5665,7 +5675,7 @@ msgstr "" #: settings/api/chat.py:79 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 -#: settings/api/vault.py:48 settings/api/wecom.py:37 +#: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "" @@ -6039,13 +6049,13 @@ msgstr "" msgid "Service provider" msgstr "" -#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:87 +#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:96 #: xpack/plugins/cloud/serializers/account_attrs.py:35 msgid "Client ID" msgstr "" #: settings/serializers/auth/oauth2.py:34 settings/serializers/auth/oidc.py:24 -#: settings/serializers/feature.py:90 +#: settings/serializers/feature.py:99 #: xpack/plugins/cloud/serializers/account_attrs.py:38 msgid "Client Secret" msgstr "" @@ -6281,7 +6291,7 @@ msgid "Template code" msgstr "" #: settings/serializers/auth/sms.py:40 users/models/user/__init__.py:83 -#: users/serializers/user.py:155 +#: users/serializers/user.py:159 msgid "Phone" msgstr "" @@ -6470,19 +6480,19 @@ msgstr "" msgid "Announcement" msgstr "" -#: settings/serializers/feature.py:47 settings/serializers/feature.py:50 +#: settings/serializers/feature.py:56 settings/serializers/feature.py:59 msgid "Vault" msgstr "" -#: settings/serializers/feature.py:53 +#: settings/serializers/feature.py:62 msgid "Vault provider" msgstr "" -#: settings/serializers/feature.py:57 +#: settings/serializers/feature.py:66 msgid "Record limit" msgstr "" -#: settings/serializers/feature.py:59 +#: settings/serializers/feature.py:68 msgid "" "If the specific value is less than 999 (default), the system will " "automatically perform a task every night: check and delete historical " @@ -6490,11 +6500,11 @@ msgid "" "exceeds 999 (default), no historical account deletion will be performed" msgstr "" -#: settings/serializers/feature.py:77 +#: settings/serializers/feature.py:86 msgid "Mount Point" msgstr "" -#: settings/serializers/feature.py:93 +#: settings/serializers/feature.py:102 #: xpack/plugins/cloud/serializers/account_attrs.py:41 msgid "Tenant ID" msgstr "" @@ -6503,70 +6513,70 @@ msgstr "" msgid "Chat AI" msgstr "" -#: settings/serializers/feature.py:107 +#: settings/serializers/feature.py:130 msgid "GPT Base URL" msgstr "" -#: settings/serializers/feature.py:108 +#: settings/serializers/feature.py:131 msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" msgstr "" -#: settings/serializers/feature.py:111 templates/_header_bar.html:96 +#: settings/serializers/feature.py:134 templates/_header_bar.html:96 msgid "API Key" msgstr "" -#: settings/serializers/feature.py:115 +#: settings/serializers/feature.py:138 msgid "" "The proxy server address of the GPT service. For example: http://ip:port" msgstr "" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:141 msgid "GPT Model" msgstr "" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:150 msgid "Approval without login" msgstr "" -#: settings/serializers/feature.py:128 +#: settings/serializers/feature.py:151 msgid "Allow direct approval ticket without login" msgstr "" -#: settings/serializers/feature.py:132 +#: settings/serializers/feature.py:155 msgid "Period" msgstr "" -#: settings/serializers/feature.py:133 +#: settings/serializers/feature.py:156 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "" -#: settings/serializers/feature.py:136 +#: settings/serializers/feature.py:159 msgid "hour" msgstr "" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:160 msgid "Unit" msgstr "" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:160 msgid "The unit of period" msgstr "" -#: settings/serializers/feature.py:146 +#: settings/serializers/feature.py:169 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "" -#: settings/serializers/feature.py:150 +#: settings/serializers/feature.py:173 msgid "Command blacklist" msgstr "" -#: settings/serializers/feature.py:151 +#: settings/serializers/feature.py:174 msgid "Command blacklist in Adhoc" msgstr "" -#: settings/serializers/feature.py:156 +#: settings/serializers/feature.py:179 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -6574,11 +6584,11 @@ msgstr "" msgid "Virtual app" msgstr "" -#: settings/serializers/feature.py:159 +#: settings/serializers/feature.py:182 msgid "Virtual App" msgstr "" -#: settings/serializers/feature.py:161 +#: settings/serializers/feature.py:184 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -6891,32 +6901,32 @@ msgstr "" msgid "Max online time (hour)" msgstr "" -#: settings/serializers/security.py:206 +#: settings/serializers/security.py:215 msgid "If session connection time more than it, disconnect connection." msgstr "" -#: settings/serializers/security.py:209 +#: settings/serializers/security.py:218 msgid "Remember manual auth" msgstr "" -#: settings/serializers/security.py:212 +#: settings/serializers/security.py:221 #: terminal/templates/terminal/_msg_session_sharing.html:10 msgid "Session share" msgstr "" -#: settings/serializers/security.py:213 +#: settings/serializers/security.py:222 msgid "Enabled, Allows user active session to be shared with other users" msgstr "" -#: settings/serializers/security.py:219 +#: settings/serializers/security.py:228 msgid "Insecure command alert" msgstr "" -#: settings/serializers/security.py:222 +#: settings/serializers/security.py:231 msgid "Email recipient" msgstr "" -#: settings/serializers/security.py:223 +#: settings/serializers/security.py:232 msgid "Multiple user using , split" msgstr "" @@ -7200,7 +7210,7 @@ msgstr "" msgid "Commercial support" msgstr "" -#: templates/_header_bar.html:85 users/forms/profile.py:43 +#: templates/_header_bar.html:85 users/forms/profile.py:44 msgid "Profile" msgstr "" @@ -7379,20 +7389,20 @@ msgstr "" msgid "Have online sessions" msgstr "" -#: terminal/api/session/session.py:48 +#: terminal/api/session/session.py:49 #, python-format msgid "User %s %s session %s replay" msgstr "" -#: terminal/api/session/session.py:326 +#: terminal/api/session/session.py:329 msgid "Session does not exist: {}" msgstr "" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:332 msgid "Session is finished or the protocol not supported" msgstr "" -#: terminal/api/session/session.py:342 +#: terminal/api/session/session.py:345 msgid "User does not have permission" msgstr "" @@ -8849,65 +8859,65 @@ msgstr "" msgid "Create failed. The number of SSH keys has reached the limit" msgstr "" -#: users/forms/profile.py:48 +#: users/forms/profile.py:49 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:59 +#: users/forms/profile.py:60 msgid "* Enable MFA to make the account more secure." msgstr "" -#: users/forms/profile.py:68 +#: users/forms/profile.py:69 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:82 users/serializers/preference/lina.py:21 +#: users/forms/profile.py:83 users/serializers/preference/lina.py:21 msgid "New password" msgstr "" -#: users/forms/profile.py:87 users/serializers/preference/lina.py:26 +#: users/forms/profile.py:88 users/serializers/preference/lina.py:26 msgid "Confirm password" msgstr "" -#: users/forms/profile.py:95 +#: users/forms/profile.py:96 msgid "Password does not match" msgstr "" -#: users/forms/profile.py:104 +#: users/forms/profile.py:105 msgid "The phone number must contain an area code, for example, +86" msgstr "" -#: users/forms/profile.py:120 +#: users/forms/profile.py:123 msgid "Old password" msgstr "" -#: users/forms/profile.py:130 +#: users/forms/profile.py:133 msgid "Old password error" msgstr "" -#: users/forms/profile.py:140 +#: users/forms/profile.py:143 msgid "Automatically configure and download the SSH key" msgstr "" -#: users/forms/profile.py:142 +#: users/forms/profile.py:145 msgid "ssh public key" msgstr "" -#: users/forms/profile.py:143 +#: users/forms/profile.py:146 msgid "ssh-rsa AAAA..." msgstr "" -#: users/forms/profile.py:144 +#: users/forms/profile.py:147 msgid "Paste your id_rsa.pub here." msgstr "" -#: users/forms/profile.py:157 +#: users/forms/profile.py:160 msgid "Public key should not be the same as your old one." msgstr "" @@ -8915,7 +8925,7 @@ msgstr "" msgid "Preference" msgstr "" -#: users/models/user/__init__.py:76 users/serializers/user.py:271 +#: users/models/user/__init__.py:76 users/serializers/user.py:276 msgid "Is service account" msgstr "Is service account" @@ -8932,7 +8942,7 @@ msgid "OTP secret key" msgstr "" #: users/models/user/__init__.py:99 users/serializers/profile.py:97 -#: users/serializers/user.py:268 +#: users/serializers/user.py:273 msgid "Is first login" msgstr "First login" @@ -9147,7 +9157,7 @@ msgstr "" msgid "Login blocked" msgstr "" -#: users/serializers/user.py:130 users/serializers/user.py:277 +#: users/serializers/user.py:130 users/serializers/user.py:282 msgid "Is OTP bound" msgstr "OTP bound" @@ -9167,51 +9177,51 @@ msgstr "Can public key authentication" msgid "Full name" msgstr "" -#: users/serializers/user.py:245 +#: users/serializers/user.py:250 msgid "Login username" msgstr "" -#: users/serializers/user.py:248 +#: users/serializers/user.py:253 msgid "Email address" msgstr "" -#: users/serializers/user.py:258 +#: users/serializers/user.py:263 msgid "User groups to join" msgstr "" -#: users/serializers/user.py:262 +#: users/serializers/user.py:267 msgid "" "User source identifies where the user was created, which could be AD or " "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -#: users/serializers/user.py:266 +#: users/serializers/user.py:271 msgid "Superuser" msgstr "" -#: users/serializers/user.py:272 +#: users/serializers/user.py:277 msgid "Is org admin" msgstr "Org admin" -#: users/serializers/user.py:274 +#: users/serializers/user.py:279 msgid "Avatar url" msgstr "" -#: users/serializers/user.py:279 +#: users/serializers/user.py:284 msgid "MFA level" msgstr "MFA" -#: users/serializers/user.py:280 +#: users/serializers/user.py:285 msgid "Multi-Factor Authentication" msgstr "" -#: users/serializers/user.py:426 +#: users/serializers/user.py:439 msgid "" "* For security, only a partial of users is displayed. You can search for more" msgstr "" -#: users/serializers/user.py:461 +#: users/serializers/user.py:474 msgid "name not unique" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index f2dcea43b..20743e5f1 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-11-19 18:55+0800\n" +"POT-Creation-Date: 2024-12-03 11:26+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,7 +36,7 @@ msgstr "アセットまたはアプリケーション関連のバックアップ #: accounts/automations/backup_account/handlers.py:156 #: accounts/automations/backup_account/handlers.py:295 -#: accounts/automations/backup_account/manager.py:40 ops/serializers/job.py:82 +#: accounts/automations/backup_account/manager.py:40 ops/serializers/job.py:94 #: settings/templates/ldap/_msg_import_ldap_user.html:7 msgid "Time cost" msgstr "時を過ごす" @@ -58,7 +58,7 @@ msgid "The backup file will be sent to" msgstr "バックアップファイルは送信されます" #: accounts/automations/backup_account/handlers.py:213 -#: users/forms/profile.py:75 +#: users/forms/profile.py:76 msgid "Finish" msgstr "仕上げ" @@ -131,8 +131,8 @@ msgstr ">>> ゲートウェイ接続のテストタスクを開始する" #: settings/serializers/auth/ldap.py:26 settings/serializers/auth/ldap.py:52 #: settings/serializers/auth/ldap_ha.py:34 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:28 terminal/serializers/storage.py:123 -#: terminal/serializers/storage.py:142 users/forms/profile.py:21 -#: users/serializers/user.py:144 +#: terminal/serializers/storage.py:142 users/forms/profile.py:22 +#: users/serializers/user.py:148 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -150,7 +150,7 @@ msgid "Access key" msgstr "アクセスキー" #: accounts/const/account.py:9 authentication/backends/passkey/models.py:16 -#: authentication/models/sso_token.py:14 settings/serializers/feature.py:74 +#: authentication/models/sso_token.py:14 settings/serializers/feature.py:83 msgid "Token" msgstr "トークン" @@ -298,8 +298,8 @@ msgstr "作成のみ" #: authentication/serializers/password_mfa.py:17 #: authentication/serializers/password_mfa.py:25 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 -#: settings/serializers/msg.py:61 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user/__init__.py:65 +#: settings/serializers/msg.py:61 users/forms/profile.py:101 +#: users/forms/profile.py:111 users/models/user/__init__.py:65 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -320,14 +320,24 @@ msgstr "未定" msgid "Database" msgstr "データベース" -#: accounts/const/vault.py:9 settings/serializers/feature.py:69 +#: accounts/const/vault.py:9 settings/serializers/feature.py:78 msgid "HCP Vault" msgstr "HashiCorp Vault" -#: accounts/const/vault.py:10 settings/serializers/feature.py:82 +#: accounts/const/vault.py:10 settings/serializers/feature.py:91 msgid "Azure Key Vault" msgstr "Azure Key Vault" +#: accounts/const/vault.py:11 settings/serializers/feature.py:107 +msgid "Amazon Secrets Manager" +msgstr "Amazon Secrets Manager" + +#: accounts/exceptions.py:7 +msgid "" +"Vault operation failed. Please retry or check your account information on " +"Vault." +msgstr "Vault 操作に失敗しました。再試行するか、Vault のアカウント情報を確認してください。" + #: accounts/mixins.py:35 msgid "Export all" msgstr "すべてエクスポート" @@ -511,7 +521,7 @@ msgstr "理由" #: accounts/models/automations/backup_account.py:136 #: accounts/serializers/automations/change_secret.py:117 #: accounts/serializers/automations/change_secret.py:152 -#: ops/serializers/job.py:80 terminal/serializers/session.py:54 +#: ops/serializers/job.py:92 terminal/serializers/session.py:54 msgid "Is success" msgstr "成功は" @@ -594,7 +604,7 @@ msgstr "終了日" #: accounts/models/automations/change_secret.py:44 #: assets/models/automations/base.py:113 #: assets/serializers/automations/base.py:39 audits/models.py:208 -#: audits/serializers.py:76 ops/models/base.py:49 ops/models/job.py:235 +#: audits/serializers.py:78 ops/models/base.py:49 ops/models/job.py:235 #: terminal/models/applet/applet.py:331 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 @@ -636,8 +646,8 @@ msgstr "最終ログイン日" #: 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:31 -#: users/forms/profile.py:114 users/models/user/__init__.py:63 +#: terminal/serializers/storage.py:136 users/forms/profile.py:32 +#: users/forms/profile.py:117 users/models/user/__init__.py:63 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -666,7 +676,7 @@ msgstr "トリガー方式" #: accounts/models/automations/push_account.py:16 acls/models/base.py:41 #: acls/serializers/base.py:57 assets/models/cmd_filter.py:81 -#: audits/models.py:92 audits/serializers.py:106 +#: audits/models.py:92 audits/serializers.py:108 #: authentication/serializers/connect_token_secret.py:119 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:52 perms/serializers/permission.py:74 @@ -735,7 +745,7 @@ 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:32 users/models/group.py:13 +#: users/forms/profile.py:33 users/models/group.py:13 #: users/models/preference.py:11 users/models/user/__init__.py:64 #: xpack/plugins/cloud/models.py:34 xpack/plugins/cloud/models.py:310 #: xpack/plugins/cloud/serializers/task.py:75 @@ -750,7 +760,7 @@ msgstr "特権アカウント" #: assets/models/cmd_filter.py:39 assets/models/label.py:22 #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:41 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:269 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:274 msgid "Is active" msgstr "アクティブです。" @@ -887,8 +897,8 @@ msgstr "カテゴリ" #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:96 #: assets/serializers/asset/common.py:146 assets/serializers/platform.py:159 -#: assets/serializers/platform.py:171 audits/serializers.py:75 -#: audits/serializers.py:192 +#: assets/serializers/platform.py:171 audits/serializers.py:77 +#: audits/serializers.py:194 #: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:153 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 #: terminal/models/component/storage.py:58 @@ -961,7 +971,7 @@ msgstr "ID" #: acls/templates/acls/user_login_reminder.html:8 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 #: audits/models.py:90 audits/models.py:172 audits/models.py:271 -#: audits/serializers.py:193 authentication/models/connection_token.py:32 +#: audits/serializers.py:195 authentication/models/connection_token.py:32 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 @@ -1141,17 +1151,17 @@ msgstr "" msgid "Automation task execution" msgstr "自動タスク実行履歴" -#: accounts/signal_handlers.py:48 +#: accounts/signal_handlers.py:52 #, python-format msgid "Push related accounts to assets: %s, by system" msgstr "関連するアカウントをアセットにプッシュ: %s, by system" -#: accounts/signal_handlers.py:57 +#: accounts/signal_handlers.py:61 #, python-format msgid "Add account: %s" msgstr "アカウントを追加: %s" -#: accounts/signal_handlers.py:59 +#: accounts/signal_handlers.py:63 #, python-format msgid "Delete account: %s" msgstr "アカウントを削除: %s" @@ -1288,11 +1298,11 @@ msgstr "" "コントロールパネル-アカウントテンプレート-アカウント-同期アカウント情報更新を" "クリックして同期すると、このタスクが実行されます" -#: accounts/tasks/vault.py:32 +#: accounts/tasks/vault.py:33 msgid "Sync secret to vault" msgstr "秘密をVaultに同期する" -#: accounts/tasks/vault.py:34 +#: accounts/tasks/vault.py:35 msgid "" "When clicking 'Sync' in 'System Settings - Features - Account Storage' this " "task will be executed" @@ -1414,7 +1424,7 @@ msgstr "アクティブ" #: acls/models/base.py:81 perms/serializers/permission.py:42 #: tickets/models/flow.py:23 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:424 +#: users/serializers/group.py:21 users/serializers/user.py:437 msgid "Users" msgstr "ユーザー" @@ -1426,7 +1436,7 @@ msgid "Accounts" msgstr "アカウント" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 -#: audits/serializers.py:38 ops/serializers/job.py:79 terminal/const.py:88 +#: audits/serializers.py:38 ops/serializers/job.py:91 terminal/const.py:88 #: 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 @@ -1616,7 +1626,7 @@ msgid "Login city" msgstr "ログイン都市" #: acls/templates/acls/user_login_reminder.html:11 audits/models.py:197 -#: audits/models.py:266 audits/serializers.py:90 +#: audits/models.py:266 audits/serializers.py:92 msgid "User agent" msgstr "ユーザーエージェント" @@ -1752,7 +1762,7 @@ msgstr "脚本" #: assets/const/category.py:10 assets/models/asset/host.py:8 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:76 -#: settings/serializers/feature.py:71 settings/serializers/feature.py:84 +#: settings/serializers/feature.py:80 settings/serializers/feature.py:93 #: settings/serializers/msg.py:30 terminal/models/component/endpoint.py:14 #: terminal/serializers/applet.py:17 xpack/plugins/cloud/manager.py:89 #: xpack/plugins/cloud/serializers/account_attrs.py:72 @@ -1858,7 +1868,7 @@ msgid "Any" msgstr "任意" #: assets/const/protocol.py:88 rbac/tree.py:62 -#: settings/serializers/security.py:232 +#: settings/serializers/security.py:241 msgid "Security" msgstr "セキュリティ" @@ -2066,7 +2076,7 @@ msgstr "証明書チェックを無視" msgid "Postgresql SSL mode" msgstr "PostgreSQL SSL モード" -#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:114 +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:137 msgid "Proxy" msgstr "プロキシー" @@ -2823,7 +2833,7 @@ msgstr "Symlink" #: audits/const.py:18 audits/const.py:28 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:153 +#: terminal/api/session/session.py:154 msgid "Download" msgstr "ダウンロード" @@ -2831,7 +2841,7 @@ msgstr "ダウンロード" msgid "Rename dir" msgstr "マップディレクトリ" -#: audits/const.py:23 rbac/tree.py:268 terminal/api/session/session.py:281 +#: audits/const.py:23 rbac/tree.py:268 terminal/api/session/session.py:284 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:90 @@ -2916,7 +2926,7 @@ msgstr "是" msgid "No" msgstr "否" -#: audits/models.py:47 rbac/tree.py:67 +#: audits/models.py:47 msgid "Job audit log" msgstr "業務監査" @@ -2925,7 +2935,7 @@ msgstr "業務監査" msgid "Remote addr" msgstr "リモートaddr" -#: audits/models.py:61 audits/serializers.py:60 +#: audits/models.py:61 audits/serializers.py:62 msgid "Operate" msgstr "操作" @@ -2950,12 +2960,12 @@ msgstr "セッション" msgid "File transfer log" msgstr "ファイル転送ログ" -#: audits/models.py:94 audits/serializers.py:108 +#: audits/models.py:94 audits/serializers.py:110 msgid "Resource Type" msgstr "リソースタイプ" #: audits/models.py:95 audits/models.py:98 audits/models.py:144 -#: audits/serializers.py:107 labels/serializers.py:46 +#: audits/serializers.py:109 labels/serializers.py:46 msgid "Resource" msgstr "リソース" @@ -2997,9 +3007,9 @@ msgstr "ログインタイプ" msgid "Login IP" msgstr "ログインIP" -#: audits/models.py:200 audits/serializers.py:74 +#: audits/models.py:200 audits/serializers.py:76 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:63 users/models/user/__init__.py:86 +#: users/forms/profile.py:64 users/models/user/__init__.py:86 #: users/serializers/profile.py:70 msgid "MFA" msgstr "MFA" @@ -3050,20 +3060,20 @@ msgstr "Summary" msgid "Execution cycle" msgstr "ジョブ実行" -#: audits/serializers.py:91 +#: audits/serializers.py:93 msgid "Reason display" msgstr "理由表示" -#: audits/serializers.py:92 audits/serializers.py:206 +#: audits/serializers.py:94 audits/serializers.py:208 msgid "Auth backend display" msgstr "検証方法" -#: audits/serializers.py:156 +#: audits/serializers.py:158 #, python-format msgid "%s %s this resource" msgstr "ユーザー %s %s が現在のリソースをサブスクライブしました。" -#: audits/serializers.py:194 authentication/models/connection_token.py:47 +#: audits/serializers.py:196 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/__init__.py:105 @@ -3212,16 +3222,16 @@ msgstr "ACL アクションはレビューです" msgid "Current user not support mfa type: {}" msgstr "現在のユーザーはmfaタイプをサポートしていません: {}" -#: authentication/api/password.py:33 terminal/api/session/session.py:334 +#: authentication/api/password.py:34 terminal/api/session/session.py:337 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "ユーザーが存在しない: {}" -#: authentication/api/password.py:33 users/views/profile/reset.py:166 +#: authentication/api/password.py:34 users/views/profile/reset.py:166 msgid "No user matched" msgstr "ユーザーにマッチしなかった" -#: authentication/api/password.py:37 +#: authentication/api/password.py:38 msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -3229,7 +3239,7 @@ msgstr "" "ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ" "さい。" -#: authentication/api/password.py:65 +#: authentication/api/password.py:69 #: authentication/templates/authentication/login.html:393 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 @@ -3243,7 +3253,7 @@ msgid "App Authentication" msgstr "認証" #: authentication/backends/custom.py:59 -#: authentication/backends/oauth2/backends.py:173 +#: authentication/backends/oauth2/backends.py:158 msgid "User invalid, disabled or expired" msgstr "ユーザーが無効、無効、または期限切れです" @@ -3477,15 +3487,15 @@ msgstr "パスワードが無効です" msgid "Please wait for %s seconds before retry" msgstr "%s 秒後に再試行してください" -#: authentication/errors/redirect.py:85 authentication/mixins.py:365 +#: authentication/errors/redirect.py:85 authentication/mixins.py:373 msgid "Your password is too simple, please change it for security" msgstr "パスワードがシンプルすぎるので、セキュリティのために変更してください" -#: authentication/errors/redirect.py:93 authentication/mixins.py:374 +#: authentication/errors/redirect.py:93 authentication/mixins.py:382 msgid "You should to change your password before login" msgstr "ログインする前にパスワードを変更する必要があります" -#: authentication/errors/redirect.py:101 authentication/mixins.py:383 +#: authentication/errors/redirect.py:101 authentication/mixins.py:391 msgid "Your password has expired, please reset before logging in" msgstr "" "パスワードの有効期限が切れました。ログインする前にリセットしてください。" @@ -3507,7 +3517,7 @@ msgstr "MFAタイプ" msgid "Captcha" msgstr "キャプチャ" -#: authentication/forms.py:66 users/forms/profile.py:27 +#: authentication/forms.py:66 users/forms/profile.py:28 msgid "MFA code" msgstr "MFAコード" @@ -3532,11 +3542,11 @@ msgid "MFA custom global enabled, cannot disable" msgstr "" "カスタム MFA はグローバルに有効になっており、無効にすることはできません" -#: authentication/mfa/face.py:13 +#: authentication/mfa/face.py:11 msgid "Face Recognition" msgstr "顔認証" -#: authentication/mfa/face.py:23 authentication/mfa/face.py:25 +#: authentication/mfa/face.py:21 authentication/mfa/face.py:23 msgid "Facial comparison failed" msgstr "顔認証の照合に失敗" @@ -3572,28 +3582,28 @@ msgstr "半径確認コード" msgid "Radius global enabled, cannot disable" msgstr "Radius globalが有効になり、無効にできません" -#: authentication/mfa/sms.py:7 +#: authentication/mfa/sms.py:8 msgid "SMS verify code invalid" msgstr "メッセージ検証コードが無効" -#: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:17 +#: authentication/mfa/sms.py:13 authentication/serializers/password_mfa.py:17 #: authentication/serializers/password_mfa.py:25 #: settings/serializers/auth/sms.py:18 settings/serializers/auth/sms.py:36 -#: users/forms/profile.py:103 users/forms/profile.py:108 +#: users/forms/profile.py:104 users/forms/profile.py:111 #: users/templates/users/forgot_password.html:157 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "メッセージ" -#: authentication/mfa/sms.py:13 +#: authentication/mfa/sms.py:14 msgid "SMS verification code" msgstr "SMS確認コード" -#: authentication/mfa/sms.py:57 +#: authentication/mfa/sms.py:63 msgid "Set phone number to enable" msgstr "電話番号を設定して有効にする" -#: authentication/mfa/sms.py:61 +#: authentication/mfa/sms.py:67 msgid "Clear phone number to disable" msgstr "無効にする電話番号をクリアする" @@ -3613,11 +3623,11 @@ msgstr "" "管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユー" "ザーソースは {} です。管理者に連絡してください。" -#: authentication/mixins.py:311 +#: authentication/mixins.py:319 msgid "The MFA type ({}) is not enabled" msgstr "MFAタイプ ({}) が有効になっていない" -#: authentication/mixins.py:353 +#: authentication/mixins.py:361 msgid "Please change your password" msgstr "パスワードを変更してください" @@ -3718,7 +3728,7 @@ msgid "Private key" msgstr "ssh秘密鍵" #: authentication/models/ssh_key.py:18 settings/serializers/terminal.py:34 -#: users/forms/profile.py:172 users/models/user/__init__.py:96 +#: users/forms/profile.py:175 users/models/user/__init__.py:96 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "公開キー" @@ -3797,7 +3807,7 @@ msgstr "アクション" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:54 perms/serializers/permission.py:75 -#: users/serializers/user.py:127 users/serializers/user.py:273 +#: users/serializers/user.py:127 users/serializers/user.py:278 msgid "Is expired" msgstr "期限切れです" @@ -3831,7 +3841,7 @@ msgstr "" "作成完了後、秘密鍵をダウンロードしてください。各秘密鍵のダウンロードは一度き" "りです" -#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:161 +#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 #: users/serializers/profile.py:133 users/serializers/profile.py:160 msgid "Not a valid ssh public key" msgstr "有効なssh公開鍵ではありません" @@ -3842,7 +3852,7 @@ msgstr "Access IP" #: authentication/serializers/token.py:92 perms/serializers/permission.py:53 #: perms/serializers/permission.py:76 users/serializers/user.py:128 -#: users/serializers/user.py:270 +#: users/serializers/user.py:275 msgid "Is valid" msgstr "有効です" @@ -3917,7 +3927,7 @@ msgstr "コードエラー" #: authentication/templates/authentication/_msg_oauth_bind.html:3 #: authentication/templates/authentication/_msg_reset_password.html:3 #: authentication/templates/authentication/_msg_reset_password_code.html:9 -#: jumpserver/conf.py:536 +#: jumpserver/conf.py:539 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:32 #: users/templates/users/_msg_account_expire_reminder.html:4 @@ -3971,7 +3981,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 +#: users/forms/profile.py:108 users/templates/users/forgot_password.html:98 msgid "Verify code" msgstr "コードの確認" @@ -4023,7 +4033,7 @@ msgstr "" msgid "Cancel" msgstr "キャンセル" -#: authentication/templates/authentication/face_capture.html:44 +#: authentication/templates/authentication/face_capture.html:14 msgid "Retry" msgstr "再試行" @@ -4692,16 +4702,16 @@ msgstr "特殊文字を含むべきではない" msgid "The mobile phone number format is incorrect" msgstr "携帯電話番号の形式が正しくありません" -#: jumpserver/conf.py:530 +#: jumpserver/conf.py:533 #, python-brace-format msgid "The verification code is: {code}" msgstr "認証コードは: {code}" -#: jumpserver/conf.py:535 +#: jumpserver/conf.py:538 msgid "Create account successfully" msgstr "アカウントを正常に作成" -#: jumpserver/conf.py:537 +#: jumpserver/conf.py:540 msgid "Your account has been created successfully" msgstr "アカウントが正常に作成されました" @@ -4852,11 +4862,11 @@ msgstr "" msgid "Asset ({asset}) authorization lacks upload permissions" msgstr "資産({asset})の認証にはアップロード権限が不足しています" -#: ops/api/job.py:157 +#: ops/api/job.py:158 msgid "Duplicate file exists" msgstr "重複したファイルが存在する" -#: ops/api/job.py:162 +#: ops/api/job.py:163 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" @@ -4864,7 +4874,7 @@ msgstr "" "ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択し" "てください。" -#: ops/api/job.py:235 +#: ops/api/job.py:236 msgid "" "The task is being created and cannot be interrupted. Please try again later." msgstr "タスクを作成中で、中断できません。後でもう一度お試しください。" @@ -4934,7 +4944,7 @@ msgid "VCS" msgstr "VCS" #: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 -#: settings/serializers/feature.py:145 +#: settings/serializers/feature.py:168 msgid "Adhoc" msgstr "コマンド" @@ -5143,7 +5153,7 @@ msgstr "実行アカウント (じっこうアカウント)" msgid "Run as policy" msgstr "アカウントポリシー " -#: ops/models/job.py:223 ops/models/variable.py:28 ops/serializers/job.py:98 +#: ops/models/job.py:223 ops/models/variable.py:28 ops/serializers/job.py:110 #: terminal/notifications.py:182 msgid "Job" msgstr "ジョブ#ジョブ#" @@ -5234,23 +5244,23 @@ msgstr "最後の実行" msgid "Execute after saving" msgstr "保存後に実行" -#: ops/serializers/job.py:58 terminal/serializers/session.py:49 +#: ops/serializers/job.py:70 terminal/serializers/session.py:49 msgid "Duration" msgstr "きかん" -#: ops/serializers/job.py:78 +#: ops/serializers/job.py:90 msgid "Job type" msgstr "タスクの種類" -#: ops/serializers/job.py:81 terminal/serializers/session.py:58 +#: ops/serializers/job.py:93 terminal/serializers/session.py:58 msgid "Is finished" msgstr "終了しました" -#: ops/serializers/job.py:95 +#: ops/serializers/job.py:107 msgid "Task id" msgstr "タスク ID" -#: ops/serializers/job.py:104 +#: ops/serializers/job.py:116 msgid "You do not have permission for the current job." msgstr "あなたは現在のジョブの権限を持っていません。" @@ -5570,7 +5580,7 @@ msgid "today" msgstr "今日" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:136 +#: settings/serializers/feature.py:159 msgid "day" msgstr "日" @@ -5602,7 +5612,7 @@ msgstr "" msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" msgstr "プロトコル、形式は [\"ssh\", \"rdp\", \"vnc\"] または [\"all\"]" -#: perms/serializers/permission.py:44 users/serializers/user.py:257 +#: perms/serializers/permission.py:44 users/serializers/user.py:262 msgid "Groups" msgstr "ユーザーグループ" @@ -5827,7 +5837,7 @@ msgstr "アカウントの秘密の変更" msgid "App ops" msgstr "アプリ操作" -#: rbac/tree.py:57 settings/serializers/feature.py:142 +#: rbac/tree.py:57 settings/serializers/feature.py:165 msgid "Feature" msgstr "機能" @@ -5850,7 +5860,7 @@ msgid "Appearance" msgstr "外見" #: rbac/tree.py:65 xpack/plugins/license/meta.py:10 -#: xpack/plugins/license/models.py:155 +#: xpack/plugins/license/models.py:152 msgid "License" msgstr "ライセンス" @@ -5862,8 +5872,8 @@ msgstr "アプリ組織" msgid "Ticket comment" msgstr "チケットコメント" -#: rbac/tree.py:161 settings/serializers/feature.py:123 -#: settings/serializers/feature.py:125 tickets/models/ticket/general.py:308 +#: rbac/tree.py:161 settings/serializers/feature.py:146 +#: settings/serializers/feature.py:148 tickets/models/ticket/general.py:308 msgid "Ticket" msgstr "チケット" @@ -5881,7 +5891,7 @@ msgstr "チャットAIがオンになっていない" #: settings/api/chat.py:79 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 -#: settings/api/vault.py:48 settings/api/wecom.py:37 +#: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "テストの成功" @@ -6283,13 +6293,13 @@ msgstr "アイコン" msgid "Service provider" msgstr "サービスプロバイダー" -#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:87 +#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:96 #: xpack/plugins/cloud/serializers/account_attrs.py:35 msgid "Client ID" msgstr "クライアントID" #: settings/serializers/auth/oauth2.py:34 settings/serializers/auth/oidc.py:24 -#: settings/serializers/feature.py:90 +#: settings/serializers/feature.py:99 #: xpack/plugins/cloud/serializers/account_attrs.py:38 msgid "Client Secret" msgstr "クライアント秘密" @@ -6540,7 +6550,7 @@ msgid "Template code" msgstr "テンプレートコード" #: settings/serializers/auth/sms.py:40 users/models/user/__init__.py:83 -#: users/serializers/user.py:155 +#: users/serializers/user.py:159 msgid "Phone" msgstr "電話" @@ -6742,19 +6752,19 @@ msgstr "終了日" msgid "Announcement" msgstr "発表" -#: settings/serializers/feature.py:47 settings/serializers/feature.py:50 +#: settings/serializers/feature.py:56 settings/serializers/feature.py:59 msgid "Vault" msgstr "有効化 Vault" -#: settings/serializers/feature.py:53 +#: settings/serializers/feature.py:62 msgid "Vault provider" msgstr "プロバイダー" -#: settings/serializers/feature.py:57 +#: settings/serializers/feature.py:66 msgid "Record limit" msgstr "記録制限" -#: settings/serializers/feature.py:59 +#: settings/serializers/feature.py:68 msgid "" "If the specific value is less than 999 (default), the system will " "automatically perform a task every night: check and delete historical " @@ -6765,11 +6775,11 @@ msgstr "" "所定の数を超える履歴アカウントを確認して削除します。 値が 999 以上の場合、履" "歴アカウントの削除は実行されません。" -#: settings/serializers/feature.py:77 +#: settings/serializers/feature.py:86 msgid "Mount Point" msgstr "マウントポイント" -#: settings/serializers/feature.py:93 +#: settings/serializers/feature.py:102 #: xpack/plugins/cloud/serializers/account_attrs.py:41 msgid "Tenant ID" msgstr "テナントID" @@ -6778,72 +6788,72 @@ msgstr "テナントID" msgid "Chat AI" msgstr "チャットAI" -#: settings/serializers/feature.py:107 +#: settings/serializers/feature.py:130 msgid "GPT Base URL" msgstr "GPTアドレス" -#: settings/serializers/feature.py:108 +#: settings/serializers/feature.py:131 msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" msgstr "GPTサービスの基本のURL。例えば:https://api.openai.com/v1" -#: settings/serializers/feature.py:111 templates/_header_bar.html:96 +#: settings/serializers/feature.py:134 templates/_header_bar.html:96 msgid "API Key" msgstr "API Key" -#: settings/serializers/feature.py:115 +#: settings/serializers/feature.py:138 msgid "" "The proxy server address of the GPT service. For example: http://ip:port" msgstr "GPTサービスのプロキシサーバーのアドレス。例えば:http://ip:port" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:141 msgid "GPT Model" msgstr "GPTモデル" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:150 msgid "Approval without login" msgstr "ログイン承認なし" -#: settings/serializers/feature.py:128 +#: settings/serializers/feature.py:151 msgid "Allow direct approval ticket without login" msgstr "ログインせずに直接承認チケットを許可します" -#: settings/serializers/feature.py:132 +#: settings/serializers/feature.py:155 msgid "Period" msgstr "期間" -#: settings/serializers/feature.py:133 +#: settings/serializers/feature.py:156 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "ワークオーダーの資産申請に対するデフォルトの承認時間帯" -#: settings/serializers/feature.py:136 +#: settings/serializers/feature.py:159 msgid "hour" msgstr "時" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:160 msgid "Unit" msgstr "単位" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:160 msgid "The unit of period" msgstr "ユーザーの実行" -#: settings/serializers/feature.py:146 +#: settings/serializers/feature.py:169 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "" "ユーザーがワークベンチ - ジョブセンター - Adhocでバッチコマンドを実行すること" "を許可します" -#: settings/serializers/feature.py:150 +#: settings/serializers/feature.py:173 msgid "Command blacklist" msgstr "コマンドフィルタリング" -#: settings/serializers/feature.py:151 +#: settings/serializers/feature.py:174 msgid "Command blacklist in Adhoc" msgstr "コマンドフィルタリング" -#: settings/serializers/feature.py:156 +#: settings/serializers/feature.py:179 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -6851,11 +6861,11 @@ msgstr "コマンドフィルタリング" msgid "Virtual app" msgstr "仮想アプリケーション" -#: settings/serializers/feature.py:159 +#: settings/serializers/feature.py:182 msgid "Virtual App" msgstr "仮想アプリケーション" -#: settings/serializers/feature.py:161 +#: settings/serializers/feature.py:184 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -7209,33 +7219,33 @@ msgstr "ユーザーがブラウザを閉じたときにセッションを期限 msgid "Max online time (hour)" msgstr "接続最大アイドル時間(分)" -#: settings/serializers/security.py:206 +#: settings/serializers/security.py:215 msgid "If session connection time more than it, disconnect connection." msgstr "セッション接続時間がこれを超えると、接続が切断されます" -#: settings/serializers/security.py:209 +#: settings/serializers/security.py:218 msgid "Remember manual auth" msgstr "手動入力パスワードの保存" -#: settings/serializers/security.py:212 +#: settings/serializers/security.py:221 #: terminal/templates/terminal/_msg_session_sharing.html:10 msgid "Session share" msgstr "セッション共有" -#: settings/serializers/security.py:213 +#: settings/serializers/security.py:222 msgid "Enabled, Allows user active session to be shared with other users" msgstr "" "ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" -#: settings/serializers/security.py:219 +#: settings/serializers/security.py:228 msgid "Insecure command alert" msgstr "安全でないコマンドアラート" -#: settings/serializers/security.py:222 +#: settings/serializers/security.py:231 msgid "Email recipient" msgstr "メール受信者" -#: settings/serializers/security.py:223 +#: settings/serializers/security.py:232 msgid "Multiple user using , split" msgstr "複数のユーザーを使用して、分割" @@ -7549,7 +7559,7 @@ msgstr "ドキュメント" msgid "Commercial support" msgstr "商用サポート" -#: templates/_header_bar.html:85 users/forms/profile.py:43 +#: templates/_header_bar.html:85 users/forms/profile.py:44 msgid "Profile" msgstr "プロフィール" @@ -7754,20 +7764,20 @@ msgstr "テストに失敗しました:構成を確認してください" msgid "Have online sessions" msgstr "オンラインセッションを持つ" -#: terminal/api/session/session.py:48 +#: terminal/api/session/session.py:49 #, python-format msgid "User %s %s session %s replay" msgstr "ユーザー%s %sこのセッション %s の録画です" -#: terminal/api/session/session.py:326 +#: terminal/api/session/session.py:329 msgid "Session does not exist: {}" msgstr "セッションが存在しません: {}" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:332 msgid "Session is finished or the protocol not supported" msgstr "セッションが終了したか、プロトコルがサポートされていません" -#: terminal/api/session/session.py:342 +#: terminal/api/session/session.py:345 msgid "User does not have permission" msgstr "ユーザーに権限がありません" @@ -9280,7 +9290,7 @@ msgstr "すべてのユーザーを削除できません" msgid "Create failed. The number of SSH keys has reached the limit" msgstr "作成に失敗しました。SSHキーの数が上限に達しました" -#: users/forms/profile.py:48 +#: users/forms/profile.py:49 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 " @@ -9289,11 +9299,11 @@ msgstr "" "有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入りま" "す。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" -#: users/forms/profile.py:59 +#: users/forms/profile.py:60 msgid "* Enable MFA to make the account more secure." msgstr "* アカウントをより安全にするためにMFAを有効にします。" -#: users/forms/profile.py:68 +#: users/forms/profile.py:69 msgid "" "In order to protect you and your company, please keep your account, password " "and key sensitive information properly. (for example: setting complex " @@ -9302,47 +9312,47 @@ msgstr "" "あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報" "を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" -#: users/forms/profile.py:82 users/serializers/preference/lina.py:21 +#: users/forms/profile.py:83 users/serializers/preference/lina.py:21 msgid "New password" msgstr "新しいパスワード" -#: users/forms/profile.py:87 users/serializers/preference/lina.py:26 +#: users/forms/profile.py:88 users/serializers/preference/lina.py:26 msgid "Confirm password" msgstr "パスワードの確認" -#: users/forms/profile.py:95 +#: users/forms/profile.py:96 msgid "Password does not match" msgstr "パスワードが一致しない" -#: users/forms/profile.py:104 +#: users/forms/profile.py:105 msgid "The phone number must contain an area code, for example, +86" msgstr "電話番号には市外局番が必要です例えば「+86」" -#: users/forms/profile.py:120 +#: users/forms/profile.py:123 msgid "Old password" msgstr "古いパスワード" -#: users/forms/profile.py:130 +#: users/forms/profile.py:133 msgid "Old password error" msgstr "古いパスワードエラー" -#: users/forms/profile.py:140 +#: users/forms/profile.py:143 msgid "Automatically configure and download the SSH key" msgstr "SSHキーの自動設定とダウンロード" -#: users/forms/profile.py:142 +#: users/forms/profile.py:145 msgid "ssh public key" msgstr "ssh公開キー" -#: users/forms/profile.py:143 +#: users/forms/profile.py:146 msgid "ssh-rsa AAAA..." msgstr "ssh-rsa AAAA.." -#: users/forms/profile.py:144 +#: users/forms/profile.py:147 msgid "Paste your id_rsa.pub here." msgstr "ここにid_rsa.pubを貼り付けます。" -#: users/forms/profile.py:157 +#: users/forms/profile.py:160 msgid "Public key should not be the same as your old one." msgstr "公開鍵は古いものと同じであってはなりません。" @@ -9350,7 +9360,7 @@ msgstr "公開鍵は古いものと同じであってはなりません。" msgid "Preference" msgstr "ユーザー設定" -#: users/models/user/__init__.py:76 users/serializers/user.py:271 +#: users/models/user/__init__.py:76 users/serializers/user.py:276 msgid "Is service account" msgstr "サービスアカウントです" @@ -9369,7 +9379,7 @@ msgstr "OTP 秘密" # msgid "Private key" # msgstr "ssh秘密鍵" #: users/models/user/__init__.py:99 users/serializers/profile.py:97 -#: users/serializers/user.py:268 +#: users/serializers/user.py:273 msgid "Is first login" msgstr "最初のログインです" @@ -9599,7 +9609,7 @@ msgstr "MFAフォース有効化" msgid "Login blocked" msgstr "ログインがロックされました" -#: users/serializers/user.py:130 users/serializers/user.py:277 +#: users/serializers/user.py:130 users/serializers/user.py:282 msgid "Is OTP bound" msgstr "仮想MFAがバインドされているか" @@ -9619,19 +9629,19 @@ msgstr "公開鍵認証が可能" msgid "Full name" msgstr "フルバリュー" -#: users/serializers/user.py:245 +#: users/serializers/user.py:250 msgid "Login username" msgstr "ログインユーザー" -#: users/serializers/user.py:248 +#: users/serializers/user.py:253 msgid "Email address" msgstr "無効なアドレス。" -#: users/serializers/user.py:258 +#: users/serializers/user.py:263 msgid "User groups to join" msgstr "ユーザーグループの数" -#: users/serializers/user.py:262 +#: users/serializers/user.py:267 msgid "" "User source identifies where the user was created, which could be AD or " "other sources.There are security settings that can restrict users to log in " @@ -9641,34 +9651,34 @@ msgstr "" "セキュリティ設定で特定のソースからしかシステムにログインできないようにユーザ" "を制限することができます。" -#: users/serializers/user.py:266 +#: users/serializers/user.py:271 msgid "Superuser" msgstr "システムユーザー" -#: users/serializers/user.py:272 +#: users/serializers/user.py:277 msgid "Is org admin" msgstr "組織管理者です" -#: users/serializers/user.py:274 +#: users/serializers/user.py:279 msgid "Avatar url" msgstr "アバターURL" -#: users/serializers/user.py:279 +#: users/serializers/user.py:284 msgid "MFA level" msgstr "MFA レベル" -#: users/serializers/user.py:280 +#: users/serializers/user.py:285 msgid "Multi-Factor Authentication" msgstr "認証" -#: users/serializers/user.py:426 +#: users/serializers/user.py:439 msgid "" "* For security, only a partial of users is displayed. You can search for more" msgstr "" "* あなたの安全のために、一部のユーザーのみを表示します。より多くのユーザーを" "検索することができます" -#: users/serializers/user.py:461 +#: users/serializers/user.py:474 msgid "name not unique" msgstr "名前が一意ではない" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 2d1ab1d7e..2707fcba6 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-11-25 14:58+0800\n" +"POT-Creation-Date: 2024-12-03 11:26+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -131,7 +131,7 @@ msgstr ">>> 开始执行测试网关账号可连接性任务" #: settings/serializers/auth/ldap_ha.py:34 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:28 terminal/serializers/storage.py:123 #: terminal/serializers/storage.py:142 users/forms/profile.py:22 -#: users/serializers/user.py:144 +#: users/serializers/user.py:148 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -327,6 +327,16 @@ msgstr "HashiCorp Vault" msgid "Azure Key Vault" msgstr "Azure Key Vault" +#: accounts/const/vault.py:11 settings/serializers/feature.py:107 +msgid "Amazon Secrets Manager" +msgstr "Amazon Secrets Manager" + +#: accounts/exceptions.py:7 +msgid "" +"Vault operation failed. Please retry or check your account information on " +"Vault." +msgstr "Vault 操作失败,请重试,或者检查 Vault 上的账号信息。" + #: accounts/mixins.py:35 msgid "Export all" msgstr "导出所有" @@ -749,7 +759,7 @@ msgstr "特权账号" #: assets/models/cmd_filter.py:39 assets/models/label.py:22 #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:41 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:269 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:274 msgid "Is active" msgstr "激活" @@ -1136,17 +1146,17 @@ msgstr "参数设置,目前只对 AIX LINUX UNIX 类型的资产有效。" msgid "Automation task execution" msgstr "自动化任务执行历史" -#: accounts/signal_handlers.py:51 +#: accounts/signal_handlers.py:52 #, python-format msgid "Push related accounts to assets: %s, by system" msgstr "推送账号到资产: %s, 由系统执行" -#: accounts/signal_handlers.py:60 +#: accounts/signal_handlers.py:61 #, python-format msgid "Add account: %s" msgstr "添加账号: %s" -#: accounts/signal_handlers.py:62 +#: accounts/signal_handlers.py:63 #, python-format msgid "Delete account: %s" msgstr "删除账号: %s" @@ -1388,7 +1398,7 @@ msgstr "激活中" #: acls/models/base.py:81 perms/serializers/permission.py:42 #: tickets/models/flow.py:23 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:432 +#: users/serializers/group.py:21 users/serializers/user.py:437 msgid "Users" msgstr "用户" @@ -1415,7 +1425,7 @@ msgstr "正则表达式" #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 #: settings/models.py:185 settings/serializers/feature.py:21 -#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:31 +#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:30 msgid "Content" msgstr "内容" @@ -2031,7 +2041,7 @@ msgstr "忽略证书校验" msgid "Postgresql SSL mode" msgstr "PostgreSQL SSL 模式" -#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:123 +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:137 msgid "Proxy" msgstr "代理" @@ -3179,7 +3189,7 @@ msgid "App Authentication" msgstr "认证管理" #: authentication/backends/custom.py:59 -#: authentication/backends/oauth2/backends.py:173 +#: authentication/backends/oauth2/backends.py:158 msgid "User invalid, disabled or expired" msgstr "用户无效,已禁用或已过期" @@ -3457,11 +3467,11 @@ msgstr "自定义 MFA 验证码" msgid "MFA custom global enabled, cannot disable" msgstr "自定义 MFA 全局开启,无法被禁用" -#: authentication/mfa/face.py:14 +#: authentication/mfa/face.py:11 msgid "Face Recognition" msgstr "人脸识别" -#: authentication/mfa/face.py:24 authentication/mfa/face.py:26 +#: authentication/mfa/face.py:21 authentication/mfa/face.py:23 msgid "Facial comparison failed" msgstr "人脸比对失败" @@ -3720,7 +3730,7 @@ msgstr "动作" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:54 perms/serializers/permission.py:75 -#: users/serializers/user.py:127 users/serializers/user.py:273 +#: users/serializers/user.py:127 users/serializers/user.py:278 msgid "Is expired" msgstr "已过期" @@ -3763,7 +3773,7 @@ msgstr "IP 白名单" #: authentication/serializers/token.py:92 perms/serializers/permission.py:53 #: perms/serializers/permission.py:76 users/serializers/user.py:128 -#: users/serializers/user.py:270 +#: users/serializers/user.py:275 msgid "Is valid" msgstr "是否有效" @@ -3836,7 +3846,7 @@ msgstr "代码错误" #: authentication/templates/authentication/_msg_oauth_bind.html:3 #: authentication/templates/authentication/_msg_reset_password.html:3 #: authentication/templates/authentication/_msg_reset_password_code.html:9 -#: jumpserver/conf.py:535 +#: jumpserver/conf.py:539 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:32 #: users/templates/users/_msg_account_expire_reminder.html:4 @@ -4183,22 +4193,23 @@ msgid "Canceled" msgstr "取消" #: common/const/choices.py:82 terminal/models/applet/applet.py:31 +#: xpack/plugins/license/models.py:88 msgid "Community edition" msgstr "社区版" -#: common/const/choices.py:83 +#: common/const/choices.py:83 xpack/plugins/license/models.py:80 msgid "Basic edition" msgstr "企业基础版" -#: common/const/choices.py:84 +#: common/const/choices.py:84 xpack/plugins/license/models.py:82 msgid "Standard edition" msgstr "企业标准版" -#: common/const/choices.py:85 +#: common/const/choices.py:85 xpack/plugins/license/models.py:84 msgid "Professional edition" msgstr "企业专业版" -#: common/const/choices.py:86 +#: common/const/choices.py:86 xpack/plugins/license/models.py:86 msgid "Ultimate edition" msgstr "企业旗舰版" @@ -4603,16 +4614,16 @@ msgstr "不能包含特殊字符" msgid "The mobile phone number format is incorrect" msgstr "手机号格式不正确" -#: jumpserver/conf.py:529 +#: jumpserver/conf.py:533 #, python-brace-format msgid "The verification code is: {code}" msgstr "验证码为: {code}" -#: jumpserver/conf.py:534 +#: jumpserver/conf.py:538 msgid "Create account successfully" msgstr "创建账号成功" -#: jumpserver/conf.py:536 +#: jumpserver/conf.py:540 msgid "Your account has been created successfully" msgstr "你的账号已创建成功" @@ -4843,7 +4854,7 @@ msgid "VCS" msgstr "VCS" #: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 -#: settings/serializers/feature.py:154 +#: settings/serializers/feature.py:168 msgid "Adhoc" msgstr "命令" @@ -5469,7 +5480,7 @@ msgid "today" msgstr "今天" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:145 +#: settings/serializers/feature.py:159 msgid "day" msgstr "天" @@ -5501,7 +5512,7 @@ msgstr "" msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" msgstr "协议,格式为 [\"ssh\", \"rdp\", \"vnc\"] 或 [\"all\"]" -#: perms/serializers/permission.py:44 users/serializers/user.py:257 +#: perms/serializers/permission.py:44 users/serializers/user.py:262 msgid "Groups" msgstr "用户组" @@ -5724,7 +5735,7 @@ msgstr "账号改密" msgid "App ops" msgstr "作业中心" -#: rbac/tree.py:57 settings/serializers/feature.py:151 +#: rbac/tree.py:57 settings/serializers/feature.py:165 msgid "Feature" msgstr "功能" @@ -5747,7 +5758,7 @@ msgid "Appearance" msgstr "界面" #: rbac/tree.py:65 xpack/plugins/license/meta.py:10 -#: xpack/plugins/license/models.py:151 +#: xpack/plugins/license/models.py:152 msgid "License" msgstr "许可证" @@ -5763,8 +5774,8 @@ msgstr "组织管理" msgid "Ticket comment" msgstr "工单评论" -#: rbac/tree.py:161 settings/serializers/feature.py:132 -#: settings/serializers/feature.py:134 tickets/models/ticket/general.py:308 +#: rbac/tree.py:161 settings/serializers/feature.py:146 +#: settings/serializers/feature.py:148 tickets/models/ticket/general.py:308 msgid "Ticket" msgstr "工单" @@ -5782,7 +5793,7 @@ msgstr "聊天 AI 没有开启" #: settings/api/chat.py:79 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 -#: settings/api/vault.py:48 settings/api/wecom.py:37 +#: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "测试成功" @@ -6428,7 +6439,7 @@ msgid "Template code" msgstr "模板" #: settings/serializers/auth/sms.py:40 users/models/user/__init__.py:83 -#: users/serializers/user.py:155 +#: users/serializers/user.py:159 msgid "Phone" msgstr "手机" @@ -6657,70 +6668,70 @@ msgstr "租户 ID" msgid "Chat AI" msgstr "聊天 AI" -#: settings/serializers/feature.py:116 +#: settings/serializers/feature.py:130 msgid "GPT Base URL" msgstr "GPT 地址" -#: settings/serializers/feature.py:117 +#: settings/serializers/feature.py:131 msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" msgstr "GPT 服务的基本 URL。例如:https://api.openai.com/v1" -#: settings/serializers/feature.py:120 templates/_header_bar.html:96 +#: settings/serializers/feature.py:134 templates/_header_bar.html:96 msgid "API Key" msgstr "API Key" -#: settings/serializers/feature.py:124 +#: settings/serializers/feature.py:138 msgid "" "The proxy server address of the GPT service. For example: http://ip:port" msgstr "GPT 服务的代理服务器地址。例如:http://ip:port" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:141 msgid "GPT Model" msgstr "GPT 模型" -#: settings/serializers/feature.py:136 +#: settings/serializers/feature.py:150 msgid "Approval without login" msgstr "免登录审批" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:151 msgid "Allow direct approval ticket without login" msgstr "允许无需登录直接批准工单" -#: settings/serializers/feature.py:141 +#: settings/serializers/feature.py:155 msgid "Period" msgstr "时段" -#: settings/serializers/feature.py:142 +#: settings/serializers/feature.py:156 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "工单申请资产的默认授权时间段" -#: settings/serializers/feature.py:145 +#: settings/serializers/feature.py:159 msgid "hour" msgstr "时" -#: settings/serializers/feature.py:146 +#: settings/serializers/feature.py:160 msgid "Unit" msgstr "单位" -#: settings/serializers/feature.py:146 +#: settings/serializers/feature.py:160 msgid "The unit of period" msgstr "执行周期" -#: settings/serializers/feature.py:155 +#: settings/serializers/feature.py:169 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "允许用户在工作台 - 作业中心 - Adhoc 中执行批量命令" -#: settings/serializers/feature.py:159 +#: settings/serializers/feature.py:173 msgid "Command blacklist" msgstr "作业中心命令黑名单" -#: settings/serializers/feature.py:160 +#: settings/serializers/feature.py:174 msgid "Command blacklist in Adhoc" msgstr "作业中心命令黑名单" -#: settings/serializers/feature.py:165 +#: settings/serializers/feature.py:179 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -6728,11 +6739,11 @@ msgstr "作业中心命令黑名单" msgid "Virtual app" msgstr "虚拟应用" -#: settings/serializers/feature.py:168 +#: settings/serializers/feature.py:182 msgid "Virtual App" msgstr "虚拟应用" -#: settings/serializers/feature.py:170 +#: settings/serializers/feature.py:184 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -9160,7 +9171,7 @@ msgstr "不能和原来的密钥相同" msgid "Preference" msgstr "用户设置" -#: users/models/user/__init__.py:76 users/serializers/user.py:271 +#: users/models/user/__init__.py:76 users/serializers/user.py:276 msgid "Is service account" msgstr "服务账号" @@ -9179,7 +9190,7 @@ msgstr "OTP 密钥" # msgid "Private key" # msgstr "ssh私钥" #: users/models/user/__init__.py:99 users/serializers/profile.py:97 -#: users/serializers/user.py:268 +#: users/serializers/user.py:273 msgid "Is first login" msgstr "首次登录" @@ -9400,7 +9411,7 @@ msgstr "强制 MFA" msgid "Login blocked" msgstr "登录被锁定" -#: users/serializers/user.py:130 users/serializers/user.py:277 +#: users/serializers/user.py:130 users/serializers/user.py:282 msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" @@ -9420,19 +9431,19 @@ msgstr "可以使用公钥认证" msgid "Full name" msgstr "全称" -#: users/serializers/user.py:245 +#: users/serializers/user.py:250 msgid "Login username" msgstr "登录用户" -#: users/serializers/user.py:248 +#: users/serializers/user.py:253 msgid "Email address" msgstr "邮件地址" -#: users/serializers/user.py:258 +#: users/serializers/user.py:263 msgid "User groups to join" msgstr "用户组数量" -#: users/serializers/user.py:262 +#: users/serializers/user.py:267 msgid "" "User source identifies where the user was created, which could be AD or " "other sources.There are security settings that can restrict users to log in " @@ -9441,32 +9452,32 @@ msgstr "" "用户来源标识用户的创建位置,可以是 AD 或其他来源。安全设置可以限制用户只能从" "指定来源登录系统。" -#: users/serializers/user.py:266 +#: users/serializers/user.py:271 msgid "Superuser" msgstr "超级用户" -#: users/serializers/user.py:272 +#: users/serializers/user.py:277 msgid "Is org admin" msgstr "组织管理员" -#: users/serializers/user.py:274 +#: users/serializers/user.py:279 msgid "Avatar url" msgstr "头像路径" -#: users/serializers/user.py:279 +#: users/serializers/user.py:284 msgid "MFA level" msgstr "MFA" -#: users/serializers/user.py:280 +#: users/serializers/user.py:285 msgid "Multi-Factor Authentication" msgstr "认证" -#: users/serializers/user.py:434 +#: users/serializers/user.py:439 msgid "" "* For security, only a partial of users is displayed. You can search for more" msgstr "* 为安全起见,只显示部分用户。您可以搜索更多" -#: users/serializers/user.py:469 +#: users/serializers/user.py:474 msgid "name not unique" msgstr "名称重复" diff --git a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po index b67295187..4bca42a22 100644 --- a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-19 18:55+0800\n" +"POT-Creation-Date: 2024-12-03 11:26+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -37,7 +37,7 @@ msgstr "生成與資產或應用程序相關的備份信息文件" #: accounts/automations/backup_account/handlers.py:156 #: accounts/automations/backup_account/handlers.py:295 -#: accounts/automations/backup_account/manager.py:40 ops/serializers/job.py:82 +#: accounts/automations/backup_account/manager.py:40 ops/serializers/job.py:94 #: settings/templates/ldap/_msg_import_ldap_user.html:7 msgid "Time cost" msgstr "花費時間" @@ -59,7 +59,7 @@ msgid "The backup file will be sent to" msgstr "備份檔案將被傳送至" #: accounts/automations/backup_account/handlers.py:213 -#: users/forms/profile.py:75 +#: users/forms/profile.py:76 msgid "Finish" msgstr "完成" @@ -132,8 +132,8 @@ msgstr ">>> 開始執行測試閘道器帳號可連結性的任務" #: settings/serializers/auth/ldap.py:26 settings/serializers/auth/ldap.py:52 #: settings/serializers/auth/ldap_ha.py:34 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:28 terminal/serializers/storage.py:123 -#: terminal/serializers/storage.py:142 users/forms/profile.py:21 -#: users/serializers/user.py:144 +#: terminal/serializers/storage.py:142 users/forms/profile.py:22 +#: users/serializers/user.py:148 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -151,7 +151,7 @@ msgid "Access key" msgstr "Access key" #: accounts/const/account.py:9 authentication/backends/passkey/models.py:16 -#: authentication/models/sso_token.py:14 settings/serializers/feature.py:74 +#: authentication/models/sso_token.py:14 settings/serializers/feature.py:83 msgid "Token" msgstr "Token" @@ -299,8 +299,8 @@ msgstr "僅創建" #: authentication/serializers/password_mfa.py:17 #: authentication/serializers/password_mfa.py:25 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 -#: settings/serializers/msg.py:61 users/forms/profile.py:100 -#: users/forms/profile.py:108 users/models/user/__init__.py:65 +#: settings/serializers/msg.py:61 users/forms/profile.py:101 +#: users/forms/profile.py:111 users/models/user/__init__.py:65 #: users/templates/users/forgot_password.html:162 #: users/views/profile/reset.py:94 msgid "Email" @@ -321,14 +321,24 @@ msgstr "待定的" msgid "Database" msgstr "資料庫" -#: accounts/const/vault.py:9 settings/serializers/feature.py:69 +#: accounts/const/vault.py:9 settings/serializers/feature.py:78 msgid "HCP Vault" msgstr "HashiCorp Vault" -#: accounts/const/vault.py:10 settings/serializers/feature.py:82 +#: accounts/const/vault.py:10 settings/serializers/feature.py:91 msgid "Azure Key Vault" msgstr "Azure Key Vault" +#: accounts/const/vault.py:11 settings/serializers/feature.py:107 +msgid "Amazon Secrets Manager" +msgstr "Amazon Secrets Manager" + +#: accounts/exceptions.py:7 +msgid "" +"Vault operation failed. Please retry or check your account information on " +"Vault." +msgstr "Vault 操作失敗,請重試,或檢查 Vault 上的帳號信息。" + #: accounts/mixins.py:35 msgid "Export all" msgstr "匯出所有" @@ -512,7 +522,7 @@ msgstr "原因" #: accounts/models/automations/backup_account.py:136 #: accounts/serializers/automations/change_secret.py:117 #: accounts/serializers/automations/change_secret.py:152 -#: ops/serializers/job.py:80 terminal/serializers/session.py:54 +#: ops/serializers/job.py:92 terminal/serializers/session.py:54 msgid "Is success" msgstr "是否成功" @@ -595,7 +605,7 @@ msgstr "結束日期" #: accounts/models/automations/change_secret.py:44 #: assets/models/automations/base.py:113 #: assets/serializers/automations/base.py:39 audits/models.py:208 -#: audits/serializers.py:76 ops/models/base.py:49 ops/models/job.py:235 +#: audits/serializers.py:78 ops/models/base.py:49 ops/models/job.py:235 #: terminal/models/applet/applet.py:331 terminal/models/applet/host.py:140 #: terminal/models/component/status.py:30 #: terminal/models/virtualapp/virtualapp.py:99 @@ -637,8 +647,8 @@ msgstr "登錄日期" #: 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:31 -#: users/forms/profile.py:114 users/models/user/__init__.py:63 +#: terminal/serializers/storage.py:136 users/forms/profile.py:32 +#: users/forms/profile.py:117 users/models/user/__init__.py:63 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -667,7 +677,7 @@ msgstr "觸發方式" #: accounts/models/automations/push_account.py:16 acls/models/base.py:41 #: acls/serializers/base.py:57 assets/models/cmd_filter.py:81 -#: audits/models.py:92 audits/serializers.py:106 +#: audits/models.py:92 audits/serializers.py:108 #: authentication/serializers/connect_token_secret.py:119 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:52 perms/serializers/permission.py:74 @@ -736,7 +746,7 @@ 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:32 users/models/group.py:13 +#: users/forms/profile.py:33 users/models/group.py:13 #: users/models/preference.py:11 users/models/user/__init__.py:64 #: xpack/plugins/cloud/models.py:34 xpack/plugins/cloud/models.py:310 #: xpack/plugins/cloud/serializers/task.py:75 @@ -751,7 +761,7 @@ msgstr "特權帳號" #: assets/models/cmd_filter.py:39 assets/models/label.py:22 #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:41 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:269 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:274 msgid "Is active" msgstr "啟用" @@ -887,8 +897,8 @@ msgstr "類別" #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:96 #: assets/serializers/asset/common.py:146 assets/serializers/platform.py:159 -#: assets/serializers/platform.py:171 audits/serializers.py:75 -#: audits/serializers.py:192 +#: assets/serializers/platform.py:171 audits/serializers.py:77 +#: audits/serializers.py:194 #: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:153 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40 #: terminal/models/component/storage.py:58 @@ -961,7 +971,7 @@ msgstr "ID" #: acls/templates/acls/user_login_reminder.html:8 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 #: audits/models.py:90 audits/models.py:172 audits/models.py:271 -#: audits/serializers.py:193 authentication/models/connection_token.py:32 +#: audits/serializers.py:195 authentication/models/connection_token.py:32 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 @@ -1138,17 +1148,17 @@ msgstr "參數設置,目前只對 AIX LINUX UNIX 類型的資產有效。" msgid "Automation task execution" msgstr "自動化任務執行歷史" -#: accounts/signal_handlers.py:48 +#: accounts/signal_handlers.py:52 #, python-format msgid "Push related accounts to assets: %s, by system" msgstr "推送帳號到資產: %s, 由系統執行" -#: accounts/signal_handlers.py:57 +#: accounts/signal_handlers.py:61 #, python-format msgid "Add account: %s" msgstr "添加帳號: %s" -#: accounts/signal_handlers.py:59 +#: accounts/signal_handlers.py:63 #, python-format msgid "Delete account: %s" msgstr "刪除帳號: %s" @@ -1271,11 +1281,11 @@ msgid "" " Accounts' this task will be executed" msgstr "當在控制台-帳號模板-帳號-同步更新帳號信息點擊同步時,執行該任務" -#: accounts/tasks/vault.py:32 +#: accounts/tasks/vault.py:33 msgid "Sync secret to vault" msgstr "同步密文到 vault" -#: accounts/tasks/vault.py:34 +#: accounts/tasks/vault.py:35 msgid "" "When clicking 'Sync' in 'System Settings - Features - Account Storage' this " "task will be executed" @@ -1390,7 +1400,7 @@ msgstr "啟用中" #: acls/models/base.py:81 perms/serializers/permission.py:42 #: tickets/models/flow.py:23 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:424 +#: users/serializers/group.py:21 users/serializers/user.py:437 msgid "Users" msgstr "用戶管理" @@ -1402,7 +1412,7 @@ msgid "Accounts" msgstr "帳號管理" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 -#: audits/serializers.py:38 ops/serializers/job.py:79 terminal/const.py:88 +#: audits/serializers.py:38 ops/serializers/job.py:91 terminal/const.py:88 #: 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 @@ -1590,7 +1600,7 @@ msgid "Login city" msgstr "登錄城市" #: acls/templates/acls/user_login_reminder.html:11 audits/models.py:197 -#: audits/models.py:266 audits/serializers.py:90 +#: audits/models.py:266 audits/serializers.py:92 msgid "User agent" msgstr "用戶代理" @@ -1724,7 +1734,7 @@ msgstr "腳本" #: assets/const/category.py:10 assets/models/asset/host.py:8 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:76 -#: settings/serializers/feature.py:71 settings/serializers/feature.py:84 +#: settings/serializers/feature.py:80 settings/serializers/feature.py:93 #: settings/serializers/msg.py:30 terminal/models/component/endpoint.py:14 #: terminal/serializers/applet.py:17 xpack/plugins/cloud/manager.py:89 #: xpack/plugins/cloud/serializers/account_attrs.py:72 @@ -1828,7 +1838,7 @@ msgid "Any" msgstr "任意" #: assets/const/protocol.py:88 rbac/tree.py:62 -#: settings/serializers/security.py:232 +#: settings/serializers/security.py:241 msgid "Security" msgstr "安全" @@ -2033,7 +2043,7 @@ msgstr "忽略證書校驗" msgid "Postgresql SSL mode" msgstr "PostgreSQL SSL 模式" -#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:114 +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:137 msgid "Proxy" msgstr "代理" @@ -2767,7 +2777,7 @@ msgstr "建立軟連結" #: audits/const.py:18 audits/const.py:28 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:153 +#: terminal/api/session/session.py:154 msgid "Download" msgstr "下載" @@ -2775,7 +2785,7 @@ msgstr "下載" msgid "Rename dir" msgstr "映射目錄" -#: audits/const.py:23 rbac/tree.py:268 terminal/api/session/session.py:281 +#: audits/const.py:23 rbac/tree.py:268 terminal/api/session/session.py:284 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:90 @@ -2860,7 +2870,7 @@ msgstr "是" msgid "No" msgstr "否" -#: audits/models.py:47 rbac/tree.py:67 +#: audits/models.py:47 msgid "Job audit log" msgstr "作業審計" @@ -2869,7 +2879,7 @@ msgstr "作業審計" msgid "Remote addr" msgstr "遠端地址" -#: audits/models.py:61 audits/serializers.py:60 +#: audits/models.py:61 audits/serializers.py:62 msgid "Operate" msgstr "操作" @@ -2894,12 +2904,12 @@ msgstr "會話" msgid "File transfer log" msgstr "文件管理" -#: audits/models.py:94 audits/serializers.py:108 +#: audits/models.py:94 audits/serializers.py:110 msgid "Resource Type" msgstr "資源類型" #: audits/models.py:95 audits/models.py:98 audits/models.py:144 -#: audits/serializers.py:107 labels/serializers.py:46 +#: audits/serializers.py:109 labels/serializers.py:46 msgid "Resource" msgstr "資源" @@ -2941,9 +2951,9 @@ msgstr "登錄方式" msgid "Login IP" msgstr "登錄 IP" -#: audits/models.py:200 audits/serializers.py:74 +#: audits/models.py:200 audits/serializers.py:76 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:63 users/models/user/__init__.py:86 +#: users/forms/profile.py:64 users/models/user/__init__.py:86 #: users/serializers/profile.py:70 msgid "MFA" msgstr "MFA" @@ -2994,20 +3004,20 @@ msgstr "匯總" msgid "Execution cycle" msgstr "週期性Action" -#: audits/serializers.py:91 +#: audits/serializers.py:93 msgid "Reason display" msgstr "原因描述" -#: audits/serializers.py:92 audits/serializers.py:206 +#: audits/serializers.py:94 audits/serializers.py:208 msgid "Auth backend display" msgstr "认证代币描述" -#: audits/serializers.py:156 +#: audits/serializers.py:158 #, python-format msgid "%s %s this resource" msgstr "用户 %s %s 了当前资源" -#: audits/serializers.py:194 authentication/models/connection_token.py:47 +#: audits/serializers.py:196 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/__init__.py:105 @@ -3152,22 +3162,22 @@ msgstr "ACL 動作是覆核" msgid "Current user not support mfa type: {}" msgstr "當前用戶不支持 MFA 類型: {}" -#: authentication/api/password.py:33 terminal/api/session/session.py:334 +#: authentication/api/password.py:34 terminal/api/session/session.py:337 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "用戶不存在: {}" -#: authentication/api/password.py:33 users/views/profile/reset.py:166 +#: authentication/api/password.py:34 users/views/profile/reset.py:166 msgid "No user matched" msgstr "沒有匹配到用戶" -#: authentication/api/password.py:37 +#: authentication/api/password.py:38 msgid "" "The user is from {}, please go to the corresponding system to change the " "password" msgstr "用戶來自 {} 請去相應系統修改密碼" -#: authentication/api/password.py:65 +#: authentication/api/password.py:69 #: authentication/templates/authentication/login.html:393 #: users/templates/users/forgot_password.html:41 #: users/templates/users/forgot_password.html:42 @@ -3181,7 +3191,7 @@ msgid "App Authentication" msgstr "身份验证管理" #: authentication/backends/custom.py:59 -#: authentication/backends/oauth2/backends.py:173 +#: authentication/backends/oauth2/backends.py:158 msgid "User invalid, disabled or expired" msgstr "用戶無效,已禁用或已過期" @@ -3406,15 +3416,15 @@ msgstr "您的密碼無效" msgid "Please wait for %s seconds before retry" msgstr "請在 %s 秒後重試" -#: authentication/errors/redirect.py:85 authentication/mixins.py:365 +#: authentication/errors/redirect.py:85 authentication/mixins.py:373 msgid "Your password is too simple, please change it for security" msgstr "你的密碼過於簡單,為了安全,請修改" -#: authentication/errors/redirect.py:93 authentication/mixins.py:374 +#: authentication/errors/redirect.py:93 authentication/mixins.py:382 msgid "You should to change your password before login" msgstr "登錄完成前,請先修改密碼" -#: authentication/errors/redirect.py:101 authentication/mixins.py:383 +#: authentication/errors/redirect.py:101 authentication/mixins.py:391 msgid "Your password has expired, please reset before logging in" msgstr "您的密碼已過期,先修改再登錄" @@ -3435,7 +3445,7 @@ msgstr "MFA 類型" msgid "Captcha" msgstr "驗證碼" -#: authentication/forms.py:66 users/forms/profile.py:27 +#: authentication/forms.py:66 users/forms/profile.py:28 msgid "MFA code" msgstr "MFA 驗證碼" @@ -3459,11 +3469,11 @@ msgstr "自訂 MFA 驗證碼" msgid "MFA custom global enabled, cannot disable" msgstr "自訂 MFA 全局開啟,無法被禁用" -#: authentication/mfa/face.py:13 +#: authentication/mfa/face.py:11 msgid "Face Recognition" msgstr "臉部辨識" -#: authentication/mfa/face.py:23 authentication/mfa/face.py:25 +#: authentication/mfa/face.py:21 authentication/mfa/face.py:23 msgid "Facial comparison failed" msgstr "臉部比對失敗" @@ -3499,28 +3509,28 @@ msgstr "Radius 動態安全碼" msgid "Radius global enabled, cannot disable" msgstr "Radius MFA 全局開啟,無法被禁用" -#: authentication/mfa/sms.py:7 +#: authentication/mfa/sms.py:8 msgid "SMS verify code invalid" msgstr "簡訊驗證碼校驗失敗" -#: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:17 +#: authentication/mfa/sms.py:13 authentication/serializers/password_mfa.py:17 #: authentication/serializers/password_mfa.py:25 #: settings/serializers/auth/sms.py:18 settings/serializers/auth/sms.py:36 -#: users/forms/profile.py:103 users/forms/profile.py:108 +#: users/forms/profile.py:104 users/forms/profile.py:111 #: users/templates/users/forgot_password.html:157 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "簡訊" -#: authentication/mfa/sms.py:13 +#: authentication/mfa/sms.py:14 msgid "SMS verification code" msgstr "簡訊驗證碼" -#: authentication/mfa/sms.py:57 +#: authentication/mfa/sms.py:63 msgid "Set phone number to enable" msgstr "設置手機號碼啟用" -#: authentication/mfa/sms.py:61 +#: authentication/mfa/sms.py:67 msgid "Clear phone number to disable" msgstr "清空手機號碼禁用" @@ -3538,11 +3548,11 @@ msgid "" " The current user source is {}. Please contact the administrator." msgstr "管理員已開啟'僅允許從用戶來源登錄',當前用戶來源為{},請聯絡管理員。" -#: authentication/mixins.py:311 +#: authentication/mixins.py:319 msgid "The MFA type ({}) is not enabled" msgstr "該 MFA ({}) 方式沒有啟用" -#: authentication/mixins.py:353 +#: authentication/mixins.py:361 msgid "Please change your password" msgstr "請修改密碼" @@ -3643,7 +3653,7 @@ msgid "Private key" msgstr "ssh私鑰" #: authentication/models/ssh_key.py:18 settings/serializers/terminal.py:34 -#: users/forms/profile.py:172 users/models/user/__init__.py:96 +#: users/forms/profile.py:175 users/models/user/__init__.py:96 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "SSH公鑰" @@ -3722,7 +3732,7 @@ msgstr "動作" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:54 perms/serializers/permission.py:75 -#: users/serializers/user.py:127 users/serializers/user.py:273 +#: users/serializers/user.py:127 users/serializers/user.py:278 msgid "Is expired" msgstr "已過期" @@ -3754,7 +3764,7 @@ msgid "" "downloaded once" msgstr "創建完成後請下載私鑰,每個私鑰僅有一次下載機會" -#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:161 +#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 #: users/serializers/profile.py:133 users/serializers/profile.py:160 msgid "Not a valid ssh public key" msgstr "SSH金鑰不合法" @@ -3765,7 +3775,7 @@ msgstr "IP 白名單" #: authentication/serializers/token.py:92 perms/serializers/permission.py:53 #: perms/serializers/permission.py:76 users/serializers/user.py:128 -#: users/serializers/user.py:270 +#: users/serializers/user.py:275 msgid "Is valid" msgstr "是否有效" @@ -3838,7 +3848,7 @@ msgstr "代碼錯誤" #: authentication/templates/authentication/_msg_oauth_bind.html:3 #: authentication/templates/authentication/_msg_reset_password.html:3 #: authentication/templates/authentication/_msg_reset_password_code.html:9 -#: jumpserver/conf.py:536 +#: jumpserver/conf.py:539 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:32 #: users/templates/users/_msg_account_expire_reminder.html:4 @@ -3888,7 +3898,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 +#: users/forms/profile.py:108 users/templates/users/forgot_password.html:98 msgid "Verify code" msgstr "驗證碼" @@ -3936,7 +3946,7 @@ msgstr "如果這次公鑰更新不是由你發起的,那麼你的帳號可能 msgid "Cancel" msgstr "取消" -#: authentication/templates/authentication/face_capture.html:44 +#: authentication/templates/authentication/face_capture.html:14 msgid "Retry" msgstr "重試" @@ -4585,16 +4595,16 @@ msgstr "不能包含特殊字元" msgid "The mobile phone number format is incorrect" msgstr "手機號碼格式不正確" -#: jumpserver/conf.py:530 +#: jumpserver/conf.py:533 #, python-brace-format msgid "The verification code is: {code}" msgstr "驗證碼為: {code}" -#: jumpserver/conf.py:535 +#: jumpserver/conf.py:538 msgid "Create account successfully" msgstr "創建帳號成功" -#: jumpserver/conf.py:537 +#: jumpserver/conf.py:540 msgid "Your account has been created successfully" msgstr "你的帳號已創建成功" @@ -4736,17 +4746,17 @@ msgstr "资产({asset})授权缺少ssh,sftp或winrm协议" msgid "Asset ({asset}) authorization lacks upload permissions" msgstr "资产({asset})授权缺少上传权限" -#: ops/api/job.py:157 +#: ops/api/job.py:158 msgid "Duplicate file exists" msgstr "存在同名文件" -#: ops/api/job.py:162 +#: ops/api/job.py:163 #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" msgstr "檔案大小超過最大限制。請選擇小於 {limit}MB 的文件。" -#: ops/api/job.py:235 +#: ops/api/job.py:236 msgid "" "The task is being created and cannot be interrupted. Please try again later." msgstr "正在創建任務,無法中斷,請稍後重試。" @@ -4816,7 +4826,7 @@ msgid "VCS" msgstr "VCS" #: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 -#: settings/serializers/feature.py:145 +#: settings/serializers/feature.py:168 msgid "Adhoc" msgstr "命令" @@ -5027,7 +5037,7 @@ msgstr "執行使用者" msgid "Run as policy" msgstr "使用者策略" -#: ops/models/job.py:223 ops/models/variable.py:28 ops/serializers/job.py:98 +#: ops/models/job.py:223 ops/models/variable.py:28 ops/serializers/job.py:110 #: terminal/notifications.py:182 msgid "Job" msgstr "作業" @@ -5118,23 +5128,23 @@ msgstr "下次Action時間" msgid "Execute after saving" msgstr "儲存後Action" -#: ops/serializers/job.py:58 terminal/serializers/session.py:49 +#: ops/serializers/job.py:70 terminal/serializers/session.py:49 msgid "Duration" msgstr "時長" -#: ops/serializers/job.py:78 +#: ops/serializers/job.py:90 msgid "Job type" msgstr "任務類型" -#: ops/serializers/job.py:81 terminal/serializers/session.py:58 +#: ops/serializers/job.py:93 terminal/serializers/session.py:58 msgid "Is finished" msgstr "是否完成" -#: ops/serializers/job.py:95 +#: ops/serializers/job.py:107 msgid "Task id" msgstr "任務 ID" -#: ops/serializers/job.py:104 +#: ops/serializers/job.py:116 msgid "You do not have permission for the current job." msgstr "你沒有當前作業的權限。" @@ -5444,7 +5454,7 @@ msgid "today" msgstr "今天" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:136 +#: settings/serializers/feature.py:159 msgid "day" msgstr "天" @@ -5476,7 +5486,7 @@ msgstr "" msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" msgstr "協定,格式為 [\"ssh\", \"rdp\", \"vnc\"] 或 [\"all\"]" -#: perms/serializers/permission.py:44 users/serializers/user.py:257 +#: perms/serializers/permission.py:44 users/serializers/user.py:262 msgid "Groups" msgstr "使用者群組" @@ -5699,7 +5709,7 @@ msgstr "帳號改密" msgid "App ops" msgstr "作業中心" -#: rbac/tree.py:57 settings/serializers/feature.py:142 +#: rbac/tree.py:57 settings/serializers/feature.py:165 msgid "Feature" msgstr "功能" @@ -5722,7 +5732,7 @@ msgid "Appearance" msgstr "介面" #: rbac/tree.py:65 xpack/plugins/license/meta.py:10 -#: xpack/plugins/license/models.py:155 +#: xpack/plugins/license/models.py:152 msgid "License" msgstr "許可證" @@ -5734,8 +5744,8 @@ msgstr "組織管理" msgid "Ticket comment" msgstr "工單評論" -#: rbac/tree.py:161 settings/serializers/feature.py:123 -#: settings/serializers/feature.py:125 tickets/models/ticket/general.py:308 +#: rbac/tree.py:161 settings/serializers/feature.py:146 +#: settings/serializers/feature.py:148 tickets/models/ticket/general.py:308 msgid "Ticket" msgstr "工單管理" @@ -5753,7 +5763,7 @@ msgstr "聊天 AI 沒有開啟" #: settings/api/chat.py:79 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 -#: settings/api/vault.py:48 settings/api/wecom.py:37 +#: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "測試成功" @@ -6146,13 +6156,13 @@ msgstr "圖示" msgid "Service provider" msgstr "服務提供商" -#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:87 +#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:96 #: xpack/plugins/cloud/serializers/account_attrs.py:35 msgid "Client ID" msgstr "用戶端 ID" #: settings/serializers/auth/oauth2.py:34 settings/serializers/auth/oidc.py:24 -#: settings/serializers/feature.py:90 +#: settings/serializers/feature.py:99 #: xpack/plugins/cloud/serializers/account_attrs.py:38 msgid "Client Secret" msgstr "用戶端金鑰" @@ -6399,7 +6409,7 @@ msgid "Template code" msgstr "模板" #: settings/serializers/auth/sms.py:40 users/models/user/__init__.py:83 -#: users/serializers/user.py:155 +#: users/serializers/user.py:159 msgid "Phone" msgstr "手機" @@ -6593,19 +6603,19 @@ msgstr "結束日期" msgid "Announcement" msgstr "公告" -#: settings/serializers/feature.py:47 settings/serializers/feature.py:50 +#: settings/serializers/feature.py:56 settings/serializers/feature.py:59 msgid "Vault" msgstr "啟用 Vault" -#: settings/serializers/feature.py:53 +#: settings/serializers/feature.py:62 msgid "Vault provider" msgstr "保管庫服務商" -#: settings/serializers/feature.py:57 +#: settings/serializers/feature.py:66 msgid "Record limit" msgstr "紀錄限制" -#: settings/serializers/feature.py:59 +#: settings/serializers/feature.py:68 msgid "" "If the specific value is less than 999 (default), the system will " "automatically perform a task every night: check and delete historical " @@ -6615,11 +6625,11 @@ msgstr "" "如果特定數值小於999,系統將在每日晚間自動執行任務:檢查並刪除超出預定數量的歷" "史帳號。如果該數值達到或超過999,則不進行任何歷史帳號的刪除操作。" -#: settings/serializers/feature.py:77 +#: settings/serializers/feature.py:86 msgid "Mount Point" msgstr "掛載點" -#: settings/serializers/feature.py:93 +#: settings/serializers/feature.py:102 #: xpack/plugins/cloud/serializers/account_attrs.py:41 msgid "Tenant ID" msgstr "租戶 ID" @@ -6628,70 +6638,70 @@ msgstr "租戶 ID" msgid "Chat AI" msgstr "聊天 AI" -#: settings/serializers/feature.py:107 +#: settings/serializers/feature.py:130 msgid "GPT Base URL" msgstr "GPT 地址" -#: settings/serializers/feature.py:108 +#: settings/serializers/feature.py:131 msgid "The base URL of the GPT service. For example: https://api.openai.com/v1" msgstr "GPT 服務的基礎 URL。例如:https://api.openai.com/v1" -#: settings/serializers/feature.py:111 templates/_header_bar.html:96 +#: settings/serializers/feature.py:134 templates/_header_bar.html:96 msgid "API Key" msgstr "API Key" -#: settings/serializers/feature.py:115 +#: settings/serializers/feature.py:138 msgid "" "The proxy server address of the GPT service. For example: http://ip:port" msgstr "GPT 服務的代理伺服器地址。例如:http://ip:port" -#: settings/serializers/feature.py:118 +#: settings/serializers/feature.py:141 msgid "GPT Model" msgstr "GPT 模型" -#: settings/serializers/feature.py:127 +#: settings/serializers/feature.py:150 msgid "Approval without login" msgstr "免登入審核" -#: settings/serializers/feature.py:128 +#: settings/serializers/feature.py:151 msgid "Allow direct approval ticket without login" msgstr "允許無需登入直接批准工單" -#: settings/serializers/feature.py:132 +#: settings/serializers/feature.py:155 msgid "Period" msgstr "時段" -#: settings/serializers/feature.py:133 +#: settings/serializers/feature.py:156 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "工單申請資產的預設授權時間段" -#: settings/serializers/feature.py:136 +#: settings/serializers/feature.py:159 msgid "hour" msgstr "時" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:160 msgid "Unit" msgstr "單位" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:160 msgid "The unit of period" msgstr "執行週期" -#: settings/serializers/feature.py:146 +#: settings/serializers/feature.py:169 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "允許使用者在工作台 - 作業中心 - Adhoc 中執行批量指令" -#: settings/serializers/feature.py:150 +#: settings/serializers/feature.py:173 msgid "Command blacklist" msgstr "作業中心命令黑名單" -#: settings/serializers/feature.py:151 +#: settings/serializers/feature.py:174 msgid "Command blacklist in Adhoc" msgstr "作業中心指令黑名單" -#: settings/serializers/feature.py:156 +#: settings/serializers/feature.py:179 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -6699,11 +6709,11 @@ msgstr "作業中心指令黑名單" msgid "Virtual app" msgstr "虛擬應用" -#: settings/serializers/feature.py:159 +#: settings/serializers/feature.py:182 msgid "Virtual App" msgstr "虛擬應用" -#: settings/serializers/feature.py:161 +#: settings/serializers/feature.py:184 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -7033,32 +7043,32 @@ msgstr "當用戶關閉瀏覽器時是否使會話過期。" msgid "Max online time (hour)" msgstr "會話連接最大時間 (時)" -#: settings/serializers/security.py:206 +#: settings/serializers/security.py:215 msgid "If session connection time more than it, disconnect connection." msgstr "提示:如果會話連接超過該配置,連接會被斷開" -#: settings/serializers/security.py:209 +#: settings/serializers/security.py:218 msgid "Remember manual auth" msgstr "保存手動輸入密碼" -#: settings/serializers/security.py:212 +#: settings/serializers/security.py:221 #: terminal/templates/terminal/_msg_session_sharing.html:10 msgid "Session share" msgstr "會話分享" -#: settings/serializers/security.py:213 +#: settings/serializers/security.py:222 msgid "Enabled, Allows user active session to be shared with other users" msgstr "開啟後允許用戶分享已連接的資產會話給他人,協同工作" -#: settings/serializers/security.py:219 +#: settings/serializers/security.py:228 msgid "Insecure command alert" msgstr "危險命令告警" -#: settings/serializers/security.py:222 +#: settings/serializers/security.py:231 msgid "Email recipient" msgstr "郵件收件人" -#: settings/serializers/security.py:223 +#: settings/serializers/security.py:232 msgid "Multiple user using , split" msgstr "多個用戶,使用 , 分割" @@ -7354,7 +7364,7 @@ msgstr "文件" msgid "Commercial support" msgstr "商業支持" -#: templates/_header_bar.html:85 users/forms/profile.py:43 +#: templates/_header_bar.html:85 users/forms/profile.py:44 msgid "Profile" msgstr "個人資訊" @@ -7553,20 +7563,20 @@ msgstr "測試失敗:請檢查配置" msgid "Have online sessions" msgstr "有在線會話" -#: terminal/api/session/session.py:48 +#: terminal/api/session/session.py:49 #, python-format msgid "User %s %s session %s replay" msgstr "用戶 %s %s 了會話 %s 的錄影" -#: terminal/api/session/session.py:326 +#: terminal/api/session/session.py:329 msgid "Session does not exist: {}" msgstr "會話不存在: {}" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:332 msgid "Session is finished or the protocol not supported" msgstr "會話已經完成或協議不支持" -#: terminal/api/session/session.py:342 +#: terminal/api/session/session.py:345 msgid "User does not have permission" msgstr "用戶沒有權限" @@ -9053,7 +9063,7 @@ msgstr "無法刪除全部用戶" msgid "Create failed. The number of SSH keys has reached the limit" msgstr "創建失敗,SSH密鑰數量已達到上限" -#: users/forms/profile.py:48 +#: users/forms/profile.py:49 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 " @@ -9062,11 +9072,11 @@ msgstr "" "啟用之後您將會在下次登錄時進入多因子認證綁定流程;您也可以在 (個人資訊->快速" "修改->設置 MFA 多因子認證)中直接綁定!" -#: users/forms/profile.py:59 +#: users/forms/profile.py:60 msgid "* Enable MFA to make the account more secure." msgstr "* 啟用 MFA 多因子認證,使帳號更加安全。" -#: users/forms/profile.py:68 +#: users/forms/profile.py:69 msgid "" "In order to protect you and your company, please keep your account, password " "and key sensitive information properly. (for example: setting complex " @@ -9075,47 +9085,47 @@ msgstr "" "為了保護您和公司的安全,請妥善保管您的帳號、密碼和金鑰等重要敏感資訊; (如:" "設置複雜密碼,並啟用 MFA 多因子認證)" -#: users/forms/profile.py:82 users/serializers/preference/lina.py:21 +#: users/forms/profile.py:83 users/serializers/preference/lina.py:21 msgid "New password" msgstr "新密碼" -#: users/forms/profile.py:87 users/serializers/preference/lina.py:26 +#: users/forms/profile.py:88 users/serializers/preference/lina.py:26 msgid "Confirm password" msgstr "確認密碼" -#: users/forms/profile.py:95 +#: users/forms/profile.py:96 msgid "Password does not match" msgstr "密碼不一致" -#: users/forms/profile.py:104 +#: users/forms/profile.py:105 msgid "The phone number must contain an area code, for example, +86" msgstr "手機號碼必須包含區號,例如 +86" -#: users/forms/profile.py:120 +#: users/forms/profile.py:123 msgid "Old password" msgstr "原來密碼" -#: users/forms/profile.py:130 +#: users/forms/profile.py:133 msgid "Old password error" msgstr "原來密碼錯誤" -#: users/forms/profile.py:140 +#: users/forms/profile.py:143 msgid "Automatically configure and download the SSH key" msgstr "自動配置並下載SSH金鑰" -#: users/forms/profile.py:142 +#: users/forms/profile.py:145 msgid "ssh public key" msgstr "SSH公鑰" -#: users/forms/profile.py:143 +#: users/forms/profile.py:146 msgid "ssh-rsa AAAA..." msgstr "ssh-rsa AAAA..." -#: users/forms/profile.py:144 +#: users/forms/profile.py:147 msgid "Paste your id_rsa.pub here." msgstr "複製你的公鑰到這裡" -#: users/forms/profile.py:157 +#: users/forms/profile.py:160 msgid "Public key should not be the same as your old one." msgstr "不能和原來的金鑰相同" @@ -9123,7 +9133,7 @@ msgstr "不能和原來的金鑰相同" msgid "Preference" msgstr "用戶設置" -#: users/models/user/__init__.py:76 users/serializers/user.py:271 +#: users/models/user/__init__.py:76 users/serializers/user.py:276 msgid "Is service account" msgstr "服務帳號" @@ -9142,7 +9152,7 @@ msgstr "OTP 金鑰" # msgid "Private key" # msgstr "ssh私鑰" #: users/models/user/__init__.py:99 users/serializers/profile.py:97 -#: users/serializers/user.py:268 +#: users/serializers/user.py:273 msgid "Is first login" msgstr "首次登錄" @@ -9367,7 +9377,7 @@ msgstr "強制 MFA" msgid "Login blocked" msgstr "登錄被鎖定" -#: users/serializers/user.py:130 users/serializers/user.py:277 +#: users/serializers/user.py:130 users/serializers/user.py:282 msgid "Is OTP bound" msgstr "是否綁定了虛擬 MFA" @@ -9387,19 +9397,19 @@ msgstr "可以使用公鑰認證" msgid "Full name" msgstr "全名" -#: users/serializers/user.py:245 +#: users/serializers/user.py:250 msgid "Login username" msgstr "登入使用者" -#: users/serializers/user.py:248 +#: users/serializers/user.py:253 msgid "Email address" msgstr "電子郵件地址" -#: users/serializers/user.py:258 +#: users/serializers/user.py:263 msgid "User groups to join" msgstr "使用者群組數量" -#: users/serializers/user.py:262 +#: users/serializers/user.py:267 msgid "" "User source identifies where the user was created, which could be AD or " "other sources.There are security settings that can restrict users to log in " @@ -9409,34 +9419,34 @@ msgstr "" "or other sources. Security settings can restrict users to log in to the " "system only from designated sources." -#: users/serializers/user.py:266 +#: users/serializers/user.py:271 msgid "Superuser" msgstr "超級使用者" -#: users/serializers/user.py:272 +#: users/serializers/user.py:277 msgid "Is org admin" msgstr "組織管理員" -#: users/serializers/user.py:274 +#: users/serializers/user.py:279 msgid "Avatar url" msgstr "頭像路徑" -#: users/serializers/user.py:279 +#: users/serializers/user.py:284 msgid "MFA level" msgstr "MFA 級別" -#: users/serializers/user.py:280 +#: users/serializers/user.py:285 msgid "Multi-Factor Authentication" msgstr "認證" -#: users/serializers/user.py:426 +#: users/serializers/user.py:439 msgid "" "* For security, only a partial of users is displayed. You can search for more" msgstr "" "*For security reasons, only a portion of users is displayed. You can search " "for more" -#: users/serializers/user.py:461 +#: users/serializers/user.py:474 msgid "name not unique" msgstr "名稱重複" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index ecd49a906..3f37e4d52 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -83,6 +83,7 @@ "AllClickRead": "Mark all as read", "AllMembers": "All members", "AllowInvalidCert": "Ignore certificate check", + "AmazonSecretsManager": "Amazon Secrets Manager", "Announcement": "Announcement", "AnonymousAccount": "Anonymous account", "AnonymousAccountTip": "Connect to assets without using username and password, only support web type and custom type assets", diff --git a/apps/i18n/lina/ja.json b/apps/i18n/lina/ja.json index 7f1d21ecc..ba6981851 100644 --- a/apps/i18n/lina/ja.json +++ b/apps/i18n/lina/ja.json @@ -83,6 +83,7 @@ "AllClickRead": "すべて既読", "AllMembers": "全メンバー", "AllowInvalidCert": "証明書チェックを無視", + "AmazonSecretsManager": "Amazon Secrets Manager", "Announcement": "お知らせ", "AnonymousAccount": "匿名アカウント", "AnonymousAccountTip": "ユーザー名とパスワードを使わずに資産に接続し、Webタイプとカスタムタイプの資産のみをサポートします", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 4dd50d858..93068083d 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -83,6 +83,7 @@ "AllClickRead": "全部已读", "AllMembers": "全部成员", "AllowInvalidCert": "忽略证书检查", + "AmazonSecretsManager": "Amazon Secrets Manager", "Announcement": "公告", "AnonymousAccount": "匿名账号", "AnonymousAccountTip": "连接资产时不使用用户名和密码,仅支持 web类型 和 自定义类型 的资产", diff --git a/apps/i18n/lina/zh_hant.json b/apps/i18n/lina/zh_hant.json index cf0a48163..93bcf7699 100644 --- a/apps/i18n/lina/zh_hant.json +++ b/apps/i18n/lina/zh_hant.json @@ -109,6 +109,7 @@ "AllMembers": "全部成員", "AllOrganization": "組織列表", "AllowInvalidCert": "忽略證書檢查", + "AmazonSecretsManager": "Amazon Secrets Manager", "Announcement": "公告", "AnonymousAccount": "匿名帳號", "AnonymousAccountTip": "連接資產時不使用使用者名稱和密碼,僅支持 web類型 和 自訂類型 的資產",