From 0b7664e89bde5ed03b33f93bd71fb885e52ce102 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 11 Mar 2025 19:20:10 +0800 Subject: [PATCH] feat: support Spanish and Russian --- apps/common/const/choices.py | 2 + apps/i18n/_translator/base.py | 2 + apps/i18n/core/es/LC_MESSAGES/django.po | 10852 +++++++++++++++++++ apps/i18n/core/es/LC_MESSAGES/djangojs.po | 103 + apps/i18n/core/ru/LC_MESSAGES/django.po | 10854 ++++++++++++++++++++ apps/i18n/core/ru/LC_MESSAGES/djangojs.po | 105 + 6 files changed, 21918 insertions(+) create mode 100644 apps/i18n/core/es/LC_MESSAGES/django.po create mode 100644 apps/i18n/core/es/LC_MESSAGES/djangojs.po create mode 100644 apps/i18n/core/ru/LC_MESSAGES/django.po create mode 100644 apps/i18n/core/ru/LC_MESSAGES/djangojs.po diff --git a/apps/common/const/choices.py b/apps/common/const/choices.py index dc978e872..da93e2df4 100644 --- a/apps/common/const/choices.py +++ b/apps/common/const/choices.py @@ -75,6 +75,8 @@ class Language(models.TextChoices): zh_hant = 'zh-hant', '中文(繁體)' ja = 'ja', '日本語', pt_br = 'pt-br', 'Português (Brasil)' + es = 'es', 'Español' + ru = 'ru', 'Русский' @classmethod def get_code_mapper(cls): diff --git a/apps/i18n/_translator/base.py b/apps/i18n/_translator/base.py index f0f11ce8f..3c9c771ff 100644 --- a/apps/i18n/_translator/base.py +++ b/apps/i18n/_translator/base.py @@ -13,6 +13,8 @@ class BaseTranslateManager: 'ja': 'Japanese', 'zh_Hant': 'Traditional Chinese', 'pt_BR': 'Portuguese (Brazil)', + 'es': 'Spanish', + 'ru': 'Russian', } def __init__(self, dir_path, oai_trans_instance): diff --git a/apps/i18n/core/es/LC_MESSAGES/django.po b/apps/i18n/core/es/LC_MESSAGES/django.po new file mode 100644 index 000000000..f6b0fbd52 --- /dev/null +++ b/apps/i18n/core/es/LC_MESSAGES/django.po @@ -0,0 +1,10852 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-11 19:15+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: accounts/api/account/account.py:121 +#: accounts/serializers/account/account.py:181 +#: accounts/serializers/account/account.py:342 +msgid "Account already exists" +msgstr "" + +#: accounts/api/account/application.py:78 +#: authentication/api/connection_token.py:452 +msgid "Account not found" +msgstr "" + +#: accounts/api/automations/base.py:82 tickets/api/ticket.py:132 +msgid "The parameter 'action' must be [{}]" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:23 +msgid "The account key will be split into two parts and sent" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:122 +msgid "Number of backup accounts" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:143 +msgid "Generating asset related backup information files" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:168 +#: accounts/automations/backup_account/manager.py:26 +#: accounts/automations/change_secret/manager.py:93 +#: accounts/automations/push_account/manager.py:59 +#: assets/models/automations/base.py:145 ops/serializers/job.py:71 +#: ops/serializers/job.py:95 +#: settings/templates/ldap/_msg_import_ldap_user.html:7 +#: terminal/serializers/session.py:49 +msgid "Duration" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:169 +msgid "Backup file creation completed" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:177 +msgid "Start sending backup emails" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:204 +msgid "Encrypting files using encryption password" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:214 +msgid "The backup file will be sent to" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:237 +msgid "The backup task has no assigned sftp server" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:258 +msgid "The backup task has no assigned recipient" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:281 +msgid "Plan start" +msgstr "" + +#: accounts/automations/backup_account/manager.py:14 +msgid "The account backup plan is being executed" +msgstr "" + +#: accounts/automations/backup_account/manager.py:24 +#: accounts/automations/change_secret/manager.py:91 +#: accounts/automations/push_account/manager.py:57 +msgid "Plan execution end" +msgstr "" + +#: accounts/automations/base/manager.py:106 +msgid "No pending accounts found" +msgstr "" + +#: accounts/automations/change_secret/manager.py:84 +#, python-format +msgid "Success: %s, Failed: %s, Total: %s" +msgstr "" + +#: accounts/automations/check_account/manager.py:270 +msgid "" +"\n" +"---\n" +"Summary: \n" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " +"secret: {}, using time: {}s" +msgstr "" + +#: accounts/automations/push_account/manager.py:30 +msgid "Secret cannot be empty" +msgstr "" + +#: accounts/automations/verify_gateway_account/manager.py:18 +msgid ">>> Start executing the task to test gateway account connectivity" +msgstr "" + +#: accounts/const/account.py:6 +#: accounts/serializers/automations/change_secret.py:34 +#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 +#: authentication/confirm/password.py:27 authentication/const.py:10 +#: authentication/forms.py:28 +#: authentication/templates/authentication/login.html:362 +#: authentication/templates/authentication/login.html:408 +#: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 +#: settings/serializers/auth/ldap_ha.py:36 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: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 +msgid "Password" +msgstr "" + +#: accounts/const/account.py:7 +#: accounts/serializers/automations/change_secret.py:35 +#: authentication/models/ssh_key.py:27 terminal/serializers/storage.py:124 +msgid "SSH key" +msgstr "" + +#: accounts/const/account.py:8 authentication/models/access_key.py:40 +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:84 +msgid "Token" +msgstr "" + +#: accounts/const/account.py:10 +msgid "API key" +msgstr "" + +#: accounts/const/account.py:14 common/db/fields.py:231 +#: settings/serializers/terminal.py:14 +msgid "All" +msgstr "" + +#: accounts/const/account.py:15 accounts/models/virtual.py:27 +msgid "Manual input" +msgstr "" + +#: accounts/const/account.py:16 +msgid "Dynamic user" +msgstr "" + +#: accounts/const/account.py:17 +msgid "Anonymous account" +msgstr "" + +#: accounts/const/account.py:18 +msgid "Specified account" +msgstr "" + +#: accounts/const/account.py:26 users/models/user/_source.py:11 +msgid "Local" +msgstr "" + +#: accounts/const/account.py:27 +msgid "Discovery" +msgstr "" + +#: accounts/const/account.py:28 accounts/serializers/account/account.py:28 +#: settings/serializers/auth/sms.py:84 +msgid "Template" +msgstr "" + +#: accounts/const/account.py:32 ops/const.py:46 xpack/plugins/cloud/const.py:68 +msgid "Skip" +msgstr "" + +#: accounts/const/account.py:33 audits/const.py:24 rbac/tree.py:269 +#: templates/_csv_import_export.html:18 templates/_csv_update_modal.html:6 +msgid "Update" +msgstr "" + +#: accounts/const/account.py:34 accounts/const/automation.py:115 +#: accounts/serializers/automations/change_secret.py:169 audits/const.py:65 +#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:67 +#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:47 +msgid "Failed" +msgstr "" + +#: accounts/const/automation.py:25 rbac/tree.py:52 +msgid "Push account" +msgstr "" + +#: accounts/const/automation.py:26 +msgid "Change secret" +msgstr "" + +#: accounts/const/automation.py:27 +msgid "Verify account" +msgstr "" + +#: accounts/const/automation.py:28 accounts/tasks/remove_account.py:25 +#: accounts/tasks/remove_account.py:38 +msgid "Remove account" +msgstr "" + +#: accounts/const/automation.py:29 +msgid "Gather accounts" +msgstr "" + +#: accounts/const/automation.py:30 +msgid "Verify gateway account" +msgstr "" + +#: accounts/const/automation.py:31 +msgid "Check account" +msgstr "" + +#: accounts/const/automation.py:32 rbac/tree.py:50 +msgid "Backup account" +msgstr "" + +#: accounts/const/automation.py:53 +msgid "Specific secret" +msgstr "" + +#: accounts/const/automation.py:54 +msgid "Random generate" +msgstr "" + +#: accounts/const/automation.py:59 ops/const.py:15 +msgid "Replace (Replace only keys pushed by JumpServer) " +msgstr "" + +#: accounts/const/automation.py:60 ops/const.py:14 +msgid "Empty and append SSH KEY" +msgstr "" + +#: accounts/const/automation.py:65 +msgid "On asset create" +msgstr "" + +#: accounts/const/automation.py:68 +msgid "On perm add user" +msgstr "" + +#: accounts/const/automation.py:70 +msgid "On perm add user group" +msgstr "" + +#: accounts/const/automation.py:72 +msgid "On perm add asset" +msgstr "" + +#: accounts/const/automation.py:74 +msgid "On perm add node" +msgstr "" + +#: accounts/const/automation.py:76 +msgid "On perm add account" +msgstr "" + +#: accounts/const/automation.py:78 +msgid "On asset join node" +msgstr "" + +#: accounts/const/automation.py:80 +msgid "On user join group" +msgstr "" + +#: accounts/const/automation.py:88 +msgid "On perm change" +msgstr "" + +#: accounts/const/automation.py:95 +msgid "Inherit from group or node" +msgstr "" + +#: accounts/const/automation.py:103 +msgid "Create and push" +msgstr "" + +#: accounts/const/automation.py:104 +msgid "Only create" +msgstr "" + +#: accounts/const/automation.py:109 +#: authentication/serializers/password_mfa.py:16 +#: authentication/serializers/password_mfa.py:24 +#: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 +#: settings/serializers/msg.py:61 users/forms/profile.py:101 +#: users/forms/profile.py:111 users/models/user/__init__.py:61 +#: users/templates/users/forgot_password.html:162 +#: users/views/profile/reset.py:94 +msgid "Email" +msgstr "" + +#: accounts/const/automation.py:111 terminal/const.py:89 +msgid "SFTP" +msgstr "" + +#: accounts/const/automation.py:116 +#: accounts/serializers/automations/change_secret.py:168 audits/const.py:64 +#: audits/models.py:65 audits/signal_handlers/activity_log.py:33 +#: common/const/choices.py:66 ops/const.py:74 ops/serializers/celery.py:48 +#: terminal/const.py:80 terminal/models/session/sharing.py:121 +#: tickets/views/approve.py:128 +msgid "Success" +msgstr "" + +#: accounts/const/automation.py:117 common/const/choices.py:64 +#: common/const/choices.py:111 terminal/const.py:79 tickets/const.py:29 +#: tickets/const.py:38 +msgid "Pending" +msgstr "" + +#: accounts/const/automation.py:121 +msgid "Can login" +msgstr "" + +#: accounts/const/automation.py:122 users/serializers/user.py:254 +msgid "Superuser" +msgstr "" + +#: accounts/const/automation.py:123 +msgid "Create date" +msgstr "" + +#: accounts/const/automation.py:124 +msgid "Is disabled" +msgstr "" + +#: accounts/const/automation.py:125 +msgid "Default database name" +msgstr "" + +#: accounts/const/automation.py:126 +msgid "UID" +msgstr "" + +#: accounts/const/automation.py:127 +msgid "Account status" +msgstr "" + +#: accounts/const/automation.py:128 +msgid "Default tablespace" +msgstr "" + +#: accounts/const/automation.py:129 rbac/models/role.py:46 +#: rbac/models/rolebinding.py:52 users/models/user/__init__.py:69 +msgid "Role" +msgstr "" + +#: accounts/const/automation.py:130 accounts/models/base.py:68 +msgid "Privileged" +msgstr "" + +#: accounts/const/automation.py:131 perms/serializers/permission.py:44 +#: users/serializers/user.py:245 +msgid "Groups" +msgstr "" + +#: accounts/const/automation.py:133 +msgid "Authorized keys" +msgstr "" + +#: accounts/const/automation.py:134 +msgid "DB" +msgstr "" + +#: accounts/const/vault.py:8 assets/const/category.py:12 +#: assets/models/asset/database.py:10 assets/models/asset/database.py:29 +msgid "Database" +msgstr "" + +#: accounts/const/vault.py:9 settings/serializers/feature.py:79 +msgid "HCP Vault" +msgstr "" + +#: accounts/const/vault.py:10 settings/serializers/feature.py:92 +msgid "Azure Key Vault" +msgstr "" + +#: accounts/const/vault.py:11 settings/serializers/feature.py:108 +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 "" + +#: accounts/mixins.py:37 +msgid "Export only selected items" +msgstr "" + +#: accounts/mixins.py:42 +#, python-format +msgid "Export filtered: %s" +msgstr "" + +#: accounts/mixins.py:48 +#, python-format +msgid "User %s view/export secret" +msgstr "" + +#: accounts/models/account.py:83 +#: accounts/models/automations/check_account.py:62 +#: accounts/models/automations/gather_account.py:16 +#: accounts/serializers/account/account.py:226 +#: accounts/serializers/account/account.py:274 +#: accounts/serializers/automations/change_secret.py:113 +#: accounts/serializers/automations/change_secret.py:145 +#: accounts/serializers/automations/check_account.py:33 +#: accounts/serializers/automations/gather_account.py:47 +#: accounts/templates/accounts/asset_account_change_info.html:7 +#: accounts/templates/accounts/change_secret_failed_info.html:11 +#: accounts/templates/accounts/change_secret_report.html:79 +#: accounts/templates/accounts/change_secret_report.html:119 +#: accounts/templates/accounts/check_account_report.html:89 +#: accounts/templates/accounts/gather_account_report.html:77 +#: accounts/templates/accounts/gather_account_report.html:117 +#: accounts/templates/accounts/push_account_report.html:78 +#: accounts/templates/accounts/push_account_report.html:118 +#: acls/serializers/base.py:130 assets/models/asset/common.py:102 +#: assets/models/asset/common.py:366 assets/models/cmd_filter.py:36 +#: audits/models.py:59 audits/models.py:312 audits/serializers.py:228 +#: authentication/models/connection_token.py:40 +#: perms/models/asset_permission.py:69 terminal/backends/command/models.py:17 +#: terminal/models/session/session.py:34 terminal/notifications.py:156 +#: terminal/serializers/command.py:17 terminal/serializers/session.py:30 +#: terminal/templates/terminal/_msg_command_warning.html:4 +#: terminal/templates/terminal/_msg_session_sharing.html:4 +#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:290 +msgid "Asset" +msgstr "" + +#: accounts/models/account.py:87 accounts/models/template.py:16 +#: accounts/serializers/account/account.py:233 +#: accounts/serializers/account/account.py:284 +#: accounts/serializers/account/template.py:35 +#: authentication/serializers/connect_token_secret.py:50 +msgid "Su from" +msgstr "" + +#: accounts/models/account.py:89 assets/const/protocol.py:195 +#: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 +#: terminal/models/virtualapp/virtualapp.py:21 +msgid "Version" +msgstr "" + +#: accounts/models/account.py:91 +msgid "historical Account" +msgstr "" + +#: accounts/models/account.py:92 +msgid "Secret reset" +msgstr "" + +#: accounts/models/account.py:93 accounts/serializers/account/account.py:228 +#: users/models/user/__init__.py:122 +msgid "Source" +msgstr "" + +#: accounts/models/account.py:94 +msgid "Source ID" +msgstr "" + +#: accounts/models/account.py:95 +msgid "Date last access" +msgstr "" + +#: accounts/models/account.py:96 +msgid "Access by" +msgstr "" + +#: accounts/models/account.py:97 +msgid "Date change secret" +msgstr "" + +#: accounts/models/account.py:99 +msgid "Change secret status" +msgstr "" + +#: accounts/models/account.py:103 +#: accounts/models/automations/check_account.py:67 +#: accounts/serializers/account/service.py:11 +#: accounts/serializers/automations/change_secret.py:115 +#: accounts/serializers/automations/change_secret.py:146 +#: accounts/templates/accounts/change_secret_failed_info.html:12 +#: acls/serializers/base.py:131 +#: acls/templates/acls/asset_login_reminder.html:10 +#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:313 +#: audits/serializers.py:229 authentication/api/connection_token.py:464 +#: ops/models/base.py:18 perms/models/asset_permission.py:75 +#: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 +#: terminal/models/session/session.py:36 terminal/serializers/command.py:72 +#: terminal/templates/terminal/_msg_command_warning.html:8 +#: terminal/templates/terminal/_msg_session_sharing.html:8 +#: tickets/models/ticket/command_confirm.py:13 +#: xpack/plugins/cloud/models.py:101 xpack/plugins/cloud/ws.py:37 +msgid "Account" +msgstr "" + +#: accounts/models/account.py:109 +msgid "Can view asset account secret" +msgstr "" + +#: accounts/models/account.py:110 +msgid "Can view asset history account" +msgstr "" + +#: accounts/models/account.py:111 +msgid "Can view asset history account secret" +msgstr "" + +#: accounts/models/account.py:112 +msgid "Can verify account" +msgstr "" + +#: accounts/models/account.py:113 +msgid "Can push account" +msgstr "" + +#: accounts/models/account.py:114 +msgid "Can remove account" +msgstr "" + +#: accounts/models/application.py:16 +#: accounts/models/automations/check_account.py:119 accounts/models/base.py:63 +#: accounts/serializers/account/service.py:27 +#: accounts/serializers/account/virtual.py:20 acls/models/base.py:35 +#: acls/models/base.py:96 acls/models/command_acl.py:21 +#: acls/serializers/base.py:35 assets/models/asset/common.py:100 +#: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 +#: assets/models/domain.py:19 assets/models/label.py:18 +#: assets/models/platform.py:15 assets/models/platform.py:94 +#: assets/serializers/asset/common.py:171 assets/serializers/platform.py:158 +#: assets/serializers/platform.py:278 +#: authentication/backends/passkey/models.py:10 +#: authentication/models/ssh_key.py:12 +#: authentication/serializers/connect_token_secret.py:113 +#: authentication/serializers/connect_token_secret.py:170 labels/models.py:11 +#: ops/mixin.py:32 ops/models/adhoc.py:19 ops/models/celery.py:15 +#: ops/models/celery.py:81 ops/models/job.py:145 ops/models/playbook.py:28 +#: ops/models/variable.py:9 ops/serializers/job.py:20 +#: ops/serializers/variable.py:20 orgs/models.py:82 +#: perms/models/asset_permission.py:61 rbac/models/role.py:29 +#: rbac/serializers/role.py:28 settings/models.py:37 settings/models.py:186 +#: settings/serializers/msg.py:89 settings/serializers/terminal.py:9 +#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/component/endpoint.py:112 +#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/terminal.py:86 +#: terminal/models/virtualapp/provider.py:10 +#: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 +#: users/forms/profile.py:33 users/models/group.py:13 +#: users/models/preference.py:11 users/models/user/__init__.py:60 +#: xpack/plugins/cloud/models.py:34 xpack/plugins/cloud/models.py:310 +#: xpack/plugins/cloud/serializers/task.py:77 +msgid "Name" +msgstr "" + +#: accounts/models/application.py:18 settings/serializers/auth/oauth2.py:25 +msgid "Logo" +msgstr "" + +#: accounts/models/application.py:20 accounts/models/base.py:39 +#: accounts/models/mixins/vault.py:49 accounts/serializers/account/base.py:20 +#: authentication/models/temp_token.py:10 +#: authentication/templates/authentication/_access_key_modal.html:31 +#: settings/serializers/auth/radius.py:20 +msgid "Secret" +msgstr "" + +#: accounts/models/application.py:21 acls/models/base.py:98 +#: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 +#: assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:420 perms/serializers/permission.py:55 +#: perms/serializers/user_permission.py:75 rbac/tree.py:35 +msgid "Accounts" +msgstr "" + +#: accounts/models/application.py:22 authentication/models/access_key.py:20 +#: terminal/models/component/endpoint.py:113 +msgid "IP group" +msgstr "" + +#: accounts/models/application.py:23 +#: authentication/backends/passkey/models.py:14 +#: authentication/models/access_key.py:24 +#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +msgid "Date last used" +msgstr "" + +#: accounts/models/application.py:24 acls/models/base.py:43 +#: assets/models/asset/common.py:178 authentication/models/access_key.py:23 +#: authentication/models/connection_token.py:58 +#: authentication/models/ssh_key.py:13 +#: authentication/templates/authentication/_access_key_modal.html:32 +#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:28 +#: terminal/models/component/endpoint.py:123 +#: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 +#: tickets/const.py:36 +msgid "Active" +msgstr "" + +#: accounts/models/application.py:28 +msgid "Integration App" +msgstr "" + +#: accounts/models/automations/backup_account.py:27 +msgid "Backup type" +msgstr "" + +#: accounts/models/automations/backup_account.py:29 +#: accounts/models/automations/backup_account.py:30 +msgid "Password divided" +msgstr "" + +#: accounts/models/automations/backup_account.py:33 +#: accounts/serializers/automations/backup.py:34 +msgid "Recipient part one" +msgstr "" + +#: accounts/models/automations/backup_account.py:37 +#: accounts/serializers/automations/backup.py:38 +msgid "Recipient part two" +msgstr "" + +#: accounts/models/automations/backup_account.py:41 +msgid "Object storage recipient part one" +msgstr "" + +#: accounts/models/automations/backup_account.py:45 +msgid "Object storage recipient part two" +msgstr "" + +#: accounts/models/automations/backup_account.py:48 +msgid "Zip encrypt password" +msgstr "" + +#: accounts/models/automations/backup_account.py:57 +msgid "Account backup plan" +msgstr "" + +#: accounts/models/automations/base.py:18 +msgid "Account automation task" +msgstr "" + +#: accounts/models/automations/base.py:32 +msgid "Automation execution" +msgstr "" + +#: accounts/models/automations/base.py:33 +msgid "Automation executions" +msgstr "" + +#: accounts/models/automations/base.py:35 +msgid "Can view change secret execution" +msgstr "" + +#: accounts/models/automations/base.py:36 +msgid "Can add change secret execution" +msgstr "" + +#: accounts/models/automations/base.py:38 +msgid "Can view gather accounts execution" +msgstr "" + +#: accounts/models/automations/base.py:39 +msgid "Can add gather accounts execution" +msgstr "" + +#: accounts/models/automations/base.py:41 +msgid "Can view push account execution" +msgstr "" + +#: accounts/models/automations/base.py:42 +msgid "Can add push account execution" +msgstr "" + +#: accounts/models/automations/base.py:44 +msgid "Can view backup account execution" +msgstr "" + +#: accounts/models/automations/base.py:45 +msgid "Can add backup account execution" +msgstr "" + +#: accounts/models/automations/base.py:60 +msgid "SSH key change strategy" +msgstr "" + +#: accounts/models/automations/base.py:64 +msgid "Check connection after change" +msgstr "" + +#: accounts/models/automations/change_secret.py:17 +#: accounts/models/automations/check_account.py:19 +#: accounts/models/automations/gather_account.py:92 +#: accounts/serializers/automations/change_secret.py:59 +#: settings/serializers/auth/ldap.py:101 +#: settings/serializers/auth/ldap_ha.py:84 settings/serializers/msg.py:45 +msgid "Recipient" +msgstr "" + +#: accounts/models/automations/change_secret.py:24 +msgid "Change secret automation" +msgstr "" + +#: accounts/models/automations/change_secret.py:47 +#: assets/models/automations/base.py:144 ops/models/base.py:56 +#: ops/models/celery.py:90 ops/models/job.py:240 +#: terminal/models/applet/host.py:142 +msgid "Date finished" +msgstr "" + +#: accounts/models/automations/change_secret.py:49 +#: accounts/models/automations/check_account.py:75 +#: accounts/models/automations/gather_account.py:25 +#: accounts/serializers/automations/check_account.py:39 +#: assets/models/automations/base.py:136 +#: assets/serializers/automations/base.py:45 audits/models.py:209 +#: audits/serializers.py:78 ops/models/base.py:49 ops/models/job.py:231 +#: terminal/models/applet/applet.py:331 terminal/models/applet/host.py:140 +#: terminal/models/component/status.py:30 +#: terminal/models/virtualapp/virtualapp.py:99 +#: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:148 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:284 +#: tickets/serializers/super_ticket.py:13 +#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:227 +#: xpack/plugins/cloud/models.py:294 +msgid "Status" +msgstr "" + +#: accounts/models/automations/change_secret.py:51 +#: accounts/serializers/account/account.py:276 +#: accounts/templates/accounts/change_secret_failed_info.html:13 +#: assets/const/automation.py:9 +#: authentication/templates/authentication/passkey.html:173 +#: authentication/views/base.py:42 authentication/views/base.py:43 +#: authentication/views/base.py:44 common/const/choices.py:68 +#: settings/templates/ldap/_msg_import_ldap_user.html:26 +msgid "Error" +msgstr "" + +#: accounts/models/automations/change_secret.py:73 +msgid "Old secret" +msgstr "" + +#: accounts/models/automations/change_secret.py:74 +msgid "New secret" +msgstr "" + +#: accounts/models/automations/change_secret.py:75 +msgid "Ignore fail" +msgstr "" + +#: accounts/models/automations/change_secret.py:78 +msgid "Change secret record" +msgstr "" + +#: accounts/models/automations/check_account.py:18 +msgid "Engines" +msgstr "" + +#: accounts/models/automations/check_account.py:34 +msgid "account check automation" +msgstr "" + +#: accounts/models/automations/check_account.py:36 +msgid "Can view check account execution" +msgstr "" + +#: accounts/models/automations/check_account.py:37 +msgid "Can add check account execution" +msgstr "" + +#: accounts/models/automations/check_account.py:43 +msgid "Long time no login" +msgstr "" + +#: accounts/models/automations/check_account.py:44 +msgid "New found" +msgstr "" + +#: accounts/models/automations/check_account.py:45 +msgid "Groups change" +msgstr "" + +#: accounts/models/automations/check_account.py:46 +msgid "Sudo changed" +msgstr "" + +#: accounts/models/automations/check_account.py:47 +msgid "Authorized keys changed" +msgstr "" + +#: accounts/models/automations/check_account.py:48 +msgid "Account delete" +msgstr "" + +#: accounts/models/automations/check_account.py:49 +#: authentication/errors/const.py:23 +msgid "Password expired" +msgstr "" + +#: accounts/models/automations/check_account.py:50 +msgid "Long time no change" +msgstr "" + +#: accounts/models/automations/check_account.py:52 +#: accounts/templates/accounts/check_account_report.html:77 +#: accounts/templates/accounts/check_account_report.html:100 +msgid "Weak password" +msgstr "" + +#: accounts/models/automations/check_account.py:53 +msgid "Leaked password" +msgstr "" + +#: accounts/models/automations/check_account.py:54 +msgid "Repeated password" +msgstr "" + +#: accounts/models/automations/check_account.py:55 +msgid "Password error" +msgstr "" + +#: accounts/models/automations/check_account.py:56 +msgid "No admin account" +msgstr "" + +#: accounts/models/automations/check_account.py:57 +msgid "Others" +msgstr "" + +#: accounts/models/automations/check_account.py:64 +#: accounts/models/automations/gather_account.py:17 accounts/models/base.py:64 +#: accounts/serializers/account/virtual.py:21 +#: accounts/templates/accounts/change_secret_report.html:80 +#: accounts/templates/accounts/change_secret_report.html:120 +#: accounts/templates/accounts/check_account_report.html:90 +#: accounts/templates/accounts/gather_account_report.html:78 +#: accounts/templates/accounts/gather_account_report.html:118 +#: accounts/templates/accounts/push_account_report.html:79 +#: accounts/templates/accounts/push_account_report.html:119 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:189 +#: authentication/forms.py:21 authentication/forms.py:23 +#: authentication/models/temp_token.py:9 +#: authentication/templates/authentication/_msg_different_city.html:9 +#: authentication/templates/authentication/_msg_oauth_bind.html:9 +#: authentication/templates/authentication/login.html:408 +#: terminal/serializers/storage.py:136 users/forms/profile.py:32 +#: users/forms/profile.py:117 users/models/user/__init__.py:59 +#: users/templates/users/_msg_user_created.html:12 +#: xpack/plugins/cloud/serializers/account_attrs.py:26 +msgid "Username" +msgstr "" + +#: accounts/models/automations/check_account.py:73 +#: accounts/serializers/automations/check_account.py:36 +msgid "Risk" +msgstr "" + +#: accounts/models/automations/check_account.py:76 +#: accounts/models/automations/gather_account.py:26 audits/models.py:151 +msgid "Detail" +msgstr "" + +#: accounts/models/automations/check_account.py:79 +msgid "Account risk" +msgstr "" + +#: accounts/models/automations/check_account.py:120 +msgid "Slug" +msgstr "" + +#: accounts/models/automations/check_account.py:131 +msgid "Check the discovered accounts" +msgstr "" + +#: accounts/models/automations/check_account.py:133 +msgid "" +"Perform checks and analyses based on automatically discovered account " +"results, including user groups, public keys, sudoers, and other information" +msgstr "" + +#: accounts/models/automations/check_account.py:140 +msgid "Check the strength of your account and password" +msgstr "" + +#: accounts/models/automations/check_account.py:142 +msgid "" +"Perform checks and analyses based on the security of account passwords, " +"including password strength, leakage, etc." +msgstr "" + +#: accounts/models/automations/check_account.py:149 +msgid "Check if the account and password are repeated" +msgstr "" + +#: accounts/models/automations/check_account.py:150 +msgid "Check if the account is the same as other accounts" +msgstr "" + +#: accounts/models/automations/check_account.py:155 +msgid "Check whether the account password is a common password" +msgstr "" + +#: accounts/models/automations/check_account.py:156 +msgid "Check whether the account password is a commonly leaked password" +msgstr "" + +#: accounts/models/automations/gather_account.py:18 +msgid "Address login" +msgstr "" + +#: accounts/models/automations/gather_account.py:19 +msgid "Date login" +msgstr "" + +#: accounts/models/automations/gather_account.py:20 +msgid "Remote present" +msgstr "" + +#: accounts/models/automations/gather_account.py:21 +msgid "Present" +msgstr "" + +#: accounts/models/automations/gather_account.py:22 +msgid "Date change password" +msgstr "" + +#: accounts/models/automations/gather_account.py:23 +msgid "Date password expired" +msgstr "" + +#: accounts/models/automations/gather_account.py:78 +msgid "Gather asset accounts" +msgstr "" + +#: accounts/models/automations/gather_account.py:90 +msgid "Is sync account" +msgstr "" + +#: accounts/models/automations/gather_account.py:93 +msgid "Check risk" +msgstr "" + +#: accounts/models/automations/gather_account.py:111 +msgid "Gather account automation" +msgstr "" + +#: accounts/models/automations/push_account.py:38 +msgid "Push asset account" +msgstr "" + +#: accounts/models/automations/push_account.py:43 +msgid "Push secret record" +msgstr "" + +#: accounts/models/automations/verify_account.py:15 +msgid "Verify asset account" +msgstr "" + +#: accounts/models/base.py:37 accounts/models/base.py:66 +#: accounts/serializers/account/account.py:466 +#: accounts/serializers/account/base.py:17 +#: accounts/serializers/automations/change_secret.py:48 +#: authentication/serializers/connect_token_secret.py:42 +#: authentication/serializers/connect_token_secret.py:51 +#: terminal/serializers/storage.py:140 +msgid "Secret type" +msgstr "" + +#: accounts/models/base.py:42 +#: accounts/serializers/automations/change_secret.py:41 +msgid "Secret strategy" +msgstr "" + +#: accounts/models/base.py:44 accounts/serializers/account/template.py:32 +#: accounts/serializers/automations/change_secret.py:47 +msgid "Password rules" +msgstr "" + +#: accounts/models/base.py:69 assets/models/automations/base.py:28 +#: 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:257 +msgid "Is active" +msgstr "" + +#: accounts/models/template.py:18 +msgid "Auto push" +msgstr "" + +#: accounts/models/template.py:21 +msgid "Platforms" +msgstr "" + +#: accounts/models/template.py:23 +msgid "Push params" +msgstr "" + +#: accounts/models/template.py:26 xpack/plugins/cloud/models.py:391 +msgid "Account template" +msgstr "" + +#: accounts/models/template.py:31 +msgid "Can view asset account template secret" +msgstr "" + +#: accounts/models/virtual.py:13 +msgid "Alias" +msgstr "" + +#: accounts/models/virtual.py:14 +msgid "Secret from login" +msgstr "" + +#: accounts/models/virtual.py:18 +msgid "Virtual account" +msgstr "" + +#: accounts/models/virtual.py:28 +msgid "Same with user" +msgstr "" + +#: accounts/models/virtual.py:37 +msgid "Non-asset account, Input username/password on connect" +msgstr "" + +#: accounts/models/virtual.py:38 +msgid "The account username name same with user on connect" +msgstr "" + +#: accounts/models/virtual.py:39 +msgid "" +"Connect asset without using a username and password, and it only supports " +"web-based and custom-type assets" +msgstr "" + +#: accounts/notifications.py:12 accounts/notifications.py:37 +msgid "Notification of account backup route task results" +msgstr "" + +#: accounts/notifications.py:22 accounts/notifications.py:46 +msgid "" +"{} - The account backup passage task has been completed. See the attachment " +"for details" +msgstr "" + +#: accounts/notifications.py:25 +msgid "" +"{} - The account backup passage task has been completed: the encryption " +"password has not been set - please go to personal information -> Basic file " +"encryption password for preference settings" +msgstr "" + +#: accounts/notifications.py:56 +msgid "Notification of implementation result of encryption change plan" +msgstr "" + +#: accounts/notifications.py:67 +msgid "" +"{} - The encryption change task has been completed. See the attachment for " +"details" +msgstr "" + +#: accounts/notifications.py:71 +msgid "" +"{} - The encryption change task has been completed: the encryption password " +"has not been set - please go to personal information -> set encryption " +"password in preferences" +msgstr "" + +#: accounts/notifications.py:83 +msgid "Gather account change information" +msgstr "" + +#: accounts/notifications.py:105 +msgid "Change secret or push account failed information" +msgstr "" + +#: accounts/risk_handlers.py:17 common/const/choices.py:113 +msgid "Ignored" +msgstr "" + +#: accounts/risk_handlers.py:18 +msgid "Reopen" +msgstr "" + +#: accounts/risk_handlers.py:19 audits/const.py:38 +#: authentication/templates/authentication/_access_key_modal.html:155 +#: authentication/templates/authentication/_mfa_confirm_modal.html:53 +#: templates/_modal.html:22 tickets/const.py:43 +msgid "Close" +msgstr "" + +#: accounts/risk_handlers.py:20 +msgid "Disable remote" +msgstr "" + +#: accounts/risk_handlers.py:21 accounts/risk_handlers.py:22 +msgid "Delete remote" +msgstr "" + +#: accounts/risk_handlers.py:23 +#: accounts/templates/accounts/asset_account_change_info.html:10 +msgid "Add account" +msgstr "" + +#: accounts/risk_handlers.py:24 +msgid "Change password and Add" +msgstr "" + +#: accounts/risk_handlers.py:25 audits/const.py:31 ops/const.py:9 +msgid "Change password" +msgstr "" + +#: accounts/serializers/account/account.py:31 +msgid "Push now" +msgstr "" + +#: accounts/serializers/account/account.py:36 +msgid "Params" +msgstr "" + +#: accounts/serializers/account/account.py:40 +msgid "Exist policy" +msgstr "" + +#: accounts/serializers/account/account.py:206 assets/models/label.py:21 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:173 +#: assets/serializers/platform.py:279 perms/serializers/user_permission.py:26 +#: settings/models.py:39 tickets/models/ticket/apply_application.py:13 +#: users/models/preference.py:12 +msgid "Category" +msgstr "" + +#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24 +#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 +#: assets/models/cmd_filter.py:74 assets/models/platform.py:96 +#: assets/serializers/asset/common.py:146 assets/serializers/platform.py:160 +#: assets/serializers/platform.py:172 audits/serializers.py:77 +#: audits/serializers.py:194 authentication/models/connection_token.py:62 +#: 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 +#: terminal/models/component/storage.py:152 terminal/serializers/applet.py:29 +#: terminal/serializers/session.py:25 terminal/serializers/storage.py:281 +#: terminal/serializers/storage.py:294 tickets/models/comment.py:26 +#: tickets/models/flow.py:42 tickets/models/ticket/apply_application.py:16 +#: tickets/models/ticket/general.py:276 tickets/serializers/flow.py:25 +#: tickets/serializers/ticket/ticket.py:19 +msgid "Type" +msgstr "" + +#: accounts/serializers/account/account.py:222 +msgid "Asset not found" +msgstr "" + +#: accounts/serializers/account/account.py:265 +msgid "Has secret" +msgstr "" + +#: accounts/serializers/account/account.py:275 ops/models/celery.py:84 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49 +#: tickets/models/ticket/general.py:280 tickets/serializers/super_ticket.py:14 +msgid "State" +msgstr "" + +#: accounts/serializers/account/account.py:277 +msgid "Changed" +msgstr "" + +#: accounts/serializers/account/account.py:287 acls/models/base.py:97 +#: acls/templates/acls/asset_login_reminder.html:9 +#: assets/models/automations/base.py:25 +#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:34 +#: assets/serializers/platform.py:181 assets/serializers/platform.py:213 +#: authentication/api/connection_token.py:463 ops/models/base.py:17 +#: ops/models/job.py:155 ops/serializers/job.py:21 +#: perms/serializers/permission.py:46 +#: terminal/templates/terminal/_msg_command_execute_alert.html:16 +#: xpack/plugins/cloud/manager.py:93 +msgid "Assets" +msgstr "" + +#: accounts/serializers/account/account.py:392 +#, python-format +msgid "Asset does not support this secret type: %s" +msgstr "" + +#: accounts/serializers/account/account.py:424 +msgid "Account has exist" +msgstr "" + +#: accounts/serializers/account/account.py:461 +#: accounts/serializers/account/base.py:86 +#: accounts/serializers/account/template.py:66 +#: assets/serializers/asset/common.py:421 +msgid "Spec info" +msgstr "" + +#: accounts/serializers/account/account.py:467 +#: authentication/serializers/connect_token_secret.py:160 +#: authentication/templates/authentication/_access_key_modal.html:30 +#: perms/models/perm_node.py:21 users/serializers/group.py:33 +msgid "ID" +msgstr "" + +#: accounts/serializers/account/account.py:477 acls/serializers/base.py:123 +#: acls/templates/acls/asset_login_reminder.html:8 +#: acls/templates/acls/user_login_reminder.html:8 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 +#: audits/models.py:91 audits/models.py:173 audits/models.py:272 +#: audits/serializers.py:195 authentication/models/connection_token.py:36 +#: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 +#: notifications/models/notification.py:12 +#: perms/api/user_permission/mixin.py:58 perms/models/asset_permission.py:63 +#: rbac/builtin.py:125 rbac/models/rolebinding.py:49 +#: rbac/serializers/rolebinding.py:17 terminal/backends/command/models.py:16 +#: terminal/models/session/session.py:32 terminal/models/session/sharing.py:34 +#: terminal/notifications.py:157 terminal/notifications.py:217 +#: terminal/serializers/command.py:16 +#: terminal/templates/terminal/_msg_command_warning.html:6 +#: terminal/templates/terminal/_msg_session_sharing.html:6 +#: tickets/models/comment.py:21 tickets/serializers/flow.py:15 +#: users/const.py:14 users/models/user/__init__.py:287 +#: users/models/user/__init__.py:314 +msgid "User" +msgstr "" + +#: accounts/serializers/account/account.py:478 +#: authentication/templates/authentication/_access_key_modal.html:33 +#: terminal/notifications.py:159 terminal/notifications.py:219 +msgid "Date" +msgstr "" + +#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149 +msgid "Passphrase" +msgstr "" + +#: accounts/serializers/account/base.py:89 +msgid "" +"* If no username is required for authentication, enter null. For AD " +"accounts, use the format username@domain." +msgstr "" + +#: accounts/serializers/account/service.py:13 +#: authentication/serializers/token.py:22 +msgid "Access IP" +msgstr "" + +#: accounts/serializers/account/service.py:26 +#: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 +#: ops/models/job.py:163 ops/models/playbook.py:31 rbac/models/role.py:37 +#: settings/models.py:42 terminal/models/applet/applet.py:46 +#: terminal/models/applet/applet.py:332 terminal/models/applet/host.py:143 +#: terminal/models/component/endpoint.py:27 +#: terminal/models/component/endpoint.py:122 +#: terminal/models/session/session.py:49 +#: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 +#: tickets/models/ticket/general.py:298 users/models/user/__init__.py:94 +#: xpack/plugins/cloud/models.py:41 xpack/plugins/cloud/models.py:124 +msgid "Comment" +msgstr "" + +#: accounts/serializers/account/service.py:28 +#: accounts/templates/accounts/backup_account_report.html:28 +#: accounts/templates/accounts/check_account_report.html:28 +#: assets/serializers/asset/common.py:151 +msgid "Accounts amount" +msgstr "" + +#: accounts/serializers/account/template.py:11 +msgid "Password length" +msgstr "" + +#: accounts/serializers/account/template.py:12 +#: settings/serializers/security.py:44 +msgid "Lowercase" +msgstr "" + +#: accounts/serializers/account/template.py:13 +#: settings/serializers/security.py:41 +msgid "Uppercase" +msgstr "" + +#: accounts/serializers/account/template.py:14 +msgid "Digit" +msgstr "" + +#: accounts/serializers/account/template.py:15 +msgid "Special symbol" +msgstr "" + +#: accounts/serializers/account/template.py:17 +msgid "Exclude symbol" +msgstr "" + +#: accounts/serializers/account/template.py:22 +msgid "" +"length is the length of the password, and the range is 8 to 30.\n" +"lowercase indicates whether the password contains lowercase letters, \n" +"uppercase indicates whether it contains uppercase letters,\n" +"digit indicates whether it contains numbers, and symbol indicates whether it " +"contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the " +"symbol characters to be excluded (up to 16). \n" +"If you do not need to exclude symbols, you can leave it blank.\n" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " +"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +msgstr "" + +#: accounts/serializers/account/template.py:47 +msgid "Secret generation strategy for account creation" +msgstr "" + +#: accounts/serializers/account/template.py:48 +msgid "Whether to automatically push the account to the asset" +msgstr "" + +#: accounts/serializers/account/template.py:51 +msgid "" +"Associated platform, you can configure push parameters. If not associated, " +"default parameters will be used" +msgstr "" + +#: accounts/serializers/account/virtual.py:24 +msgid "" +"Current only support login from AD/LDAP. Secret priority: Same account in " +"asset secret > Login secret > Manual input.
For security, please set " +"config CACHE_LOGIN_PASSWORD_ENABLED to true" +msgstr "" + +#: accounts/serializers/automations/backup.py:18 +msgid "Zip Encrypt Password" +msgstr "" + +#: accounts/serializers/automations/backup.py:35 +#: accounts/serializers/automations/backup.py:39 +#: accounts/serializers/automations/change_secret.py:60 +msgid "Currently only mail sending is supported" +msgstr "" + +#: accounts/serializers/automations/backup.py:41 +msgid "Asset type" +msgstr "" + +#: accounts/serializers/automations/base.py:22 +msgid "Name already exists" +msgstr "" + +#: accounts/serializers/automations/base.py:31 +#: assets/models/automations/base.py:147 +#: assets/serializers/automations/base.py:43 +msgid "Automation snapshot" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:44 +msgid "SSH Key strategy" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:58 +msgid "Please enter your account username" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:62 +msgid "Notification before execution" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:64 +msgid "" +"Secret parameter settings, currently only effective for assets of the host " +"type." +msgstr "" + +#: accounts/serializers/automations/change_secret.py:86 +msgid "* Please enter the correct password length" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:90 +msgid "* Password length range 8-36 bits" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:112 +#: accounts/serializers/automations/change_secret.py:147 +#: ops/serializers/job.py:93 terminal/serializers/session.py:54 +msgid "Is success" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:119 +#: assets/models/automations/base.py:163 +msgid "Automation task execution" +msgstr "" + +#: accounts/serializers/automations/check_account.py:106 +msgid "Invalid engine id" +msgstr "" + +#: accounts/serializers/automations/gather_account.py:30 +msgid "Whether to check the risk of the gathered accounts." +msgstr "" + +#: accounts/signal_handlers.py:43 +#, python-format +msgid "Push related accounts to assets: %s, by system" +msgstr "" + +#: accounts/signal_handlers.py:52 +#, python-format +msgid "Add account: %s" +msgstr "" + +#: accounts/signal_handlers.py:54 +#, python-format +msgid "Delete account: %s" +msgstr "" + +#: accounts/tasks/automation.py:32 +msgid "Account execute automation" +msgstr "" + +#: accounts/tasks/automation.py:35 +msgid "" +"Unified execution entry for account automation tasks: when the system " +"performs tasks \n" +" such as account push, password change, account verification, account " +"collection, \n" +" and gateway account verification, all tasks are executed through " +"this unified entry" +msgstr "" + +#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +msgid "Execute automation record" +msgstr "" + +#: accounts/tasks/automation.py:67 +msgid "When manually executing password change records, this task is used" +msgstr "" + +#: accounts/tasks/automation.py:96 +msgid "Clean change secret and push record period" +msgstr "" + +#: accounts/tasks/automation.py:98 +msgid "" +"The system will periodically clean up unnecessary password change and push " +"records, \n" +" including their associated change tasks, execution logs, assets, and " +"accounts. When any \n" +" of these associated items are deleted, the corresponding password " +"change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient " +"database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval " +"specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " +"This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and " +"overall performance \n" +" of data management" +msgstr "" + +#: accounts/tasks/push_account.py:16 accounts/tasks/push_account.py:27 +msgid "Push accounts to assets" +msgstr "" + +#: accounts/tasks/push_account.py:19 +msgid "" +"When creating or modifying an account requires account push, this task is " +"executed" +msgstr "" + +#: accounts/tasks/remove_account.py:28 +msgid "" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " +"accounts' this \n" +" task will be executed" +msgstr "" + +#: accounts/tasks/remove_account.py:50 +msgid "Clean historical accounts" +msgstr "" + +#: accounts/tasks/remove_account.py:52 +msgid "" +"Each time an asset account is updated, a historical account is generated, so " +"it is \n" +" necessary to clean up the asset account history. The system will " +"clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System " +"settings - Features - \n" +" Account storage - Record limit" +msgstr "" + +#: accounts/tasks/remove_account.py:89 +msgid "Remove historical accounts that are out of range." +msgstr "" + +#: accounts/tasks/template.py:11 +msgid "Template sync info to related accounts" +msgstr "" + +#: accounts/tasks/template.py:14 +msgid "" +"When clicking 'Sync new secret to accounts' in 'Console - Account - " +"Templates - \n" +" Accounts' this task will be executed" +msgstr "" + +#: accounts/tasks/vault.py:33 +msgid "Sync secret to vault" +msgstr "" + +#: accounts/tasks/vault.py:35 +msgid "" +"When clicking 'Sync' in 'System Settings - Features - Account Storage' this " +"task will be executed" +msgstr "" + +#: accounts/tasks/verify_account.py:49 +msgid "Verify asset account availability" +msgstr "" + +#: accounts/tasks/verify_account.py:52 +msgid "" +"When clicking 'Test' in 'Console - Asset details - Accounts' this task will " +"be executed" +msgstr "" + +#: accounts/tasks/verify_account.py:58 +msgid "Verify accounts connectivity" +msgstr "" + +#: accounts/templates/accounts/asset_account_change_info.html:13 +msgid "Deleted account" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:13 +#: accounts/templates/accounts/change_secret_report.html:13 +#: accounts/templates/accounts/check_account_report.html:13 +#: accounts/templates/accounts/gather_account_report.html:11 +#: accounts/templates/accounts/push_account_report.html:12 +msgid "Basic Information" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:18 +#: accounts/templates/accounts/change_secret_report.html:18 +#: accounts/templates/accounts/check_account_report.html:18 +#: accounts/templates/accounts/gather_account_report.html:16 +#: accounts/templates/accounts/push_account_report.html:17 +#: assets/models/automations/base.py:142 audits/models.py:66 +#: ops/models/base.py:55 ops/models/celery.py:89 ops/models/job.py:239 +#: ops/templates/ops/celery_task_log.html:101 +#: perms/models/asset_permission.py:78 settings/serializers/feature.py:27 +#: settings/templates/ldap/_msg_import_ldap_user.html:5 +#: terminal/models/applet/host.py:141 terminal/models/session/session.py:47 +#: tickets/models/ticket/apply_application.py:30 +#: tickets/models/ticket/apply_asset.py:19 +msgid "Date start" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:23 +#: accounts/templates/accounts/change_secret_report.html:23 +#: accounts/templates/accounts/check_account_report.html:23 +#: accounts/templates/accounts/gather_account_report.html:21 +#: accounts/templates/accounts/push_account_report.html:22 +#: settings/serializers/feature.py:28 +#: settings/templates/ldap/_msg_import_ldap_user.html:6 +#: terminal/models/session/session.py:48 +msgid "Date end" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:33 +#: accounts/templates/accounts/change_secret_failed_info.html:3 +#: accounts/templates/accounts/change_secret_report.html:48 +#: accounts/templates/accounts/check_account_report.html:48 +#: accounts/templates/accounts/gather_account_report.html:46 +#: accounts/templates/accounts/push_account_report.html:47 +#: terminal/serializers/task.py:10 +msgid "Task name" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:38 +#: accounts/templates/accounts/change_secret_report.html:53 +#: accounts/templates/accounts/check_account_report.html:53 +#: accounts/templates/accounts/gather_account_report.html:51 +#: accounts/templates/accounts/push_account_report.html:52 +msgid "Time using" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:43 +msgid "Type count" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:4 +msgid "Task execution id" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:5 +msgid "Respectful" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:6 +msgid "" +"Hello! The following is the failure of changing the password of your assets " +"or pushing the account. Please check and handle it in time." +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:28 +#: accounts/templates/accounts/gather_account_report.html:26 +#: accounts/templates/accounts/push_account_report.html:27 +#: assets/serializers/domain.py:24 assets/serializers/platform.py:182 +#: orgs/serializers.py:13 perms/serializers/permission.py:50 +msgid "Assets amount" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:33 +#: accounts/templates/accounts/check_account_report.html:33 +#: accounts/templates/accounts/gather_account_report.html:31 +#: accounts/templates/accounts/push_account_report.html:32 +msgid "Asset success count" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:38 +#: accounts/templates/accounts/check_account_report.html:38 +#: accounts/templates/accounts/gather_account_report.html:36 +#: accounts/templates/accounts/push_account_report.html:37 +msgid "Asset failed count" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:43 +#: accounts/templates/accounts/check_account_report.html:43 +#: accounts/templates/accounts/gather_account_report.html:41 +#: accounts/templates/accounts/push_account_report.html:42 +msgid "Asset not support count" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:67 +#: accounts/templates/accounts/push_account_report.html:66 +msgid "Success accounts" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:78 +#: accounts/templates/accounts/change_secret_report.html:118 +#: accounts/templates/accounts/check_account_report.html:88 +#: accounts/templates/accounts/push_account_report.html:77 +#: accounts/templates/accounts/push_account_report.html:117 +#: audits/handler.py:128 +msgid "No" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:94 +#: accounts/templates/accounts/change_secret_report.html:134 +#: accounts/templates/accounts/gather_account_report.html:92 +#: accounts/templates/accounts/gather_account_report.html:132 +#: accounts/templates/accounts/push_account_report.html:93 +#: accounts/templates/accounts/push_account_report.html:133 +msgid "No new accounts found" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:107 +#: accounts/templates/accounts/push_account_report.html:106 +msgid "Failed accounts" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:58 +msgid "Ok count" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:63 +msgid "No password count" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:91 +#: assets/models/automations/base.py:156 ops/models/base.py:51 +#: ops/models/job.py:235 xpack/plugins/cloud/models.py:225 +msgid "Result" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:106 +msgid "No weak password" +msgstr "" + +#: accounts/templates/accounts/gather_account_report.html:65 +msgid "New found accounts" +msgstr "" + +#: accounts/templates/accounts/gather_account_report.html:105 +msgid "Lost accounts" +msgstr "" + +#: accounts/utils.py:54 +msgid "" +"If the password starts with {{` and ends with }} `, then the password is not " +"allowed." +msgstr "" + +#: accounts/utils.py:62 +msgid "private key invalid or passphrase error" +msgstr "" + +#: acls/apps.py:7 +msgid "App Acls" +msgstr "" + +#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:44 +#: tickets/templates/tickets/approve_check_password.html:47 +msgid "Reject" +msgstr "" + +#: acls/const.py:7 audits/const.py:33 terminal/const.py:9 +msgid "Accept" +msgstr "" + +#: acls/const.py:8 audits/const.py:34 +msgid "Review" +msgstr "" + +#: acls/const.py:9 +msgid "Warn" +msgstr "" + +#: acls/const.py:10 +msgid "Notify" +msgstr "" + +#: acls/const.py:11 +msgid "Notify and warn" +msgstr "" + +#: acls/const.py:12 +msgid "Face Verify" +msgstr "" + +#: acls/const.py:13 +msgid "Face Online" +msgstr "" + +#: acls/models/base.py:37 assets/models/cmd_filter.py:76 +#: terminal/models/component/endpoint.py:115 xpack/plugins/cloud/models.py:316 +msgid "Priority" +msgstr "" + +#: acls/models/base.py:38 assets/models/cmd_filter.py:76 +#: terminal/models/component/endpoint.py:116 xpack/plugins/cloud/models.py:317 +msgid "1-100, the lower the value will be match first" +msgstr "" + +#: acls/models/base.py:41 acls/serializers/base.py:57 +#: assets/models/cmd_filter.py:81 audits/models.py:93 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 +#: tickets/serializers/ticket/ticket.py:21 +msgid "Action" +msgstr "" + +#: acls/models/base.py:42 assets/models/cmd_filter.py:86 +#: authentication/serializers/connect_token_secret.py:91 +msgid "Reviewers" +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:420 +msgid "Users" +msgstr "" + +#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 +#: audits/serializers.py:38 ops/serializers/job.py:92 terminal/const.py:88 +#: terminal/models/session/session.py:45 terminal/serializers/command.py:18 +#: terminal/templates/terminal/_msg_command_alert.html:12 +#: terminal/templates/terminal/_msg_command_execute_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:23 +msgid "Command" +msgstr "" + +#: acls/models/command_acl.py:17 assets/models/cmd_filter.py:59 +#: xpack/plugins/cloud/models.py:357 +msgid "Regex" +msgstr "" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +#: settings/models.py:187 settings/serializers/feature.py:22 +#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:31 +msgid "Content" +msgstr "" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +msgid "One command per line" +msgstr "" + +#: acls/models/command_acl.py:27 assets/models/cmd_filter.py:80 +msgid "Ignore case" +msgstr "" + +#: acls/models/command_acl.py:33 acls/models/command_acl.py:97 +#: acls/serializers/command_acl.py:29 +#: authentication/serializers/connect_token_secret.py:88 +#: terminal/templates/terminal/_msg_command_warning.html:14 +msgid "Command group" +msgstr "" + +#: acls/models/command_acl.py:86 +msgid "The generated regular expression is incorrect: {}" +msgstr "" + +#: acls/models/command_acl.py:103 +#: terminal/templates/terminal/_msg_command_warning.html:12 +msgid "Command acl" +msgstr "" + +#: acls/models/command_acl.py:112 tickets/const.py:12 +msgid "Command confirm" +msgstr "" + +#: acls/models/connect_method.py:10 +msgid "Connect methods" +msgstr "" + +#: acls/models/connect_method.py:13 +msgid "Connect method acl" +msgstr "" + +#: acls/models/login_acl.py:11 acls/models/login_asset_acl.py:9 +#: acls/serializers/login_acl.py:16 acls/serializers/login_asset_acl.py:13 +msgid "Rule" +msgstr "" + +#: acls/models/login_acl.py:14 +msgid "Login acl" +msgstr "" + +#: acls/models/login_acl.py:27 tickets/const.py:11 +msgid "Login confirm" +msgstr "" + +#: acls/models/login_asset_acl.py:12 +msgid "Login asset acl" +msgstr "" + +#: acls/models/login_asset_acl.py:22 tickets/const.py:13 +msgid "Login asset confirm" +msgstr "" + +#: acls/notifications.py:12 +msgid "User login reminder" +msgstr "" + +#: acls/notifications.py:42 +msgid "User login alert for asset" +msgstr "" + +#: acls/serializers/base.py:11 acls/serializers/login_acl.py:12 +msgid "With * indicating a match all. " +msgstr "" + +#: acls/serializers/base.py:26 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " +"support)" +msgstr "" + +#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 +msgid "IP/Host" +msgstr "" + +#: acls/serializers/base.py:98 +msgid "Recipients" +msgstr "" + +#: acls/serializers/base.py:110 tickets/serializers/ticket/ticket.py:77 +msgid "The organization `{}` does not exist" +msgstr "" + +#: acls/serializers/base.py:116 +msgid "None of the reviewers belong to Organization `{}`" +msgstr "" + +#: acls/serializers/rules/rules.py:20 +#: xpack/plugins/cloud/serializers/task.py:152 +msgid "IP address invalid: `{}`" +msgstr "" + +#: acls/serializers/rules/rules.py:25 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " +msgstr "" + +#: acls/serializers/rules/rules.py:33 +#: authentication/templates/authentication/_msg_oauth_bind.html:12 +#: authentication/templates/authentication/_msg_rest_password_success.html:8 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:8 +#: common/drf/renders/base.py:150 xpack/plugins/cloud/models.py:393 +msgid "IP" +msgstr "" + +#: acls/serializers/rules/rules.py:35 +msgid "Time Period" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:3 +#: acls/templates/acls/user_login_reminder.html:3 +#: authentication/templates/authentication/_msg_rest_password_success.html:2 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:2 +#: perms/templates/perms/_msg_permed_items_expire.html:3 +#: users/templates/users/_msg_reset_mfa.html:4 +msgid "Dear" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:5 +msgid "" +"We would like to inform you that a user has recently logged into the " +"following asset:" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:6 +msgid "Asset details" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:14 +#: acls/templates/acls/user_login_reminder.html:15 +msgid "" +"Please review the login activity to ensure the security and proper usage of " +"the asset. If you did not authorize this login or if you notice any " +"suspicious activity, please take the necessary actions immediately." +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:16 +#: acls/templates/acls/user_login_reminder.html:16 +msgid "Thank you for your attention to this matter" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:5 +msgid "We would like to inform you that a user has recently logged:" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:6 +msgid "User details" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:10 audits/models.py:195 +#: audits/models.py:266 +#: authentication/templates/authentication/_msg_different_city.html:11 +#: tickets/models/ticket/login_confirm.py:11 +msgid "Login city" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:11 audits/models.py:198 +#: audits/models.py:267 audits/serializers.py:92 +msgid "User agent" +msgstr "" + +#: assets/api/asset/asset.py:194 +msgid "Cannot create asset directly, you should create a host or other" +msgstr "" + +#: assets/api/asset/asset.py:198 +msgid "The number of assets exceeds the limit of 5000" +msgstr "" + +#: assets/api/domain.py:67 +msgid "Number required" +msgstr "" + +#: assets/api/node.py:58 +msgid "You can't update the root node name" +msgstr "" + +#: assets/api/node.py:65 +msgid "You can't delete the root node ({})" +msgstr "" + +#: assets/api/node.py:68 +msgid "Deletion failed and the node contains assets" +msgstr "" + +#: assets/api/tree.py:48 assets/serializers/node.py:42 +msgid "The same level node name cannot be the same" +msgstr "" + +#: assets/apps.py:9 +msgid "App Assets" +msgstr "" + +#: assets/automations/base/manager.py:347 +msgid " - Platform {} ansible disabled" +msgstr "" + +#: assets/automations/base/manager.py:530 +msgid ">>> Task preparation phase" +msgstr "" + +#: assets/automations/base/manager.py:534 +#, python-brace-format +msgid ">>> Executing tasks in batches, total {runner_count}" +msgstr "" + +#: assets/automations/base/manager.py:539 +msgid ">>> Start executing tasks" +msgstr "" + +#: assets/automations/base/manager.py:541 +msgid ">>> No tasks need to be executed" +msgstr "" + +#: assets/automations/base/manager.py:545 +#, python-brace-format +msgid ">>> Begin executing batch {index} of tasks" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:33 +#: authentication/models/connection_token.py:145 +msgid "No account" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:36 +msgid "Asset, {}, using account {}" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:55 +#, python-brace-format +msgid "Unable to connect to port {port} on {address}" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:58 +#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +msgid "Authentication failed" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:60 +#: assets/automations/ping_gateway/manager.py:86 terminal/const.py:104 +msgid "Connect failed" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:118 +msgid ">>> Start executing the task to test gateway connectivity" +msgstr "" + +#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:47 +#: audits/signal_handlers/activity_log.py:62 common/utils/ip/geoip/utils.py:31 +#: common/utils/ip/geoip/utils.py:37 common/utils/ip/utils.py:104 +msgid "Unknown" +msgstr "" + +#: assets/const/automation.py:7 +msgid "N/A" +msgstr "" + +#: assets/const/automation.py:8 +msgid "OK" +msgstr "" + +#: assets/const/automation.py:13 +msgid "Ping" +msgstr "" + +#: assets/const/automation.py:14 +msgid "Ping gateway" +msgstr "" + +#: assets/const/automation.py:15 +msgid "Gather facts" +msgstr "" + +#: assets/const/base.py:32 audits/const.py:58 +#: terminal/serializers/applet_host.py:32 users/models/user/_auth.py:32 +msgid "Disabled" +msgstr "" + +#: assets/const/base.py:33 settings/serializers/basic.py:8 +#: users/serializers/preference/koko.py:19 +#: users/serializers/preference/luna.py:85 +msgid "Basic" +msgstr "" + +#: assets/const/base.py:34 assets/const/protocol.py:298 +#: assets/models/asset/web.py:13 +msgid "Script" +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:81 settings/serializers/feature.py:94 +#: settings/serializers/msg.py:30 terminal/models/component/endpoint.py:14 +#: terminal/serializers/applet.py:17 xpack/plugins/cloud/manager.py:93 +#: xpack/plugins/cloud/serializers/account_attrs.py:72 +msgid "Host" +msgstr "" + +#: assets/const/category.py:11 assets/models/asset/device.py:8 +msgid "Device" +msgstr "" + +#: assets/const/category.py:13 +msgid "Cloud service" +msgstr "" + +#: assets/const/category.py:14 assets/models/asset/gpt.py:11 +#: assets/models/asset/web.py:16 audits/const.py:45 +#: terminal/models/applet/applet.py:28 users/const.py:76 +msgid "Web" +msgstr "" + +#: assets/const/category.py:15 common/sdk/sms/endpoint.py:20 +msgid "Custom type" +msgstr "" + +#: assets/const/cloud.py:7 +msgid "Public cloud" +msgstr "" + +#: assets/const/cloud.py:8 +msgid "Private cloud" +msgstr "" + +#: assets/const/cloud.py:9 +msgid "Kubernetes" +msgstr "" + +#: assets/const/device.py:7 +msgid "Cisco" +msgstr "" + +#: assets/const/device.py:8 +msgid "Huawei" +msgstr "" + +#: assets/const/device.py:9 +msgid "H3C" +msgstr "" + +#: assets/const/device.py:10 +msgid "Juniper" +msgstr "" + +#: assets/const/device.py:11 +msgid "TP-Link" +msgstr "" + +#: assets/const/device.py:12 terminal/models/applet/applet.py:27 +#: tickets/const.py:9 +msgid "General" +msgstr "" + +#: assets/const/device.py:13 +msgid "Switch" +msgstr "" + +#: assets/const/device.py:14 +msgid "Router" +msgstr "" + +#: assets/const/device.py:15 +msgid "Firewall" +msgstr "" + +#: assets/const/gpt.py:7 +msgid "ChatGPT" +msgstr "" + +#: assets/const/host.py:13 rbac/tree.py:28 rbac/tree.py:66 +#: xpack/plugins/cloud/const.py:69 +msgid "Other" +msgstr "" + +#: assets/const/protocol.py:46 +msgid "Old SSH version" +msgstr "" + +#: assets/const/protocol.py:47 +msgid "Old SSH version like openssh 5.x or 6.x" +msgstr "" + +#: assets/const/protocol.py:53 +msgid "Netcat help text" +msgstr "" + +#: assets/const/protocol.py:64 +msgid "SFTP root" +msgstr "" + +#: assets/const/protocol.py:66 +#, python-brace-format +msgid "" +"SFTP root directory, Support variable:
- ${ACCOUNT} The connected " +"account username
- ${HOME} The home directory of the connected account " +"
- ${USER} The username of the user" +msgstr "" + +#: assets/const/protocol.py:81 +msgid "Console" +msgstr "" + +#: assets/const/protocol.py:82 +msgid "Connect to console session" +msgstr "" + +#: assets/const/protocol.py:86 +msgid "Any" +msgstr "" + +#: assets/const/protocol.py:88 rbac/tree.py:62 +#: settings/serializers/security.py:241 +msgid "Security" +msgstr "" + +#: assets/const/protocol.py:89 +msgid "" +"Security layer to use for the connection:
Any
Automatically select the " +"security mode based on the security protocols supported by both the client " +"and the server
RDP
Legacy RDP encryption. This mode is generally only " +"used for older Windows servers or in cases where a standard Windows login " +"screen is desired
TLS
RDP authentication and encryption implemented " +"via TLS.
NLA
This mode uses TLS encryption and requires the username " +"and password to be given in advance" +msgstr "" + +#: assets/const/protocol.py:106 +msgid "AD domain" +msgstr "" + +#: assets/const/protocol.py:121 +msgid "Username prompt" +msgstr "" + +#: assets/const/protocol.py:122 +msgid "We will send username when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:127 +msgid "Password prompt" +msgstr "" + +#: assets/const/protocol.py:128 +msgid "We will send password when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:133 +msgid "Success prompt" +msgstr "" + +#: assets/const/protocol.py:134 +msgid "We will consider login success when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:145 assets/models/asset/database.py:11 +#: settings/serializers/msg.py:49 +msgid "Use SSL" +msgstr "" + +#: assets/const/protocol.py:180 +msgid "SYSDBA" +msgstr "" + +#: assets/const/protocol.py:181 +msgid "Connect as SYSDBA" +msgstr "" + +#: assets/const/protocol.py:196 +msgid "" +"SQL Server version, Different versions have different connection drivers" +msgstr "" + +#: assets/const/protocol.py:226 +msgid "Auth source" +msgstr "" + +#: assets/const/protocol.py:227 +msgid "The database to authenticate against" +msgstr "" + +#: assets/const/protocol.py:232 authentication/models/connection_token.py:47 +msgid "Connect options" +msgstr "" + +#: assets/const/protocol.py:233 +msgid "The connection specific options eg. retryWrites=false&retryReads=false" +msgstr "" + +#: assets/const/protocol.py:245 +msgid "Auth username" +msgstr "" + +#: assets/const/protocol.py:268 +msgid "Safe mode" +msgstr "" + +#: assets/const/protocol.py:270 +msgid "" +"When safe mode is enabled, some operations will be disabled, such as: New " +"tab, right click, visit other website, etc." +msgstr "" + +#: assets/const/protocol.py:275 assets/models/asset/web.py:9 +#: assets/serializers/asset/info/spec.py:16 +msgid "Autofill" +msgstr "" + +#: assets/const/protocol.py:283 assets/models/asset/web.py:10 +msgid "Username selector" +msgstr "" + +#: assets/const/protocol.py:288 assets/models/asset/web.py:11 +msgid "Password selector" +msgstr "" + +#: assets/const/protocol.py:293 assets/models/asset/web.py:12 +msgid "Submit selector" +msgstr "" + +#: assets/const/protocol.py:316 +msgid "API mode" +msgstr "" + +#: assets/const/types.py:249 +msgid "All types" +msgstr "" + +#: assets/const/web.py:7 +msgid "Website" +msgstr "" + +#: assets/exceptions.py:12 +msgid "This function is not supported temporarily" +msgstr "" + +#: assets/models/asset/cloud.py:11 +msgid "Cloud" +msgstr "" + +#: assets/models/asset/common.py:101 assets/models/platform.py:16 +#: settings/serializers/auth/radius.py:18 settings/serializers/auth/sms.py:77 +#: settings/serializers/msg.py:31 terminal/serializers/storage.py:133 +#: xpack/plugins/cloud/serializers/account_attrs.py:73 +msgid "Port" +msgstr "" + +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:172 +#: settings/serializers/terminal.py:10 +msgid "Address" +msgstr "" + +#: assets/models/asset/common.py:169 assets/models/platform.py:149 +#: assets/serializers/asset/common.py:150 +#: authentication/backends/passkey/models.py:12 +#: authentication/serializers/connect_token_secret.py:118 +#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:387 +msgid "Platform" +msgstr "" + +#: assets/models/asset/common.py:173 assets/models/domain.py:22 +msgid "Zone" +msgstr "" + +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:174 +#: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 +#: perms/serializers/permission.py:47 +msgid "Nodes" +msgstr "" + +#: assets/models/asset/common.py:179 assets/serializers/asset/common.py:422 +#: assets/serializers/asset/host.py:11 +msgid "Gathered info" +msgstr "" + +#: assets/models/asset/common.py:180 assets/serializers/asset/custom.py:14 +msgid "Custom info" +msgstr "" + +#: assets/models/asset/common.py:369 +msgid "Can refresh asset hardware info" +msgstr "" + +#: assets/models/asset/common.py:370 +msgid "Can test asset connectivity" +msgstr "" + +#: assets/models/asset/common.py:371 +msgid "Can match asset" +msgstr "" + +#: assets/models/asset/common.py:372 +msgid "Can change asset nodes" +msgstr "" + +#: assets/models/asset/custom.py:8 +msgid "Custom asset" +msgstr "" + +#: assets/models/asset/database.py:12 +msgid "CA cert" +msgstr "" + +#: assets/models/asset/database.py:13 +msgid "Client cert" +msgstr "" + +#: assets/models/asset/database.py:14 +msgid "Client key" +msgstr "" + +#: assets/models/asset/database.py:15 +msgid "Allow invalid cert" +msgstr "" + +#: assets/models/asset/database.py:18 +msgid "Postgresql SSL mode" +msgstr "" + +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:139 +#: settings/serializers/feature.py:154 +msgid "Proxy" +msgstr "" + +#: assets/models/automations/base.py:23 assets/models/cmd_filter.py:32 +#: assets/models/node.py:553 ops/models/job.py:156 +#: perms/models/asset_permission.py:72 tickets/models/ticket/apply_asset.py:14 +#: xpack/plugins/cloud/models.py:388 +msgid "Node" +msgstr "" + +#: assets/models/automations/base.py:29 ops/models/job.py:234 +#: ops/serializers/job.py:24 settings/serializers/auth/sms.py:108 +msgid "Parameters" +msgstr "" + +#: assets/models/automations/base.py:31 +msgid "Last execution date" +msgstr "" + +#: assets/models/automations/base.py:44 assets/models/automations/base.py:131 +msgid "Automation task" +msgstr "" + +#: assets/models/automations/base.py:122 +msgid "Asset automation task" +msgstr "" + +#: assets/models/automations/base.py:139 assets/models/cmd_filter.py:41 +#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:238 +#: users/models/user/__init__.py:317 +msgid "Date created" +msgstr "" + +#: assets/models/automations/base.py:153 +#: assets/serializers/automations/base.py:44 xpack/plugins/cloud/models.py:242 +#: xpack/plugins/cloud/serializers/task.py:249 +msgid "Trigger mode" +msgstr "" + +#: assets/models/automations/base.py:155 audits/serializers.py:39 +#: ops/models/base.py:52 ops/models/job.py:236 +#: xpack/plugins/cloud/manager.py:103 +msgid "Summary" +msgstr "" + +#: assets/models/automations/gather_facts.py:15 +msgid "Gather asset facts" +msgstr "" + +#: assets/models/automations/ping.py:15 +msgid "Ping asset" +msgstr "" + +#: assets/models/base.py:17 terminal/notifications.py:243 +msgid "Connectivity" +msgstr "" + +#: assets/models/base.py:19 authentication/models/temp_token.py:12 +msgid "Date verified" +msgstr "" + +#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 +#: users/models/group.py:25 users/models/user/__init__.py:66 +msgid "User group" +msgstr "" + +#: assets/models/cmd_filter.py:42 common/db/models.py:35 +#: users/models/user/__init__.py:145 +msgid "Date updated" +msgstr "" + +#: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 +#: common/db/models.py:32 users/models/user/__init__.py:104 +#: users/serializers/group.py:32 +msgid "Created by" +msgstr "" + +#: assets/models/cmd_filter.py:52 +msgid "Command filter" +msgstr "" + +#: assets/models/cmd_filter.py:66 +msgid "Deny" +msgstr "" + +#: assets/models/cmd_filter.py:67 +msgid "Allow" +msgstr "" + +#: assets/models/cmd_filter.py:68 +msgid "Reconfirm" +msgstr "" + +#: assets/models/cmd_filter.py:72 +msgid "Filter" +msgstr "" + +#: assets/models/cmd_filter.py:95 +msgid "Command filter rule" +msgstr "" + +#: assets/models/favorite_asset.py:17 +msgid "Favorite asset" +msgstr "" + +#: assets/models/gateway.py:34 assets/serializers/domain.py:19 +msgid "Gateway" +msgstr "" + +#: assets/models/label.py:15 rbac/const.py:6 +msgid "System" +msgstr "" + +#: assets/models/label.py:19 assets/models/node.py:539 +#: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18 +#: assets/serializers/cagegory.py:24 +#: authentication/models/connection_token.py:33 +#: authentication/serializers/connect_token_secret.py:125 +#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:38 +#: users/models/preference.py:13 +msgid "Value" +msgstr "" + +#: assets/models/label.py:40 assets/serializers/cagegory.py:10 +#: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 +#: assets/serializers/platform.py:159 +#: authentication/serializers/connect_token_secret.py:124 +#: common/serializers/common.py:85 labels/serializers.py:45 +#: settings/serializers/msg.py:90 xpack/plugins/cloud/models.py:392 +msgid "Label" +msgstr "" + +#: assets/models/my_asset.py:12 assets/serializers/my_asset.py:16 +msgid "Custom Name" +msgstr "" + +#: assets/models/my_asset.py:13 assets/serializers/my_asset.py:17 +msgid "Custom Comment" +msgstr "" + +#: assets/models/my_asset.py:18 rbac/tree.py:54 +msgid "My assets" +msgstr "" + +#: assets/models/node.py:168 +msgid "New node" +msgstr "" + +#: assets/models/node.py:467 audits/backends/db.py:85 audits/backends/db.py:86 +msgid "empty" +msgstr "" + +#: assets/models/node.py:538 perms/models/perm_node.py:28 +msgid "Key" +msgstr "" + +#: assets/models/node.py:540 assets/serializers/node.py:20 +msgid "Full value" +msgstr "" + +#: assets/models/node.py:544 perms/models/perm_node.py:30 +msgid "Parent key" +msgstr "" + +#: assets/models/node.py:556 +msgid "Can match node" +msgstr "" + +#: assets/models/platform.py:17 +msgid "Primary" +msgstr "" + +#: assets/models/platform.py:18 ops/models/variable.py:20 +msgid "Required" +msgstr "" + +#: assets/models/platform.py:19 assets/serializers/platform.py:161 +#: terminal/models/component/storage.py:28 +#: xpack/plugins/cloud/providers/nutanix.py:30 +msgid "Default" +msgstr "" + +#: assets/models/platform.py:20 +msgid "Public" +msgstr "" + +#: assets/models/platform.py:21 assets/serializers/platform.py:85 +#: settings/serializers/settings.py:95 +#: users/templates/users/reset_password.html:29 +msgid "Setting" +msgstr "" + +#: assets/models/platform.py:38 audits/const.py:59 +#: authentication/backends/passkey/models.py:11 settings/models.py:41 +#: terminal/serializers/applet_host.py:33 users/models/user/_auth.py:33 +msgid "Enabled" +msgstr "" + +#: assets/models/platform.py:39 +msgid "Ansible config" +msgstr "" + +#: assets/models/platform.py:41 assets/serializers/platform.py:36 +msgid "Ping enabled" +msgstr "" + +#: assets/models/platform.py:42 assets/serializers/platform.py:37 +msgid "Ping method" +msgstr "" + +#: assets/models/platform.py:43 +msgid "Ping params" +msgstr "" + +#: assets/models/platform.py:45 assets/models/platform.py:69 +#: assets/serializers/platform.py:39 +msgid "Gather facts enabled" +msgstr "" + +#: assets/models/platform.py:47 assets/models/platform.py:71 +#: assets/serializers/platform.py:43 +msgid "Gather facts method" +msgstr "" + +#: assets/models/platform.py:49 assets/models/platform.py:73 +msgid "Gather facts params" +msgstr "" + +#: assets/models/platform.py:51 assets/serializers/platform.py:53 +msgid "Change secret enabled" +msgstr "" + +#: assets/models/platform.py:53 assets/serializers/platform.py:57 +msgid "Change secret method" +msgstr "" + +#: assets/models/platform.py:55 +msgid "Change secret params" +msgstr "" + +#: assets/models/platform.py:57 assets/serializers/platform.py:60 +msgid "Push account enabled" +msgstr "" + +#: assets/models/platform.py:59 assets/serializers/platform.py:64 +msgid "Push account method" +msgstr "" + +#: assets/models/platform.py:61 +msgid "Push account params" +msgstr "" + +#: assets/models/platform.py:63 assets/serializers/platform.py:46 +msgid "Verify account enabled" +msgstr "" + +#: assets/models/platform.py:65 assets/serializers/platform.py:50 +msgid "Verify account method" +msgstr "" + +#: assets/models/platform.py:67 +msgid "Verify account params" +msgstr "" + +#: assets/models/platform.py:75 +msgid "Remove account enabled" +msgstr "" + +#: assets/models/platform.py:77 assets/serializers/platform.py:74 +msgid "Remove account method" +msgstr "" + +#: assets/models/platform.py:79 +msgid "Remove account params" +msgstr "" + +#: assets/models/platform.py:97 tickets/models/ticket/general.py:301 +msgid "Meta" +msgstr "" + +#: assets/models/platform.py:98 labels/models.py:13 +msgid "Internal" +msgstr "" + +#: assets/models/platform.py:102 assets/serializers/platform.py:171 +msgid "Charset" +msgstr "" + +#: assets/models/platform.py:104 assets/serializers/platform.py:209 +msgid "Gateway enabled" +msgstr "" + +#: assets/models/platform.py:106 assets/serializers/platform.py:202 +msgid "Su enabled" +msgstr "" + +#: assets/models/platform.py:107 assets/serializers/platform.py:177 +msgid "Su method" +msgstr "" + +#: assets/models/platform.py:108 assets/serializers/platform.py:180 +msgid "Custom fields" +msgstr "" + +#: assets/models/utils.py:18 +#, python-format +msgid "%(value)s is not an even number" +msgstr "" + +#: assets/notifications.py:12 +msgid "" +"Batch update platform in assets, skipping assets that do not meet platform " +"type" +msgstr "" + +#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:153 +msgid "Protocols, format is [\"protocol/port\"]" +msgstr "" + +#: assets/serializers/asset/common.py:38 +msgid "Protocol, format is name/port" +msgstr "" + +#: assets/serializers/asset/common.py:107 +msgid "" +"Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " +"\"secret_type\": \"password\"}]" +msgstr "" + +#: assets/serializers/asset/common.py:135 +msgid "" +"Node path, format [\"/org_name/node_name\"], if node not exist, will create " +"it" +msgstr "" + +#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:174 +#: authentication/serializers/connect_token_secret.py:30 +#: authentication/serializers/connect_token_secret.py:75 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:56 +#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:390 +#: xpack/plugins/cloud/serializers/task.py:36 +msgid "Protocols" +msgstr "" + +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:173 +msgid "Node path" +msgstr "" + +#: assets/serializers/asset/common.py:170 +#: assets/serializers/asset/common.py:423 +msgid "Auto info" +msgstr "" + +#: assets/serializers/asset/common.py:268 +msgid "Platform not exist" +msgstr "" + +#: assets/serializers/asset/common.py:304 +msgid "port out of range (0-65535)" +msgstr "" + +#: assets/serializers/asset/common.py:311 +msgid "Protocol is required: {}" +msgstr "" + +#: assets/serializers/asset/common.py:350 +msgid "Invalid data" +msgstr "" + +#: assets/serializers/asset/database.py:13 +msgid "Default database" +msgstr "" + +#: assets/serializers/asset/database.py:23 +msgid "CA cert help text" +msgstr "" + +#: assets/serializers/asset/database.py:24 +msgid "Postgresql ssl model help text" +msgstr "" + +#: assets/serializers/asset/gpt.py:20 +msgid "" +"If the server cannot directly connect to the API address, you need set up an " +"HTTP proxy. e.g. http(s)://host:port" +msgstr "" + +#: assets/serializers/asset/gpt.py:24 +msgid "HTTP proxy" +msgstr "" + +#: assets/serializers/asset/gpt.py:31 +msgid "Proxy must start with http:// or https://" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:6 +msgid "Vendor" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:7 +msgid "Model" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:8 +#: tickets/models/ticket/general.py:300 +msgid "Serial number" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:9 +msgid "CPU model" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:10 +msgid "CPU count" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:11 +msgid "CPU cores" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:12 +msgid "CPU vcpus" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:13 +msgid "Memory" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:14 +msgid "Disk total" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:16 +#: authentication/serializers/connect_token_secret.py:115 +msgid "OS" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:17 +msgid "OS version" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:18 +msgid "OS arch" +msgstr "" + +#: assets/serializers/automations/base.py:38 +msgid "Executions" +msgstr "" + +#: assets/serializers/cagegory.py:13 +msgid "Constraints" +msgstr "" + +#: assets/serializers/cagegory.py:19 settings/serializers/feature.py:129 +msgid "Types" +msgstr "" + +#: assets/serializers/domain.py:21 +msgid "" +"A gateway is a network proxy for a zone, and when connecting assets within " +"the zone, the connection is routed through the gateway." +msgstr "" + +#: assets/serializers/gateway.py:19 +msgid "The platform must start with Gateway" +msgstr "" + +#: assets/serializers/gateway.py:28 common/validators.py:34 +msgid "This field must be unique." +msgstr "" + +#: assets/serializers/node.py:17 +msgid "value" +msgstr "" + +#: assets/serializers/node.py:31 +msgid "Can't contains: /" +msgstr "" + +#: assets/serializers/platform.py:36 +msgid "Enable asset detection" +msgstr "" + +#: assets/serializers/platform.py:40 +msgid "Enable asset information collection" +msgstr "" + +#: assets/serializers/platform.py:47 +msgid "Enable account verification" +msgstr "" + +#: assets/serializers/platform.py:54 +msgid "Enable account secret auto change" +msgstr "" + +#: assets/serializers/platform.py:61 +msgid "Enable account auto push" +msgstr "" + +#: assets/serializers/platform.py:67 +msgid "Gather accounts enabled" +msgstr "" + +#: assets/serializers/platform.py:68 +msgid "Enable account collection" +msgstr "" + +#: assets/serializers/platform.py:71 +msgid "Gather accounts method" +msgstr "" + +#: assets/serializers/platform.py:77 +msgid "Remove accounts enabled" +msgstr "" + +#: assets/serializers/platform.py:78 +msgid "Enable account remove" +msgstr "" + +#: assets/serializers/platform.py:86 +msgid "Port from addr" +msgstr "" + +#: assets/serializers/platform.py:98 +msgid "" +"This protocol is primary, and it must be set when adding assets. " +"Additionally, there can only be one primary protocol." +msgstr "" + +#: assets/serializers/platform.py:103 +msgid "This protocol is required, and it must be set when adding assets." +msgstr "" + +#: assets/serializers/platform.py:106 +msgid "" +"This protocol is default, when adding assets, it will be displayed by " +"default." +msgstr "" + +#: assets/serializers/platform.py:109 +msgid "This protocol is public, asset will show this protocol to user" +msgstr "" + +#: assets/serializers/platform.py:162 +msgid "Help text" +msgstr "" + +#: assets/serializers/platform.py:163 +msgid "Choices" +msgstr "" + +#: assets/serializers/platform.py:175 +msgid "Automation" +msgstr "" + +#: assets/serializers/platform.py:204 +msgid "" +"Login with account when accessing assets, then automatically switch to " +"another, similar to logging in with a regular account and then switching to " +"root" +msgstr "" + +#: assets/serializers/platform.py:210 +msgid "Assets can be connected using a zone gateway" +msgstr "" + +#: assets/serializers/platform.py:212 +msgid "Default Domain" +msgstr "" + +#: assets/serializers/platform.py:234 +msgid "type is required" +msgstr "" + +#: assets/serializers/platform.py:249 +msgid "Protocols is required" +msgstr "" + +#: assets/signal_handlers/asset.py:26 assets/tasks/ping.py:39 +msgid "Test assets connectivity " +msgstr "" + +#: assets/signal_handlers/asset.py:36 +msgid "Gather asset hardware info" +msgstr "" + +#: assets/tasks/automation.py:25 +msgid "Asset execute automation" +msgstr "" + +#: assets/tasks/automation.py:27 orgs/tasks.py:11 terminal/tasks.py:33 +msgid "Unused" +msgstr "" + +#: assets/tasks/gather_facts.py:22 assets/tasks/gather_facts.py:32 +msgid "Gather assets facts" +msgstr "" + +#: assets/tasks/gather_facts.py:25 +msgid "" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " +"this task \n" +" will be executed" +msgstr "" + +#: assets/tasks/gather_facts.py:44 +msgid "Update assets hardware info: " +msgstr "" + +#: assets/tasks/gather_facts.py:52 +msgid "Update node asset hardware information: " +msgstr "" + +#: assets/tasks/nodes_amount.py:16 +msgid "Check the amount of assets under the node" +msgstr "" + +#: assets/tasks/nodes_amount.py:18 +msgid "" +"Manually verifying asset quantities updates the asset count for nodes under " +"the \n" +" current organization. This task will be called in the following two " +"cases: when updating \n" +" nodes and when the number of nodes exceeds 100" +msgstr "" + +#: assets/tasks/nodes_amount.py:34 +msgid "" +"The task of self-checking is already running and cannot be started repeatedly" +msgstr "" + +#: assets/tasks/nodes_amount.py:40 +msgid "Periodic check the amount of assets under the node" +msgstr "" + +#: assets/tasks/nodes_amount.py:42 +msgid "" +"Schedule the check_node_assets_amount_task to periodically update the asset " +"count of \n" +" all nodes under all organizations" +msgstr "" + +#: assets/tasks/ping.py:20 assets/tasks/ping.py:30 +msgid "Test assets connectivity" +msgstr "" + +#: assets/tasks/ping.py:24 +msgid "" +"When clicking 'Test Asset Connectivity' in 'Asset Details - Basic Settings' " +"this task will be executed" +msgstr "" + +#: assets/tasks/ping.py:46 +msgid "Test if the assets under the node are connectable " +msgstr "" + +#: assets/tasks/ping_gateway.py:19 assets/tasks/ping_gateway.py:29 +#: assets/tasks/ping_gateway.py:38 +msgid "Test gateways connectivity" +msgstr "" + +#: assets/tasks/ping_gateway.py:23 +msgid "" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " +"be executed" +msgstr "" + +#: assets/tasks/utils.py:16 +msgid "Asset has been disabled, skipped: {}" +msgstr "" + +#: assets/tasks/utils.py:20 +msgid "Asset may not be support ansible, skipped: {}" +msgstr "" + +#: assets/tasks/utils.py:38 +msgid "For security, do not push user {}" +msgstr "" + +#: assets/tasks/utils.py:54 +msgid "No assets matched, stop task" +msgstr "" + +#: audits/apps.py:9 +msgid "App Audits" +msgstr "" + +#: audits/backends/db.py:17 +msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgstr "" + +#: audits/backends/db.py:78 +msgid "labels" +msgstr "" + +#: audits/backends/db.py:79 +msgid "operate_log_id" +msgstr "" + +#: audits/backends/db.py:111 ops/models/variable.py:19 +msgid "Tips" +msgstr "" + +#: audits/const.py:12 +msgid "Mkdir" +msgstr "" + +#: audits/const.py:13 +msgid "Rmdir" +msgstr "" + +#: audits/const.py:14 audits/const.py:25 +#: authentication/templates/authentication/_access_key_modal.html:65 +#: rbac/tree.py:270 +msgid "Delete" +msgstr "" + +#: audits/const.py:15 +msgid "Upload" +msgstr "" + +#: audits/const.py:16 +msgid "Rename" +msgstr "" + +#: audits/const.py:17 +msgid "Symlink" +msgstr "" + +#: audits/const.py:18 audits/const.py:28 +#: ops/templates/ops/celery_task_log.html:86 +#: terminal/api/session/session.py:154 +msgid "Download" +msgstr "" + +#: audits/const.py:19 +msgid "Rename dir" +msgstr "" + +#: 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:94 +msgid "View" +msgstr "" + +#: audits/const.py:26 +#: authentication/templates/authentication/_access_key_modal.html:22 +#: rbac/tree.py:267 +msgid "Create" +msgstr "" + +#: audits/const.py:29 +msgid "Connect" +msgstr "" + +#: audits/const.py:30 authentication/templates/authentication/login.html:329 +#: authentication/templates/authentication/login.html:401 +#: templates/_header_bar.html:101 +msgid "Login" +msgstr "" + +#: audits/const.py:35 rbac/tree.py:56 +msgid "Notifications" +msgstr "" + +#: audits/const.py:37 tickets/const.py:45 +msgid "Approve" +msgstr "" + +#: audits/const.py:41 ops/models/celery.py:85 +#: terminal/models/session/sharing.py:128 tickets/const.py:25 +#: xpack/plugins/cloud/const.py:67 +msgid "Finished" +msgstr "" + +#: audits/const.py:46 settings/serializers/terminal.py:6 +#: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 +#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:57 +#: terminal/serializers/session.py:113 +msgid "Terminal" +msgstr "" + +#: audits/const.py:51 audits/models.py:133 +msgid "Operate log" +msgstr "" + +#: audits/const.py:52 +msgid "Session log" +msgstr "" + +#: audits/const.py:53 +msgid "Login log" +msgstr "" + +#: audits/const.py:54 rbac/tree.py:64 terminal/models/applet/host.py:144 +#: terminal/models/component/task.py:22 +#: xpack/plugins/cloud/serializers/account.py:77 +msgid "Task" +msgstr "" + +#: audits/const.py:60 +msgid "-" +msgstr "" + +#: audits/handler.py:128 +msgid "Yes" +msgstr "" + +#: audits/models.py:48 +msgid "Job audit log" +msgstr "" + +#: audits/models.py:57 audits/models.py:101 audits/models.py:176 +#: audits/models.py:309 terminal/models/session/session.py:41 +#: terminal/models/session/sharing.py:113 +msgid "Remote addr" +msgstr "" + +#: audits/models.py:62 audits/serializers.py:62 +msgid "Operate" +msgstr "" + +#: audits/models.py:64 +msgid "Filename" +msgstr "" + +#: audits/models.py:67 +msgid "Can Download" +msgstr "" + +#: audits/models.py:68 terminal/backends/command/models.py:21 +#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:20 +#: terminal/models/session/sharing.py:95 terminal/serializers/command.py:19 +#: terminal/templates/terminal/_msg_command_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:17 +#: tickets/models/ticket/command_confirm.py:15 +msgid "Session" +msgstr "" + +#: audits/models.py:71 +msgid "File transfer log" +msgstr "" + +#: audits/models.py:95 audits/serializers.py:110 +msgid "Resource Type" +msgstr "" + +#: audits/models.py:96 audits/models.py:99 audits/models.py:145 +#: audits/serializers.py:109 labels/serializers.py:46 +msgid "Resource" +msgstr "" + +#: audits/models.py:102 audits/models.py:148 audits/models.py:178 +#: audits/models.py:314 audits/serializers.py:230 +#: terminal/serializers/command.py:75 +msgid "Datetime" +msgstr "" + +#: audits/models.py:141 +msgid "Activity type" +msgstr "" + +#: audits/models.py:154 +msgid "Detail ID" +msgstr "" + +#: audits/models.py:158 +msgid "Activity log" +msgstr "" + +#: audits/models.py:174 +msgid "Change by" +msgstr "" + +#: audits/models.py:184 +msgid "Password change log" +msgstr "" + +#: audits/models.py:191 audits/models.py:268 +msgid "Login type" +msgstr "" + +#: audits/models.py:193 audits/models.py:264 +#: tickets/models/ticket/login_confirm.py:10 +msgid "Login IP" +msgstr "" + +#: audits/models.py:201 audits/serializers.py:76 +#: authentication/templates/authentication/_mfa_confirm_modal.html:14 +#: users/forms/profile.py:64 users/models/user/__init__.py:82 +#: users/serializers/profile.py:71 +msgid "MFA" +msgstr "" + +#: audits/models.py:204 terminal/models/session/sharing.py:125 +#: xpack/plugins/cloud/manager.py:180 xpack/plugins/cloud/models.py:231 +msgid "Reason" +msgstr "" + +#: audits/models.py:211 +#: authentication/templates/authentication/_msg_different_city.html:10 +#: tickets/models/ticket/login_confirm.py:12 +msgid "Login Date" +msgstr "" + +#: audits/models.py:213 audits/models.py:269 +msgid "Auth backend" +msgstr "" + +#: audits/models.py:257 +msgid "User login log" +msgstr "" + +#: audits/models.py:265 +msgid "Session key" +msgstr "" + +#: audits/models.py:270 +msgid "Login date" +msgstr "" + +#: audits/models.py:301 +msgid "User session" +msgstr "" + +#: audits/models.py:303 +msgid "Offline user session" +msgstr "" + +#: audits/models.py:310 +msgid "Application" +msgstr "" + +#: audits/models.py:311 +msgid "Application ID" +msgstr "" + +#: audits/serializers.py:33 ops/models/adhoc.py:24 ops/models/base.py:16 +#: ops/models/base.py:53 ops/models/celery.py:87 ops/models/job.py:154 +#: ops/models/job.py:237 ops/models/playbook.py:30 ops/models/variable.py:17 +#: terminal/models/session/sharing.py:25 +msgid "Creator" +msgstr "" + +#: audits/serializers.py:40 ops/serializers/celery.py:33 +msgid "Execution cycle" +msgstr "" + +#: audits/serializers.py:93 +msgid "Reason display" +msgstr "" + +#: audits/serializers.py:94 audits/serializers.py:208 +msgid "Auth backend display" +msgstr "" + +#: audits/serializers.py:158 +#, python-format +msgid "%s %s this resource" +msgstr "" + +#: audits/serializers.py:196 authentication/models/connection_token.py:51 +#: 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:101 +msgid "Date expired" +msgstr "" + +#: audits/serializers.py:227 terminal/models/component/terminal.py:91 +#: terminal/serializers/command.py:76 +msgid "Remote Address" +msgstr "" + +#: audits/signal_handlers/activity_log.py:26 +#, python-format +msgid "User %s use account %s login asset %s" +msgstr "" + +#: audits/signal_handlers/activity_log.py:34 +#, python-format +msgid "User %s login system %s" +msgstr "" + +#: audits/signal_handlers/activity_log.py:64 +#, python-format +msgid "User %s perform a task for this resource: %s" +msgstr "" + +#: audits/signal_handlers/login_log.py:33 +msgid "SSH Key" +msgstr "" + +#: audits/signal_handlers/login_log.py:35 settings/serializers/auth/sso.py:13 +msgid "SSO" +msgstr "" + +#: audits/signal_handlers/login_log.py:36 +msgid "Auth Token" +msgstr "" + +#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 +#: authentication/views/login.py:79 notifications/backends/__init__.py:11 +#: settings/serializers/auth/wecom.py:11 settings/serializers/auth/wecom.py:16 +#: users/models/user/__init__.py:125 users/models/user/_source.py:19 +msgid "WeCom" +msgstr "" + +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:97 +#: authentication/views/login.py:91 notifications/backends/__init__.py:14 +#: settings/serializers/auth/feishu.py:12 +#: settings/serializers/auth/feishu.py:14 users/models/user/__init__.py:131 +#: users/models/user/_source.py:21 +msgid "FeiShu" +msgstr "" + +#: audits/signal_handlers/login_log.py:40 authentication/views/login.py:103 +#: authentication/views/slack.py:79 notifications/backends/__init__.py:16 +#: settings/serializers/auth/slack.py:11 settings/serializers/auth/slack.py:13 +#: users/models/user/__init__.py:137 users/models/user/_source.py:23 +msgid "Slack" +msgstr "" + +#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:151 +#: authentication/views/login.py:85 notifications/backends/__init__.py:12 +#: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:128 +#: users/models/user/_source.py:20 +msgid "DingTalk" +msgstr "" + +#: audits/signal_handlers/login_log.py:42 +#: authentication/models/temp_token.py:16 +msgid "Temporary token" +msgstr "" + +#: audits/signal_handlers/login_log.py:43 authentication/views/login.py:109 +#: settings/serializers/auth/passkey.py:8 +#: settings/serializers/auth/passkey.py:11 +msgid "Passkey" +msgstr "" + +#: audits/tasks.py:132 +msgid "Clean audits session task log" +msgstr "" + +#: audits/tasks.py:134 +msgid "" +"Since the system generates login logs, operation logs, file upload logs, " +"activity \n" +" logs, Celery execution logs, session recordings, command records, " +"and password change \n" +" logs, it will perform cleanup of records that exceed the time limit " +"according to the \n" +" 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" +msgstr "" + +#: audits/tasks.py:154 +msgid "Upload FTP file to external storage" +msgstr "" + +#: audits/tasks.py:156 +msgid "" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " +"management will be \n" +" synchronized to external storage" +msgstr "" + +#: authentication/api/access_key.py:39 +msgid "Access keys can be created at most 10" +msgstr "" + +#: authentication/api/common.py:34 settings/serializers/auth/sms.py:122 +#, python-format +msgid "The value in the parameter must contain %s" +msgstr "" + +#: authentication/api/confirm.py:50 +msgid "This action require verify your MFA" +msgstr "" + +#: authentication/api/connection_token.py:303 +msgid "Reusable connection token is not allowed, global setting not enabled" +msgstr "" + +#: authentication/api/connection_token.py:423 +msgid "Anonymous account is not supported for this asset" +msgstr "" + +#: authentication/api/connection_token.py:455 +msgid "Permission expired" +msgstr "" + +#: authentication/api/connection_token.py:488 +msgid "ACL action is reject: {}({})" +msgstr "" + +#: authentication/api/connection_token.py:492 +msgid "ACL action is review" +msgstr "" + +#: authentication/api/connection_token.py:502 +msgid "ACL action is face verify" +msgstr "" + +#: authentication/api/connection_token.py:507 +msgid "ACL action not supported for this asset" +msgstr "" + +#: authentication/api/connection_token.py:514 +msgid "ACL action is face online" +msgstr "" + +#: authentication/api/connection_token.py:533 +msgid "No available face feature" +msgstr "" + +#: authentication/api/face.py:100 authentication/mfa/face.py:21 +#: authentication/mfa/face.py:23 users/views/profile/face.py:72 +msgid "Facial comparison failed" +msgstr "" + +#: authentication/api/mfa.py:61 +msgid "Current user not support mfa type: {}" +msgstr "" + +#: 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:34 users/views/profile/reset.py:166 +msgid "No user matched" +msgstr "" + +#: 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:69 +#: authentication/templates/authentication/login.html:393 +#: users/templates/users/forgot_password.html:41 +#: users/templates/users/forgot_password.html:42 +#: users/templates/users/forgot_password_previewing.html:13 +#: users/templates/users/forgot_password_previewing.html:14 +msgid "Forgot password" +msgstr "" + +#: authentication/apps.py:7 +msgid "App Authentication" +msgstr "" + +#: authentication/backends/custom.py:60 +#: authentication/backends/oauth2/backends.py:158 +msgid "User invalid, disabled or expired" +msgstr "" + +#: authentication/backends/drf.py:60 +msgid "Invalid token header. No credentials provided." +msgstr "" + +#: authentication/backends/drf.py:63 +msgid "Invalid token header. Sign string should not contain spaces." +msgstr "" + +#: authentication/backends/drf.py:69 +msgid "" +"Invalid token header. Sign string should not contain invalid characters." +msgstr "" + +#: authentication/backends/drf.py:82 +msgid "Invalid token or cache refreshed." +msgstr "" + +#: authentication/backends/oidc/views.py:175 +msgid "OpenID Error" +msgstr "" + +#: authentication/backends/oidc/views.py:176 +#: authentication/backends/saml2/views.py:283 +msgid "Please check if a user with the same username or email already exists" +msgstr "" + +#: authentication/backends/passkey/api.py:37 +msgid "Only register passkey for local user" +msgstr "" + +#: authentication/backends/passkey/api.py:65 +msgid "Auth failed" +msgstr "" + +#: authentication/backends/passkey/fido.py:151 +msgid "This key is not registered" +msgstr "" + +#: authentication/backends/passkey/models.py:13 +msgid "Added on" +msgstr "" + +#: authentication/backends/passkey/models.py:15 +msgid "Credential ID" +msgstr "" + +#: authentication/backends/saml2/views.py:282 +msgid "SAML2 Error" +msgstr "" + +#: authentication/confirm/password.py:17 +msgid "Authentication failed password incorrect" +msgstr "" + +#: authentication/confirm/relogin.py:11 +msgid "Login time has exceeded {} minutes, please login again" +msgstr "" + +#: authentication/const.py:32 +msgid "OTP" +msgstr "" + +#: authentication/const.py:33 authentication/serializers/password_mfa.py:16 +#: authentication/serializers/password_mfa.py:24 +#: settings/serializers/auth/sms.py:18 settings/serializers/auth/sms.py:36 +#: 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/const.py:34 +msgid "Face Recognition" +msgstr "" + +#: authentication/const.py:35 settings/serializers/auth/radius.py:14 +#: settings/serializers/auth/radius.py:16 +msgid "Radius" +msgstr "" + +#: authentication/const.py:36 +msgid "Custom" +msgstr "" + +#: authentication/errors/const.py:18 +msgid "Username/password check failed" +msgstr "" + +#: authentication/errors/const.py:19 +msgid "Password decrypt failed" +msgstr "" + +#: authentication/errors/const.py:20 +msgid "MFA failed" +msgstr "" + +#: authentication/errors/const.py:21 +msgid "MFA unset" +msgstr "" + +#: authentication/errors/const.py:22 +msgid "Username does not exist" +msgstr "" + +#: authentication/errors/const.py:24 +msgid "Disabled or expired" +msgstr "" + +#: authentication/errors/const.py:25 +msgid "This account is inactive." +msgstr "" + +#: authentication/errors/const.py:26 +msgid "This account is expired" +msgstr "" + +#: authentication/errors/const.py:27 +msgid "Auth backend not match" +msgstr "" + +#: authentication/errors/const.py:28 +msgid "ACL is not allowed" +msgstr "" + +#: authentication/errors/const.py:29 +msgid "Only local users are allowed" +msgstr "" + +#: authentication/errors/const.py:39 +msgid "No session found, check your cookie" +msgstr "" + +#: authentication/errors/const.py:41 +#, python-brace-format +msgid "" +"The username or password you entered is incorrect, please enter it again. " +"You can also try {times_try} times (The account will be temporarily locked " +"for {block_time} minutes)" +msgstr "" + +#: authentication/errors/const.py:47 authentication/errors/const.py:55 +msgid "" +"The account has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" + +#: authentication/errors/const.py:51 +msgid "" +"The address has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" + +#: authentication/errors/const.py:59 +#, python-brace-format +msgid "" +"{error}, You can also try {times_try} times (The account will be temporarily " +"locked for {block_time} minutes)" +msgstr "" + +#: authentication/errors/const.py:63 +msgid "MFA required" +msgstr "" + +#: authentication/errors/const.py:64 +msgid "MFA not set, please set it first" +msgstr "" + +#: authentication/errors/const.py:65 +msgid "Login confirm required" +msgstr "" + +#: authentication/errors/const.py:66 +msgid "Wait login confirm ticket for accept" +msgstr "" + +#: authentication/errors/const.py:67 +msgid "Login confirm ticket was {}" +msgstr "" + +#: authentication/errors/failed.py:149 +msgid "Current login is prohibited by ACL rules" +msgstr "" + +#: authentication/errors/failed.py:154 +msgid "Please enter MFA code" +msgstr "" + +#: authentication/errors/failed.py:159 +msgid "Please enter SMS code" +msgstr "" + +#: authentication/errors/failed.py:164 users/exceptions.py:14 +msgid "Phone not set" +msgstr "" + +#: authentication/errors/mfa.py:8 +msgid "SSO auth closed" +msgstr "" + +#: authentication/errors/mfa.py:18 authentication/views/wecom.py:47 +msgid "WeCom is already bound" +msgstr "" + +#: authentication/errors/mfa.py:23 authentication/views/wecom.py:144 +#: authentication/views/wecom.py:186 +msgid "WeCom is not bound" +msgstr "" + +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 +#: authentication/views/dingtalk.py:247 +msgid "DingTalk is not bound" +msgstr "" + +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:132 +msgid "FeiShu is not bound" +msgstr "" + +#: authentication/errors/mfa.py:38 authentication/views/lark.py:48 +msgid "Lark is not bound" +msgstr "" + +#: authentication/errors/mfa.py:43 authentication/views/slack.py:121 +msgid "Slack is not bound" +msgstr "" + +#: authentication/errors/mfa.py:48 +msgid "Your password is invalid" +msgstr "" + +#: authentication/errors/mfa.py:53 +#, python-format +msgid "Please wait for %s seconds before retry" +msgstr "" + +#: authentication/errors/redirect.py:85 authentication/mixins.py:327 +msgid "Your password is too simple, please change it for security" +msgstr "" + +#: authentication/errors/redirect.py:93 authentication/mixins.py:336 +msgid "You should to change your password before login" +msgstr "" + +#: authentication/errors/redirect.py:101 authentication/mixins.py:345 +msgid "Your password has expired, please reset before logging in" +msgstr "" + +#: authentication/forms.py:34 +msgid "Auto-login" +msgstr "" + +#: authentication/forms.py:52 +msgid "MFA Code" +msgstr "" + +#: authentication/forms.py:53 +msgid "MFA type" +msgstr "" + +#: authentication/forms.py:61 +#: authentication/templates/authentication/_captcha_field.html:15 +msgid "Captcha" +msgstr "" + +#: authentication/forms.py:66 users/forms/profile.py:28 +msgid "MFA code" +msgstr "" + +#: authentication/forms.py:68 +msgid "Dynamic code" +msgstr "" + +#: authentication/mfa/base.py:8 +msgid "Please input security code" +msgstr "" + +#: authentication/mfa/base.py:27 +msgid "" +"The two-factor code you entered has either already been used or has expired. " +"Please request a new one." +msgstr "" + +#: authentication/mfa/custom.py:21 +msgid "MFA Custom code invalid" +msgstr "" + +#: authentication/mfa/custom.py:27 +msgid "MFA custom verification code" +msgstr "" + +#: authentication/mfa/custom.py:57 +msgid "MFA custom global enabled, cannot disable" +msgstr "" + +#: authentication/mfa/face.py:55 +msgid "Bind face to enable" +msgstr "" + +#: authentication/mfa/face.py:59 +msgid "Unbind face to disable" +msgstr "" + +#: authentication/mfa/otp.py:7 +msgid "OTP code invalid, or server time error" +msgstr "" + +#: authentication/mfa/otp.py:13 +msgid "OTP verification code" +msgstr "" + +#: authentication/mfa/otp.py:48 +msgid "Virtual OTP based MFA" +msgstr "" + +#: authentication/mfa/radius.py:8 +msgid "Radius verify code invalid" +msgstr "" + +#: authentication/mfa/radius.py:14 +msgid "Radius verification code" +msgstr "" + +#: authentication/mfa/radius.py:45 +msgid "Radius global enabled, cannot disable" +msgstr "" + +#: authentication/mfa/sms.py:9 +msgid "SMS verify code invalid" +msgstr "" + +#: authentication/mfa/sms.py:15 +msgid "SMS verification code" +msgstr "" + +#: authentication/mfa/sms.py:64 +msgid "Set phone number to enable" +msgstr "" + +#: authentication/mfa/sms.py:68 +msgid "Clear phone number to disable" +msgstr "" + +#: authentication/middleware.py:95 settings/utils/ldap.py:691 +msgid "Authentication failed (before login check failed): {}" +msgstr "" + +#: authentication/mixins.py:83 +msgid "User is invalid" +msgstr "" + +#: authentication/mixins.py:98 +msgid "" +"The administrator has enabled 'Only allow login from user source'. \n" +" The current user source is {}. Please contact the administrator." +msgstr "" + +#: authentication/mixins.py:273 +msgid "The MFA type ({}) is not enabled" +msgstr "" + +#: authentication/mixins.py:315 +msgid "Please change your password" +msgstr "" + +#: authentication/models/connection_token.py:42 +#: terminal/serializers/storage.py:114 +msgid "Account name" +msgstr "" + +#: authentication/models/connection_token.py:43 +msgid "Input username" +msgstr "" + +#: authentication/models/connection_token.py:44 +#: authentication/serializers/connection_token.py:18 +msgid "Input secret" +msgstr "" + +#: authentication/models/connection_token.py:45 +#: authentication/serializers/connect_token_secret.py:114 +#: settings/serializers/msg.py:28 terminal/models/applet/applet.py:43 +#: terminal/models/virtualapp/virtualapp.py:24 +#: terminal/serializers/session.py:23 terminal/serializers/session.py:50 +#: terminal/serializers/storage.py:71 +msgid "Protocol" +msgstr "" + +#: authentication/models/connection_token.py:46 +msgid "Connect method" +msgstr "" + +#: authentication/models/connection_token.py:48 +msgid "User display" +msgstr "" + +#: authentication/models/connection_token.py:49 +msgid "Asset display" +msgstr "" + +#: authentication/models/connection_token.py:50 +msgid "Reusable" +msgstr "" + +#: authentication/models/connection_token.py:55 +#: perms/models/asset_permission.py:83 +msgid "From ticket" +msgstr "" + +#: authentication/models/connection_token.py:57 +msgid "Face monitor token" +msgstr "" + +#: authentication/models/connection_token.py:68 +msgid "Can expire connection token" +msgstr "" + +#: authentication/models/connection_token.py:69 +msgid "Can reuse connection token" +msgstr "" + +#: authentication/models/connection_token.py:71 +msgid "Connection token" +msgstr "" + +#: authentication/models/connection_token.py:132 +msgid "Connection token inactive" +msgstr "" + +#: authentication/models/connection_token.py:136 +msgid "Connection token expired at: {}" +msgstr "" + +#: authentication/models/connection_token.py:139 +#: terminal/serializers/session.py:95 +msgid "No user or invalid user" +msgstr "" + +#: authentication/models/connection_token.py:142 +msgid "No asset or inactive asset" +msgstr "" + +#: authentication/models/connection_token.py:290 +msgid "Can view super connection token secret" +msgstr "" + +#: authentication/models/connection_token.py:292 +msgid "Super connection token" +msgstr "" + +#: authentication/models/connection_token.py:309 +msgid "Admin connection token" +msgstr "" + +#: authentication/models/private_token.py:11 +msgid "Private Token" +msgstr "" + +#: authentication/models/ssh_key.py:15 terminal/serializers/storage.py:146 +#: users/models/user/__init__.py:89 +#: xpack/plugins/cloud/serializers/account_attrs.py:214 +msgid "Private key" +msgstr "" + +#: authentication/models/ssh_key.py:18 settings/serializers/terminal.py:34 +#: users/forms/profile.py:175 users/models/user/__init__.py:92 +#: xpack/plugins/cloud/serializers/account_attrs.py:211 +msgid "Public key" +msgstr "" + +#: authentication/models/sso_token.py:15 +msgid "Expired" +msgstr "" + +#: authentication/models/sso_token.py:20 +msgid "SSO token" +msgstr "" + +#: authentication/models/temp_token.py:11 +msgid "Verified" +msgstr "" + +#: authentication/notifications.py:19 +msgid "Different city login reminder" +msgstr "" + +#: authentication/notifications.py:52 +msgid "binding reminder" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:116 +msgid "Is builtin" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:120 +msgid "Options" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:127 +#: ops/notifications.py:19 rbac/tree.py:60 +msgid "Component" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:136 +#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:389 +msgid "Domain" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:138 +msgid "Expired now" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:171 +#: terminal/models/virtualapp/virtualapp.py:25 +msgid "Image name" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:172 +#: terminal/models/virtualapp/virtualapp.py:27 +msgid "Image port" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:173 +#: terminal/models/virtualapp/virtualapp.py:26 +msgid "Image protocol" +msgstr "" + +#: authentication/serializers/connection_token.py:16 +msgid "Expired time" +msgstr "" + +#: authentication/serializers/connection_token.py:20 +msgid "Ticket info" +msgstr "" + +#: authentication/serializers/connection_token.py:21 +#: perms/models/asset_permission.py:77 +#: tickets/models/ticket/apply_application.py:28 +#: tickets/models/ticket/apply_asset.py:18 +msgid "Actions" +msgstr "" + +#: authentication/serializers/connection_token.py:43 +#: perms/serializers/permission.py:54 perms/serializers/permission.py:75 +#: users/serializers/user.py:127 users/serializers/user.py:261 +msgid "Is expired" +msgstr "" + +#: authentication/serializers/connection_token.py:44 +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "" + +#: authentication/serializers/password_mfa.py:29 +#: users/templates/users/forgot_password.html:153 +msgid "The {} cannot be empty" +msgstr "" + +#: authentication/serializers/ssh_key.py:17 +msgid "Automatically Generate Key Pair" +msgstr "" + +#: authentication/serializers/ssh_key.py:19 +msgid "Import Existing Key Pair" +msgstr "" + +#: authentication/serializers/ssh_key.py:31 +msgid "Create Type" +msgstr "" + +#: authentication/serializers/ssh_key.py:33 +msgid "" +"Please download the private key after creation. Each private key can only be " +"downloaded once" +msgstr "" + +#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 +#: users/serializers/profile.py:134 users/serializers/profile.py:161 +msgid "Not a valid ssh public key" +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:258 +msgid "Is valid" +msgstr "" + +#: authentication/tasks.py:13 +msgid "Clean expired session" +msgstr "" + +#: authentication/tasks.py:15 +msgid "" +"Since user logins create sessions, the system will clean up expired sessions " +"every 24 hours" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:6 +msgid "API key list" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:18 +msgid "Using api key sign api header, every requests header difference" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:19 +msgid "docs" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:48 +msgid "Show" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:66 +#: users/const.py:42 users/templates/users/user_verify_mfa.html:36 +msgid "Disable" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:67 +#: users/const.py:43 users/templates/users/mfa_setting.html:120 +#: users/templates/users/mfa_setting.html:158 +#: users/templates/users/mfa_setting.html:177 +msgid "Enable" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:147 +msgid "Delete success" +msgstr "" + +#: authentication/templates/authentication/_captcha_field.html:8 +msgid "Play CAPTCHA as audio file" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:5 +msgid "MFA confirm" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:17 +msgid "Need MFA for view auth" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:20 +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:37 +#: templates/_modal.html:23 templates/flash_message_standalone.html:37 +#: users/templates/users/user_password_verify.html:20 +msgid "Confirm" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:25 +msgid "Code error" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:3 +#: 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: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 +#: users/templates/users/_msg_password_expire_reminder.html:4 +#: users/templates/users/_msg_reset_ssh_key.html:4 +msgid "Hello" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:6 +msgid "Your account has remote login behavior, please pay attention" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:14 +msgid "" +"If you suspect that the login behavior is abnormal, please modify the " +"account password in time." +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:6 +msgid "Your account has just been bound to" +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:11 +#: notifications/notifications.py:202 +#: settings/templates/ldap/_msg_import_ldap_user.html:3 +msgid "Time" +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:17 +msgid "If the operation is not your own, unbind and change the password." +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:6 +msgid "" +"Please click the link below to reset your password, if not your request, " +"concern your account security" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:10 +msgid "Click here reset password" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:15 +#: users/templates/users/_msg_user_created.html:20 +msgid "This link is valid for 1 hour. After it expires" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:16 +#: users/templates/users/_msg_user_created.html:21 +msgid "request new one" +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:108 users/templates/users/forgot_password.html:98 +msgid "Verify code" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password_code.html:15 +msgid "" +"Copy the verification code to the Reset Password page to reset the password." +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password_code.html:18 +msgid "The validity period of the verification code is one minute" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:5 +msgid "Your password has just been successfully updated" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:9 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:9 +msgid "Browser" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:12 +msgid "" +"If the password update was not initiated by you, your account may have " +"security issues" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:13 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:13 +msgid "If you have any questions, you can contact the administrator" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:5 +msgid "Your public key has just been successfully updated" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:12 +msgid "" +"If the public key update was not initiated by you, your account may have " +"security issues" +msgstr "" + +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 +#: templates/flash_message_standalone.html:28 tickets/const.py:18 +msgid "Cancel" +msgstr "" + +#: authentication/templates/authentication/face_capture.html:14 +msgid "Retry" +msgstr "" + +#: authentication/templates/authentication/login.html:308 +msgid "" +"Configuration file has problems and cannot be logged in. Please contact the " +"administrator or view latest docs" +msgstr "" + +#: authentication/templates/authentication/login.html:309 +msgid "If you are administrator, you can update the config resolve it, set" +msgstr "" + +#: authentication/templates/authentication/login.html:416 +msgid "More login options" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:6 +msgid "MFA Auth" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:19 +#: users/templates/users/user_otp_check_password.html:12 +#: users/templates/users/user_otp_enable_bind.html:24 +#: users/templates/users/user_otp_enable_install_app.html:31 +#: users/templates/users/user_verify_mfa.html:30 +msgid "Next" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:22 +msgid "Can't provide security? Please contact the administrator!" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:41 +msgid "Refresh" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:46 +msgid "Copy link" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:51 +msgid "Return" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:117 +msgid "Copy success" +msgstr "" + +#: authentication/templates/authentication/passkey.html:162 +msgid "" +"This page is not served over HTTPS. Please use HTTPS to ensure security of " +"your credentials." +msgstr "" + +#: authentication/templates/authentication/passkey.html:173 +msgid "Do you want to retry ?" +msgstr "" + +#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24 +#: xpack/plugins/cloud/const.py:33 +msgid "LAN" +msgstr "" + +#: authentication/views/base.py:71 +#: perms/templates/perms/_msg_permed_items_expire.html:18 +msgid "If you have any question, please contact the administrator" +msgstr "" + +#: authentication/views/base.py:144 +#, python-format +msgid "%s query user failed" +msgstr "" + +#: authentication/views/base.py:152 +#, python-format +msgid "The %s is already bound to another user" +msgstr "" + +#: authentication/views/base.py:158 +#, python-format +msgid "Binding %s successfully" +msgstr "" + +#: authentication/views/dingtalk.py:42 +msgid "DingTalk Error, Please contact your system administrator" +msgstr "" + +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +msgid "DingTalk Error" +msgstr "" + +#: authentication/views/dingtalk.py:53 +msgid "DingTalk is already bound" +msgstr "" + +#: authentication/views/dingtalk.py:122 +msgid "Invalid user_id" +msgstr "" + +#: authentication/views/dingtalk.py:138 +msgid "DingTalk query user failed" +msgstr "" + +#: authentication/views/dingtalk.py:146 +msgid "The DingTalk is already bound to another user" +msgstr "" + +#: authentication/views/dingtalk.py:152 +msgid "Binding DingTalk successfully" +msgstr "" + +#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +msgid "Failed to get user from DingTalk" +msgstr "" + +#: authentication/views/dingtalk.py:248 +msgid "Please login with a password and then bind the DingTalk" +msgstr "" + +#: authentication/views/feishu.py:43 authentication/views/feishu.py:131 +msgid "FeiShu Error" +msgstr "" + +#: authentication/views/feishu.py:44 +msgid "FeiShu is already bound" +msgstr "" + +#: authentication/views/feishu.py:133 +msgid "Failed to get user from FeiShu" +msgstr "" + +#: authentication/views/lark.py:19 authentication/views/lark.py:47 +msgid "Lark Error" +msgstr "" + +#: authentication/views/lark.py:20 +msgid "Lark is already bound" +msgstr "" + +#: authentication/views/lark.py:49 +msgid "Failed to get user from Lark" +msgstr "" + +#: authentication/views/login.py:219 +msgid "Redirecting" +msgstr "" + +#: authentication/views/login.py:220 +msgid "Redirecting to {} authentication" +msgstr "" + +#: authentication/views/login.py:247 +msgid "Login timeout, please try again." +msgstr "" + +#: authentication/views/login.py:292 +msgid "User email already exists ({})" +msgstr "" + +#: authentication/views/login.py:370 +msgid "" +"Wait for {} confirm, You also can copy link to her/him
\n" +" Don't close this page" +msgstr "" + +#: authentication/views/login.py:375 +msgid "No ticket found" +msgstr "" + +#: authentication/views/login.py:411 +msgid "Logout success" +msgstr "" + +#: authentication/views/login.py:412 +msgid "Logout success, return login page" +msgstr "" + +#: authentication/views/mixins.py:39 +msgid "" +"For your safety, automatic redirection login is not supported on the client. " +"If you need to open it in the client, please log in again" +msgstr "" + +#: authentication/views/slack.py:35 authentication/views/slack.py:120 +msgid "Slack Error" +msgstr "" + +#: authentication/views/slack.py:55 +msgid "Slack is already bound" +msgstr "" + +#: authentication/views/slack.py:122 +msgid "Failed to get user from Slack" +msgstr "" + +#: authentication/views/wecom.py:36 +msgid "WeCom Error, Please contact your system administrator" +msgstr "" + +#: authentication/views/wecom.py:39 authentication/views/wecom.py:143 +msgid "WeCom Error" +msgstr "" + +#: authentication/views/wecom.py:103 +msgid "Wecom" +msgstr "" + +#: authentication/views/wecom.py:145 authentication/views/wecom.py:180 +msgid "Failed to get user from WeCom" +msgstr "" + +#: authentication/views/wecom.py:187 +msgid "Please login with a password and then bind the WeCom" +msgstr "" + +#: common/api/action.py:57 +msgid "Request file format may be wrong" +msgstr "" + +#: common/const/choices.py:41 +msgid "China" +msgstr "" + +#: common/const/choices.py:58 +msgid "Manual" +msgstr "" + +#: common/const/choices.py:59 +msgid "Timing" +msgstr "" + +#: common/const/choices.py:63 +msgid "Ready" +msgstr "" + +#: common/const/choices.py:65 ops/const.py:73 +msgid "Running" +msgstr "" + +#: common/const/choices.py:69 +msgid "Canceled" +msgstr "" + +#: common/const/choices.py:112 +msgid "Confirmed" +msgstr "" + +#: common/const/choices.py:120 terminal/models/applet/applet.py:31 +msgid "Community edition" +msgstr "" + +#: common/const/choices.py:121 +msgid "Basic edition" +msgstr "" + +#: common/const/choices.py:122 +msgid "Standard edition" +msgstr "" + +#: common/const/choices.py:123 +msgid "Professional edition" +msgstr "" + +#: common/const/choices.py:124 +msgid "Ultimate edition" +msgstr "" + +#: common/const/common.py:5 xpack/plugins/cloud/manager.py:427 +#, python-format +msgid "%(name)s was created successfully" +msgstr "" + +#: common/const/common.py:6 +#, python-format +msgid "%(name)s was updated successfully" +msgstr "" + +#: common/db/encoder.py:11 +msgid "gettext_lazy" +msgstr "" + +#: common/db/fields.py:106 +msgid "Marshal dict data to char field" +msgstr "" + +#: common/db/fields.py:110 +msgid "Marshal dict data to text field" +msgstr "" + +#: common/db/fields.py:122 +msgid "Marshal list data to char field" +msgstr "" + +#: common/db/fields.py:126 +msgid "Marshal list data to text field" +msgstr "" + +#: common/db/fields.py:130 +msgid "Marshal data to char field" +msgstr "" + +#: common/db/fields.py:134 +msgid "Marshal data to text field" +msgstr "" + +#: common/db/fields.py:167 +msgid "Encrypt field using Secret Key" +msgstr "" + +#: common/db/fields.py:578 +msgid "" +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " +"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"'match': 'exact', 'value': '1.1.1.1'}}" +msgstr "" + +#: common/db/fields.py:585 +msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" +msgstr "" + +#: common/db/fields.py:588 +msgid "Invalid ids for ids, should be a list" +msgstr "" + +#: common/db/fields.py:590 common/db/fields.py:595 +#: common/serializers/fields.py:146 terminal/serializers/session.py:81 +#: tickets/serializers/ticket/common.py:58 +#: xpack/plugins/cloud/serializers/account_attrs.py:56 +#: xpack/plugins/cloud/serializers/account_attrs.py:80 +#: xpack/plugins/cloud/serializers/account_attrs.py:151 +msgid "This field is required." +msgstr "" + +#: common/db/fields.py:593 common/db/fields.py:598 +msgid "Invalid attrs, should be a list of dict" +msgstr "" + +#: common/db/fields.py:600 +msgid "Invalid attrs, should be has name and value" +msgstr "" + +#: common/db/mixins.py:32 +msgid "is discard" +msgstr "" + +#: common/db/mixins.py:33 +msgid "discard time" +msgstr "" + +#: common/db/models.py:33 users/models/user/__init__.py:107 +msgid "Updated by" +msgstr "" + +#: common/db/validators.py:9 +msgid "Invalid port range, should be like and within {}-{}" +msgstr "" + +#: common/drf/exc_handlers.py:28 +msgid "Object" +msgstr "" + +#: common/drf/metadata.py:127 +msgid "Org ID" +msgstr "" + +#: common/drf/parsers/base.py:21 +msgid "The file content overflowed (The maximum length `{}` bytes)" +msgstr "" + +#: common/drf/parsers/base.py:207 +msgid "Parse file error: {}" +msgstr "" + +#: common/drf/parsers/excel.py:14 +msgid "Invalid excel file" +msgstr "" + +#: common/drf/renders/base.py:138 +msgid "Yes/No" +msgstr "" + +#: common/drf/renders/base.py:141 +msgid "Text, max length {}" +msgstr "" + +#: common/drf/renders/base.py:143 +msgid "Long text, no length limit" +msgstr "" + +#: common/drf/renders/base.py:145 +msgid "Number, min {} max {}" +msgstr "" + +#: common/drf/renders/base.py:148 +msgid "Datetime format {}" +msgstr "" + +#: common/drf/renders/base.py:154 +msgid "" +"Choices, format name(value), name is optional for human read, value is " +"requisite, options {}" +msgstr "" + +#: common/drf/renders/base.py:157 +msgid "Choices, options {}" +msgstr "" + +#: common/drf/renders/base.py:159 +msgid "Phone number, format +8612345678901" +msgstr "" + +#: common/drf/renders/base.py:161 +msgid "Label, format [\"key:value\"]" +msgstr "" + +#: common/drf/renders/base.py:163 +msgid "" +"Object, format name(id), name is optional for human read, id is requisite" +msgstr "" + +#: common/drf/renders/base.py:165 +msgid "Object, format id" +msgstr "" + +#: common/drf/renders/base.py:169 +msgid "" +"Objects, format [\"name(id)\", ...], name is optional for human read, id is " +"requisite" +msgstr "" + +#: common/drf/renders/base.py:171 +msgid "" +"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgstr "" + +#: common/drf/renders/base.py:173 +msgid "Objects, format [\"id\", ...]" +msgstr "" + +#: common/drf/renders/base.py:271 +msgid "" +"{} - The encryption password has not been set - please go to personal " +"information -> file encryption password to set the encryption password" +msgstr "" + +#: common/exceptions.py:15 xpack/plugins/cloud/ws.py:37 +#, python-format +msgid "%s object does not exist." +msgstr "" + +#: common/exceptions.py:25 +msgid "Someone else is doing this. Please wait for complete" +msgstr "" + +#: common/exceptions.py:30 +msgid "Your request timeout" +msgstr "" + +#: common/exceptions.py:35 +msgid "M2M reverse not allowed" +msgstr "" + +#: common/exceptions.py:41 +msgid "Is referenced by other objects and cannot be deleted" +msgstr "" + +#: common/exceptions.py:51 +msgid "This action require confirm current user" +msgstr "" + +#: common/exceptions.py:59 +msgid "Unexpect error occur" +msgstr "" + +#: common/plugins/es.py:35 +msgid "Invalid elasticsearch config" +msgstr "" + +#: common/plugins/es.py:40 +msgid "Not Support Elasticsearch8" +msgstr "" + +#: common/plugins/es.py:46 +msgid "" +"Connection failed: Self-signed certificate used. Please check server " +"certificate configuration" +msgstr "" + +#: common/sdk/im/exceptions.py:23 +msgid "Network error, please contact system administrator" +msgstr "" + +#: common/sdk/im/slack/__init__.py:78 +msgid "Unknown error occur" +msgstr "" + +#: common/sdk/im/wecom/__init__.py:19 +msgid "WeCom error, please contact system administrator" +msgstr "" + +#: common/sdk/sms/alibaba.py:56 +msgid "Signature does not match" +msgstr "" + +#: common/sdk/sms/cmpp2.py:44 +msgid "sp_id is 6 bits" +msgstr "" + +#: common/sdk/sms/cmpp2.py:214 +msgid "Failed to connect to the CMPP gateway server, err: {}" +msgstr "" + +#: common/sdk/sms/custom_file.py:41 +msgid "The custom sms file is invalid" +msgstr "" + +#: common/sdk/sms/custom_file.py:47 +#, python-format +msgid "SMS sending failed[%s]: %s" +msgstr "" + +#: common/sdk/sms/endpoint.py:16 +msgid "Alibaba cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:17 +msgid "Tencent cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:18 xpack/plugins/cloud/const.py:13 +msgid "Huawei Cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:19 +msgid "CMPP v2.0" +msgstr "" + +#: common/sdk/sms/endpoint.py:21 +msgid "Custom type (File)" +msgstr "" + +#: common/sdk/sms/endpoint.py:32 +msgid "SMS provider not support: {}" +msgstr "" + +#: common/sdk/sms/endpoint.py:54 +msgid "SMS verification code signature or template invalid" +msgstr "" + +#: common/sdk/sms/exceptions.py:8 +msgid "The verification code has expired. Please resend it" +msgstr "" + +#: common/sdk/sms/exceptions.py:13 +msgid "The verification code is incorrect" +msgstr "" + +#: common/sdk/sms/exceptions.py:18 +msgid "Please wait {} seconds before sending" +msgstr "" + +#: common/serializers/common.py:90 +msgid "Children" +msgstr "" + +#: common/serializers/common.py:98 +msgid "File" +msgstr "" + +#: common/serializers/fields.py:139 +msgid "Invalid data type" +msgstr "" + +#: common/serializers/fields.py:147 +#, python-brace-format +msgid "Invalid pk \"{pk_value}\" - object does not exist." +msgstr "" + +#: common/serializers/fields.py:148 +#, python-brace-format +msgid "Incorrect type. Expected pk value, received {data_type}." +msgstr "" + +#: common/serializers/fields.py:222 +msgid "Invalid data type, should be list" +msgstr "" + +#: common/serializers/fields.py:237 +msgid "Invalid choice: {}" +msgstr "" + +#: common/serializers/mixin.py:452 terminal/models/applet/applet.py:45 +#: terminal/models/virtualapp/virtualapp.py:29 +msgid "Tags" +msgstr "" + +#: common/tasks.py:32 +msgid "Send email" +msgstr "" + +#: common/tasks.py:35 +msgid "This task will be executed when sending email notifications" +msgstr "" + +#: common/tasks.py:65 +msgid "Send email attachment" +msgstr "" + +#: common/tasks.py:68 +msgid "" +"When an account password is changed or an account backup generates " +"attachments, \n" +" this task needs to be executed for sending emails and handling " +"attachments" +msgstr "" + +#: common/tasks.py:94 +msgid "Upload account backup to external storage" +msgstr "" + +#: common/tasks.py:96 +msgid "" +"When performing an account backup, this task needs to be executed to " +"external storage (SFTP)" +msgstr "" + +#: common/utils/ip/geoip/utils.py:26 +msgid "Invalid ip" +msgstr "" + +#: common/utils/ip/utils.py:98 +msgid "Invalid address" +msgstr "" + +#: common/utils/translate.py:46 +#, python-format +msgid "Hello %s" +msgstr "" + +#: common/utils/verify_code.py:17 +msgid "Send SMS code" +msgstr "" + +#: common/utils/verify_code.py:19 +msgid "" +"When resetting a password, forgetting a password, or verifying MFA, this " +"task needs to \n" +" be executed to send SMS messages" +msgstr "" + +#: common/validators.py:16 +msgid "Special char not allowed" +msgstr "" + +#: common/validators.py:42 +msgid "Should not contains special characters" +msgstr "" + +#: common/validators.py:47 +msgid "The mobile phone number format is incorrect" +msgstr "" + +#: common/views/msg.py:18 +msgid "Not found the code" +msgstr "" + +#: common/views/msg.py:22 +msgid "The message code provided is invalid or has expired" +msgstr "" + +#: jumpserver/conf.py:533 +#, python-brace-format +msgid "The verification code is: {code}" +msgstr "" + +#: jumpserver/conf.py:538 +msgid "Create account successfully" +msgstr "" + +#: jumpserver/conf.py:540 +msgid "Your account has been created successfully" +msgstr "" + +#: jumpserver/context_processor.py:14 +msgid "JumpServer - An open-source PAM" +msgstr "" + +#: jumpserver/views/celery_flower.py:22 +msgid "

Flower service unavailable, check it

" +msgstr "" + +#: jumpserver/views/other.py:28 +msgid "" +"
Luna is a separately deployed program, you need to deploy Luna, koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" + +#: jumpserver/views/other.py:76 +msgid "Websocket server run on port: {}, you should proxy it on nginx" +msgstr "" + +#: jumpserver/views/other.py:90 +msgid "" +"
Koko is a separately deployed program, you need to deploy Koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" + +#: labels/apps.py:8 +msgid "App Labels" +msgstr "" + +#: labels/models.py:15 +msgid "Color" +msgstr "" + +#: labels/models.py:20 labels/models.py:39 +msgid "Tag" +msgstr "" + +#: labels/models.py:43 +msgid "Resource ID" +msgstr "" + +#: labels/models.py:49 +msgid "Tagged resource" +msgstr "" + +#: labels/serializers.py:22 +msgid "Resource count" +msgstr "" + +#: labels/serializers.py:28 +msgid "Cannot contain \":,\"" +msgstr "" + +#: labels/serializers.py:43 +msgid "Resource type" +msgstr "" + +#: notifications/apps.py:7 +msgid "App Notifications" +msgstr "" + +#: notifications/backends/__init__.py:13 +msgid "Site message" +msgstr "" + +#: notifications/models/notification.py:14 +msgid "receive backend" +msgstr "" + +#: notifications/models/notification.py:18 +msgid "User message" +msgstr "" + +#: notifications/models/notification.py:21 +msgid "{} subscription" +msgstr "" + +#: notifications/models/notification.py:34 +msgid "System message" +msgstr "" + +#: notifications/notifications.py:46 +msgid "Publish the station message" +msgstr "" + +#: notifications/notifications.py:48 +msgid "" +"This task needs to be executed for sending internal messages for system " +"alerts, \n" +" work orders, and other notifications" +msgstr "" + +#: ops/ansible/inventory.py:117 ops/models/job.py:68 +msgid "No account available" +msgstr "" + +#: ops/ansible/inventory.py:298 +msgid "Ansible disabled" +msgstr "" + +#: ops/ansible/inventory.py:314 +msgid "Skip hosts below:" +msgstr "" + +#: ops/api/adhoc.py:32 +msgid "Deleting other people's script is not allowed" +msgstr "" + +#: ops/api/celery.py:66 ops/api/celery.py:81 +msgid "Waiting task start" +msgstr "" + +#: ops/api/celery.py:262 +msgid "Task {} not found" +msgstr "" + +#: ops/api/celery.py:269 +msgid "Task {} args or kwargs error" +msgstr "" + +#: ops/api/job.py:68 +#, python-brace-format +msgid "" +"Asset ({asset}) must have at least one of the following protocols added: " +"SSH, SFTP, or WinRM" +msgstr "" + +#: ops/api/job.py:69 +#, python-brace-format +msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" +msgstr "" + +#: ops/api/job.py:70 +#, python-brace-format +msgid "Asset ({asset}) authorization lacks upload permissions" +msgstr "" + +#: ops/api/job.py:158 +msgid "Duplicate file exists" +msgstr "" + +#: 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:236 +msgid "" +"The task is being created and cannot be interrupted. Please try again later." +msgstr "" + +#: ops/api/playbook.py:49 +msgid "Deleting other people's playbook is not allowed" +msgstr "" + +#: ops/api/playbook.py:55 +msgid "Currently playbook is being used in a job" +msgstr "" + +#: ops/api/playbook.py:128 +msgid "Unsupported file content" +msgstr "" + +#: ops/api/playbook.py:130 ops/api/playbook.py:176 ops/api/playbook.py:224 +msgid "Invalid file path" +msgstr "" + +#: ops/api/playbook.py:202 +msgid "This file can not be rename" +msgstr "" + +#: ops/api/playbook.py:221 +msgid "File already exists" +msgstr "" + +#: ops/api/playbook.py:239 +msgid "File key is required" +msgstr "" + +#: ops/api/playbook.py:242 +msgid "This file can not be delete" +msgstr "" + +#: ops/apps.py:9 +msgid "App Ops" +msgstr "" + +#: ops/const.py:6 +msgid "Push" +msgstr "" + +#: ops/const.py:7 +msgid "Verify" +msgstr "" + +#: ops/const.py:8 +msgid "Collect" +msgstr "" + +#: ops/const.py:13 +msgid "Append SSH KEY" +msgstr "" + +#: ops/const.py:19 +msgid "Custom password" +msgstr "" + +#: ops/const.py:20 +msgid "All assets use the same random password" +msgstr "" + +#: ops/const.py:21 +msgid "All assets use different random password" +msgstr "" + +#: ops/const.py:33 +msgid "Blank" +msgstr "" + +#: ops/const.py:34 +msgid "VCS" +msgstr "" + +#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: settings/serializers/feature.py:186 +msgid "Adhoc" +msgstr "" + +#: ops/const.py:39 ops/models/job.py:152 ops/models/playbook.py:89 +#: ops/models/variable.py:23 +msgid "Playbook" +msgstr "" + +#: ops/const.py:40 +msgid "Upload File" +msgstr "" + +#: ops/const.py:44 +msgid "Privileged only" +msgstr "" + +#: ops/const.py:45 +msgid "Privileged first" +msgstr "" + +#: ops/const.py:50 ops/const.py:61 +msgid "Shell" +msgstr "" + +#: ops/const.py:51 ops/const.py:62 +msgid "Powershell" +msgstr "" + +#: ops/const.py:52 ops/const.py:63 +msgid "Python" +msgstr "" + +#: ops/const.py:53 ops/const.py:64 +msgid "MySQL" +msgstr "" + +#: ops/const.py:54 ops/const.py:66 +msgid "PostgreSQL" +msgstr "" + +#: ops/const.py:55 ops/const.py:67 +msgid "SQLServer" +msgstr "" + +#: ops/const.py:56 ops/const.py:69 +msgid "Raw" +msgstr "" + +#: ops/const.py:57 +msgid "HUAWEI" +msgstr "" + +#: ops/const.py:65 +msgid "MariaDB" +msgstr "" + +#: ops/const.py:68 +msgid "Oracle" +msgstr "" + +#: ops/const.py:75 +msgid "Timeout" +msgstr "" + +#: ops/const.py:82 +msgid "Command execution disabled" +msgstr "" + +#: ops/const.py:86 +msgctxt "scope" +msgid "Public" +msgstr "" + +#: ops/const.py:87 +msgid "Private" +msgstr "" + +#: ops/const.py:91 +msgid "Text" +msgstr "" + +#: ops/const.py:92 +msgid "Select" +msgstr "" + +#: ops/exception.py:6 +msgid "no valid program entry found." +msgstr "" + +#: ops/mixin.py:34 ops/mixin.py:166 settings/serializers/auth/ldap.py:74 +#: settings/serializers/auth/ldap_ha.py:57 +msgid "Periodic run" +msgstr "" + +#: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 +#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:64 +msgid "Interval" +msgstr "" + +#: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 +#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:61 +msgid "Crontab" +msgstr "" + +#: ops/mixin.py:43 ops/mixin.py:177 +msgid "Start Datetime" +msgstr "" + +#: ops/mixin.py:45 ops/mixin.py:179 +msgid "Datetime when the schedule should begin triggering the task to run" +msgstr "" + +#: ops/mixin.py:49 ops/models/base.py:22 ops/serializers/job.py:19 +msgid "Date last run" +msgstr "" + +#: ops/mixin.py:183 +msgid "Run period" +msgstr "" + +#: ops/mixin.py:189 +msgid "* Please enter a valid crontab expression" +msgstr "" + +#: ops/mixin.py:204 settings/serializers/auth/mixin.py:12 +msgid "Require interval or crontab setting" +msgstr "" + +#: ops/models/adhoc.py:20 +msgid "Pattern" +msgstr "" + +#: ops/models/adhoc.py:22 ops/models/job.py:149 +msgid "Module" +msgstr "" + +#: ops/models/adhoc.py:23 ops/models/celery.py:82 ops/models/job.py:147 +#: terminal/models/component/task.py:14 +msgid "Args" +msgstr "" + +#: ops/models/adhoc.py:26 ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 +msgid "Scope" +msgstr "" + +#: ops/models/base.py:19 +msgid "Account policy" +msgstr "" + +#: ops/models/base.py:20 +msgid "Last execution" +msgstr "" + +#: ops/models/celery.py:16 +msgid "Date last publish" +msgstr "" + +#: ops/models/celery.py:71 +msgid "Celery Task" +msgstr "" + +#: ops/models/celery.py:74 +msgid "Can view task monitor" +msgstr "" + +#: ops/models/celery.py:83 terminal/models/component/task.py:15 +msgid "Kwargs" +msgstr "" + +#: ops/models/celery.py:88 +msgid "Date published" +msgstr "" + +#: ops/models/celery.py:124 +msgid "Celery Task Execution" +msgstr "" + +#: ops/models/job.py:150 +msgid "Run dir" +msgstr "" + +#: ops/models/job.py:151 +msgid "Timeout (Seconds)" +msgstr "" + +#: ops/models/job.py:157 +msgid "Use Parameter Define" +msgstr "" + +#: ops/models/job.py:158 +msgid "Parameters define" +msgstr "" + +#: ops/models/job.py:159 +msgid "Periodic variable" +msgstr "" + +#: ops/models/job.py:160 +msgid "Run as" +msgstr "" + +#: ops/models/job.py:162 +msgid "Run as policy" +msgstr "" + +#: ops/models/job.py:219 ops/models/variable.py:28 ops/serializers/job.py:111 +#: terminal/notifications.py:182 +msgid "Job" +msgstr "" + +#: ops/models/job.py:242 +msgid "Material" +msgstr "" + +#: ops/models/job.py:244 +msgid "Material Type" +msgstr "" + +#: ops/models/job.py:556 +msgid "Job Execution" +msgstr "" + +#: ops/models/playbook.py:33 +msgid "CreateMethod" +msgstr "" + +#: ops/models/playbook.py:35 +msgid "VCS URL" +msgstr "" + +#: ops/models/variable.py:11 ops/serializers/variable.py:22 +msgid "Variable name" +msgstr "" + +#: ops/models/variable.py:12 ops/serializers/variable.py:23 +msgid "" +"The variable name used in the script will have a fixed prefix jms_ added to " +"the input variable name. For example, if the input variable name is name, " +"the resulting environment variable will be jms_name, and it can be " +"referenced in the script using {{ jms_name }}" +msgstr "" + +#: ops/models/variable.py:16 ops/serializers/variable.py:32 +msgid "Default Value" +msgstr "" + +#: ops/models/variable.py:18 +msgid "Variable type" +msgstr "" + +#: ops/models/variable.py:21 ops/serializers/variable.py:35 +msgid "ExtraVars" +msgstr "" + +#: ops/models/variable.py:49 ops/serializers/adhoc.py:16 +#: ops/serializers/job.py:23 ops/serializers/playbook.py:21 +msgid "Variable" +msgstr "" + +#: ops/notifications.py:20 +msgid "Server performance" +msgstr "" + +#: ops/notifications.py:26 +msgid "Component health check warning" +msgstr "" + +#: ops/notifications.py:71 +#, python-brace-format +msgid "The component is offline: {name}" +msgstr "" + +#: ops/notifications.py:76 +#, python-brace-format +msgid "Disk used more than {max_threshold}%: => {value}" +msgstr "" + +#: ops/notifications.py:81 +#, python-brace-format +msgid "Memory used more than {max_threshold}%: => {value}" +msgstr "" + +#: ops/notifications.py:86 +#, python-brace-format +msgid "CPU load more than {max_threshold}: => {value}" +msgstr "" + +#: ops/serializers/celery.py:35 +msgid "Next execution time" +msgstr "" + +#: ops/serializers/job.py:17 +msgid "Run on save" +msgstr "" + +#: ops/serializers/job.py:91 +msgid "Job type" +msgstr "" + +#: ops/serializers/job.py:94 terminal/serializers/session.py:58 +msgid "Is finished" +msgstr "" + +#: ops/serializers/job.py:108 +msgid "Task id" +msgstr "" + +#: ops/serializers/job.py:117 +msgid "You do not have permission for the current job." +msgstr "" + +#: ops/serializers/variable.py:29 +msgid "Variable Type" +msgstr "" + +#: ops/serializers/variable.py:37 +msgid "" +"Each item is on a separate line, with each line separated by a colon. The " +"part before the colon is the display content, and the part after the colon " +"is the value." +msgstr "" + +#: ops/tasks.py:54 +msgid "Run ansible task" +msgstr "" + +#: ops/tasks.py:57 +msgid "" +"Execute scheduled adhoc and playbooks, periodically invoking the task for " +"execution" +msgstr "" + +#: ops/tasks.py:88 +msgid "Run ansible task execution" +msgstr "" + +#: ops/tasks.py:91 +msgid "Execute the task when manually adhoc or playbooks" +msgstr "" + +#: ops/tasks.py:106 +msgid "Clear celery periodic tasks" +msgstr "" + +#: ops/tasks.py:108 +msgid "At system startup, clean up celery tasks that no longer exist" +msgstr "" + +#: ops/tasks.py:132 +msgid "Create or update periodic tasks" +msgstr "" + +#: ops/tasks.py:134 +msgid "" +"With version iterations, new tasks may be added, or task names and execution " +"times may \n" +" be modified. Therefore, upon system startup, tasks will be " +"registered or the parameters \n" +" of scheduled tasks will be updated" +msgstr "" + +#: ops/tasks.py:147 +msgid "Periodic check service performance" +msgstr "" + +#: ops/tasks.py:149 +msgid "" +"Check every hour whether each component is offline and whether the CPU, " +"memory, \n" +" and disk usage exceed the thresholds, and send an alert message to " +"the administrator" +msgstr "" + +#: ops/tasks.py:159 +msgid "Clean up unexpected jobs" +msgstr "" + +#: ops/tasks.py:161 +msgid "" +"Due to exceptions caused by executing adhoc and playbooks in the Job " +"Center, \n" +" which result in the task status not being updated, the system will " +"clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and " +"mark these tasks as \n" +" failed" +msgstr "" + +#: ops/tasks.py:174 +msgid "Clean job_execution db record" +msgstr "" + +#: ops/tasks.py:176 +msgid "" +"Due to the execution of adhoc and playbooks in the Job Center, execution " +"records will \n" +" be generated. The system will clean up records that exceed the " +"retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - " +"Regular clean-up - \n" +" Job execution retention days'" +msgstr "" + +#: ops/templates/ops/celery_task_log.html:4 +msgid "Task log" +msgstr "" + +#: ops/variables.py:24 +msgid "The current user`s username of JumpServer" +msgstr "" + +#: ops/variables.py:25 +msgid "The id of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:26 +msgid "The type of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:27 +msgid "The category of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:28 +msgid "The name of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:29 +msgid "Address used to connect this asset in JumpServer" +msgstr "" + +#: ops/variables.py:30 +msgid "Port used to connect this asset in JumpServer" +msgstr "" + +#: ops/variables.py:31 +msgid "ID of the job" +msgstr "" + +#: ops/variables.py:32 +msgid "Name of the job" +msgstr "" + +#: orgs/api.py:60 +msgid "The current organization ({}) cannot be deleted" +msgstr "" + +#: orgs/api.py:65 +msgid "" +"LDAP synchronization is set to the current organization. Please switch to " +"another organization before deleting" +msgstr "" + +#: orgs/api.py:75 +msgid "The organization have resource ({}) cannot be deleted" +msgstr "" + +#: orgs/apps.py:7 +msgid "App Organizations" +msgstr "" + +#: orgs/mixins/models.py:48 orgs/mixins/models.py:73 +msgid "Please save in a org" +msgstr "" + +#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:91 +#: rbac/const.py:7 rbac/models/rolebinding.py:56 +#: rbac/serializers/rolebinding.py:44 settings/serializers/auth/base.py:53 +#: terminal/templates/terminal/_msg_command_warning.html:21 +#: terminal/templates/terminal/_msg_session_sharing.html:14 +#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:60 +msgid "Organization" +msgstr "" + +#: orgs/models.py:14 +msgid "GLOBAL" +msgstr "" + +#: orgs/models.py:16 +msgid "DEFAULT" +msgstr "" + +#: orgs/models.py:18 +msgid "SYSTEM" +msgstr "" + +#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:188 +#: terminal/models/applet/applet.py:42 +msgid "Builtin" +msgstr "" + +#: orgs/models.py:93 +msgid "Can view root org" +msgstr "" + +#: orgs/models.py:94 +msgid "Can view all joined org" +msgstr "" + +#: orgs/models.py:236 +msgid "Can not delete virtual org" +msgstr "" + +#: orgs/serializers.py:10 perms/serializers/permission.py:48 +#: rbac/serializers/role.py:27 users/serializers/group.py:54 +msgid "Users amount" +msgstr "" + +#: orgs/serializers.py:11 +msgid "User groups amount" +msgstr "" + +#: orgs/serializers.py:14 perms/serializers/permission.py:51 +msgid "Nodes amount" +msgstr "" + +#: orgs/serializers.py:15 +msgid "Domains amount" +msgstr "" + +#: orgs/serializers.py:16 +msgid "Gateways amount" +msgstr "" + +#: orgs/serializers.py:18 +msgid "Asset permissions amount" +msgstr "" + +#: orgs/tasks.py:10 +msgid "Refresh organization cache" +msgstr "" + +#: perms/apps.py:9 +msgid "App Permissions" +msgstr "" + +#: perms/const.py:12 +msgid "Connect (All protocols)" +msgstr "" + +#: perms/const.py:13 +msgid "Upload (RDP, SFTP)" +msgstr "" + +#: perms/const.py:14 +msgid "Download (RDP, SFTP)" +msgstr "" + +#: perms/const.py:15 +msgid "Copy (RDP, VNC)" +msgstr "" + +#: perms/const.py:16 +msgid "Paste (RDP, VNC)" +msgstr "" + +#: perms/const.py:17 +msgid "Delete (SFTP)" +msgstr "" + +#: perms/const.py:18 +msgid "Share (SSH)" +msgstr "" + +#: perms/const.py:28 +msgid "Transfer" +msgstr "" + +#: perms/const.py:29 +msgid "Clipboard" +msgstr "" + +#: perms/models/asset_permission.py:89 +msgid "Asset permission" +msgstr "" + +#: perms/models/perm_node.py:74 +msgid "Ungrouped" +msgstr "" + +#: perms/models/perm_node.py:76 +msgid "Favorite" +msgstr "" + +#: perms/models/perm_node.py:128 +msgid "Permed asset" +msgstr "" + +#: perms/models/perm_node.py:130 +msgid "Can view my assets" +msgstr "" + +#: perms/models/perm_node.py:131 +msgid "Can view user assets" +msgstr "" + +#: perms/models/perm_node.py:132 +msgid "Can view usergroup assets" +msgstr "" + +#: perms/models/perm_node.py:143 +msgid "Permed account" +msgstr "" + +#: perms/notifications.py:12 perms/notifications.py:44 +msgid "today" +msgstr "" + +#: perms/notifications.py:12 perms/notifications.py:44 +#: settings/serializers/feature.py:177 +msgid "day" +msgstr "" + +#: perms/notifications.py:15 +msgid "The asset you authorized is about to expire" +msgstr "" + +#: perms/notifications.py:20 +msgid "permed assets" +msgstr "" + +#: perms/notifications.py:59 +msgid "Asset permissions is about to expire" +msgstr "" + +#: perms/notifications.py:64 +msgid "asset permissions of organization {}" +msgstr "" + +#: perms/serializers/permission.py:32 +msgid "" +"Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " +"choices: @ALL, @SPEC, @USER, @ANON, @INPUT" +msgstr "" + +#: perms/serializers/permission.py:38 +msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" +msgstr "" + +#: perms/serializers/permission.py:49 +msgid "Groups amount" +msgstr "" + +#: perms/tasks.py:28 +msgid "Check asset permission expired" +msgstr "" + +#: perms/tasks.py:30 +msgid "" +"The cache of organizational collections, which have completed user " +"authorization tree \n" +" construction, will expire. Therefore, expired collections need to be " +"cleared from the \n" +" cache, and this task will be executed periodically based on the time " +"interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " +"config.txt" +msgstr "" + +#: perms/tasks.py:49 +msgid "Send asset permission expired notification" +msgstr "" + +#: perms/tasks.py:51 +msgid "" +"Check every day at 10 a.m. and send a notification message to users " +"associated with \n" +" assets whose authorization is about to expire, as well as to the " +"organization's \n" +" administrators, 3 days in advance, to remind them that the asset " +"authorization will \n" +" expire in a few days" +msgstr "" + +#: perms/templates/perms/_msg_item_permissions_expire.html:7 +#: perms/templates/perms/_msg_permed_items_expire.html:7 +#, python-format +msgid "The following %(item_type)s will expire in %(count)s" +msgstr "" + +#: rbac/api/role.py:35 +msgid "Internal role, can't be destroy" +msgstr "" + +#: rbac/api/role.py:40 +msgid "The role has been bound to users, can't be destroy" +msgstr "" + +#: rbac/api/role.py:105 +msgid "Internal role, can't be update" +msgstr "" + +#: rbac/api/rolebinding.py:45 +msgid "{} at least one system role" +msgstr "" + +#: rbac/apps.py:7 +msgid "App RBAC" +msgstr "" + +#: rbac/builtin.py:116 +msgid "SystemAdmin" +msgstr "" + +#: rbac/builtin.py:119 +msgid "SystemAuditor" +msgstr "" + +#: rbac/builtin.py:122 +msgid "SystemComponent" +msgstr "" + +#: rbac/builtin.py:128 +msgid "OrgAdmin" +msgstr "" + +#: rbac/builtin.py:131 +msgid "OrgAuditor" +msgstr "" + +#: rbac/builtin.py:134 +msgid "OrgUser" +msgstr "" + +#: rbac/models/menu.py:13 +msgid "Menu permission" +msgstr "" + +#: rbac/models/menu.py:15 +msgid "Can view console view" +msgstr "" + +#: rbac/models/menu.py:16 +msgid "Can view audit view" +msgstr "" + +#: rbac/models/menu.py:17 +msgid "Can view workbench view" +msgstr "" + +#: rbac/models/menu.py:18 +msgid "Can view web terminal" +msgstr "" + +#: rbac/models/menu.py:19 +msgid "Can view file manager" +msgstr "" + +#: rbac/models/menu.py:20 +msgid "Can view System Tools" +msgstr "" + +#: rbac/models/permission.py:18 +msgid "ContentType" +msgstr "" + +#: rbac/models/permission.py:79 rbac/models/role.py:34 +msgid "Permissions" +msgstr "" + +#: rbac/models/role.py:144 +msgid "System role" +msgstr "" + +#: rbac/models/role.py:152 +msgid "Organization role" +msgstr "" + +#: rbac/models/rolebinding.py:62 +msgid "Role binding" +msgstr "" + +#: rbac/models/rolebinding.py:161 +msgid "All organizations" +msgstr "" + +#: rbac/models/rolebinding.py:193 +msgid "" +"User last role in org, can not be delete, you can remove user from org " +"instead" +msgstr "" + +#: rbac/models/rolebinding.py:200 +msgid "Organization role binding" +msgstr "" + +#: rbac/models/rolebinding.py:215 +msgid "System role binding" +msgstr "" + +#: rbac/serializers/permission.py:25 users/serializers/profile.py:77 +msgid "Perms" +msgstr "" + +#: rbac/serializers/rolebinding.py:60 +msgid "Has bound this role" +msgstr "" + +#: rbac/tree.py:17 rbac/tree.py:18 +msgid "All permissions" +msgstr "" + +#: rbac/tree.py:24 +msgid "Console view" +msgstr "" + +#: rbac/tree.py:25 +msgid "Workbench view" +msgstr "" + +#: rbac/tree.py:26 +msgid "Audit view" +msgstr "" + +#: rbac/tree.py:27 settings/models.py:164 +msgid "System setting" +msgstr "" + +#: rbac/tree.py:37 +msgid "Session audits" +msgstr "" + +#: rbac/tree.py:49 xpack/plugins/cloud/manager.py:94 +msgid "Cloud import" +msgstr "" + +#: rbac/tree.py:51 +msgid "Gather account" +msgstr "" + +#: rbac/tree.py:53 +msgid "Account change secret" +msgstr "" + +#: rbac/tree.py:55 +msgid "App ops" +msgstr "" + +#: rbac/tree.py:57 settings/serializers/feature.py:183 +msgid "Feature" +msgstr "" + +#: rbac/tree.py:58 settings/serializers/auth/base.py:11 +msgid "Authentication" +msgstr "" + +#: rbac/tree.py:59 +msgid "Storage" +msgstr "" + +#: rbac/tree.py:61 terminal/models/applet/applet.py:53 +#: terminal/models/applet/applet.py:328 terminal/models/applet/host.py:30 +#: terminal/serializers/applet.py:15 +msgid "Applet" +msgstr "" + +#: rbac/tree.py:63 +msgid "Appearance" +msgstr "" + +#: rbac/tree.py:65 xpack/plugins/license/meta.py:10 +#: xpack/plugins/license/models.py:153 +msgid "License" +msgstr "" + +#: rbac/tree.py:67 +msgid "Job audit" +msgstr "" + +#: rbac/tree.py:159 +msgid "App organizations" +msgstr "" + +#: rbac/tree.py:160 +msgid "Ticket comment" +msgstr "" + +#: rbac/tree.py:161 settings/serializers/feature.py:164 +#: settings/serializers/feature.py:166 tickets/models/ticket/general.py:308 +msgid "Ticket" +msgstr "" + +#: rbac/tree.py:162 +msgid "Common setting" +msgstr "" + +#: rbac/tree.py:163 +msgid "View permission tree" +msgstr "" + +#: settings/api/chat.py:41 +msgid "Chat AI is not enabled" +msgstr "" + +#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 +#: settings/api/vault.py:49 settings/api/wecom.py:37 +msgid "Test success" +msgstr "" + +#: settings/api/email.py:22 +msgid "Test mail sent to {}, please check" +msgstr "" + +#: settings/api/email.py:47 +msgid "Test smtp setting" +msgstr "" + +#: settings/api/ldap.py:92 +msgid "" +"Users are not synchronized, please click the user synchronization button" +msgstr "" + +#: settings/api/sms.py:142 +msgid "Invalid SMS platform" +msgstr "" + +#: settings/api/sms.py:148 +msgid "test_phone is required" +msgstr "" + +#: settings/apps.py:7 +msgid "App Settings" +msgstr "" + +#: settings/models.py:40 users/models/preference.py:14 +msgid "Encrypted" +msgstr "" + +#: settings/models.py:166 +msgid "Can change email setting" +msgstr "" + +#: settings/models.py:167 +msgid "Can change auth setting" +msgstr "" + +#: settings/models.py:168 +msgid "Can change auth ops" +msgstr "" + +#: settings/models.py:169 +msgid "Can change auth ticket" +msgstr "" + +#: settings/models.py:170 +msgid "Can change virtual app setting" +msgstr "" + +#: settings/models.py:171 +msgid "Can change auth announcement" +msgstr "" + +#: settings/models.py:172 +msgid "Can change vault setting" +msgstr "" + +#: settings/models.py:173 +msgid "Can change chat ai setting" +msgstr "" + +#: settings/models.py:174 +msgid "Can change system msg sub setting" +msgstr "" + +#: settings/models.py:175 +msgid "Can change sms setting" +msgstr "" + +#: settings/models.py:176 +msgid "Can change security setting" +msgstr "" + +#: settings/models.py:177 +msgid "Can change clean setting" +msgstr "" + +#: settings/models.py:178 +msgid "Can change interface setting" +msgstr "" + +#: settings/models.py:179 +msgid "Can change license setting" +msgstr "" + +#: settings/models.py:180 +msgid "Can change terminal setting" +msgstr "" + +#: settings/models.py:181 +msgid "Can change other setting" +msgstr "" + +#: settings/models.py:191 +msgid "Chat prompt" +msgstr "" + +#: settings/notifications.py:23 +msgid "Notification of Synchronized LDAP User Task Results" +msgstr "" + +#: settings/serializers/auth/base.py:13 +msgid "LDAP Auth" +msgstr "" + +#: settings/serializers/auth/base.py:14 +msgid "LDAP Auth HA" +msgstr "" + +#: settings/serializers/auth/base.py:15 +msgid "CAS Auth" +msgstr "" + +#: settings/serializers/auth/base.py:16 +msgid "OPENID Auth" +msgstr "" + +#: settings/serializers/auth/base.py:17 +msgid "SAML2 Auth" +msgstr "" + +#: settings/serializers/auth/base.py:18 +msgid "OAuth2 Auth" +msgstr "" + +#: settings/serializers/auth/base.py:19 +msgid "RADIUS Auth" +msgstr "" + +#: settings/serializers/auth/base.py:20 +msgid "DingTalk Auth" +msgstr "" + +#: settings/serializers/auth/base.py:21 +msgid "FeiShu Auth" +msgstr "" + +#: settings/serializers/auth/base.py:22 +msgid "Lark Auth" +msgstr "" + +#: settings/serializers/auth/base.py:23 +msgid "Slack Auth" +msgstr "" + +#: settings/serializers/auth/base.py:24 +msgid "WeCom Auth" +msgstr "" + +#: settings/serializers/auth/base.py:25 +msgid "SSO Auth" +msgstr "" + +#: settings/serializers/auth/base.py:26 +msgid "Passkey Auth" +msgstr "" + +#: settings/serializers/auth/base.py:28 +msgid "Email suffix" +msgstr "" + +#: settings/serializers/auth/base.py:30 +msgid "" +"After third-party user authentication is successful, if the third-party " +"authentication service platform does not return the user's email " +"information, the system will automatically create the user using this email " +"suffix" +msgstr "" + +#: settings/serializers/auth/base.py:37 +msgid "Forgot Password URL" +msgstr "" + +#: settings/serializers/auth/base.py:38 +msgid "The URL for Forgotten Password on the user login page" +msgstr "" + +#: settings/serializers/auth/base.py:41 +msgid "Login redirection" +msgstr "" + +#: settings/serializers/auth/base.py:43 +msgid "" +"Should an flash page be displayed before the user is redirected to third-" +"party authentication when the administrator enables third-party redirect " +"authentication" +msgstr "" + +#: settings/serializers/auth/base.py:55 +msgid "" +"When you create a user, you associate the user to the organization of your " +"choice. Users always belong to the Default organization." +msgstr "" + +#: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 +msgid "CAS" +msgstr "" + +#: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 +#: settings/serializers/auth/ldap_ha.py:28 settings/serializers/auth/oidc.py:61 +msgid "Server" +msgstr "" + +#: settings/serializers/auth/cas.py:18 +msgid "Proxy Server" +msgstr "" + +#: settings/serializers/auth/cas.py:21 settings/serializers/auth/oauth2.py:56 +#: settings/serializers/auth/saml2.py:42 +msgid "Logout completely" +msgstr "" + +#: settings/serializers/auth/cas.py:22 +msgid "When the user signs out, they also be logged out from the CAS server" +msgstr "" + +#: settings/serializers/auth/cas.py:28 +msgid "Username attr" +msgstr "" + +#: settings/serializers/auth/cas.py:31 +msgid "Enable attributes map" +msgstr "" + +#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 +#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:50 +#: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 +#: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 +#: settings/serializers/auth/wecom.py:18 +msgid "User attribute" +msgstr "" + +#: settings/serializers/auth/cas.py:36 +msgid "" +"User attribute mapping, where the `key` is the CAS service user attribute " +"name and the `value` is the JumpServer user attribute name" +msgstr "" + +#: settings/serializers/auth/cas.py:41 +msgid "Create user" +msgstr "" + +#: settings/serializers/auth/cas.py:43 +msgid "" +"After successful user authentication, if the user does not exist, " +"automatically create the user" +msgstr "" + +#: settings/serializers/auth/dingtalk.py:16 +msgid "Dingtalk" +msgstr "" + +#: settings/serializers/auth/dingtalk.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the DingTalk service user attribute name" +msgstr "" + +#: settings/serializers/auth/feishu.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the FeiShu service user attribute name" +msgstr "" + +#: settings/serializers/auth/lark.py:13 users/models/user/_source.py:22 +msgid "Lark" +msgstr "" + +#: settings/serializers/auth/lark.py:19 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the Lark service user attribute name" +msgstr "" + +#: settings/serializers/auth/ldap.py:42 settings/serializers/auth/ldap.py:104 +msgid "LDAP" +msgstr "" + +#: settings/serializers/auth/ldap.py:46 +msgid "LDAP server URI" +msgstr "" + +#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:32 +msgid "Bind DN" +msgstr "" + +#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:33 +msgid "Binding Distinguished Name" +msgstr "" + +#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:37 +msgid "Binding password" +msgstr "" + +#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:40 +msgid "Search OU" +msgstr "" + +#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:42 +msgid "" +"User Search Base, if there are multiple OUs, you can separate them with the " +"`|` symbol" +msgstr "" + +#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:46 +msgid "Search filter" +msgstr "" + +#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:47 +#, python-format +msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:52 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the LDAP service user attribute name" +msgstr "" + +#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:68 +msgid "Connect timeout (s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:90 settings/serializers/auth/ldap_ha.py:73 +msgid "User DN cache timeout (s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:92 +msgid "" +"Caching the User DN obtained during user login authentication can " +"effectively improve the speed of user authentication., 0 means no " +"cache
If the user OU structure has been adjusted, click Submit to clear " +"the user DN cache" +msgstr "" + +#: settings/serializers/auth/ldap.py:98 settings/serializers/auth/ldap_ha.py:81 +msgid "Search paged size (piece)" +msgstr "" + +#: settings/serializers/auth/ldap_ha.py:25 +#: settings/serializers/auth/ldap_ha.py:87 +msgid "LDAP HA" +msgstr "" + +#: settings/serializers/auth/ldap_ha.py:29 +msgid "LDAP HA server URI" +msgstr "" + +#: settings/serializers/auth/ldap_ha.py:75 +msgid "" +"Caching the User DN obtained during user login authentication can " +"effectivelyimprove the speed of user authentication., 0 means no cache
If " +"the user OU structure has been adjusted, click Submit to clear the user DN " +"cache" +msgstr "" + +#: settings/serializers/auth/oauth2.py:19 +#: settings/serializers/auth/oauth2.py:22 +msgid "OAuth2" +msgstr "" + +#: settings/serializers/auth/oauth2.py:28 +msgid "Service provider" +msgstr "" + +#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:97 +#: 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:100 +#: xpack/plugins/cloud/serializers/account_attrs.py:38 +msgid "Client Secret" +msgstr "" + +#: settings/serializers/auth/oauth2.py:40 settings/serializers/auth/oidc.py:77 +msgid "Authorization endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:43 settings/serializers/auth/oidc.py:80 +msgid "Token endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:46 settings/serializers/auth/oidc.py:32 +#: settings/serializers/auth/sms.py:111 +msgid "Request method" +msgstr "" + +#: settings/serializers/auth/oauth2.py:50 settings/serializers/auth/oidc.py:86 +msgid "Userinfo endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:53 settings/serializers/auth/oidc.py:89 +msgid "End session endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:57 +msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgstr "" + +#: settings/serializers/auth/oauth2.py:62 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the OAuth2 service user attribute name" +msgstr "" + +#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:113 +#: settings/serializers/auth/saml2.py:45 +msgid "Always update user" +msgstr "" + +#: settings/serializers/auth/oidc.py:13 settings/serializers/auth/oidc.py:71 +msgid "OIDC" +msgstr "" + +#: settings/serializers/auth/oidc.py:17 +msgid "Base site URL" +msgstr "" + +#: settings/serializers/auth/oidc.py:18 +msgid "The current site's URL is used to construct the callback address" +msgstr "" + +#: settings/serializers/auth/oidc.py:21 +msgid "Client Id" +msgstr "" + +#: settings/serializers/auth/oidc.py:34 +msgid "Share session" +msgstr "" + +#: settings/serializers/auth/oidc.py:36 +msgid "Ignore SSL verification" +msgstr "" + +#: settings/serializers/auth/oidc.py:41 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the OIDC service user attribute name" +msgstr "" + +#: settings/serializers/auth/oidc.py:45 +msgid "Enable PKCE" +msgstr "" + +#: settings/serializers/auth/oidc.py:47 +msgid "Code challenge method" +msgstr "" + +#: settings/serializers/auth/oidc.py:55 +msgid "Use Keycloak" +msgstr "" + +#: settings/serializers/auth/oidc.py:57 +msgid "" +"Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " +"Protocol" +msgstr "" + +#: settings/serializers/auth/oidc.py:64 +msgid "Realm name" +msgstr "" + +#: settings/serializers/auth/oidc.py:71 +msgid "OpenID Connect" +msgstr "" + +#: settings/serializers/auth/oidc.py:74 +msgid "Provider endpoint" +msgstr "" + +#: settings/serializers/auth/oidc.py:83 +msgid "JWKS endpoint" +msgstr "" + +#: settings/serializers/auth/oidc.py:92 +msgid "Signature algorithm" +msgstr "" + +#: settings/serializers/auth/oidc.py:95 +msgid "Signing key" +msgstr "" + +#: settings/serializers/auth/oidc.py:98 +msgid "Scopes" +msgstr "" + +#: settings/serializers/auth/oidc.py:101 +msgid "ID Token max age (s)" +msgstr "" + +#: settings/serializers/auth/oidc.py:104 +msgid "ID Token include claims" +msgstr "" + +#: settings/serializers/auth/oidc.py:107 +msgid "Use state" +msgstr "" + +#: settings/serializers/auth/oidc.py:110 +msgid "Use nonce" +msgstr "" + +#: settings/serializers/auth/passkey.py:12 +msgid "Only SSL domain can use passkey auth" +msgstr "" + +#: settings/serializers/auth/passkey.py:15 +msgid "FIDO Server ID" +msgstr "" + +#: settings/serializers/auth/passkey.py:17 +msgid "" +"The hostname can using passkey auth, If not set, will use request host and " +"the request host in DOMAINS, If multiple domains, use comma to separate" +msgstr "" + +#: settings/serializers/auth/passkey.py:22 +msgid "FIDO Server name" +msgstr "" + +#: settings/serializers/auth/radius.py:23 +msgid "OTP in RADIUS" +msgstr "" + +#: settings/serializers/auth/radius.py:24 +msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgstr "" + +#: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 +msgid "SAML2" +msgstr "" + +#: settings/serializers/auth/saml2.py:18 +msgid "IDP Metadata URL" +msgstr "" + +#: settings/serializers/auth/saml2.py:21 +msgid "IDP Metadata XML" +msgstr "" + +#: settings/serializers/auth/saml2.py:24 +msgid "SP advanced settings" +msgstr "" + +#: settings/serializers/auth/saml2.py:28 +msgid "SP private key" +msgstr "" + +#: settings/serializers/auth/saml2.py:32 +msgid "SP cert" +msgstr "" + +#: settings/serializers/auth/saml2.py:37 +msgid "" +"User attribute mapping, where the `key` is the SAML2 service user attribute " +"name and the `value` is the JumpServer user attribute name" +msgstr "" + +#: settings/serializers/auth/saml2.py:43 +msgid "When the user signs out, they also be logged out from the SAML2 server" +msgstr "" + +#: settings/serializers/auth/slack.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the Slack service user attribute name" +msgstr "" + +#: settings/serializers/auth/sms.py:18 +msgid "Enable Short Message Service (SMS)" +msgstr "" + +#: settings/serializers/auth/sms.py:21 xpack/plugins/cloud/models.py:36 +msgid "Provider" +msgstr "" + +#: settings/serializers/auth/sms.py:22 +msgid "Short Message Service (SMS) provider or protocol" +msgstr "" + +#: settings/serializers/auth/sms.py:25 +msgid "Code length" +msgstr "" + +#: settings/serializers/auth/sms.py:26 +msgid "Length of the sent verification code" +msgstr "" + +#: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 +#: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 +#: settings/serializers/auth/sms.py:82 settings/serializers/msg.py:83 +msgid "Signature" +msgstr "" + +#: settings/serializers/auth/sms.py:32 settings/serializers/auth/sms.py:55 +#: settings/serializers/auth/sms.py:63 settings/serializers/auth/sms.py:72 +msgid "Template code" +msgstr "" + +#: settings/serializers/auth/sms.py:40 users/models/user/__init__.py:79 +#: users/serializers/user.py:159 +msgid "Phone" +msgstr "" + +#: settings/serializers/auth/sms.py:69 +msgid "App Access Address" +msgstr "" + +#: settings/serializers/auth/sms.py:70 +msgid "Signature channel number" +msgstr "" + +#: settings/serializers/auth/sms.py:78 +msgid "Enterprise code" +msgstr "" + +#: settings/serializers/auth/sms.py:79 +msgid "Shared secret" +msgstr "" + +#: settings/serializers/auth/sms.py:80 +msgid "Original number" +msgstr "" + +#: settings/serializers/auth/sms.py:81 +msgid "Business type" +msgstr "" + +#: settings/serializers/auth/sms.py:85 +#, python-brace-format +msgid "" +"Template need contain {code} and Signature + template length does not exceed " +"67 words. For example, your verification code is {code}, which is valid for " +"5 minutes. Please do not disclose it to others." +msgstr "" + +#: settings/serializers/auth/sms.py:94 +#, python-brace-format +msgid "The template needs to contain {code}" +msgstr "" + +#: settings/serializers/auth/sms.py:97 +msgid "Signature + Template must not exceed 65 words" +msgstr "" + +#: settings/serializers/auth/sms.py:106 +msgid "URL" +msgstr "" + +#: settings/serializers/auth/sso.py:16 +msgid "Enable SSO auth" +msgstr "" + +#: settings/serializers/auth/sso.py:17 +msgid "Other service can using SSO token login to JumpServer without password" +msgstr "" + +#: settings/serializers/auth/sso.py:20 +msgid "SSO auth key TTL" +msgstr "" + +#: settings/serializers/auth/sso.py:20 +#: xpack/plugins/cloud/serializers/account_attrs.py:201 +msgid "Unit: second" +msgstr "" + +#: settings/serializers/auth/wecom.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the WeCom service user attribute name" +msgstr "" + +#: settings/serializers/basic.py:11 +msgid "Site URL" +msgstr "" + +#: settings/serializers/basic.py:13 +msgid "" +"Site URL is the externally accessible address of the current product service " +"and is usually used in links in system emails" +msgstr "" + +#: settings/serializers/basic.py:18 +msgid "User guide url" +msgstr "" + +#: settings/serializers/basic.py:19 +msgid "User first login update profile done redirect to it" +msgstr "" + +#: settings/serializers/basic.py:22 +msgid "Global org display" +msgstr "" + +#: settings/serializers/basic.py:23 +msgid "The name of global organization to display" +msgstr "" + +#: settings/serializers/basic.py:26 +msgid "Document URL" +msgstr "" + +#: settings/serializers/basic.py:27 +msgid "" +"Document URL refers to the address in the top navigation bar Help - Document" +msgstr "" + +#: settings/serializers/basic.py:30 +msgid "Support URL" +msgstr "" + +#: settings/serializers/basic.py:31 +msgid "" +"Support URL refers to the address in the top navigation bar Help - Support" +msgstr "" + +#: settings/serializers/basic.py:44 +msgid "Organization name already exists" +msgstr "" + +#: settings/serializers/cleaning.py:11 +msgid "Period clean" +msgstr "" + +#: settings/serializers/cleaning.py:15 +msgid "Login log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:19 +msgid "Task log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:23 +msgid "Operate log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:27 +msgid "password change log keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:31 +msgid "FTP log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:35 +msgid "Cloud sync task history retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:39 +msgid "job execution retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:43 +msgid "Activity log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:46 +msgid "Session log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:48 +msgid "" +"Session, record, command will be delete if more than duration, only in " +"database, OSS will not be affected." +msgstr "" + +#: settings/serializers/cleaning.py:53 +msgid "Change secret and push record retention days (day)" +msgstr "" + +#: settings/serializers/feature.py:21 settings/serializers/msg.py:68 +msgid "Subject" +msgstr "" + +#: settings/serializers/feature.py:25 +msgid "More Link" +msgstr "" + +#: settings/serializers/feature.py:41 settings/serializers/feature.py:43 +#: settings/serializers/feature.py:44 +msgid "Announcement" +msgstr "" + +#: settings/serializers/feature.py:57 settings/serializers/feature.py:60 +msgid "Vault" +msgstr "" + +#: settings/serializers/feature.py:63 +msgid "Vault provider" +msgstr "" + +#: settings/serializers/feature.py:67 +msgid "Record limit" +msgstr "" + +#: settings/serializers/feature.py:69 +msgid "" +"If the specific value is less than 999 (default), the system will " +"automatically perform a task every night: check and delete historical " +"accounts that exceed the predetermined number. If the value reaches or " +"exceeds 999 (default), no historical account deletion will be performed" +msgstr "" + +#: settings/serializers/feature.py:87 +msgid "Mount Point" +msgstr "" + +#: settings/serializers/feature.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:41 +msgid "Tenant ID" +msgstr "" + +#: settings/serializers/feature.py:110 terminal/serializers/storage.py:68 +#: xpack/plugins/cloud/manager.py:111 xpack/plugins/cloud/manager.py:116 +#: xpack/plugins/cloud/models.py:287 +msgid "Region" +msgstr "" + +#: settings/serializers/feature.py:113 terminal/serializers/storage.py:33 +msgid "Access key ID" +msgstr "" + +#: settings/serializers/feature.py:117 terminal/serializers/storage.py:37 +#: xpack/plugins/cloud/serializers/account_attrs.py:20 +msgid "Access key secret" +msgstr "" + +#: settings/serializers/feature.py:122 settings/serializers/feature.py:125 +msgid "Chat AI" +msgstr "" + +#: settings/serializers/feature.py:132 settings/serializers/feature.py:147 +msgid "Base URL" +msgstr "" + +#: settings/serializers/feature.py:133 settings/serializers/feature.py:148 +msgid "The base URL of the Chat service." +msgstr "" + +#: settings/serializers/feature.py:136 settings/serializers/feature.py:151 +#: templates/_header_bar.html:96 +msgid "API Key" +msgstr "" + +#: settings/serializers/feature.py:140 settings/serializers/feature.py:155 +msgid "" +"The proxy server address of the GPT service. For example: http://ip:port" +msgstr "" + +#: settings/serializers/feature.py:144 +msgid "GPT Model" +msgstr "" + +#: settings/serializers/feature.py:159 +msgid "DeepSeek Model" +msgstr "" + +#: settings/serializers/feature.py:168 +msgid "Approval without login" +msgstr "" + +#: settings/serializers/feature.py:169 +msgid "Allow direct approval ticket without login" +msgstr "" + +#: settings/serializers/feature.py:173 +msgid "Period" +msgstr "" + +#: settings/serializers/feature.py:174 +msgid "" +"The default authorization time period when applying for assets via a ticket" +msgstr "" + +#: settings/serializers/feature.py:177 +msgid "hour" +msgstr "" + +#: settings/serializers/feature.py:178 +msgid "Unit" +msgstr "" + +#: settings/serializers/feature.py:178 +msgid "The unit of period" +msgstr "" + +#: settings/serializers/feature.py:187 +msgid "" +"Allow users to execute batch commands in the Workbench - Job Center - Adhoc" +msgstr "" + +#: settings/serializers/feature.py:191 +msgid "Command blacklist" +msgstr "" + +#: settings/serializers/feature.py:192 +msgid "Command blacklist in Adhoc" +msgstr "" + +#: settings/serializers/feature.py:197 +#: terminal/models/virtualapp/provider.py:17 +#: terminal/models/virtualapp/virtualapp.py:36 +#: terminal/models/virtualapp/virtualapp.py:97 +#: terminal/serializers/virtualapp.py:32 +msgid "Virtual app" +msgstr "" + +#: settings/serializers/feature.py:200 +msgid "Virtual App" +msgstr "" + +#: settings/serializers/feature.py:202 +msgid "" +"Virtual applications, you can use the Linux operating system as an " +"application server in remote applications." +msgstr "" + +#: settings/serializers/msg.py:24 +msgid "SMTP" +msgstr "" + +#: settings/serializers/msg.py:25 +msgid "EXCHANGE" +msgstr "" + +#: settings/serializers/msg.py:34 +msgid "The user to be used for email server authentication" +msgstr "" + +#: settings/serializers/msg.py:38 +msgid "" +"Password to use for the email server. It is used in conjunction with `User` " +"when authenticating to the email server" +msgstr "" + +#: settings/serializers/msg.py:41 +msgid "Sender" +msgstr "" + +#: settings/serializers/msg.py:42 +msgid "Sender email address (default to using the `User`)" +msgstr "" + +#: settings/serializers/msg.py:46 +msgid "The recipient is used for testing the email server's connectivity" +msgstr "" + +#: settings/serializers/msg.py:51 +msgid "" +"Whether to use an implicit TLS (secure) connection when talking to the SMTP " +"server. In most email documentation this type of TLS connection is referred " +"to as SSL. It is generally used on port 465" +msgstr "" + +#: settings/serializers/msg.py:54 +msgid "Use TLS" +msgstr "" + +#: settings/serializers/msg.py:56 +msgid "" +"Whether to use a TLS (secure) connection when talking to the SMTP server. " +"This is used for explicit TLS connections, generally on port 587" +msgstr "" + +#: settings/serializers/msg.py:64 +msgid "Subject prefix" +msgstr "" + +#: settings/serializers/msg.py:69 +msgid "" +"Tips: When creating a user, send the subject of the email (eg:Create account " +"successfully)" +msgstr "" + +#: settings/serializers/msg.py:73 +msgid "Honorific" +msgstr "" + +#: settings/serializers/msg.py:74 +msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" +msgstr "" + +#: settings/serializers/msg.py:80 +#, python-brace-format +msgid "" +"Tips: When creating a user, send the content of the email, support " +"{username} {name} {email} label" +msgstr "" + +#: settings/serializers/msg.py:84 +msgid "Tips: Email signature (eg:jumpserver)" +msgstr "" + +#: settings/serializers/other.py:8 +msgid "More..." +msgstr "" + +#: settings/serializers/other.py:11 +msgid "Perm ungroup node" +msgstr "" + +#: settings/serializers/other.py:12 +msgid "Perm single to ungroup node" +msgstr "" + +#: settings/serializers/security.py:17 +msgid "User password expiration (day)" +msgstr "" + +#: settings/serializers/security.py:19 +msgid "" +"If the user does not update the password during the time, the user password " +"will expire failure;The password expiration reminder mail will be automatic " +"sent to the user by system within 5 days (daily) before the password expires" +msgstr "" + +#: settings/serializers/security.py:26 +msgid "Recent password count" +msgstr "" + +#: settings/serializers/security.py:28 +msgid "" +"Tip: When the user resets the password, it cannot be the previous n " +"historical passwords of the user" +msgstr "" + +#: settings/serializers/security.py:34 +msgid "Minimum length (User)" +msgstr "" + +#: settings/serializers/security.py:38 +msgid "Minimum length (Admin)" +msgstr "" + +#: settings/serializers/security.py:47 +msgid "Digits" +msgstr "" + +#: settings/serializers/security.py:50 +msgid "Special characters" +msgstr "" + +#: settings/serializers/security.py:55 +msgid "" +"If the user has failed to log in for a limited number of times, no login is " +"allowed during this time interval." +msgstr "" + +#: settings/serializers/security.py:63 settings/serializers/security.py:73 +msgid "Login failures count" +msgstr "" + +#: settings/serializers/security.py:67 settings/serializers/security.py:77 +msgid "Login failure period (minute)" +msgstr "" + +#: settings/serializers/security.py:81 +msgid "Login IP whitelist" +msgstr "" + +#: settings/serializers/security.py:86 +msgid "Login IP blacklist" +msgstr "" + +#: settings/serializers/security.py:91 +msgid "Only single device login" +msgstr "" + +#: settings/serializers/security.py:92 +msgid "" +"After the user logs in on the new device, other logged-in devices will " +"automatically log out" +msgstr "" + +#: settings/serializers/security.py:95 +msgid "Only exist user login" +msgstr "" + +#: settings/serializers/security.py:97 +msgid "" +"If enabled, non-existent users will not be allowed to log in; if disabled, " +"users of other authentication methods except local authentication methods " +"are allowed to log in and automatically create users (if the user does not " +"exist)" +msgstr "" + +#: settings/serializers/security.py:103 +msgid "Only from source login" +msgstr "" + +#: settings/serializers/security.py:105 +msgid "" +"If it is enabled, the user will only authenticate to the source when logging " +"in; if it is disabled, the user will authenticate all the enabled " +"authentication methods in a certain order when logging in, and as long as " +"one of the authentication methods is successful, they can log in directly" +msgstr "" + +#: settings/serializers/security.py:116 +#: users/templates/users/mfa_setting.html:160 +msgid "Not enabled" +msgstr "" + +#: settings/serializers/security.py:117 +msgid "All users" +msgstr "" + +#: settings/serializers/security.py:118 +msgid "Only admin users" +msgstr "" + +#: settings/serializers/security.py:120 +msgid "Global MFA" +msgstr "" + +#: settings/serializers/security.py:124 +msgid "Third-party login MFA" +msgstr "" + +#: settings/serializers/security.py:125 +msgid "The third-party login modes include OIDC, CAS, and SAML2" +msgstr "" + +#: settings/serializers/security.py:128 +msgid "OTP issuer name" +msgstr "" + +#: settings/serializers/security.py:132 +msgid "OTP valid window" +msgstr "" + +#: settings/serializers/security.py:136 +msgid "MFA verify TTL" +msgstr "" + +#: settings/serializers/security.py:138 +msgid "" +"Unit: second, The verification MFA takes effect only when you view the " +"account password" +msgstr "" + +#: settings/serializers/security.py:143 +msgid "MFA in login page" +msgstr "" + +#: settings/serializers/security.py:144 +msgid "Eu security regulations(GDPR) require MFA to be on the login page" +msgstr "" + +#: settings/serializers/security.py:148 +msgid "Verify code TTL (second)" +msgstr "" + +#: settings/serializers/security.py:149 +msgid "Reset password and send SMS code expiration time" +msgstr "" + +#: settings/serializers/security.py:153 +msgid "Login dynamic code" +msgstr "" + +#: settings/serializers/security.py:154 +msgid "" +"The password and additional code are sent to a third party authentication " +"system for verification" +msgstr "" + +#: settings/serializers/security.py:158 +msgid "Login captcha" +msgstr "" + +#: settings/serializers/security.py:159 +msgid "Enable captcha to prevent robot authentication" +msgstr "" + +#: settings/serializers/security.py:162 +msgid "Suspicious Login Verification" +msgstr "" + +#: settings/serializers/security.py:164 +msgid "" +"The system determines whether the login IP address belongs to a common login " +"city. If the account is logged in from a common login city, the system sends " +"a remote login reminder" +msgstr "" + +#: settings/serializers/security.py:170 +msgid "Auto Disable Threshold (day)" +msgstr "" + +#: settings/serializers/security.py:171 +msgid "" +"Detect infrequent users daily and disable them if they exceed the " +"predetermined time limit" +msgstr "" + +#: settings/serializers/security.py:191 +msgid "Watermark" +msgstr "" + +#: settings/serializers/security.py:192 +msgid "Enabled, the web session and replay contains watermark information" +msgstr "" + +#: settings/serializers/security.py:196 +msgid "Max idle time (minute)" +msgstr "" + +#: settings/serializers/security.py:197 +msgid "If idle time more than it, disconnect connection." +msgstr "" + +#: settings/serializers/security.py:200 +msgid "Session expire at browser closed" +msgstr "" + +#: settings/serializers/security.py:201 +msgid "Whether to expire the session when the user closes their browser." +msgstr "" + +#: settings/serializers/security.py:206 +msgid "Allow users to view asset session information" +msgstr "" + +#: settings/serializers/security.py:208 +msgid "" +"When a user connects to an asset, the account selection popup displays the " +"number of active sessions for the current asset (RDP protocol only)." +msgstr "" + +#: settings/serializers/security.py:214 +msgid "Max online time (hour)" +msgstr "" + +#: settings/serializers/security.py:215 +msgid "If session connection time more than it, disconnect connection." +msgstr "" + +#: settings/serializers/security.py:218 +msgid "Remember manual auth" +msgstr "" + +#: settings/serializers/security.py:221 +#: terminal/templates/terminal/_msg_session_sharing.html:10 +msgid "Session share" +msgstr "" + +#: settings/serializers/security.py:222 +msgid "Enabled, Allows user active session to be shared with other users" +msgstr "" + +#: settings/serializers/security.py:228 +msgid "Insecure command alert" +msgstr "" + +#: settings/serializers/security.py:231 +msgid "Email recipient" +msgstr "" + +#: settings/serializers/security.py:232 +msgid "Multiple user using , split" +msgstr "" + +#: settings/serializers/settings.py:62 +#, python-format +msgid "[%s] %s" +msgstr "" + +#: settings/serializers/terminal.py:15 +msgid "Auto" +msgstr "" + +#: settings/serializers/terminal.py:22 +msgid "Registration" +msgstr "" + +#: settings/serializers/terminal.py:24 +msgid "" +"Allow component register, after all component setup, you should disable this " +"for security" +msgstr "" + +#: settings/serializers/terminal.py:30 +msgid "" +"* Allow users to log in to the KoKo component via password authentication" +msgstr "" + +#: settings/serializers/terminal.py:36 +msgid "" +"* Allow users to log in to the KoKo component via Public key " +"authentication
If third-party authentication services, such as AD/LDAP, " +"are enabled, you should disable this option to prevent users from logging in " +"after being deleted from the AD/LDAP server" +msgstr "" + +#: settings/serializers/terminal.py:43 +msgid "Asset sorting" +msgstr "" + +#: settings/serializers/terminal.py:46 +msgid "Asset page size" +msgstr "" + +#: settings/serializers/terminal.py:51 +msgid "" +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the DB client launch " +"method when connecting to assets" +msgstr "" + +#: settings/serializers/terminal.py:59 +msgid "" +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the download rdp file " +"button and RDP Client launch method when connecting to assets" +msgstr "" + +#: settings/serializers/terminal.py:66 +msgid "Client connection" +msgstr "" + +#: settings/serializers/terminal.py:68 +msgid "" +"* Allow connecting to the KoKo component via SSH client
If enabled, the " +"Luna page will display the SSH client launch method when connecting to assets" +msgstr "" + +#: settings/serializers/tool.py:10 +msgid "Tool" +msgstr "" + +#: settings/serializers/tool.py:13 +msgid "Tools in the Workbench" +msgstr "" + +#: settings/serializers/tool.py:15 +msgid "" +"*! If enabled, users with RBAC permissions will be able to utilize all tools " +"in the workbench" +msgstr "" + +#: settings/tasks/ldap.py:73 +msgid "Periodic import ldap user" +msgstr "" + +#: settings/tasks/ldap.py:75 settings/tasks/ldap.py:85 +msgid "" +"When LDAP auto-sync is configured, this task will be invoked to synchronize " +"users" +msgstr "" + +#: settings/tasks/ldap.py:83 +msgid "Periodic import ldap ha user" +msgstr "" + +#: settings/tasks/ldap.py:120 +msgid "Registration periodic import ldap user task" +msgstr "" + +#: settings/tasks/ldap.py:122 +msgid "" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " +"sync task \n" +" will be re-registered or updated, and this task will be invoked" +msgstr "" + +#: settings/tasks/ldap.py:136 +msgid "Registration periodic import ldap ha user task" +msgstr "" + +#: settings/tasks/ldap.py:138 +msgid "" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " +"LDAP HA sync task \n" +" will be re-registered or updated, and this task will be invoked" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:2 +msgid "Sync task finish" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:9 +msgid "Synced Organization" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:15 +msgid "Synced User" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:22 +msgid "No user synchronization required" +msgstr "" + +#: settings/utils/ldap.py:509 +msgid "ldap:// or ldaps:// protocol is used." +msgstr "" + +#: settings/utils/ldap.py:520 +msgid "Host or port is disconnected: {}" +msgstr "" + +#: settings/utils/ldap.py:522 +msgid "The port is not the port of the LDAP service: {}" +msgstr "" + +#: settings/utils/ldap.py:524 +msgid "Please add certificate: {}" +msgstr "" + +#: settings/utils/ldap.py:528 settings/utils/ldap.py:555 +#: settings/utils/ldap.py:585 settings/utils/ldap.py:613 +msgid "Unknown error: {}" +msgstr "" + +#: settings/utils/ldap.py:542 +msgid "Bind DN or Password incorrect" +msgstr "" + +#: settings/utils/ldap.py:549 +msgid "Please enter Bind DN: {}" +msgstr "" + +#: settings/utils/ldap.py:551 +msgid "Please enter Password: {}" +msgstr "" + +#: settings/utils/ldap.py:553 +msgid "Please enter correct Bind DN and Password: {}" +msgstr "" + +#: settings/utils/ldap.py:571 +msgid "Invalid User OU or User search filter: {}" +msgstr "" + +#: settings/utils/ldap.py:602 +msgid "LDAP User attr map not include: {}" +msgstr "" + +#: settings/utils/ldap.py:609 +msgid "LDAP User attr map is not dict" +msgstr "" + +#: settings/utils/ldap.py:628 +msgid "LDAP authentication is not enabled" +msgstr "" + +#: settings/utils/ldap.py:646 +msgid "Error (Invalid LDAP server): {}" +msgstr "" + +#: settings/utils/ldap.py:648 +msgid "Error (Invalid Bind DN): {}" +msgstr "" + +#: settings/utils/ldap.py:650 +msgid "Error (Invalid LDAP User attr map): {}" +msgstr "" + +#: settings/utils/ldap.py:652 +msgid "Error (Invalid User OU or User search filter): {}" +msgstr "" + +#: settings/utils/ldap.py:654 +msgid "Error (Not enabled LDAP authentication): {}" +msgstr "" + +#: settings/utils/ldap.py:656 +msgid "Error (Unknown): {}" +msgstr "" + +#: settings/utils/ldap.py:659 +msgid "Succeed: Match {} users" +msgstr "" + +#: settings/utils/ldap.py:689 +msgid "Authentication failed (configuration incorrect): {}" +msgstr "" + +#: settings/utils/ldap.py:693 +msgid "Authentication failed (username or password incorrect): {}" +msgstr "" + +#: settings/utils/ldap.py:695 +msgid "Authentication failed (Unknown): {}" +msgstr "" + +#: settings/utils/ldap.py:698 +msgid "Authentication success: {}" +msgstr "" + +#: settings/ws.py:222 +msgid "No LDAP user was found" +msgstr "" + +#: settings/ws.py:228 +msgid "Total {}, success {}, failure {}" +msgstr "" + +#: templates/_csv_import_export.html:8 +msgid "Export" +msgstr "" + +#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5 +#: xpack/plugins/cloud/const.py:65 +msgid "Import" +msgstr "" + +#: templates/_csv_import_modal.html:12 +msgid "Download the imported template or use the exported CSV file format" +msgstr "" + +#: templates/_csv_import_modal.html:13 +msgid "Download the import template" +msgstr "" + +#: templates/_csv_import_modal.html:17 templates/_csv_update_modal.html:17 +msgid "Select the CSV file to import" +msgstr "" + +#: templates/_csv_import_modal.html:39 templates/_csv_update_modal.html:42 +msgid "Please select file" +msgstr "" + +#: templates/_csv_update_modal.html:12 +msgid "Download the update template or use the exported CSV file format" +msgstr "" + +#: templates/_csv_update_modal.html:13 +msgid "Download the update template" +msgstr "" + +#: templates/_header_bar.html:12 +msgid "Help" +msgstr "" + +#: templates/_header_bar.html:19 +msgid "Docs" +msgstr "" + +#: templates/_header_bar.html:27 +msgid "Commercial support" +msgstr "" + +#: templates/_header_bar.html:85 users/forms/profile.py:44 +msgid "Profile" +msgstr "" + +#: templates/_header_bar.html:89 +msgid "Admin page" +msgstr "" + +#: templates/_header_bar.html:92 +msgid "User page" +msgstr "" + +#: templates/_header_bar.html:97 +msgid "Logout" +msgstr "" + +#: templates/_message.html:6 +msgid "Your account has expired, please contact the administrator." +msgstr "" + +#: templates/_message.html:11 +msgid "Your account will at" +msgstr "" + +#: templates/_message.html:11 templates/_message.html:26 +msgid "expired. " +msgstr "" + +#: templates/_message.html:21 +#, python-format +msgid "" +"Your password has expired, please click this link update password." +msgstr "" + +#: templates/_message.html:26 +msgid "Your password will at" +msgstr "" + +#: templates/_message.html:27 +#, python-format +msgid "" +"please click this link to " +"update your password." +msgstr "" + +#: templates/_message.html:37 +#, python-format +msgid "" +"Your information was incomplete. Please click this link to complete your information." +msgstr "" + +#: templates/_message.html:48 +#, python-format +msgid "" +"Your ssh public key not set or expired. Please click this link to update" +msgstr "" + +#: templates/_mfa_login_field.html:31 +#: users/templates/users/forgot_password.html:101 +msgid "Send" +msgstr "" + +#: templates/_mfa_login_field.html:110 +#: users/templates/users/forgot_password.html:176 +msgid "Wait: " +msgstr "" + +#: templates/_mfa_login_field.html:120 +#: users/templates/users/forgot_password.html:192 +msgid "The verification code has been sent" +msgstr "" + +#: templates/_without_nav_base.html:26 +msgid "Home page" +msgstr "" + +#: templates/resource_download.html:20 templates/resource_download.html:35 +#: users/const.py:77 +msgid "Client" +msgstr "" + +#: templates/resource_download.html:22 +msgid "" +"JumpServer Client, currently used to launch the client, now only support " +"launch RDP SSH client, The Telnet client will next" +msgstr "" + +#: templates/resource_download.html:35 +msgid "Microsoft" +msgstr "" + +#: templates/resource_download.html:35 +msgid "Official" +msgstr "" + +#: templates/resource_download.html:37 +msgid "" +"macOS needs to download the client to connect RDP asset, which comes with " +"Windows" +msgstr "" + +#: templates/resource_download.html:45 +msgid "Windows Remote application publisher tools" +msgstr "" + +#: templates/resource_download.html:46 +msgid "" +"OpenSSH is a program used to connect remote applications in the Windows " +"Remote Application Publisher" +msgstr "" + +#: templates/resource_download.html:53 +msgid "Offline video player" +msgstr "" + +#: terminal/api/applet/applet.py:52 terminal/api/applet/applet.py:55 +#: terminal/api/virtualapp/virtualapp.py:43 +#: terminal/api/virtualapp/virtualapp.py:46 +msgid "Invalid zip file" +msgstr "" + +#: terminal/api/applet/applet.py:74 +msgid "This is enterprise edition applet" +msgstr "" + +#: terminal/api/applet/applet.py:91 +msgid "Applet not found in path: {}" +msgstr "" + +#: terminal/api/component/endpoint.py:32 +msgid "Not found protocol query params" +msgstr "" + +#: terminal/api/component/storage.py:31 +msgid "Deleting the default storage is not allowed" +msgstr "" + +#: terminal/api/component/storage.py:36 +msgid "Cannot delete storage that is being used: {}" +msgstr "" + +#: terminal/api/component/storage.py:77 terminal/api/component/storage.py:78 +msgid "Command storages" +msgstr "" + +#: terminal/api/component/storage.py:84 xpack/plugins/cloud/manager.py:111 +msgid "Invalid" +msgstr "" + +#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +msgid "Test failure: {}" +msgstr "" + +#: terminal/api/component/storage.py:135 +msgid "Test successful" +msgstr "" + +#: terminal/api/component/storage.py:137 +msgid "Test failure: Please check configuration" +msgstr "" + +#: terminal/api/component/terminal.py:57 +msgid "Have online sessions" +msgstr "" + +#: terminal/api/session/session.py:49 +#, python-format +msgid "User %s %s session %s replay" +msgstr "" + +#: terminal/api/session/session.py:329 +msgid "Session does not exist: {}" +msgstr "" + +#: terminal/api/session/session.py:332 +msgid "Session is finished or the protocol not supported" +msgstr "" + +#: terminal/api/session/session.py:345 +msgid "User does not have permission" +msgstr "" + +#: terminal/api/session/sharing.py:29 +msgid "Secure session sharing settings is disabled" +msgstr "" + +#: terminal/apps.py:9 +msgid "App Terminals" +msgstr "" + +#: terminal/backends/command/models.py:19 +msgid "Input" +msgstr "" + +#: terminal/backends/command/models.py:20 terminal/serializers/command.py:73 +msgid "Output" +msgstr "" + +#: terminal/backends/command/models.py:24 terminal/serializers/command.py:22 +#: terminal/templates/terminal/_msg_command_warning.html:10 +msgid "Risk level" +msgstr "" + +#: terminal/connect_methods.py:29 +msgid "SSH Client" +msgstr "" + +#: terminal/connect_methods.py:30 +msgid "SSH Guide" +msgstr "" + +#: terminal/connect_methods.py:31 +msgid "SFTP Client" +msgstr "" + +#: terminal/connect_methods.py:33 +msgid "DB Guide" +msgstr "" + +#: terminal/connect_methods.py:34 +msgid "DB Client" +msgstr "" + +#: terminal/connect_methods.py:36 +msgid "Remote Desktop" +msgstr "" + +#: terminal/connect_methods.py:37 +msgid "RDP Guide" +msgstr "" + +#: terminal/connect_methods.py:39 +msgid "VNC Client" +msgstr "" + +#: terminal/connect_methods.py:40 +msgid "VNC Guide" +msgstr "" + +#: terminal/const.py:10 +msgid "Warning" +msgstr "" + +#: terminal/const.py:12 +msgid "Review & Reject" +msgstr "" + +#: terminal/const.py:13 +msgid "Review & Accept" +msgstr "" + +#: terminal/const.py:14 +msgid "Review & Cancel" +msgstr "" + +#: terminal/const.py:45 +msgid "Critical" +msgstr "" + +#: terminal/const.py:46 +msgid "High" +msgstr "" + +#: terminal/const.py:47 terminal/const.py:86 +#: users/templates/users/reset_password.html:54 +msgid "Normal" +msgstr "" + +#: terminal/const.py:48 +msgid "Offline" +msgstr "" + +#: terminal/const.py:82 +msgid "Mismatch" +msgstr "" + +#: terminal/const.py:87 +msgid "Tunnel" +msgstr "" + +#: terminal/const.py:93 +msgid "Read only" +msgstr "" + +#: terminal/const.py:94 +msgid "Writable" +msgstr "" + +#: terminal/const.py:98 +msgid "Kill session" +msgstr "" + +#: terminal/const.py:99 +msgid "Lock session" +msgstr "" + +#: terminal/const.py:100 +msgid "Unlock session" +msgstr "" + +#: terminal/const.py:105 +msgid "Replay create failed" +msgstr "" + +#: terminal/const.py:106 +msgid "Replay upload failed" +msgstr "" + +#: terminal/const.py:107 +msgid "Replay convert failed" +msgstr "" + +#: terminal/const.py:108 +msgid "Replay unsupported" +msgstr "" + +#: terminal/exceptions.py:8 +msgid "Bulk create not support" +msgstr "" + +#: terminal/exceptions.py:13 +msgid "Storage is invalid" +msgstr "" + +#: terminal/models/applet/applet.py:32 +msgid "Enterprise" +msgstr "" + +#: terminal/models/applet/applet.py:35 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "" + +#: terminal/models/applet/applet.py:37 +#: terminal/models/virtualapp/virtualapp.py:22 +msgid "Author" +msgstr "" + +#: terminal/models/applet/applet.py:39 terminal/serializers/applet.py:31 +msgid "Edition" +msgstr "" + +#: terminal/models/applet/applet.py:44 +msgid "Can concurrent" +msgstr "" + +#: terminal/models/applet/applet.py:49 terminal/serializers/applet_host.py:179 +#: terminal/serializers/storage.py:193 +msgid "Hosts" +msgstr "" + +#: terminal/models/applet/applet.py:94 +#: terminal/models/virtualapp/virtualapp.py:66 +msgid "Applet pkg not valid, Missing file {}" +msgstr "" + +#: terminal/models/applet/applet.py:113 +msgid "Load platform.yml failed: {}" +msgstr "" + +#: terminal/models/applet/applet.py:116 +msgid "Only support custom platform" +msgstr "" + +#: terminal/models/applet/applet.py:121 +msgid "Missing type in platform.yml" +msgstr "" + +#: terminal/models/applet/applet.py:330 terminal/models/applet/host.py:36 +#: terminal/models/applet/host.py:138 +msgid "Hosting" +msgstr "" + +#: terminal/models/applet/applet.py:336 +msgid "Applet Publication" +msgstr "" + +#: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:81 +msgid "Deploy options" +msgstr "" + +#: terminal/models/applet/host.py:19 +msgid "Auto create accounts" +msgstr "" + +#: terminal/models/applet/host.py:20 +msgid "Accounts create amount" +msgstr "" + +#: terminal/models/applet/host.py:21 +msgid "Inited" +msgstr "" + +#: terminal/models/applet/host.py:22 +msgid "Date inited" +msgstr "" + +#: terminal/models/applet/host.py:23 +msgid "Date synced" +msgstr "" + +#: terminal/models/applet/host.py:28 +msgid "Using same account" +msgstr "" + +#: terminal/models/applet/host.py:139 +msgid "Initial" +msgstr "" + +#: terminal/models/applet/host.py:148 +msgid "Applet host deployment" +msgstr "" + +#: terminal/models/component/endpoint.py:16 +msgid "HTTPS port" +msgstr "" + +#: terminal/models/component/endpoint.py:17 +msgid "HTTP port" +msgstr "" + +#: terminal/models/component/endpoint.py:18 +msgid "SSH port" +msgstr "" + +#: terminal/models/component/endpoint.py:19 +msgid "RDP port" +msgstr "" + +#: terminal/models/component/endpoint.py:20 +msgid "MySQL port" +msgstr "" + +#: terminal/models/component/endpoint.py:21 +msgid "MariaDB port" +msgstr "" + +#: terminal/models/component/endpoint.py:22 +msgid "PostgreSQL port" +msgstr "" + +#: terminal/models/component/endpoint.py:23 +msgid "Redis port" +msgstr "" + +#: terminal/models/component/endpoint.py:24 +msgid "SQLServer port" +msgstr "" + +#: terminal/models/component/endpoint.py:25 +msgid "VNC port" +msgstr "" + +#: terminal/models/component/endpoint.py:33 +#: terminal/models/component/endpoint.py:120 +#: terminal/serializers/endpoint.py:80 terminal/serializers/storage.py:41 +#: terminal/serializers/storage.py:53 terminal/serializers/storage.py:83 +#: terminal/serializers/storage.py:93 terminal/serializers/storage.py:101 +msgid "Endpoint" +msgstr "" + +#: terminal/models/component/endpoint.py:126 +msgid "Endpoint rule" +msgstr "" + +#: terminal/models/component/status.py:15 +msgid "Session Online" +msgstr "" + +#: terminal/models/component/status.py:16 +msgid "CPU Load" +msgstr "" + +#: terminal/models/component/status.py:17 +msgid "Memory Used" +msgstr "" + +#: terminal/models/component/status.py:18 +msgid "Disk Used" +msgstr "" + +#: terminal/models/component/status.py:19 +msgid "Connections" +msgstr "" + +#: terminal/models/component/status.py:20 +msgid "Threads" +msgstr "" + +#: terminal/models/component/status.py:21 +msgid "Boot Time" +msgstr "" + +#: terminal/models/component/storage.py:144 +#: terminal/models/component/terminal.py:92 +msgid "Command storage" +msgstr "" + +#: terminal/models/component/storage.py:212 +#: terminal/models/component/terminal.py:93 +msgid "Replay storage" +msgstr "" + +#: terminal/models/component/terminal.py:89 +msgid "type" +msgstr "" + +#: terminal/models/component/terminal.py:94 +msgid "Application User" +msgstr "" + +#: terminal/models/component/terminal.py:187 +msgid "Can view terminal config" +msgstr "" + +#: terminal/models/session/command.py:76 +msgid "Command record" +msgstr "" + +#: terminal/models/session/replay.py:12 +msgid "Session replay" +msgstr "" + +#: terminal/models/session/replay.py:14 +msgid "Can upload session replay" +msgstr "" + +#: terminal/models/session/replay.py:15 +msgid "Can download session replay" +msgstr "" + +#: terminal/models/session/session.py:37 +msgid "Account ID" +msgstr "" + +#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:118 +msgid "Login from" +msgstr "" + +#: terminal/models/session/session.py:44 +msgid "Replay" +msgstr "" + +#: terminal/models/session/session.py:50 terminal/serializers/session.py:112 +msgid "Command amount" +msgstr "" + +#: terminal/models/session/session.py:51 terminal/serializers/session.py:32 +msgid "Error reason" +msgstr "" + +#: terminal/models/session/session.py:315 +msgid "Session record" +msgstr "" + +#: terminal/models/session/session.py:317 +msgid "Can monitor session" +msgstr "" + +#: terminal/models/session/session.py:318 +msgid "Can share session" +msgstr "" + +#: terminal/models/session/session.py:319 +msgid "Can terminate session" +msgstr "" + +#: terminal/models/session/session.py:320 +msgid "Can validate session action perm" +msgstr "" + +#: terminal/models/session/sharing.py:32 +msgid "Expired time (min)" +msgstr "" + +#: terminal/models/session/sharing.py:36 terminal/serializers/sharing.py:20 +#: terminal/serializers/sharing.py:52 +msgid "Action permission" +msgstr "" + +#: terminal/models/session/sharing.py:38 +msgid "Origin" +msgstr "" + +#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100 +#: terminal/notifications.py:279 +msgid "Session sharing" +msgstr "" + +#: terminal/models/session/sharing.py:44 +msgid "Can add super session sharing" +msgstr "" + +#: terminal/models/session/sharing.py:83 +msgid "Link not active" +msgstr "" + +#: terminal/models/session/sharing.py:85 +msgid "Link expired" +msgstr "" + +#: terminal/models/session/sharing.py:87 +msgid "User not allowed to join" +msgstr "" + +#: terminal/models/session/sharing.py:104 terminal/serializers/sharing.py:71 +msgid "Joiner" +msgstr "" + +#: terminal/models/session/sharing.py:107 +msgid "Date joined" +msgstr "" + +#: terminal/models/session/sharing.py:110 +msgid "Date left" +msgstr "" + +#: terminal/models/session/sharing.py:133 +msgid "Session join record" +msgstr "" + +#: terminal/models/session/sharing.py:149 +msgid "Invalid verification code" +msgstr "" + +#: terminal/models/session/sharing.py:156 +msgid "You have already joined this session" +msgstr "" + +#: terminal/models/virtualapp/provider.py:11 +msgid "Hostname" +msgstr "" + +#: terminal/models/virtualapp/provider.py:23 +#: terminal/models/virtualapp/virtualapp.py:94 +#: terminal/serializers/virtualapp.py:34 +msgid "App Provider" +msgstr "" + +#: terminal/models/virtualapp/virtualapp.py:32 +msgid "Providers" +msgstr "" + +#: terminal/models/virtualapp/virtualapp.py:102 +msgid "Virtual app publication" +msgstr "" + +#: terminal/notifications.py:26 +msgid "Sessions" +msgstr "" + +#: terminal/notifications.py:73 +msgid "Command warning" +msgstr "" + +#: terminal/notifications.py:128 terminal/notifications.py:183 +msgid "Command reject" +msgstr "" + +#: terminal/notifications.py:158 terminal/notifications.py:218 +msgid "Level" +msgstr "" + +#: terminal/notifications.py:242 +msgid "Command and replay storage" +msgstr "" + +#: terminal/notifications.py:258 terminal/tasks.py:212 +#: xpack/plugins/cloud/api.py:160 +#: xpack/plugins/cloud/serializers/account.py:121 +#: xpack/plugins/cloud/serializers/account.py:123 +msgid "Test failure: Account invalid" +msgstr "" + +#: terminal/notifications.py:268 +#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 +msgid "Invalid storage" +msgstr "" + +#: terminal/serializers/applet.py:28 terminal/serializers/virtualapp.py:15 +msgid "Icon" +msgstr "" + +#: terminal/serializers/applet_host.py:24 +msgid "Per Device (Device number limit)" +msgstr "" + +#: terminal/serializers/applet_host.py:25 +msgid "Per User (User number limit)" +msgstr "" + +#: terminal/serializers/applet_host.py:37 +msgid "Core API" +msgstr "" + +#: terminal/serializers/applet_host.py:38 +msgid "" +" \n" +" Tips: The application release machine communicates with the Core " +"service. \n" +" If the release machine and the Core service are on the same network " +"segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in " +"the current site URL \n" +"
\n" +" eg: https://172.16.10.110 or https://dev.jumpserver.com\n" +" " +msgstr "" + +#: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 +msgid "Ignore Certificate Verification" +msgstr "" + +#: terminal/serializers/applet_host.py:48 +msgid "Existing RDS license" +msgstr "" + +#: terminal/serializers/applet_host.py:50 +msgid "" +"If not exist, the RDS will be in trial mode, and the trial period is 120 " +"days. Detail" +msgstr "" + +#: terminal/serializers/applet_host.py:55 +msgid "RDS License Server" +msgstr "" + +#: terminal/serializers/applet_host.py:57 +msgid "RDS Licensing Mode" +msgstr "" + +#: terminal/serializers/applet_host.py:60 +msgid "RDS Single Session Per User" +msgstr "" + +#: terminal/serializers/applet_host.py:61 +msgid "" +"Tips: A RDS user can have only one session at a time. If set, when next " +"login connected, previous session will be disconnected." +msgstr "" + +#: terminal/serializers/applet_host.py:65 +msgid "RDS Max Disconnection Time (ms)" +msgstr "" + +#: terminal/serializers/applet_host.py:67 +msgid "" +"Tips: Set the maximum duration for keeping a disconnected session active on " +"the server (log off the session after 60000 milliseconds)." +msgstr "" + +#: terminal/serializers/applet_host.py:72 +msgid "RDS Remote App Logoff Time Limit (ms)" +msgstr "" + +#: terminal/serializers/applet_host.py:74 +msgid "" +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " +"programs (0 milliseconds, log off the session immediately)." +msgstr "" + +#: terminal/serializers/applet_host.py:83 terminal/serializers/terminal.py:47 +#: terminal/serializers/virtualapp_provider.py:13 +msgid "Load status" +msgstr "" + +#: terminal/serializers/applet_host.py:97 +msgid "" +"These accounts are used to connect to the published application, the account " +"is now divided into two types, one is dedicated to each account, each user " +"has a private account, the other is public, when the application does not " +"support multiple open and the special has been used, the public account will " +"be used to connect" +msgstr "" + +#: terminal/serializers/applet_host.py:104 +msgid "The number of public accounts created automatically" +msgstr "" + +#: terminal/serializers/applet_host.py:107 +msgid "" +"Connect to the host using the same account first. For security reasons, " +"please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " +"restart the service to enable it." +msgstr "" + +#: terminal/serializers/applet_host.py:149 +msgid "Install applets" +msgstr "" + +#: terminal/serializers/applet_host.py:179 +msgid "Host ID" +msgstr "" + +#: terminal/serializers/applet_host.py:180 +msgid "Applet ID" +msgstr "" + +#: terminal/serializers/command.py:41 +msgid "Command Filter ACL" +msgstr "" + +#: terminal/serializers/command.py:44 +msgid "Command Group" +msgstr "" + +#: terminal/serializers/command.py:55 +msgid "Invalid command filter ACL id" +msgstr "" + +#: terminal/serializers/command.py:59 +msgid "Invalid command group id" +msgstr "" + +#: terminal/serializers/command.py:63 +msgid "Invalid session id" +msgstr "" + +#: terminal/serializers/command.py:74 +msgid "Timestamp" +msgstr "" + +#: terminal/serializers/endpoint.py:15 +msgid "Oracle port" +msgstr "" + +#: terminal/serializers/endpoint.py:18 +msgid "Oracle port range" +msgstr "" + +#: terminal/serializers/endpoint.py:20 +msgid "" +"Oracle proxy server listen port is dynamic, Each additional Oracle database " +"instance adds a port listener" +msgstr "" + +#: terminal/serializers/endpoint.py:38 +msgid "" +"The host address accessed when connecting to assets, if it is empty, the " +"access address of the current browser will be used (the default endpoint " +"does not allow modification of the host)" +msgstr "" + +#: terminal/serializers/endpoint.py:71 +msgid "" +"The assets within this IP range, the following endpoint will be used for the " +"connection" +msgstr "" + +#: terminal/serializers/endpoint.py:72 +msgid "" +"If asset IP addresses under different endpoints conflict, use asset labels" +msgstr "" + +#: terminal/serializers/endpoint.py:76 +msgid "Asset IP" +msgstr "" + +#: terminal/serializers/session.py:27 terminal/serializers/session.py:55 +msgid "Can replay" +msgstr "" + +#: terminal/serializers/session.py:28 terminal/serializers/session.py:56 +msgid "Can join" +msgstr "" + +#: terminal/serializers/session.py:29 terminal/serializers/session.py:59 +msgid "Can terminate" +msgstr "" + +#: terminal/serializers/session.py:51 +msgid "User ID" +msgstr "" + +#: terminal/serializers/session.py:52 +msgid "Asset ID" +msgstr "" + +#: terminal/serializers/session.py:53 +msgid "Login from display" +msgstr "" + +#: terminal/serializers/session.py:60 +msgid "Terminal display" +msgstr "" + +#: terminal/serializers/session.py:103 +msgid "No asset or invalid asset" +msgstr "" + +#: terminal/serializers/storage.py:23 +msgid "Endpoint invalid: remove path `{}`" +msgstr "" + +#: terminal/serializers/storage.py:29 +msgid "Bucket" +msgstr "" + +#: terminal/serializers/storage.py:112 +msgid "Container name" +msgstr "" + +#: terminal/serializers/storage.py:115 +msgid "Account key" +msgstr "" + +#: terminal/serializers/storage.py:118 +msgid "Endpoint suffix" +msgstr "" + +#: terminal/serializers/storage.py:129 +msgid "HOST" +msgstr "" + +#: terminal/serializers/storage.py:152 +msgid "SFTP Root" +msgstr "" + +#: terminal/serializers/storage.py:173 +msgid "The address cannot contain the special character `#`" +msgstr "" + +#: terminal/serializers/storage.py:175 +msgid "The address format is incorrect" +msgstr "" + +#: terminal/serializers/storage.py:182 +msgid "Host invalid" +msgstr "" + +#: terminal/serializers/storage.py:185 +msgid "Port invalid" +msgstr "" + +#: terminal/serializers/storage.py:194 +msgid "" +"If there are multiple hosts, use a comma (,) to separate them.
(For " +"example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" +msgstr "" + +#: terminal/serializers/storage.py:199 +msgid "Index by date" +msgstr "" + +#: terminal/serializers/storage.py:200 +msgid "Whether to create an index by date" +msgstr "" + +#: terminal/serializers/storage.py:203 +msgid "Index" +msgstr "" + +#: terminal/serializers/storage.py:205 +msgid "Doc type" +msgstr "" + +#: terminal/serializers/storage.py:257 +msgid "Store locally" +msgstr "" + +#: terminal/serializers/storage.py:258 +msgid "Do not save" +msgstr "" + +#: terminal/serializers/storage.py:273 +msgid "" +"set as the default storage, will make new Component use the current storage " +"by default, without affecting existing Component" +msgstr "" + +#: terminal/serializers/task.py:9 +msgid "Session id" +msgstr "" + +#: terminal/serializers/terminal.py:42 +msgid "Online sessions" +msgstr "" + +#: terminal/serializers/terminal.py:43 +msgid "Is alive" +msgstr "" + +#: terminal/serializers/terminal.py:49 +msgid "Stat" +msgstr "" + +#: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91 +msgid "Not found" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:26 +msgid "Container ID" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:27 +msgid "Container Image" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:28 +msgid "Container Name" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:29 +msgid "Container Status" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:30 +msgid "Container Ports" +msgstr "" + +#: terminal/session_lifecycle.py:30 +#, python-format +msgid "Connect to asset %s success" +msgstr "" + +#: terminal/session_lifecycle.py:38 +#, python-format +msgid "Connect to asset %s finished: %s" +msgstr "" + +#: terminal/session_lifecycle.py:48 +#, python-format +msgid "User %s create share link" +msgstr "" + +#: terminal/session_lifecycle.py:57 +#, python-format +msgid "User %s join session" +msgstr "" + +#: terminal/session_lifecycle.py:69 +#, python-format +msgid "User %s leave session" +msgstr "" + +#: terminal/session_lifecycle.py:81 +#, python-format +msgid "User %s join to monitor session" +msgstr "" + +#: terminal/session_lifecycle.py:93 +#, python-format +msgid "User %s exit to monitor session" +msgstr "" + +#: terminal/session_lifecycle.py:105 +msgid "Replay start to convert" +msgstr "" + +#: terminal/session_lifecycle.py:113 +msgid "Replay successfully converted to MP4 format" +msgstr "" + +#: terminal/session_lifecycle.py:121 +#, python-format +msgid "Replay failed to convert to MP4 format: %s" +msgstr "" + +#: terminal/session_lifecycle.py:129 +msgid "Replay start to upload" +msgstr "" + +#: terminal/session_lifecycle.py:137 +msgid "Replay successfully uploaded" +msgstr "" + +#: terminal/session_lifecycle.py:145 +#, python-format +msgid "Replay failed to upload: %s" +msgstr "" + +#: terminal/session_lifecycle.py:152 +msgid "connect failed" +msgstr "" + +#: terminal/session_lifecycle.py:153 +msgid "connection disconnect" +msgstr "" + +#: terminal/session_lifecycle.py:154 +msgid "user closed" +msgstr "" + +#: terminal/session_lifecycle.py:155 +msgid "idle disconnect" +msgstr "" + +#: terminal/session_lifecycle.py:156 +msgid "admin terminated" +msgstr "" + +#: terminal/session_lifecycle.py:157 +msgid "maximum session time has been reached" +msgstr "" + +#: terminal/session_lifecycle.py:158 +msgid "permission has expired" +msgstr "" + +#: terminal/session_lifecycle.py:159 +msgid "storage is null" +msgstr "" + +#: terminal/tasks.py:32 +msgid "Periodic delete terminal status" +msgstr "" + +#: terminal/tasks.py:43 +msgid "Clean orphan session" +msgstr "" + +#: terminal/tasks.py:45 +msgid "" +"Check every 10 minutes for asset connection sessions that have been inactive " +"for 3 \n" +" minutes and mark these sessions as completed" +msgstr "" + +#: terminal/tasks.py:68 +msgid "Upload session replay to external storage" +msgstr "" + +#: terminal/tasks.py:70 terminal/tasks.py:104 +msgid "" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " +"and \n" +" recordings will be uploaded to external storage" +msgstr "" + +#: terminal/tasks.py:102 +msgid "Upload session replay part file to external storage" +msgstr "" + +#: terminal/tasks.py:123 +msgid "Run applet host deployment" +msgstr "" + +#: terminal/tasks.py:126 +msgid "" +"When deploying from the remote application publisher details page, and the " +"'Deploy' \n" +" button is clicked, this task will be executed" +msgstr "" + +#: terminal/tasks.py:137 +msgid "Install applet" +msgstr "" + +#: terminal/tasks.py:140 +msgid "" +"When the 'Deploy' button is clicked in the 'Remote Application' section of " +"the remote \n" +" application publisher details page, this task will be executed" +msgstr "" + +#: terminal/tasks.py:152 +msgid "Uninstall applet" +msgstr "" + +#: terminal/tasks.py:155 +msgid "" +"When the 'Uninstall' button is clicked in the 'Remote Application' section " +"of the \n" +" remote application publisher details page, this task will be executed" +msgstr "" + +#: terminal/tasks.py:167 +msgid "Generate applet host accounts" +msgstr "" + +#: terminal/tasks.py:170 +msgid "" +"When a remote publishing server is created and an account needs to be " +"created \n" +" automatically, this task will be executed" +msgstr "" + +#: terminal/tasks.py:184 +msgid "Check command replay storage connectivity" +msgstr "" + +#: terminal/tasks.py:186 +msgid "" +"Check every day at midnight whether the external storage for commands and " +"recordings \n" +" is accessible. If it is not accessible, send a notification to the " +"recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - " +"Connectivity'" +msgstr "" + +#: terminal/templates/terminal/_msg_command_alert.html:10 +msgid "view" +msgstr "" + +#: terminal/utils/db_port_mapper.py:88 +msgid "" +"No available port is matched. The number of databases may have exceeded the " +"number of ports open to the database agent service, Contact the " +"administrator to open more ports." +msgstr "" + +#: terminal/utils/db_port_mapper.py:116 +msgid "" +"No ports can be used, check and modify the limit on the number of ports that " +"Magnus listens on in the configuration file." +msgstr "" + +#: terminal/utils/db_port_mapper.py:118 +msgid "All available port count: {}, Already use port count: {}" +msgstr "" + +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 +msgid "Applicant" +msgstr "" + +#: tickets/apps.py:7 +msgid "App Tickets" +msgstr "" + +#: tickets/const.py:10 +msgid "Apply for asset" +msgstr "" + +#: tickets/const.py:17 tickets/const.py:24 tickets/const.py:42 +msgid "Open" +msgstr "" + +#: tickets/const.py:19 tickets/const.py:31 +msgid "Approved" +msgstr "" + +#: tickets/const.py:20 tickets/const.py:32 +msgid "Rejected" +msgstr "" + +#: tickets/const.py:30 tickets/const.py:37 +msgid "Closed" +msgstr "" + +#: tickets/const.py:49 +msgid "One level" +msgstr "" + +#: tickets/const.py:50 +msgid "Two level" +msgstr "" + +#: tickets/const.py:54 +msgid "All assets" +msgstr "" + +#: tickets/const.py:55 +msgid "Permed assets" +msgstr "" + +#: tickets/const.py:56 +msgid "Permed valid assets" +msgstr "" + +#: tickets/errors.py:9 +msgid "Ticket already closed" +msgstr "" + +#: tickets/handlers/apply_asset.py:39 +msgid "" +"Created by the ticket ticket title: {} ticket applicant: {} ticket " +"processor: {} ticket ID: {}" +msgstr "" + +#: tickets/handlers/base.py:84 +msgid "Change field" +msgstr "" + +#: tickets/handlers/base.py:84 +msgid "Before change" +msgstr "" + +#: tickets/handlers/base.py:84 +msgid "After change" +msgstr "" + +#: tickets/handlers/base.py:96 +msgid "{} {} the ticket" +msgstr "" + +#: tickets/models/comment.py:14 +msgid "common" +msgstr "" + +#: tickets/models/comment.py:23 +msgid "User display name" +msgstr "" + +#: tickets/models/comment.py:24 +msgid "Body" +msgstr "" + +#: tickets/models/flow.py:21 tickets/models/flow.py:47 +#: tickets/models/ticket/general.py:45 +msgid "Approve level" +msgstr "" + +#: tickets/models/flow.py:26 +msgid "Ticket flow approval rule" +msgstr "" + +#: tickets/models/flow.py:52 +msgid "Ticket flow" +msgstr "" + +#: tickets/models/relation.py:12 +msgid "Ticket session relation" +msgstr "" + +#: tickets/models/ticket/apply_application.py:10 +#: tickets/models/ticket/apply_asset.py:13 +msgid "Permission name" +msgstr "" + +#: tickets/models/ticket/apply_application.py:19 +msgid "Apply applications" +msgstr "" + +#: tickets/models/ticket/apply_application.py:22 +msgid "Apply system users" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:9 +#: tickets/serializers/ticket/apply_asset.py:14 +msgid "Select at least one asset or node" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:17 +msgid "Apply accounts" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:26 +msgid "Apply Asset Ticket" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:9 +msgid "Run user" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:11 +msgid "Run asset" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:12 +msgid "Run command" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:19 +msgid "Command filter acl" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:23 +msgid "Apply Command Ticket" +msgstr "" + +#: tickets/models/ticket/general.py:80 +msgid "Ticket step" +msgstr "" + +#: tickets/models/ticket/general.py:98 +msgid "Ticket assignee" +msgstr "" + +#: tickets/models/ticket/general.py:273 +msgid "Title" +msgstr "" + +#: tickets/models/ticket/general.py:293 +msgid "TicketFlow" +msgstr "" + +#: tickets/models/ticket/general.py:296 +msgid "Approval step" +msgstr "" + +#: tickets/models/ticket/general.py:299 +msgid "Relation snapshot" +msgstr "" + +#: tickets/models/ticket/general.py:405 +msgid "Please try again" +msgstr "" + +#: tickets/models/ticket/general.py:484 +msgid "Super ticket" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:11 +msgid "Login user" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:14 +msgid "Login asset" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:17 +msgid "Login account" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:27 +msgid "Apply Login Asset Ticket" +msgstr "" + +#: tickets/models/ticket/login_confirm.py:15 +msgid "Apply Login Ticket" +msgstr "" + +#: tickets/notifications.py:74 +msgid "Ticket basic info" +msgstr "" + +#: tickets/notifications.py:75 +msgid "Ticket applied info" +msgstr "" + +#: tickets/notifications.py:116 +msgid "Your has a new ticket, applicant - {}" +msgstr "" + +#: tickets/notifications.py:120 +msgid "{}: New Ticket - {} ({})" +msgstr "" + +#: tickets/notifications.py:160 +msgid "Your ticket has been processed, processor - {}" +msgstr "" + +#: tickets/notifications.py:164 +msgid "Ticket has processed - {} ({})" +msgstr "" + +#: tickets/serializers/flow.py:45 +msgid "The current organization type already exists" +msgstr "" + +#: tickets/serializers/super_ticket.py:15 +msgid "Processor" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:16 +msgid "Support fuzzy search, and display up to 10 items" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:22 +msgid "Apply assets" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:26 +msgid "Apply nodes" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:28 +msgid "Apply actions" +msgstr "" + +#: tickets/serializers/ticket/common.py:15 +#: tickets/serializers/ticket/common.py:75 +msgid "Created by ticket ({}-{})" +msgstr "" + +#: tickets/serializers/ticket/common.py:67 +msgid "The expiration date should be greater than the start date" +msgstr "" + +#: tickets/serializers/ticket/common.py:82 +msgid "Permission named `{}` already exists" +msgstr "" + +#: tickets/serializers/ticket/ticket.py:89 +msgid "The ticket flow `{}` does not exist" +msgstr "" + +#: tickets/templates/tickets/_msg_ticket.html:21 +msgid "View details" +msgstr "" + +#: tickets/templates/tickets/_msg_ticket.html:26 +msgid "Direct approval" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:11 +msgid "Ticket information" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:28 +#: tickets/views/approve.py:43 tickets/views/approve.py:80 +msgid "Ticket approval" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:43 +msgid "Approval" +msgstr "" + +#: tickets/views/approve.py:44 +msgid "" +"This ticket does not exist, the process has ended, or this link has expired" +msgstr "" + +#: tickets/views/approve.py:72 +msgid "Click the button below to approve or reject" +msgstr "" + +#: tickets/views/approve.py:81 +msgid "After successful authentication, this ticket can be approved directly" +msgstr "" + +#: tickets/views/approve.py:105 +msgid "Illegal approval action" +msgstr "" + +#: tickets/views/approve.py:119 +msgid "This user is not authorized to approve this ticket" +msgstr "" + +#: users/api/user.py:63 +msgid "Cannot delete the admin user. Please disable it instead." +msgstr "" + +#: users/api/user.py:161 +msgid "Can not invite self" +msgstr "" + +#: users/api/user.py:214 +msgid "Could not reset self otp, use profile reset instead" +msgstr "" + +#: users/apps.py:9 +msgid "App Users" +msgstr "" + +#: users/const.py:10 +msgid "System administrator" +msgstr "" + +#: users/const.py:11 +msgid "System auditor" +msgstr "" + +#: users/const.py:12 +msgid "Organization administrator" +msgstr "" + +#: users/const.py:13 +msgid "Organization auditor" +msgstr "" + +#: users/const.py:18 +msgid "Reset link will be generated and sent to the user" +msgstr "" + +#: users/const.py:19 +msgid "Set password" +msgstr "" + +#: users/const.py:23 +msgid "AUTO" +msgstr "" + +#: users/const.py:31 +msgid "Full screen" +msgstr "" + +#: users/const.py:32 +msgid "Multi screen" +msgstr "" + +#: users/const.py:33 +msgid "Drives redirect" +msgstr "" + +#: users/const.py:37 +msgid "Current window" +msgstr "" + +#: users/const.py:38 +msgid "New window" +msgstr "" + +#: users/const.py:47 +msgid "High(32 bit)" +msgstr "" + +#: users/const.py:48 +msgid "Medium(16 bit)" +msgstr "" + +#: users/const.py:81 +msgid "Replace" +msgstr "" + +#: users/const.py:82 +msgid "Suffix" +msgstr "" + +#: users/exceptions.py:9 +msgid "MFA not enabled" +msgstr "" + +#: users/exceptions.py:19 +msgid "Unable to delete all users" +msgstr "" + +#: users/exceptions.py:24 +msgid "Create failed. The number of SSH keys has reached the limit" +msgstr "" + +#: 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:60 +msgid "* Enable MFA to make the account more secure." +msgstr "" + +#: 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:76 +msgid "Finish" +msgstr "" + +#: users/forms/profile.py:83 users/serializers/preference/lina.py:21 +msgid "New password" +msgstr "" + +#: users/forms/profile.py:88 users/serializers/preference/lina.py:26 +msgid "Confirm password" +msgstr "" + +#: users/forms/profile.py:96 +msgid "Password does not match" +msgstr "" + +#: users/forms/profile.py:105 +msgid "The phone number must contain an area code, for example, +86" +msgstr "" + +#: users/forms/profile.py:123 +msgid "Old password" +msgstr "" + +#: users/forms/profile.py:133 +msgid "Old password error" +msgstr "" + +#: users/forms/profile.py:143 +msgid "Automatically configure and download the SSH key" +msgstr "" + +#: users/forms/profile.py:145 +msgid "ssh public key" +msgstr "" + +#: users/forms/profile.py:146 +msgid "ssh-rsa AAAA..." +msgstr "" + +#: users/forms/profile.py:147 +msgid "Paste your id_rsa.pub here." +msgstr "" + +#: users/forms/profile.py:160 +msgid "Public key should not be the same as your old one." +msgstr "" + +#: users/models/preference.py:38 users/serializers/preference/preference.py:19 +msgid "Preference" +msgstr "" + +#: users/models/user/__init__.py:72 users/serializers/user.py:259 +msgid "Is service account" +msgstr "" + +#: users/models/user/__init__.py:74 +msgid "Avatar" +msgstr "" + +#: users/models/user/__init__.py:76 +msgid "Wechat" +msgstr "" + +#: users/models/user/__init__.py:85 +msgid "OTP secret key" +msgstr "" + +#: users/models/user/__init__.py:95 users/serializers/profile.py:98 +#: users/serializers/user.py:256 +msgid "Is first login" +msgstr "" + +#: users/models/user/__init__.py:113 +msgid "Date password last updated" +msgstr "" + +#: users/models/user/__init__.py:116 +msgid "Need update password" +msgstr "" + +#: users/models/user/__init__.py:140 +msgid "Face Vector" +msgstr "" + +#: users/models/user/__init__.py:143 +msgid "Date api key used" +msgstr "" + +#: users/models/user/__init__.py:282 +msgid "Can not delete admin user" +msgstr "" + +#: users/models/user/__init__.py:296 +msgid "Can invite user" +msgstr "" + +#: users/models/user/__init__.py:297 +msgid "Can remove user" +msgstr "" + +#: users/models/user/__init__.py:298 +msgid "Can match user" +msgstr "" + +#: users/models/user/__init__.py:327 +msgid "User password history" +msgstr "" + +#: users/models/user/_auth.py:34 +msgid "Force enabled" +msgstr "" + +#: users/notifications.py:55 +#: users/templates/users/_msg_password_expire_reminder.html:16 +#: users/templates/users/reset_password.html:5 +#: users/templates/users/reset_password.html:6 +msgid "Reset password" +msgstr "" + +#: users/notifications.py:85 users/views/profile/reset.py:233 +msgid "Reset password success" +msgstr "" + +#: users/notifications.py:117 +msgid "Reset public key success" +msgstr "" + +#: users/notifications.py:143 +msgid "Password is about expire" +msgstr "" + +#: users/notifications.py:171 +msgid "Account is about expire" +msgstr "" + +#: users/notifications.py:193 +msgid "Reset SSH Key" +msgstr "" + +#: users/notifications.py:214 +msgid "Reset MFA" +msgstr "" + +#: users/serializers/preference/koko.py:10 +#: users/serializers/preference/luna.py:63 +msgid "File name conflict resolution" +msgstr "" + +#: users/serializers/preference/koko.py:14 +#: users/serializers/preference/luna.py:80 +msgid "Terminal theme name" +msgstr "" + +#: users/serializers/preference/lina.py:12 +msgid "" +"*! The password for file encryption, used for decryption when the system " +"sends emails containing file attachments.
Such as: account backup files, " +"account password change results files" +msgstr "" + +#: users/serializers/preference/lina.py:39 users/serializers/profile.py:49 +msgid "The newly set password is inconsistent" +msgstr "" + +#: users/serializers/preference/lina.py:47 +msgid "Language" +msgstr "" + +#: users/serializers/preference/lina.py:52 +msgid "File Encryption" +msgstr "" + +#: users/serializers/preference/luna.py:26 +msgid "Async loading of asset tree" +msgstr "" + +#: users/serializers/preference/luna.py:30 +msgid "Connect default open method" +msgstr "" + +#: users/serializers/preference/luna.py:37 +msgid "RDP resolution" +msgstr "" + +#: users/serializers/preference/luna.py:41 +msgid "Keyboard layout" +msgstr "" + +#: users/serializers/preference/luna.py:45 +msgid "RDP client option" +msgstr "" + +#: users/serializers/preference/luna.py:49 +msgid "RDP color quality" +msgstr "" + +#: users/serializers/preference/luna.py:53 +msgid "RDP smart size" +msgstr "" + +#: users/serializers/preference/luna.py:54 +msgid "" +"Determines whether the client computer should scale the content on the " +"remote computer to fit the window size of the client computer when the " +"window is resized." +msgstr "" + +#: users/serializers/preference/luna.py:59 +msgid "Remote app connect method" +msgstr "" + +#: users/serializers/preference/luna.py:70 +msgid "Terminal font size" +msgstr "" + +#: users/serializers/preference/luna.py:73 +msgid "Backspace as Ctrl+H" +msgstr "" + +#: users/serializers/preference/luna.py:76 +msgid "Right click quickly paste" +msgstr "" + +#: users/serializers/preference/luna.py:86 +msgid "Graphics" +msgstr "" + +#: users/serializers/preference/luna.py:87 +msgid "Command line" +msgstr "" + +#: users/serializers/profile.py:30 +msgid "The old password is incorrect" +msgstr "" + +#: users/serializers/profile.py:37 users/serializers/profile.py:148 +msgid "Password does not match security rules" +msgstr "" + +#: users/serializers/profile.py:41 +msgid "The new password cannot be the last {} passwords" +msgstr "" + +#: users/serializers/user.py:51 +msgid "System roles" +msgstr "" + +#: users/serializers/user.py:55 +msgid "" +"System roles are roles at the system level, and they will take effect across " +"all organizations" +msgstr "" + +#: users/serializers/user.py:61 +msgid "Org roles" +msgstr "" + +#: users/serializers/user.py:66 +msgid "" +"Org roles are roles at the organization level, and they will only take " +"effect within current organization" +msgstr "" + +#: users/serializers/user.py:70 +msgid "Organizations and roles" +msgstr "" + +#: users/serializers/user.py:120 +msgid "Password setting" +msgstr "" + +#: users/serializers/user.py:122 +msgid "MFA enabled" +msgstr "" + +#: users/serializers/user.py:124 +msgid "MFA force enabled" +msgstr "" + +#: users/serializers/user.py:126 +msgid "Login blocked" +msgstr "" + +#: users/serializers/user.py:130 users/serializers/user.py:265 +msgid "Is OTP bound" +msgstr "" + +#: users/serializers/user.py:133 +msgid "Super Administrator" +msgstr "" + +#: users/serializers/user.py:136 +msgid "Organization Administrator" +msgstr "" + +#: users/serializers/user.py:140 +msgid "Can public key authentication" +msgstr "" + +#: users/serializers/user.py:144 +msgid "Is face code set" +msgstr "" + +#: users/serializers/user.py:230 +msgid "Full name" +msgstr "" + +#: users/serializers/user.py:233 +msgid "Login username" +msgstr "" + +#: users/serializers/user.py:236 +msgid "Email address" +msgstr "" + +#: users/serializers/user.py:246 +msgid "User groups to join" +msgstr "" + +#: users/serializers/user.py:250 +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:260 +msgid "Is org admin" +msgstr "" + +#: users/serializers/user.py:262 +msgid "Avatar url" +msgstr "" + +#: users/serializers/user.py:267 +msgid "MFA level" +msgstr "" + +#: users/serializers/user.py:268 +msgid "Multi-Factor Authentication" +msgstr "" + +#: users/serializers/user.py:422 +msgid "" +"* For security, only a partial of users is displayed. You can search for more" +msgstr "" + +#: users/serializers/user.py:457 +msgid "name not unique" +msgstr "" + +#: users/signal_handlers.py:41 +msgid "" +"The administrator has enabled \"Only allow existing users to log in\", \n" +" and the current user is not in the user list. Please contact the " +"administrator." +msgstr "" + +#: users/signal_handlers.py:177 +msgid "Clean up expired user sessions" +msgstr "" + +#: users/signal_handlers.py:179 +msgid "" +"After logging in via the web, a user session record is created. At 2 a.m. " +"every day, \n" +" the system cleans up inactive user devices" +msgstr "" + +#: users/tasks.py:26 +msgid "Check password expired" +msgstr "" + +#: users/tasks.py:28 +msgid "" +"Check every day at 10 AM whether the passwords of users in the system are " +"expired, \n" +" and send a notification 5 days in advance" +msgstr "" + +#: users/tasks.py:46 +msgid "Periodic check password expired" +msgstr "" + +#: users/tasks.py:48 +msgid "" +"With version iterations, new tasks may be added, or task names and execution " +"times may \n" +" be modified. Therefore, upon system startup, it is necessary to " +"register or update the \n" +" parameters of the task that checks if passwords have expired" +msgstr "" + +#: users/tasks.py:67 +msgid "Check user expired" +msgstr "" + +#: users/tasks.py:69 +msgid "" +"Check every day at 2 p.m whether the users in the system are expired, and " +"send a \n" +" notification 5 days in advance" +msgstr "" + +#: users/tasks.py:90 +msgid "Periodic check user expired" +msgstr "" + +#: users/tasks.py:92 +msgid "" +"With version iterations, new tasks may be added, or task names and execution " +"times may \n" +" be modified. Therefore, upon system startup, it is necessary to " +"register or update the \n" +" parameters of the task that checks if users have expired" +msgstr "" + +#: users/tasks.py:111 +msgid "Check unused users" +msgstr "" + +#: users/tasks.py:113 +msgid "" +"At 2 p.m. every day, according to the configuration in \"System Settings - " +"Security - \n" +" Auth security - Auto disable threshold\" users who have not logged " +"in or whose API keys \n" +" have not been used for a long time will be disabled" +msgstr "" + +#: users/tasks.py:157 +msgid "The user has not logged in recently and has been disabled." +msgstr "" + +#: users/templates/users/_msg_account_expire_reminder.html:7 +msgid "Your account will expire in" +msgstr "" + +#: users/templates/users/_msg_account_expire_reminder.html:8 +msgid "" +"In order not to affect your normal work, please contact the administrator " +"for confirmation." +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:7 +msgid "Your password will expire in" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:8 +msgid "" +"For your account security, please click on the link below to update your " +"password in time" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:11 +msgid "Click here update password" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:15 +msgid "If your password has expired, please click the link below to" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:7 +msgid "Your MFA has been reset by site administrator" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:8 +#: users/templates/users/_msg_reset_ssh_key.html:8 +msgid "Please click the link below to set" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:11 +#: users/templates/users/_msg_reset_ssh_key.html:11 +msgid "Click here set" +msgstr "" + +#: users/templates/users/_msg_reset_ssh_key.html:7 +msgid "Your ssh public key has been reset by site administrator" +msgstr "" + +#: users/templates/users/_msg_user_created.html:15 +msgid "click here to set your password" +msgstr "" + +#: users/templates/users/forgot_password.html:46 +msgid "Input your email account, that will send a email to your" +msgstr "" + +#: users/templates/users/forgot_password.html:49 +msgid "" +"Enter your mobile number and a verification code will be sent to your phone" +msgstr "" + +#: users/templates/users/forgot_password.html:71 +msgid "Email account" +msgstr "" + +#: users/templates/users/forgot_password.html:93 +msgid "Mobile number" +msgstr "" + +#: users/templates/users/forgot_password.html:105 +#: users/templates/users/forgot_password_previewing.html:30 +msgid "Submit" +msgstr "" + +#: users/templates/users/forgot_password_previewing.html:21 +msgid "Please enter the username for which you want to retrieve the password" +msgstr "" + +#: users/templates/users/mfa_setting.html:124 +msgid "MFA force enable, cannot disable" +msgstr "" + +#: users/templates/users/mfa_setting.html:143 +msgid "MFA setting" +msgstr "" + +#: users/templates/users/mfa_setting.html:171 +msgid "Reset" +msgstr "" + +#: users/templates/users/reset_password.html:23 +msgid "Your password must satisfy" +msgstr "" + +#: users/templates/users/reset_password.html:24 +msgid "Password strength" +msgstr "" + +#: users/templates/users/reset_password.html:52 +msgid "Very weak" +msgstr "" + +#: users/templates/users/reset_password.html:53 +msgid "Weak" +msgstr "" + +#: users/templates/users/reset_password.html:55 +msgid "Medium" +msgstr "" + +#: users/templates/users/reset_password.html:56 +msgid "Strong" +msgstr "" + +#: users/templates/users/reset_password.html:57 +msgid "Very strong" +msgstr "" + +#: users/templates/users/user_otp_check_password.html:6 +msgid "Enable OTP" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:6 +msgid "Bind one-time password authenticator" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:13 +msgid "" +"Use the MFA Authenticator application to scan the following qr code for a 6-" +"bit verification code" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:22 +#: users/templates/users/user_verify_mfa.html:27 +msgid "Six figures" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:6 +msgid "Install app" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:13 +msgid "" +"Download and install the MFA Authenticator application on your phone or " +"applet of WeChat" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:18 +msgid "Android downloads" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:23 +msgid "iPhone downloads" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:27 +msgid "" +"After installation, click the next step to enter the binding page (if " +"installed, go to the next step directly)." +msgstr "" + +#: users/templates/users/user_password_verify.html:8 +#: users/templates/users/user_password_verify.html:9 +msgid "Verify password" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:9 +msgid "Authenticate" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:15 +msgid "" +"The account protection has been opened, please complete the following " +"operations according to the prompts" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:17 +msgid "Open MFA Authenticator and enter the 6-bit dynamic code" +msgstr "" + +#: users/utils.py:60 +msgid "Auth success" +msgstr "" + +#: users/utils.py:61 +msgid "Redirecting to JumpServer Client" +msgstr "" + +#: users/views/profile/face.py:57 users/views/profile/face.py:58 +msgid "Face binding successful" +msgstr "" + +#: users/views/profile/face.py:82 users/views/profile/face.py:83 +msgid "Face unbinding successful" +msgstr "" + +#: users/views/profile/otp.py:106 +msgid "Already bound" +msgstr "" + +#: users/views/profile/otp.py:107 +msgid "MFA already bound, disable first, then bound" +msgstr "" + +#: users/views/profile/otp.py:134 +msgid "OTP enable success" +msgstr "" + +#: users/views/profile/otp.py:135 +msgid "OTP enable success, return login page" +msgstr "" + +#: users/views/profile/otp.py:177 +msgid "Disable OTP" +msgstr "" + +#: users/views/profile/otp.py:183 +msgid "OTP disable success" +msgstr "" + +#: users/views/profile/otp.py:184 +msgid "OTP disable success, return login page" +msgstr "" + +#: users/views/profile/password.py:33 users/views/profile/password.py:38 +msgid "Password invalid" +msgstr "" + +#: users/views/profile/reset.py:66 +msgid "" +"Non-local users can log in only from third-party platforms and cannot change " +"their passwords: {}" +msgstr "" + +#: users/views/profile/reset.py:188 users/views/profile/reset.py:199 +msgid "Token invalid or expired" +msgstr "" + +#: users/views/profile/reset.py:204 +msgid "User auth from {}, go there change password" +msgstr "" + +#: users/views/profile/reset.py:211 +msgid "* Your password does not meet the requirements" +msgstr "" + +#: users/views/profile/reset.py:217 +msgid "* The new password cannot be the last {} passwords" +msgstr "" + +#: users/views/profile/reset.py:234 +msgid "Reset password success, return to login page" +msgstr "" + +#: xpack/apps.py:8 +msgid "XPACK" +msgstr "" + +#: xpack/exceptions.py:8 +msgid "" +"Based on the current task configuration, assets that do not match the " +"strategy will skipped." +msgstr "" + +#: xpack/plugins/cloud/api.py:72 +msgid "Test connection successful" +msgstr "" + +#: xpack/plugins/cloud/api.py:74 +msgid "Test connection failed: {}" +msgstr "" + +#: xpack/plugins/cloud/api.py:171 +msgid "User {} deleted the current resource and released the assets" +msgstr "" + +#: xpack/plugins/cloud/const.py:8 +msgid "Alibaba Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:9 +msgid "AWS (International)" +msgstr "" + +#: xpack/plugins/cloud/const.py:10 +msgid "AWS (China)" +msgstr "" + +#: xpack/plugins/cloud/const.py:11 +msgid "Azure (China)" +msgstr "" + +#: xpack/plugins/cloud/const.py:12 +msgid "Azure (International)" +msgstr "" + +#: xpack/plugins/cloud/const.py:14 +msgid "Baidu Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:15 +msgid "JD Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:16 +msgid "KingSoft Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:17 +msgid "Tencent Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:18 +msgid "Tencent Cloud (Lighthouse)" +msgstr "" + +#: xpack/plugins/cloud/const.py:19 +msgid "Google Cloud Platform" +msgstr "" + +#: xpack/plugins/cloud/const.py:20 +msgid "UCloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:21 +msgid "Volcengine" +msgstr "" + +#: xpack/plugins/cloud/const.py:23 +msgid "VMware" +msgstr "" + +#: xpack/plugins/cloud/const.py:24 xpack/plugins/cloud/providers/nutanix.py:15 +msgid "Nutanix" +msgstr "" + +#: xpack/plugins/cloud/const.py:25 +msgid "Huawei Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:26 +msgid "Qingyun Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:27 +msgid "CTYun Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:28 +msgid "OpenStack" +msgstr "" + +#: xpack/plugins/cloud/const.py:29 xpack/plugins/cloud/providers/zstack.py:21 +msgid "ZStack" +msgstr "" + +#: xpack/plugins/cloud/const.py:30 +msgid "Fusion Compute" +msgstr "" + +#: xpack/plugins/cloud/const.py:31 +msgid "SCP" +msgstr "" + +#: xpack/plugins/cloud/const.py:32 +msgid "Apsara Stack" +msgstr "" + +#: xpack/plugins/cloud/const.py:37 +msgid "Private IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:38 +msgid "Public IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:42 xpack/plugins/cloud/models.py:361 +msgid "Instance name" +msgstr "" + +#: xpack/plugins/cloud/const.py:43 +msgid "Instance name and Partial IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:48 +msgid "Succeed" +msgstr "" + +#: xpack/plugins/cloud/const.py:52 xpack/plugins/cloud/manager.py:99 +msgid "Unsync" +msgstr "" + +#: xpack/plugins/cloud/const.py:53 xpack/plugins/cloud/manager.py:98 +msgid "New Sync" +msgstr "" + +#: xpack/plugins/cloud/const.py:54 xpack/plugins/cloud/manager.py:98 +msgid "Synced" +msgstr "" + +#: xpack/plugins/cloud/const.py:55 xpack/plugins/cloud/manager.py:100 +msgid "Released" +msgstr "" + +#: xpack/plugins/cloud/const.py:59 +msgid "And" +msgstr "" + +#: xpack/plugins/cloud/const.py:60 +msgid "Or" +msgstr "" + +#: xpack/plugins/cloud/const.py:64 +msgid "Sync region" +msgstr "" + +#: xpack/plugins/cloud/const.py:66 +msgid "Imported" +msgstr "" + +#: xpack/plugins/cloud/manager.py:52 +#, python-format +msgid "Task \"%s\" starts executing" +msgstr "" + +#: xpack/plugins/cloud/manager.py:91 +msgid "View the task details path: " +msgstr "" + +#: xpack/plugins/cloud/manager.py:94 +msgid "Account Details" +msgstr "" + +#: xpack/plugins/cloud/manager.py:95 +msgid "Synchronization History List" +msgstr "" + +#: xpack/plugins/cloud/manager.py:95 +msgid "Synchronization Instance List" +msgstr "" + +#: xpack/plugins/cloud/manager.py:99 +msgid "To be released" +msgstr "" + +#: xpack/plugins/cloud/manager.py:103 +msgid "Task execution completed" +msgstr "" + +#: xpack/plugins/cloud/manager.py:108 +msgid "Synchronization regions" +msgstr "" + +#: xpack/plugins/cloud/manager.py:133 +#, python-format +msgid "Get instances of region \"%s\" error, error: %s" +msgstr "" + +#: xpack/plugins/cloud/manager.py:179 +#, python-format +msgid "Failed to synchronize the instance \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:357 +#, python-format +msgid "" +"The updated platform of asset \"%s\" is inconsistent with the original " +"platform type. Skip platform and protocol updates" +msgstr "" + +#: xpack/plugins/cloud/manager.py:409 +#, python-format +msgid "The asset \"%s\" already exists" +msgstr "" + +#: xpack/plugins/cloud/manager.py:411 +#, python-format +msgid "Update asset \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:414 +#, python-format +msgid "Asset \"%s\" has been updated" +msgstr "" + +#: xpack/plugins/cloud/manager.py:423 +#, python-format +msgid "Prepare to create asset \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:444 +#, python-format +msgid "Set nodes \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:470 +#, python-format +msgid "Set accounts \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:486 +#, python-format +msgid "Set protocols \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:494 +#, python-format +msgid "Set labels \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:508 xpack/plugins/cloud/tasks.py:31 +msgid "Run sync instance task" +msgstr "" + +#: xpack/plugins/cloud/meta.py:9 +msgid "Cloud center" +msgstr "" + +#: xpack/plugins/cloud/models.py:39 +#: xpack/plugins/cloud/serializers/account.py:94 +msgid "Attrs" +msgstr "" + +#: xpack/plugins/cloud/models.py:40 +msgid "Validity" +msgstr "" + +#: xpack/plugins/cloud/models.py:45 +msgid "Cloud account" +msgstr "" + +#: xpack/plugins/cloud/models.py:47 +msgid "Test cloud account" +msgstr "" + +#: xpack/plugins/cloud/models.py:104 +#: xpack/plugins/cloud/serializers/account.py:76 +#: xpack/plugins/cloud/serializers/task.py:159 +#: xpack/plugins/cloud/serializers/task.py:160 +msgid "Regions" +msgstr "" + +#: xpack/plugins/cloud/models.py:107 +msgid "Hostname strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:112 +msgid "IP network segment group" +msgstr "" + +#: xpack/plugins/cloud/models.py:116 +#: xpack/plugins/cloud/serializers/task.py:163 +msgid "Preferred IP type" +msgstr "" + +#: xpack/plugins/cloud/models.py:119 +msgid "Always update" +msgstr "" + +#: xpack/plugins/cloud/models.py:121 +msgid "Fully synchronous" +msgstr "" + +#: xpack/plugins/cloud/models.py:122 +msgid "Release assets" +msgstr "" + +#: xpack/plugins/cloud/models.py:127 +msgid "Date last sync" +msgstr "" + +#: xpack/plugins/cloud/models.py:130 xpack/plugins/cloud/models.py:379 +#: xpack/plugins/cloud/models.py:406 +msgid "Strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:135 xpack/plugins/cloud/models.py:223 +msgid "Sync instance task" +msgstr "" + +#: xpack/plugins/cloud/models.py:234 xpack/plugins/cloud/models.py:297 +msgid "Date sync" +msgstr "" + +#: xpack/plugins/cloud/models.py:238 +msgid "Sync instance snapshot" +msgstr "" + +#: xpack/plugins/cloud/models.py:246 +msgid "Sync instance task execution" +msgstr "" + +#: xpack/plugins/cloud/models.py:277 +msgid "Sync task" +msgstr "" + +#: xpack/plugins/cloud/models.py:281 +msgid "Sync instance task history" +msgstr "" + +#: xpack/plugins/cloud/models.py:284 +msgid "Instance" +msgstr "" + +#: xpack/plugins/cloud/models.py:301 +msgid "Sync instance detail" +msgstr "" + +#: xpack/plugins/cloud/models.py:313 xpack/plugins/cloud/serializers/task.py:79 +msgid "Rule relation" +msgstr "" + +#: xpack/plugins/cloud/models.py:323 +msgid "Task strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:350 +msgid "Equal" +msgstr "" + +#: xpack/plugins/cloud/models.py:351 +msgid "Not Equal" +msgstr "" + +#: xpack/plugins/cloud/models.py:352 +msgid "In" +msgstr "" + +#: xpack/plugins/cloud/models.py:353 +msgid "Contains" +msgstr "" + +#: xpack/plugins/cloud/models.py:354 +msgid "Exclude" +msgstr "" + +#: xpack/plugins/cloud/models.py:355 +msgid "Startswith" +msgstr "" + +#: xpack/plugins/cloud/models.py:356 +msgid "Endswith" +msgstr "" + +#: xpack/plugins/cloud/models.py:362 +msgid "Instance platform" +msgstr "" + +#: xpack/plugins/cloud/models.py:363 +msgid "Instance address" +msgstr "" + +#: xpack/plugins/cloud/models.py:370 +msgid "Rule attr" +msgstr "" + +#: xpack/plugins/cloud/models.py:374 +msgid "Rule match" +msgstr "" + +#: xpack/plugins/cloud/models.py:376 +msgid "Rule value" +msgstr "" + +#: xpack/plugins/cloud/models.py:383 xpack/plugins/cloud/serializers/task.py:82 +msgid "Strategy rule" +msgstr "" + +#: xpack/plugins/cloud/models.py:394 +msgid "Name strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:401 +msgid "Action attr" +msgstr "" + +#: xpack/plugins/cloud/models.py:403 +msgid "Action value" +msgstr "" + +#: xpack/plugins/cloud/models.py:410 xpack/plugins/cloud/serializers/task.py:85 +msgid "Strategy action" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:18 +msgid "China (Beijing)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:19 +msgid "China (Ningxia)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:22 +msgid "US East (Ohio)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:23 +msgid "US East (N. Virginia)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:24 +msgid "US West (N. California)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:25 +msgid "US West (Oregon)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:26 +msgid "Africa (Cape Town)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:27 +msgid "Asia Pacific (Hong Kong)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:28 +msgid "Asia Pacific (Mumbai)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:29 +msgid "Asia Pacific (Osaka-Local)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:30 +msgid "Asia Pacific (Seoul)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:31 +msgid "Asia Pacific (Singapore)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:32 +msgid "Asia Pacific (Sydney)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:33 +msgid "Asia Pacific (Tokyo)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:34 +msgid "Canada (Central)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:35 +msgid "Europe (Frankfurt)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:36 +msgid "Europe (Ireland)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:37 +msgid "Europe (London)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:38 +msgid "Europe (Milan)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:39 +msgid "Europe (Paris)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:40 +msgid "Europe (Stockholm)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:41 +msgid "Middle East (Bahrain)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:42 +msgid "South America (São Paulo)" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:56 +#: xpack/plugins/cloud/providers/jdcloud.py:125 +msgid "CN North-Beijing" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:57 +msgid "CN North-Baoding" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:58 +msgid "CN East-Suzhou" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:59 +#: xpack/plugins/cloud/providers/huaweicloud.py:47 +#: xpack/plugins/cloud/providers/jdcloud.py:128 +msgid "CN South-Guangzhou" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:60 +msgid "CN Southwest-Chengdu" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:61 +#: xpack/plugins/cloud/providers/huaweicloud.py:54 +msgid "CN-Hong Kong" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:62 +msgid "CN Center-Wuhan" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:63 +#: xpack/plugins/cloud/providers/jdcloud.py:127 +msgid "CN East-Shanghai" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:56 +msgid "AP-Singapore" +msgstr "" + +#: xpack/plugins/cloud/providers/gcp.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:34 +msgid "Account unavailable" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:44 +msgid "CN North-Beijing1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:45 +msgid "CN North-Beijing4" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:46 +msgid "CN North-Ulanqab1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:48 +msgid "CN South-Shenzhen" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:49 +msgid "CN South-Guangzhou-InvitationOnly" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:50 +msgid "CN East-Shanghai2" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:51 +msgid "CN East-Shanghai1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:53 +msgid "CN Southwest-Guiyang1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:55 +msgid "AP-Bangkok" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:58 +msgid "AF-Johannesburg" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:59 +msgid "LA-Mexico City1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:60 +msgid "LA-Santiago" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:61 +msgid "LA-Sao Paulo1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:63 +msgid "TR-Istanbul" +msgstr "" + +#: xpack/plugins/cloud/providers/jdcloud.py:126 +msgid "CN East-Suqian" +msgstr "" + +#: xpack/plugins/cloud/providers/lan.py:79 +#, python-format +msgid "Port \"%(port)s\" of instance IP \"%(ip)s\" is not reachable" +msgstr "" + +#: xpack/plugins/cloud/serializers/account.py:95 +msgid "Validity display" +msgstr "" + +#: xpack/plugins/cloud/serializers/account.py:96 +msgid "Provider display" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:17 +msgid "Access key id" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:44 +msgid "Subscription ID" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:74 +msgid "Auto node classification" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:99 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:127 +#: xpack/plugins/cloud/serializers/account_attrs.py:157 +#: xpack/plugins/cloud/serializers/account_attrs.py:207 +msgid "API Endpoint" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:109 +msgid "Auth url" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:110 +msgid "eg: http://openstack.example.com:5000/v3" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:113 +msgid "User domain" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:128 +msgid "Cert File" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:129 +msgid "Key File" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:145 +msgid "Service account key" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:146 +msgid "The file is in JSON format" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:164 +msgid "IP address invalid `{}`, {}" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:180 +msgid "Such as: 192.168.1.0/24, 10.0.0.0-10.0.0.255" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:183 +msgid "" +"The port is used to detect the validity of the IP address. When the " +"synchronization task is executed, only the valid IP address will be " +"synchronized.
If the port is 0, all IP addresses are valid." +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:191 +msgid "Hostname prefix" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:194 +msgid "IP segment" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:198 +msgid "Test port" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:201 +msgid "Test timeout" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:217 +msgid "Project" +msgstr "" + +#: xpack/plugins/cloud/serializers/task.py:157 +msgid "History count" +msgstr "" + +#: xpack/plugins/cloud/serializers/task.py:158 +msgid "Instance count" +msgstr "" + +#: xpack/plugins/cloud/tasks.py:33 +msgid "" +"\n" +" Execute this task when manually or scheduled cloud synchronization " +"tasks are performed\n" +" " +msgstr "" + +#: xpack/plugins/cloud/tasks.py:52 +msgid "Period clean sync instance task execution" +msgstr "" + +#: xpack/plugins/cloud/tasks.py:54 +msgid "" +"Every day, according to the configuration in \"System Settings - Tasks - " +"Regular \n" +" clean-up - Cloud sync task history retention days\" the system will " +"clean up the execution \n" +" records generated by cloud synchronization" +msgstr "" + +#: xpack/plugins/interface/api.py:52 +msgid "Restore default successfully." +msgstr "" + +#: xpack/plugins/interface/meta.py:9 xpack/plugins/interface/models.py:45 +#: xpack/plugins/interface/models.py:86 +msgid "Interface settings" +msgstr "" + +#: xpack/plugins/interface/models.py:23 +msgid "Login title" +msgstr "" + +#: xpack/plugins/interface/models.py:27 +msgid "Login image" +msgstr "" + +#: xpack/plugins/interface/models.py:31 +msgid "Website icon" +msgstr "" + +#: xpack/plugins/interface/models.py:35 +msgid "Index logo" +msgstr "" + +#: xpack/plugins/interface/models.py:39 +msgid "Logout logo" +msgstr "" + +#: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 +msgid "Theme" +msgstr "" + +#: xpack/plugins/interface/models.py:42 +msgid "Footer content" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "" + +#: xpack/plugins/license/api.py:52 +msgid "License import successfully" +msgstr "" + +#: xpack/plugins/license/api.py:53 +msgid "Invalid license" +msgstr "" diff --git a/apps/i18n/core/es/LC_MESSAGES/djangojs.po b/apps/i18n/core/es/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..16fe0cafb --- /dev/null +++ b/apps/i18n/core/es/LC_MESSAGES/djangojs.po @@ -0,0 +1,103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-11 19:17+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: static/js/jumpserver.js:267 +msgid "Update is successful!" +msgstr "" + +#: static/js/jumpserver.js:269 +msgid "An unknown error occurred while updating.." +msgstr "" + +#: static/js/jumpserver.js:342 +msgid "Not found" +msgstr "" + +#: static/js/jumpserver.js:344 +msgid "Server error" +msgstr "" + +#: static/js/jumpserver.js:346 static/js/jumpserver.js:384 +#: static/js/jumpserver.js:386 +msgid "Error" +msgstr "" + +#: static/js/jumpserver.js:352 static/js/jumpserver.js:393 +msgid "Delete the success" +msgstr "" + +#: static/js/jumpserver.js:359 +msgid "Are you sure about deleting it?" +msgstr "" + +#: static/js/jumpserver.js:363 static/js/jumpserver.js:404 +msgid "Cancel" +msgstr "" + +#: static/js/jumpserver.js:365 static/js/jumpserver.js:406 +msgid "Confirm" +msgstr "" + +#: static/js/jumpserver.js:384 +msgid "" +"The organization contains undeleted information. Please try again after " +"deleting" +msgstr "" + +#: static/js/jumpserver.js:386 +msgid "" +"Do not perform this operation under this organization. Try again after " +"switching to another organization" +msgstr "" + +#: static/js/jumpserver.js:400 +msgid "" +"Please ensure that the following information in the organization has been " +"deleted" +msgstr "" + +#: static/js/jumpserver.js:401 +msgid "" +"User list、User group、Asset list、Domain list、Admin user、System user、" +"Labels、Asset permission" +msgstr "" + +#: static/js/jumpserver.js:650 +msgid "Unknown error occur" +msgstr "" + +#: static/js/jumpserver.js:902 +msgid "Password minimum length {N} bits" +msgstr "" + +#: static/js/jumpserver.js:903 +msgid "Must contain capital letters" +msgstr "" + +#: static/js/jumpserver.js:904 +msgid "Must contain lowercase letters" +msgstr "" + +#: static/js/jumpserver.js:905 +msgid "Must contain numeric characters" +msgstr "" + +#: static/js/jumpserver.js:906 +msgid "Must contain special characters" +msgstr "" diff --git a/apps/i18n/core/ru/LC_MESSAGES/django.po b/apps/i18n/core/ru/LC_MESSAGES/django.po new file mode 100644 index 000000000..38aa4e246 --- /dev/null +++ b/apps/i18n/core/ru/LC_MESSAGES/django.po @@ -0,0 +1,10854 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-11 19:17+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +#: accounts/api/account/account.py:121 +#: accounts/serializers/account/account.py:181 +#: accounts/serializers/account/account.py:342 +msgid "Account already exists" +msgstr "" + +#: accounts/api/account/application.py:78 +#: authentication/api/connection_token.py:452 +msgid "Account not found" +msgstr "" + +#: accounts/api/automations/base.py:82 tickets/api/ticket.py:132 +msgid "The parameter 'action' must be [{}]" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:23 +msgid "The account key will be split into two parts and sent" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:122 +msgid "Number of backup accounts" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:143 +msgid "Generating asset related backup information files" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:168 +#: accounts/automations/backup_account/manager.py:26 +#: accounts/automations/change_secret/manager.py:93 +#: accounts/automations/push_account/manager.py:59 +#: assets/models/automations/base.py:145 ops/serializers/job.py:71 +#: ops/serializers/job.py:95 +#: settings/templates/ldap/_msg_import_ldap_user.html:7 +#: terminal/serializers/session.py:49 +msgid "Duration" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:169 +msgid "Backup file creation completed" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:177 +msgid "Start sending backup emails" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:204 +msgid "Encrypting files using encryption password" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:214 +msgid "The backup file will be sent to" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:237 +msgid "The backup task has no assigned sftp server" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:258 +msgid "The backup task has no assigned recipient" +msgstr "" + +#: accounts/automations/backup_account/handlers.py:281 +msgid "Plan start" +msgstr "" + +#: accounts/automations/backup_account/manager.py:14 +msgid "The account backup plan is being executed" +msgstr "" + +#: accounts/automations/backup_account/manager.py:24 +#: accounts/automations/change_secret/manager.py:91 +#: accounts/automations/push_account/manager.py:57 +msgid "Plan execution end" +msgstr "" + +#: accounts/automations/base/manager.py:106 +msgid "No pending accounts found" +msgstr "" + +#: accounts/automations/change_secret/manager.py:84 +#, python-format +msgid "Success: %s, Failed: %s, Total: %s" +msgstr "" + +#: accounts/automations/check_account/manager.py:270 +msgid "" +"\n" +"---\n" +"Summary: \n" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " +"secret: {}, using time: {}s" +msgstr "" + +#: accounts/automations/push_account/manager.py:30 +msgid "Secret cannot be empty" +msgstr "" + +#: accounts/automations/verify_gateway_account/manager.py:18 +msgid ">>> Start executing the task to test gateway account connectivity" +msgstr "" + +#: accounts/const/account.py:6 +#: accounts/serializers/automations/change_secret.py:34 +#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 +#: authentication/confirm/password.py:27 authentication/const.py:10 +#: authentication/forms.py:28 +#: authentication/templates/authentication/login.html:362 +#: authentication/templates/authentication/login.html:408 +#: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 +#: settings/serializers/auth/ldap_ha.py:36 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: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 +msgid "Password" +msgstr "" + +#: accounts/const/account.py:7 +#: accounts/serializers/automations/change_secret.py:35 +#: authentication/models/ssh_key.py:27 terminal/serializers/storage.py:124 +msgid "SSH key" +msgstr "" + +#: accounts/const/account.py:8 authentication/models/access_key.py:40 +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:84 +msgid "Token" +msgstr "" + +#: accounts/const/account.py:10 +msgid "API key" +msgstr "" + +#: accounts/const/account.py:14 common/db/fields.py:231 +#: settings/serializers/terminal.py:14 +msgid "All" +msgstr "" + +#: accounts/const/account.py:15 accounts/models/virtual.py:27 +msgid "Manual input" +msgstr "" + +#: accounts/const/account.py:16 +msgid "Dynamic user" +msgstr "" + +#: accounts/const/account.py:17 +msgid "Anonymous account" +msgstr "" + +#: accounts/const/account.py:18 +msgid "Specified account" +msgstr "" + +#: accounts/const/account.py:26 users/models/user/_source.py:11 +msgid "Local" +msgstr "" + +#: accounts/const/account.py:27 +msgid "Discovery" +msgstr "" + +#: accounts/const/account.py:28 accounts/serializers/account/account.py:28 +#: settings/serializers/auth/sms.py:84 +msgid "Template" +msgstr "" + +#: accounts/const/account.py:32 ops/const.py:46 xpack/plugins/cloud/const.py:68 +msgid "Skip" +msgstr "" + +#: accounts/const/account.py:33 audits/const.py:24 rbac/tree.py:269 +#: templates/_csv_import_export.html:18 templates/_csv_update_modal.html:6 +msgid "Update" +msgstr "" + +#: accounts/const/account.py:34 accounts/const/automation.py:115 +#: accounts/serializers/automations/change_secret.py:169 audits/const.py:65 +#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:67 +#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:47 +msgid "Failed" +msgstr "" + +#: accounts/const/automation.py:25 rbac/tree.py:52 +msgid "Push account" +msgstr "" + +#: accounts/const/automation.py:26 +msgid "Change secret" +msgstr "" + +#: accounts/const/automation.py:27 +msgid "Verify account" +msgstr "" + +#: accounts/const/automation.py:28 accounts/tasks/remove_account.py:25 +#: accounts/tasks/remove_account.py:38 +msgid "Remove account" +msgstr "" + +#: accounts/const/automation.py:29 +msgid "Gather accounts" +msgstr "" + +#: accounts/const/automation.py:30 +msgid "Verify gateway account" +msgstr "" + +#: accounts/const/automation.py:31 +msgid "Check account" +msgstr "" + +#: accounts/const/automation.py:32 rbac/tree.py:50 +msgid "Backup account" +msgstr "" + +#: accounts/const/automation.py:53 +msgid "Specific secret" +msgstr "" + +#: accounts/const/automation.py:54 +msgid "Random generate" +msgstr "" + +#: accounts/const/automation.py:59 ops/const.py:15 +msgid "Replace (Replace only keys pushed by JumpServer) " +msgstr "" + +#: accounts/const/automation.py:60 ops/const.py:14 +msgid "Empty and append SSH KEY" +msgstr "" + +#: accounts/const/automation.py:65 +msgid "On asset create" +msgstr "" + +#: accounts/const/automation.py:68 +msgid "On perm add user" +msgstr "" + +#: accounts/const/automation.py:70 +msgid "On perm add user group" +msgstr "" + +#: accounts/const/automation.py:72 +msgid "On perm add asset" +msgstr "" + +#: accounts/const/automation.py:74 +msgid "On perm add node" +msgstr "" + +#: accounts/const/automation.py:76 +msgid "On perm add account" +msgstr "" + +#: accounts/const/automation.py:78 +msgid "On asset join node" +msgstr "" + +#: accounts/const/automation.py:80 +msgid "On user join group" +msgstr "" + +#: accounts/const/automation.py:88 +msgid "On perm change" +msgstr "" + +#: accounts/const/automation.py:95 +msgid "Inherit from group or node" +msgstr "" + +#: accounts/const/automation.py:103 +msgid "Create and push" +msgstr "" + +#: accounts/const/automation.py:104 +msgid "Only create" +msgstr "" + +#: accounts/const/automation.py:109 +#: authentication/serializers/password_mfa.py:16 +#: authentication/serializers/password_mfa.py:24 +#: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 +#: settings/serializers/msg.py:61 users/forms/profile.py:101 +#: users/forms/profile.py:111 users/models/user/__init__.py:61 +#: users/templates/users/forgot_password.html:162 +#: users/views/profile/reset.py:94 +msgid "Email" +msgstr "" + +#: accounts/const/automation.py:111 terminal/const.py:89 +msgid "SFTP" +msgstr "" + +#: accounts/const/automation.py:116 +#: accounts/serializers/automations/change_secret.py:168 audits/const.py:64 +#: audits/models.py:65 audits/signal_handlers/activity_log.py:33 +#: common/const/choices.py:66 ops/const.py:74 ops/serializers/celery.py:48 +#: terminal/const.py:80 terminal/models/session/sharing.py:121 +#: tickets/views/approve.py:128 +msgid "Success" +msgstr "" + +#: accounts/const/automation.py:117 common/const/choices.py:64 +#: common/const/choices.py:114 terminal/const.py:79 tickets/const.py:29 +#: tickets/const.py:38 +msgid "Pending" +msgstr "" + +#: accounts/const/automation.py:121 +msgid "Can login" +msgstr "" + +#: accounts/const/automation.py:122 users/serializers/user.py:254 +msgid "Superuser" +msgstr "" + +#: accounts/const/automation.py:123 +msgid "Create date" +msgstr "" + +#: accounts/const/automation.py:124 +msgid "Is disabled" +msgstr "" + +#: accounts/const/automation.py:125 +msgid "Default database name" +msgstr "" + +#: accounts/const/automation.py:126 +msgid "UID" +msgstr "" + +#: accounts/const/automation.py:127 +msgid "Account status" +msgstr "" + +#: accounts/const/automation.py:128 +msgid "Default tablespace" +msgstr "" + +#: accounts/const/automation.py:129 rbac/models/role.py:46 +#: rbac/models/rolebinding.py:52 users/models/user/__init__.py:69 +msgid "Role" +msgstr "" + +#: accounts/const/automation.py:130 accounts/models/base.py:68 +msgid "Privileged" +msgstr "" + +#: accounts/const/automation.py:131 perms/serializers/permission.py:44 +#: users/serializers/user.py:245 +msgid "Groups" +msgstr "" + +#: accounts/const/automation.py:133 +msgid "Authorized keys" +msgstr "" + +#: accounts/const/automation.py:134 +msgid "DB" +msgstr "" + +#: accounts/const/vault.py:8 assets/const/category.py:12 +#: assets/models/asset/database.py:10 assets/models/asset/database.py:29 +msgid "Database" +msgstr "" + +#: accounts/const/vault.py:9 settings/serializers/feature.py:79 +msgid "HCP Vault" +msgstr "" + +#: accounts/const/vault.py:10 settings/serializers/feature.py:92 +msgid "Azure Key Vault" +msgstr "" + +#: accounts/const/vault.py:11 settings/serializers/feature.py:108 +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 "" + +#: accounts/mixins.py:37 +msgid "Export only selected items" +msgstr "" + +#: accounts/mixins.py:42 +#, python-format +msgid "Export filtered: %s" +msgstr "" + +#: accounts/mixins.py:48 +#, python-format +msgid "User %s view/export secret" +msgstr "" + +#: accounts/models/account.py:83 +#: accounts/models/automations/check_account.py:62 +#: accounts/models/automations/gather_account.py:16 +#: accounts/serializers/account/account.py:226 +#: accounts/serializers/account/account.py:274 +#: accounts/serializers/automations/change_secret.py:113 +#: accounts/serializers/automations/change_secret.py:145 +#: accounts/serializers/automations/check_account.py:33 +#: accounts/serializers/automations/gather_account.py:47 +#: accounts/templates/accounts/asset_account_change_info.html:7 +#: accounts/templates/accounts/change_secret_failed_info.html:11 +#: accounts/templates/accounts/change_secret_report.html:79 +#: accounts/templates/accounts/change_secret_report.html:119 +#: accounts/templates/accounts/check_account_report.html:89 +#: accounts/templates/accounts/gather_account_report.html:77 +#: accounts/templates/accounts/gather_account_report.html:117 +#: accounts/templates/accounts/push_account_report.html:78 +#: accounts/templates/accounts/push_account_report.html:118 +#: acls/serializers/base.py:130 assets/models/asset/common.py:102 +#: assets/models/asset/common.py:366 assets/models/cmd_filter.py:36 +#: audits/models.py:59 audits/models.py:312 audits/serializers.py:228 +#: authentication/models/connection_token.py:40 +#: perms/models/asset_permission.py:69 terminal/backends/command/models.py:17 +#: terminal/models/session/session.py:34 terminal/notifications.py:156 +#: terminal/serializers/command.py:17 terminal/serializers/session.py:30 +#: terminal/templates/terminal/_msg_command_warning.html:4 +#: terminal/templates/terminal/_msg_session_sharing.html:4 +#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:290 +msgid "Asset" +msgstr "" + +#: accounts/models/account.py:87 accounts/models/template.py:16 +#: accounts/serializers/account/account.py:233 +#: accounts/serializers/account/account.py:284 +#: accounts/serializers/account/template.py:35 +#: authentication/serializers/connect_token_secret.py:50 +msgid "Su from" +msgstr "" + +#: accounts/models/account.py:89 assets/const/protocol.py:195 +#: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 +#: terminal/models/virtualapp/virtualapp.py:21 +msgid "Version" +msgstr "" + +#: accounts/models/account.py:91 +msgid "historical Account" +msgstr "" + +#: accounts/models/account.py:92 +msgid "Secret reset" +msgstr "" + +#: accounts/models/account.py:93 accounts/serializers/account/account.py:228 +#: users/models/user/__init__.py:122 +msgid "Source" +msgstr "" + +#: accounts/models/account.py:94 +msgid "Source ID" +msgstr "" + +#: accounts/models/account.py:95 +msgid "Date last access" +msgstr "" + +#: accounts/models/account.py:96 +msgid "Access by" +msgstr "" + +#: accounts/models/account.py:97 +msgid "Date change secret" +msgstr "" + +#: accounts/models/account.py:99 +msgid "Change secret status" +msgstr "" + +#: accounts/models/account.py:103 +#: accounts/models/automations/check_account.py:67 +#: accounts/serializers/account/service.py:11 +#: accounts/serializers/automations/change_secret.py:115 +#: accounts/serializers/automations/change_secret.py:146 +#: accounts/templates/accounts/change_secret_failed_info.html:12 +#: acls/serializers/base.py:131 +#: acls/templates/acls/asset_login_reminder.html:10 +#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:313 +#: audits/serializers.py:229 authentication/api/connection_token.py:464 +#: ops/models/base.py:18 perms/models/asset_permission.py:75 +#: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 +#: terminal/models/session/session.py:36 terminal/serializers/command.py:72 +#: terminal/templates/terminal/_msg_command_warning.html:8 +#: terminal/templates/terminal/_msg_session_sharing.html:8 +#: tickets/models/ticket/command_confirm.py:13 +#: xpack/plugins/cloud/models.py:101 xpack/plugins/cloud/ws.py:37 +msgid "Account" +msgstr "" + +#: accounts/models/account.py:109 +msgid "Can view asset account secret" +msgstr "" + +#: accounts/models/account.py:110 +msgid "Can view asset history account" +msgstr "" + +#: accounts/models/account.py:111 +msgid "Can view asset history account secret" +msgstr "" + +#: accounts/models/account.py:112 +msgid "Can verify account" +msgstr "" + +#: accounts/models/account.py:113 +msgid "Can push account" +msgstr "" + +#: accounts/models/account.py:114 +msgid "Can remove account" +msgstr "" + +#: accounts/models/application.py:16 +#: accounts/models/automations/check_account.py:119 accounts/models/base.py:63 +#: accounts/serializers/account/service.py:27 +#: accounts/serializers/account/virtual.py:20 acls/models/base.py:35 +#: acls/models/base.py:96 acls/models/command_acl.py:21 +#: acls/serializers/base.py:35 assets/models/asset/common.py:100 +#: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 +#: assets/models/domain.py:19 assets/models/label.py:18 +#: assets/models/platform.py:15 assets/models/platform.py:94 +#: assets/serializers/asset/common.py:171 assets/serializers/platform.py:158 +#: assets/serializers/platform.py:278 +#: authentication/backends/passkey/models.py:10 +#: authentication/models/ssh_key.py:12 +#: authentication/serializers/connect_token_secret.py:113 +#: authentication/serializers/connect_token_secret.py:170 labels/models.py:11 +#: ops/mixin.py:32 ops/models/adhoc.py:19 ops/models/celery.py:15 +#: ops/models/celery.py:81 ops/models/job.py:145 ops/models/playbook.py:28 +#: ops/models/variable.py:9 ops/serializers/job.py:20 +#: ops/serializers/variable.py:20 orgs/models.py:82 +#: perms/models/asset_permission.py:61 rbac/models/role.py:29 +#: rbac/serializers/role.py:28 settings/models.py:37 settings/models.py:186 +#: settings/serializers/msg.py:89 settings/serializers/terminal.py:9 +#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/component/endpoint.py:112 +#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/terminal.py:86 +#: terminal/models/virtualapp/provider.py:10 +#: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 +#: users/forms/profile.py:33 users/models/group.py:13 +#: users/models/preference.py:11 users/models/user/__init__.py:60 +#: xpack/plugins/cloud/models.py:34 xpack/plugins/cloud/models.py:310 +#: xpack/plugins/cloud/serializers/task.py:77 +msgid "Name" +msgstr "" + +#: accounts/models/application.py:18 settings/serializers/auth/oauth2.py:25 +msgid "Logo" +msgstr "" + +#: accounts/models/application.py:20 accounts/models/base.py:39 +#: accounts/models/mixins/vault.py:49 accounts/serializers/account/base.py:20 +#: authentication/models/temp_token.py:10 +#: authentication/templates/authentication/_access_key_modal.html:31 +#: settings/serializers/auth/radius.py:20 +msgid "Secret" +msgstr "" + +#: accounts/models/application.py:21 acls/models/base.py:98 +#: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 +#: assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:420 perms/serializers/permission.py:55 +#: perms/serializers/user_permission.py:75 rbac/tree.py:35 +msgid "Accounts" +msgstr "" + +#: accounts/models/application.py:22 authentication/models/access_key.py:20 +#: terminal/models/component/endpoint.py:113 +msgid "IP group" +msgstr "" + +#: accounts/models/application.py:23 +#: authentication/backends/passkey/models.py:14 +#: authentication/models/access_key.py:24 +#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +msgid "Date last used" +msgstr "" + +#: accounts/models/application.py:24 acls/models/base.py:43 +#: assets/models/asset/common.py:178 authentication/models/access_key.py:23 +#: authentication/models/connection_token.py:58 +#: authentication/models/ssh_key.py:13 +#: authentication/templates/authentication/_access_key_modal.html:32 +#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:28 +#: terminal/models/component/endpoint.py:123 +#: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 +#: tickets/const.py:36 +msgid "Active" +msgstr "" + +#: accounts/models/application.py:28 +msgid "Integration App" +msgstr "" + +#: accounts/models/automations/backup_account.py:27 +msgid "Backup type" +msgstr "" + +#: accounts/models/automations/backup_account.py:29 +#: accounts/models/automations/backup_account.py:30 +msgid "Password divided" +msgstr "" + +#: accounts/models/automations/backup_account.py:33 +#: accounts/serializers/automations/backup.py:34 +msgid "Recipient part one" +msgstr "" + +#: accounts/models/automations/backup_account.py:37 +#: accounts/serializers/automations/backup.py:38 +msgid "Recipient part two" +msgstr "" + +#: accounts/models/automations/backup_account.py:41 +msgid "Object storage recipient part one" +msgstr "" + +#: accounts/models/automations/backup_account.py:45 +msgid "Object storage recipient part two" +msgstr "" + +#: accounts/models/automations/backup_account.py:48 +msgid "Zip encrypt password" +msgstr "" + +#: accounts/models/automations/backup_account.py:57 +msgid "Account backup plan" +msgstr "" + +#: accounts/models/automations/base.py:18 +msgid "Account automation task" +msgstr "" + +#: accounts/models/automations/base.py:32 +msgid "Automation execution" +msgstr "" + +#: accounts/models/automations/base.py:33 +msgid "Automation executions" +msgstr "" + +#: accounts/models/automations/base.py:35 +msgid "Can view change secret execution" +msgstr "" + +#: accounts/models/automations/base.py:36 +msgid "Can add change secret execution" +msgstr "" + +#: accounts/models/automations/base.py:38 +msgid "Can view gather accounts execution" +msgstr "" + +#: accounts/models/automations/base.py:39 +msgid "Can add gather accounts execution" +msgstr "" + +#: accounts/models/automations/base.py:41 +msgid "Can view push account execution" +msgstr "" + +#: accounts/models/automations/base.py:42 +msgid "Can add push account execution" +msgstr "" + +#: accounts/models/automations/base.py:44 +msgid "Can view backup account execution" +msgstr "" + +#: accounts/models/automations/base.py:45 +msgid "Can add backup account execution" +msgstr "" + +#: accounts/models/automations/base.py:60 +msgid "SSH key change strategy" +msgstr "" + +#: accounts/models/automations/base.py:64 +msgid "Check connection after change" +msgstr "" + +#: accounts/models/automations/change_secret.py:17 +#: accounts/models/automations/check_account.py:19 +#: accounts/models/automations/gather_account.py:92 +#: accounts/serializers/automations/change_secret.py:59 +#: settings/serializers/auth/ldap.py:101 +#: settings/serializers/auth/ldap_ha.py:84 settings/serializers/msg.py:45 +msgid "Recipient" +msgstr "" + +#: accounts/models/automations/change_secret.py:24 +msgid "Change secret automation" +msgstr "" + +#: accounts/models/automations/change_secret.py:47 +#: assets/models/automations/base.py:144 ops/models/base.py:56 +#: ops/models/celery.py:90 ops/models/job.py:240 +#: terminal/models/applet/host.py:142 +msgid "Date finished" +msgstr "" + +#: accounts/models/automations/change_secret.py:49 +#: accounts/models/automations/check_account.py:75 +#: accounts/models/automations/gather_account.py:25 +#: accounts/serializers/automations/check_account.py:39 +#: assets/models/automations/base.py:136 +#: assets/serializers/automations/base.py:45 audits/models.py:209 +#: audits/serializers.py:78 ops/models/base.py:49 ops/models/job.py:231 +#: terminal/models/applet/applet.py:331 terminal/models/applet/host.py:140 +#: terminal/models/component/status.py:30 +#: terminal/models/virtualapp/virtualapp.py:99 +#: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:148 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:284 +#: tickets/serializers/super_ticket.py:13 +#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:227 +#: xpack/plugins/cloud/models.py:294 +msgid "Status" +msgstr "" + +#: accounts/models/automations/change_secret.py:51 +#: accounts/serializers/account/account.py:276 +#: accounts/templates/accounts/change_secret_failed_info.html:13 +#: assets/const/automation.py:9 +#: authentication/templates/authentication/passkey.html:173 +#: authentication/views/base.py:42 authentication/views/base.py:43 +#: authentication/views/base.py:44 common/const/choices.py:68 +#: settings/templates/ldap/_msg_import_ldap_user.html:26 +msgid "Error" +msgstr "" + +#: accounts/models/automations/change_secret.py:73 +msgid "Old secret" +msgstr "" + +#: accounts/models/automations/change_secret.py:74 +msgid "New secret" +msgstr "" + +#: accounts/models/automations/change_secret.py:75 +msgid "Ignore fail" +msgstr "" + +#: accounts/models/automations/change_secret.py:78 +msgid "Change secret record" +msgstr "" + +#: accounts/models/automations/check_account.py:18 +msgid "Engines" +msgstr "" + +#: accounts/models/automations/check_account.py:34 +msgid "account check automation" +msgstr "" + +#: accounts/models/automations/check_account.py:36 +msgid "Can view check account execution" +msgstr "" + +#: accounts/models/automations/check_account.py:37 +msgid "Can add check account execution" +msgstr "" + +#: accounts/models/automations/check_account.py:43 +msgid "Long time no login" +msgstr "" + +#: accounts/models/automations/check_account.py:44 +msgid "New found" +msgstr "" + +#: accounts/models/automations/check_account.py:45 +msgid "Groups change" +msgstr "" + +#: accounts/models/automations/check_account.py:46 +msgid "Sudo changed" +msgstr "" + +#: accounts/models/automations/check_account.py:47 +msgid "Authorized keys changed" +msgstr "" + +#: accounts/models/automations/check_account.py:48 +msgid "Account delete" +msgstr "" + +#: accounts/models/automations/check_account.py:49 +#: authentication/errors/const.py:23 +msgid "Password expired" +msgstr "" + +#: accounts/models/automations/check_account.py:50 +msgid "Long time no change" +msgstr "" + +#: accounts/models/automations/check_account.py:52 +#: accounts/templates/accounts/check_account_report.html:77 +#: accounts/templates/accounts/check_account_report.html:100 +msgid "Weak password" +msgstr "" + +#: accounts/models/automations/check_account.py:53 +msgid "Leaked password" +msgstr "" + +#: accounts/models/automations/check_account.py:54 +msgid "Repeated password" +msgstr "" + +#: accounts/models/automations/check_account.py:55 +msgid "Password error" +msgstr "" + +#: accounts/models/automations/check_account.py:56 +msgid "No admin account" +msgstr "" + +#: accounts/models/automations/check_account.py:57 +msgid "Others" +msgstr "" + +#: accounts/models/automations/check_account.py:64 +#: accounts/models/automations/gather_account.py:17 accounts/models/base.py:64 +#: accounts/serializers/account/virtual.py:21 +#: accounts/templates/accounts/change_secret_report.html:80 +#: accounts/templates/accounts/change_secret_report.html:120 +#: accounts/templates/accounts/check_account_report.html:90 +#: accounts/templates/accounts/gather_account_report.html:78 +#: accounts/templates/accounts/gather_account_report.html:118 +#: accounts/templates/accounts/push_account_report.html:79 +#: accounts/templates/accounts/push_account_report.html:119 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:189 +#: authentication/forms.py:21 authentication/forms.py:23 +#: authentication/models/temp_token.py:9 +#: authentication/templates/authentication/_msg_different_city.html:9 +#: authentication/templates/authentication/_msg_oauth_bind.html:9 +#: authentication/templates/authentication/login.html:408 +#: terminal/serializers/storage.py:136 users/forms/profile.py:32 +#: users/forms/profile.py:117 users/models/user/__init__.py:59 +#: users/templates/users/_msg_user_created.html:12 +#: xpack/plugins/cloud/serializers/account_attrs.py:26 +msgid "Username" +msgstr "" + +#: accounts/models/automations/check_account.py:73 +#: accounts/serializers/automations/check_account.py:36 +msgid "Risk" +msgstr "" + +#: accounts/models/automations/check_account.py:76 +#: accounts/models/automations/gather_account.py:26 audits/models.py:151 +msgid "Detail" +msgstr "" + +#: accounts/models/automations/check_account.py:79 +msgid "Account risk" +msgstr "" + +#: accounts/models/automations/check_account.py:120 +msgid "Slug" +msgstr "" + +#: accounts/models/automations/check_account.py:131 +msgid "Check the discovered accounts" +msgstr "" + +#: accounts/models/automations/check_account.py:133 +msgid "" +"Perform checks and analyses based on automatically discovered account " +"results, including user groups, public keys, sudoers, and other information" +msgstr "" + +#: accounts/models/automations/check_account.py:140 +msgid "Check the strength of your account and password" +msgstr "" + +#: accounts/models/automations/check_account.py:142 +msgid "" +"Perform checks and analyses based on the security of account passwords, " +"including password strength, leakage, etc." +msgstr "" + +#: accounts/models/automations/check_account.py:149 +msgid "Check if the account and password are repeated" +msgstr "" + +#: accounts/models/automations/check_account.py:150 +msgid "Check if the account is the same as other accounts" +msgstr "" + +#: accounts/models/automations/check_account.py:155 +msgid "Check whether the account password is a common password" +msgstr "" + +#: accounts/models/automations/check_account.py:156 +msgid "Check whether the account password is a commonly leaked password" +msgstr "" + +#: accounts/models/automations/gather_account.py:18 +msgid "Address login" +msgstr "" + +#: accounts/models/automations/gather_account.py:19 +msgid "Date login" +msgstr "" + +#: accounts/models/automations/gather_account.py:20 +msgid "Remote present" +msgstr "" + +#: accounts/models/automations/gather_account.py:21 +msgid "Present" +msgstr "" + +#: accounts/models/automations/gather_account.py:22 +msgid "Date change password" +msgstr "" + +#: accounts/models/automations/gather_account.py:23 +msgid "Date password expired" +msgstr "" + +#: accounts/models/automations/gather_account.py:78 +msgid "Gather asset accounts" +msgstr "" + +#: accounts/models/automations/gather_account.py:90 +msgid "Is sync account" +msgstr "" + +#: accounts/models/automations/gather_account.py:93 +msgid "Check risk" +msgstr "" + +#: accounts/models/automations/gather_account.py:111 +msgid "Gather account automation" +msgstr "" + +#: accounts/models/automations/push_account.py:38 +msgid "Push asset account" +msgstr "" + +#: accounts/models/automations/push_account.py:43 +msgid "Push secret record" +msgstr "" + +#: accounts/models/automations/verify_account.py:15 +msgid "Verify asset account" +msgstr "" + +#: accounts/models/base.py:37 accounts/models/base.py:66 +#: accounts/serializers/account/account.py:466 +#: accounts/serializers/account/base.py:17 +#: accounts/serializers/automations/change_secret.py:48 +#: authentication/serializers/connect_token_secret.py:42 +#: authentication/serializers/connect_token_secret.py:51 +#: terminal/serializers/storage.py:140 +msgid "Secret type" +msgstr "" + +#: accounts/models/base.py:42 +#: accounts/serializers/automations/change_secret.py:41 +msgid "Secret strategy" +msgstr "" + +#: accounts/models/base.py:44 accounts/serializers/account/template.py:32 +#: accounts/serializers/automations/change_secret.py:47 +msgid "Password rules" +msgstr "" + +#: accounts/models/base.py:69 assets/models/automations/base.py:28 +#: 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:257 +msgid "Is active" +msgstr "" + +#: accounts/models/template.py:18 +msgid "Auto push" +msgstr "" + +#: accounts/models/template.py:21 +msgid "Platforms" +msgstr "" + +#: accounts/models/template.py:23 +msgid "Push params" +msgstr "" + +#: accounts/models/template.py:26 xpack/plugins/cloud/models.py:391 +msgid "Account template" +msgstr "" + +#: accounts/models/template.py:31 +msgid "Can view asset account template secret" +msgstr "" + +#: accounts/models/virtual.py:13 +msgid "Alias" +msgstr "" + +#: accounts/models/virtual.py:14 +msgid "Secret from login" +msgstr "" + +#: accounts/models/virtual.py:18 +msgid "Virtual account" +msgstr "" + +#: accounts/models/virtual.py:28 +msgid "Same with user" +msgstr "" + +#: accounts/models/virtual.py:37 +msgid "Non-asset account, Input username/password on connect" +msgstr "" + +#: accounts/models/virtual.py:38 +msgid "The account username name same with user on connect" +msgstr "" + +#: accounts/models/virtual.py:39 +msgid "" +"Connect asset without using a username and password, and it only supports " +"web-based and custom-type assets" +msgstr "" + +#: accounts/notifications.py:12 accounts/notifications.py:37 +msgid "Notification of account backup route task results" +msgstr "" + +#: accounts/notifications.py:22 accounts/notifications.py:46 +msgid "" +"{} - The account backup passage task has been completed. See the attachment " +"for details" +msgstr "" + +#: accounts/notifications.py:25 +msgid "" +"{} - The account backup passage task has been completed: the encryption " +"password has not been set - please go to personal information -> Basic file " +"encryption password for preference settings" +msgstr "" + +#: accounts/notifications.py:56 +msgid "Notification of implementation result of encryption change plan" +msgstr "" + +#: accounts/notifications.py:67 +msgid "" +"{} - The encryption change task has been completed. See the attachment for " +"details" +msgstr "" + +#: accounts/notifications.py:71 +msgid "" +"{} - The encryption change task has been completed: the encryption password " +"has not been set - please go to personal information -> set encryption " +"password in preferences" +msgstr "" + +#: accounts/notifications.py:83 +msgid "Gather account change information" +msgstr "" + +#: accounts/notifications.py:105 +msgid "Change secret or push account failed information" +msgstr "" + +#: accounts/risk_handlers.py:17 common/const/choices.py:116 +msgid "Ignored" +msgstr "" + +#: accounts/risk_handlers.py:18 +msgid "Reopen" +msgstr "" + +#: accounts/risk_handlers.py:19 audits/const.py:38 +#: authentication/templates/authentication/_access_key_modal.html:155 +#: authentication/templates/authentication/_mfa_confirm_modal.html:53 +#: templates/_modal.html:22 tickets/const.py:43 +msgid "Close" +msgstr "" + +#: accounts/risk_handlers.py:20 +msgid "Disable remote" +msgstr "" + +#: accounts/risk_handlers.py:21 accounts/risk_handlers.py:22 +msgid "Delete remote" +msgstr "" + +#: accounts/risk_handlers.py:23 +#: accounts/templates/accounts/asset_account_change_info.html:10 +msgid "Add account" +msgstr "" + +#: accounts/risk_handlers.py:24 +msgid "Change password and Add" +msgstr "" + +#: accounts/risk_handlers.py:25 audits/const.py:31 ops/const.py:9 +msgid "Change password" +msgstr "" + +#: accounts/serializers/account/account.py:31 +msgid "Push now" +msgstr "" + +#: accounts/serializers/account/account.py:36 +msgid "Params" +msgstr "" + +#: accounts/serializers/account/account.py:40 +msgid "Exist policy" +msgstr "" + +#: accounts/serializers/account/account.py:206 assets/models/label.py:21 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:173 +#: assets/serializers/platform.py:279 perms/serializers/user_permission.py:26 +#: settings/models.py:39 tickets/models/ticket/apply_application.py:13 +#: users/models/preference.py:12 +msgid "Category" +msgstr "" + +#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24 +#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 +#: assets/models/cmd_filter.py:74 assets/models/platform.py:96 +#: assets/serializers/asset/common.py:146 assets/serializers/platform.py:160 +#: assets/serializers/platform.py:172 audits/serializers.py:77 +#: audits/serializers.py:194 authentication/models/connection_token.py:62 +#: 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 +#: terminal/models/component/storage.py:152 terminal/serializers/applet.py:29 +#: terminal/serializers/session.py:25 terminal/serializers/storage.py:281 +#: terminal/serializers/storage.py:294 tickets/models/comment.py:26 +#: tickets/models/flow.py:42 tickets/models/ticket/apply_application.py:16 +#: tickets/models/ticket/general.py:276 tickets/serializers/flow.py:25 +#: tickets/serializers/ticket/ticket.py:19 +msgid "Type" +msgstr "" + +#: accounts/serializers/account/account.py:222 +msgid "Asset not found" +msgstr "" + +#: accounts/serializers/account/account.py:265 +msgid "Has secret" +msgstr "" + +#: accounts/serializers/account/account.py:275 ops/models/celery.py:84 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49 +#: tickets/models/ticket/general.py:280 tickets/serializers/super_ticket.py:14 +msgid "State" +msgstr "" + +#: accounts/serializers/account/account.py:277 +msgid "Changed" +msgstr "" + +#: accounts/serializers/account/account.py:287 acls/models/base.py:97 +#: acls/templates/acls/asset_login_reminder.html:9 +#: assets/models/automations/base.py:25 +#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:34 +#: assets/serializers/platform.py:181 assets/serializers/platform.py:213 +#: authentication/api/connection_token.py:463 ops/models/base.py:17 +#: ops/models/job.py:155 ops/serializers/job.py:21 +#: perms/serializers/permission.py:46 +#: terminal/templates/terminal/_msg_command_execute_alert.html:16 +#: xpack/plugins/cloud/manager.py:93 +msgid "Assets" +msgstr "" + +#: accounts/serializers/account/account.py:392 +#, python-format +msgid "Asset does not support this secret type: %s" +msgstr "" + +#: accounts/serializers/account/account.py:424 +msgid "Account has exist" +msgstr "" + +#: accounts/serializers/account/account.py:461 +#: accounts/serializers/account/base.py:86 +#: accounts/serializers/account/template.py:66 +#: assets/serializers/asset/common.py:421 +msgid "Spec info" +msgstr "" + +#: accounts/serializers/account/account.py:467 +#: authentication/serializers/connect_token_secret.py:160 +#: authentication/templates/authentication/_access_key_modal.html:30 +#: perms/models/perm_node.py:21 users/serializers/group.py:33 +msgid "ID" +msgstr "" + +#: accounts/serializers/account/account.py:477 acls/serializers/base.py:123 +#: acls/templates/acls/asset_login_reminder.html:8 +#: acls/templates/acls/user_login_reminder.html:8 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 +#: audits/models.py:91 audits/models.py:173 audits/models.py:272 +#: audits/serializers.py:195 authentication/models/connection_token.py:36 +#: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 +#: notifications/models/notification.py:12 +#: perms/api/user_permission/mixin.py:58 perms/models/asset_permission.py:63 +#: rbac/builtin.py:125 rbac/models/rolebinding.py:49 +#: rbac/serializers/rolebinding.py:17 terminal/backends/command/models.py:16 +#: terminal/models/session/session.py:32 terminal/models/session/sharing.py:34 +#: terminal/notifications.py:157 terminal/notifications.py:217 +#: terminal/serializers/command.py:16 +#: terminal/templates/terminal/_msg_command_warning.html:6 +#: terminal/templates/terminal/_msg_session_sharing.html:6 +#: tickets/models/comment.py:21 tickets/serializers/flow.py:15 +#: users/const.py:14 users/models/user/__init__.py:287 +#: users/models/user/__init__.py:314 +msgid "User" +msgstr "" + +#: accounts/serializers/account/account.py:478 +#: authentication/templates/authentication/_access_key_modal.html:33 +#: terminal/notifications.py:159 terminal/notifications.py:219 +msgid "Date" +msgstr "" + +#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149 +msgid "Passphrase" +msgstr "" + +#: accounts/serializers/account/base.py:89 +msgid "" +"* If no username is required for authentication, enter null. For AD " +"accounts, use the format username@domain." +msgstr "" + +#: accounts/serializers/account/service.py:13 +#: authentication/serializers/token.py:22 +msgid "Access IP" +msgstr "" + +#: accounts/serializers/account/service.py:26 +#: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 +#: ops/models/job.py:163 ops/models/playbook.py:31 rbac/models/role.py:37 +#: settings/models.py:42 terminal/models/applet/applet.py:46 +#: terminal/models/applet/applet.py:332 terminal/models/applet/host.py:143 +#: terminal/models/component/endpoint.py:27 +#: terminal/models/component/endpoint.py:122 +#: terminal/models/session/session.py:49 +#: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 +#: tickets/models/ticket/general.py:298 users/models/user/__init__.py:94 +#: xpack/plugins/cloud/models.py:41 xpack/plugins/cloud/models.py:124 +msgid "Comment" +msgstr "" + +#: accounts/serializers/account/service.py:28 +#: accounts/templates/accounts/backup_account_report.html:28 +#: accounts/templates/accounts/check_account_report.html:28 +#: assets/serializers/asset/common.py:151 +msgid "Accounts amount" +msgstr "" + +#: accounts/serializers/account/template.py:11 +msgid "Password length" +msgstr "" + +#: accounts/serializers/account/template.py:12 +#: settings/serializers/security.py:44 +msgid "Lowercase" +msgstr "" + +#: accounts/serializers/account/template.py:13 +#: settings/serializers/security.py:41 +msgid "Uppercase" +msgstr "" + +#: accounts/serializers/account/template.py:14 +msgid "Digit" +msgstr "" + +#: accounts/serializers/account/template.py:15 +msgid "Special symbol" +msgstr "" + +#: accounts/serializers/account/template.py:17 +msgid "Exclude symbol" +msgstr "" + +#: accounts/serializers/account/template.py:22 +msgid "" +"length is the length of the password, and the range is 8 to 30.\n" +"lowercase indicates whether the password contains lowercase letters, \n" +"uppercase indicates whether it contains uppercase letters,\n" +"digit indicates whether it contains numbers, and symbol indicates whether it " +"contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the " +"symbol characters to be excluded (up to 16). \n" +"If you do not need to exclude symbols, you can leave it blank.\n" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " +"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +msgstr "" + +#: accounts/serializers/account/template.py:47 +msgid "Secret generation strategy for account creation" +msgstr "" + +#: accounts/serializers/account/template.py:48 +msgid "Whether to automatically push the account to the asset" +msgstr "" + +#: accounts/serializers/account/template.py:51 +msgid "" +"Associated platform, you can configure push parameters. If not associated, " +"default parameters will be used" +msgstr "" + +#: accounts/serializers/account/virtual.py:24 +msgid "" +"Current only support login from AD/LDAP. Secret priority: Same account in " +"asset secret > Login secret > Manual input.
For security, please set " +"config CACHE_LOGIN_PASSWORD_ENABLED to true" +msgstr "" + +#: accounts/serializers/automations/backup.py:18 +msgid "Zip Encrypt Password" +msgstr "" + +#: accounts/serializers/automations/backup.py:35 +#: accounts/serializers/automations/backup.py:39 +#: accounts/serializers/automations/change_secret.py:60 +msgid "Currently only mail sending is supported" +msgstr "" + +#: accounts/serializers/automations/backup.py:41 +msgid "Asset type" +msgstr "" + +#: accounts/serializers/automations/base.py:22 +msgid "Name already exists" +msgstr "" + +#: accounts/serializers/automations/base.py:31 +#: assets/models/automations/base.py:147 +#: assets/serializers/automations/base.py:43 +msgid "Automation snapshot" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:44 +msgid "SSH Key strategy" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:58 +msgid "Please enter your account username" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:62 +msgid "Notification before execution" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:64 +msgid "" +"Secret parameter settings, currently only effective for assets of the host " +"type." +msgstr "" + +#: accounts/serializers/automations/change_secret.py:86 +msgid "* Please enter the correct password length" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:90 +msgid "* Password length range 8-36 bits" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:112 +#: accounts/serializers/automations/change_secret.py:147 +#: ops/serializers/job.py:93 terminal/serializers/session.py:54 +msgid "Is success" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:119 +#: assets/models/automations/base.py:163 +msgid "Automation task execution" +msgstr "" + +#: accounts/serializers/automations/check_account.py:106 +msgid "Invalid engine id" +msgstr "" + +#: accounts/serializers/automations/gather_account.py:30 +msgid "Whether to check the risk of the gathered accounts." +msgstr "" + +#: accounts/signal_handlers.py:43 +#, python-format +msgid "Push related accounts to assets: %s, by system" +msgstr "" + +#: accounts/signal_handlers.py:52 +#, python-format +msgid "Add account: %s" +msgstr "" + +#: accounts/signal_handlers.py:54 +#, python-format +msgid "Delete account: %s" +msgstr "" + +#: accounts/tasks/automation.py:32 +msgid "Account execute automation" +msgstr "" + +#: accounts/tasks/automation.py:35 +msgid "" +"Unified execution entry for account automation tasks: when the system " +"performs tasks \n" +" such as account push, password change, account verification, account " +"collection, \n" +" and gateway account verification, all tasks are executed through " +"this unified entry" +msgstr "" + +#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +msgid "Execute automation record" +msgstr "" + +#: accounts/tasks/automation.py:67 +msgid "When manually executing password change records, this task is used" +msgstr "" + +#: accounts/tasks/automation.py:96 +msgid "Clean change secret and push record period" +msgstr "" + +#: accounts/tasks/automation.py:98 +msgid "" +"The system will periodically clean up unnecessary password change and push " +"records, \n" +" including their associated change tasks, execution logs, assets, and " +"accounts. When any \n" +" of these associated items are deleted, the corresponding password " +"change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient " +"database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval " +"specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " +"This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and " +"overall performance \n" +" of data management" +msgstr "" + +#: accounts/tasks/push_account.py:16 accounts/tasks/push_account.py:27 +msgid "Push accounts to assets" +msgstr "" + +#: accounts/tasks/push_account.py:19 +msgid "" +"When creating or modifying an account requires account push, this task is " +"executed" +msgstr "" + +#: accounts/tasks/remove_account.py:28 +msgid "" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " +"accounts' this \n" +" task will be executed" +msgstr "" + +#: accounts/tasks/remove_account.py:50 +msgid "Clean historical accounts" +msgstr "" + +#: accounts/tasks/remove_account.py:52 +msgid "" +"Each time an asset account is updated, a historical account is generated, so " +"it is \n" +" necessary to clean up the asset account history. The system will " +"clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System " +"settings - Features - \n" +" Account storage - Record limit" +msgstr "" + +#: accounts/tasks/remove_account.py:89 +msgid "Remove historical accounts that are out of range." +msgstr "" + +#: accounts/tasks/template.py:11 +msgid "Template sync info to related accounts" +msgstr "" + +#: accounts/tasks/template.py:14 +msgid "" +"When clicking 'Sync new secret to accounts' in 'Console - Account - " +"Templates - \n" +" Accounts' this task will be executed" +msgstr "" + +#: accounts/tasks/vault.py:33 +msgid "Sync secret to vault" +msgstr "" + +#: accounts/tasks/vault.py:35 +msgid "" +"When clicking 'Sync' in 'System Settings - Features - Account Storage' this " +"task will be executed" +msgstr "" + +#: accounts/tasks/verify_account.py:49 +msgid "Verify asset account availability" +msgstr "" + +#: accounts/tasks/verify_account.py:52 +msgid "" +"When clicking 'Test' in 'Console - Asset details - Accounts' this task will " +"be executed" +msgstr "" + +#: accounts/tasks/verify_account.py:58 +msgid "Verify accounts connectivity" +msgstr "" + +#: accounts/templates/accounts/asset_account_change_info.html:13 +msgid "Deleted account" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:13 +#: accounts/templates/accounts/change_secret_report.html:13 +#: accounts/templates/accounts/check_account_report.html:13 +#: accounts/templates/accounts/gather_account_report.html:11 +#: accounts/templates/accounts/push_account_report.html:12 +msgid "Basic Information" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:18 +#: accounts/templates/accounts/change_secret_report.html:18 +#: accounts/templates/accounts/check_account_report.html:18 +#: accounts/templates/accounts/gather_account_report.html:16 +#: accounts/templates/accounts/push_account_report.html:17 +#: assets/models/automations/base.py:142 audits/models.py:66 +#: ops/models/base.py:55 ops/models/celery.py:89 ops/models/job.py:239 +#: ops/templates/ops/celery_task_log.html:101 +#: perms/models/asset_permission.py:78 settings/serializers/feature.py:27 +#: settings/templates/ldap/_msg_import_ldap_user.html:5 +#: terminal/models/applet/host.py:141 terminal/models/session/session.py:47 +#: tickets/models/ticket/apply_application.py:30 +#: tickets/models/ticket/apply_asset.py:19 +msgid "Date start" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:23 +#: accounts/templates/accounts/change_secret_report.html:23 +#: accounts/templates/accounts/check_account_report.html:23 +#: accounts/templates/accounts/gather_account_report.html:21 +#: accounts/templates/accounts/push_account_report.html:22 +#: settings/serializers/feature.py:28 +#: settings/templates/ldap/_msg_import_ldap_user.html:6 +#: terminal/models/session/session.py:48 +msgid "Date end" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:33 +#: accounts/templates/accounts/change_secret_failed_info.html:3 +#: accounts/templates/accounts/change_secret_report.html:48 +#: accounts/templates/accounts/check_account_report.html:48 +#: accounts/templates/accounts/gather_account_report.html:46 +#: accounts/templates/accounts/push_account_report.html:47 +#: terminal/serializers/task.py:10 +msgid "Task name" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:38 +#: accounts/templates/accounts/change_secret_report.html:53 +#: accounts/templates/accounts/check_account_report.html:53 +#: accounts/templates/accounts/gather_account_report.html:51 +#: accounts/templates/accounts/push_account_report.html:52 +msgid "Time using" +msgstr "" + +#: accounts/templates/accounts/backup_account_report.html:43 +msgid "Type count" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:4 +msgid "Task execution id" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:5 +msgid "Respectful" +msgstr "" + +#: accounts/templates/accounts/change_secret_failed_info.html:6 +msgid "" +"Hello! The following is the failure of changing the password of your assets " +"or pushing the account. Please check and handle it in time." +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:28 +#: accounts/templates/accounts/gather_account_report.html:26 +#: accounts/templates/accounts/push_account_report.html:27 +#: assets/serializers/domain.py:24 assets/serializers/platform.py:182 +#: orgs/serializers.py:13 perms/serializers/permission.py:50 +msgid "Assets amount" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:33 +#: accounts/templates/accounts/check_account_report.html:33 +#: accounts/templates/accounts/gather_account_report.html:31 +#: accounts/templates/accounts/push_account_report.html:32 +msgid "Asset success count" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:38 +#: accounts/templates/accounts/check_account_report.html:38 +#: accounts/templates/accounts/gather_account_report.html:36 +#: accounts/templates/accounts/push_account_report.html:37 +msgid "Asset failed count" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:43 +#: accounts/templates/accounts/check_account_report.html:43 +#: accounts/templates/accounts/gather_account_report.html:41 +#: accounts/templates/accounts/push_account_report.html:42 +msgid "Asset not support count" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:67 +#: accounts/templates/accounts/push_account_report.html:66 +msgid "Success accounts" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:78 +#: accounts/templates/accounts/change_secret_report.html:118 +#: accounts/templates/accounts/check_account_report.html:88 +#: accounts/templates/accounts/push_account_report.html:77 +#: accounts/templates/accounts/push_account_report.html:117 +#: audits/handler.py:128 +msgid "No" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:94 +#: accounts/templates/accounts/change_secret_report.html:134 +#: accounts/templates/accounts/gather_account_report.html:92 +#: accounts/templates/accounts/gather_account_report.html:132 +#: accounts/templates/accounts/push_account_report.html:93 +#: accounts/templates/accounts/push_account_report.html:133 +msgid "No new accounts found" +msgstr "" + +#: accounts/templates/accounts/change_secret_report.html:107 +#: accounts/templates/accounts/push_account_report.html:106 +msgid "Failed accounts" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:58 +msgid "Ok count" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:63 +msgid "No password count" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:91 +#: assets/models/automations/base.py:156 ops/models/base.py:51 +#: ops/models/job.py:235 xpack/plugins/cloud/models.py:225 +msgid "Result" +msgstr "" + +#: accounts/templates/accounts/check_account_report.html:106 +msgid "No weak password" +msgstr "" + +#: accounts/templates/accounts/gather_account_report.html:65 +msgid "New found accounts" +msgstr "" + +#: accounts/templates/accounts/gather_account_report.html:105 +msgid "Lost accounts" +msgstr "" + +#: accounts/utils.py:54 +msgid "" +"If the password starts with {{` and ends with }} `, then the password is not " +"allowed." +msgstr "" + +#: accounts/utils.py:62 +msgid "private key invalid or passphrase error" +msgstr "" + +#: acls/apps.py:7 +msgid "App Acls" +msgstr "" + +#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:44 +#: tickets/templates/tickets/approve_check_password.html:47 +msgid "Reject" +msgstr "" + +#: acls/const.py:7 audits/const.py:33 terminal/const.py:9 +msgid "Accept" +msgstr "" + +#: acls/const.py:8 audits/const.py:34 +msgid "Review" +msgstr "" + +#: acls/const.py:9 +msgid "Warn" +msgstr "" + +#: acls/const.py:10 +msgid "Notify" +msgstr "" + +#: acls/const.py:11 +msgid "Notify and warn" +msgstr "" + +#: acls/const.py:12 +msgid "Face Verify" +msgstr "" + +#: acls/const.py:13 +msgid "Face Online" +msgstr "" + +#: acls/models/base.py:37 assets/models/cmd_filter.py:76 +#: terminal/models/component/endpoint.py:115 xpack/plugins/cloud/models.py:316 +msgid "Priority" +msgstr "" + +#: acls/models/base.py:38 assets/models/cmd_filter.py:76 +#: terminal/models/component/endpoint.py:116 xpack/plugins/cloud/models.py:317 +msgid "1-100, the lower the value will be match first" +msgstr "" + +#: acls/models/base.py:41 acls/serializers/base.py:57 +#: assets/models/cmd_filter.py:81 audits/models.py:93 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 +#: tickets/serializers/ticket/ticket.py:21 +msgid "Action" +msgstr "" + +#: acls/models/base.py:42 assets/models/cmd_filter.py:86 +#: authentication/serializers/connect_token_secret.py:91 +msgid "Reviewers" +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:420 +msgid "Users" +msgstr "" + +#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 +#: audits/serializers.py:38 ops/serializers/job.py:92 terminal/const.py:88 +#: terminal/models/session/session.py:45 terminal/serializers/command.py:18 +#: terminal/templates/terminal/_msg_command_alert.html:12 +#: terminal/templates/terminal/_msg_command_execute_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:23 +msgid "Command" +msgstr "" + +#: acls/models/command_acl.py:17 assets/models/cmd_filter.py:59 +#: xpack/plugins/cloud/models.py:357 +msgid "Regex" +msgstr "" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +#: settings/models.py:187 settings/serializers/feature.py:22 +#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:31 +msgid "Content" +msgstr "" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +msgid "One command per line" +msgstr "" + +#: acls/models/command_acl.py:27 assets/models/cmd_filter.py:80 +msgid "Ignore case" +msgstr "" + +#: acls/models/command_acl.py:33 acls/models/command_acl.py:97 +#: acls/serializers/command_acl.py:29 +#: authentication/serializers/connect_token_secret.py:88 +#: terminal/templates/terminal/_msg_command_warning.html:14 +msgid "Command group" +msgstr "" + +#: acls/models/command_acl.py:86 +msgid "The generated regular expression is incorrect: {}" +msgstr "" + +#: acls/models/command_acl.py:103 +#: terminal/templates/terminal/_msg_command_warning.html:12 +msgid "Command acl" +msgstr "" + +#: acls/models/command_acl.py:112 tickets/const.py:12 +msgid "Command confirm" +msgstr "" + +#: acls/models/connect_method.py:10 +msgid "Connect methods" +msgstr "" + +#: acls/models/connect_method.py:13 +msgid "Connect method acl" +msgstr "" + +#: acls/models/login_acl.py:11 acls/models/login_asset_acl.py:9 +#: acls/serializers/login_acl.py:16 acls/serializers/login_asset_acl.py:13 +msgid "Rule" +msgstr "" + +#: acls/models/login_acl.py:14 +msgid "Login acl" +msgstr "" + +#: acls/models/login_acl.py:27 tickets/const.py:11 +msgid "Login confirm" +msgstr "" + +#: acls/models/login_asset_acl.py:12 +msgid "Login asset acl" +msgstr "" + +#: acls/models/login_asset_acl.py:22 tickets/const.py:13 +msgid "Login asset confirm" +msgstr "" + +#: acls/notifications.py:12 +msgid "User login reminder" +msgstr "" + +#: acls/notifications.py:42 +msgid "User login alert for asset" +msgstr "" + +#: acls/serializers/base.py:11 acls/serializers/login_acl.py:12 +msgid "With * indicating a match all. " +msgstr "" + +#: acls/serializers/base.py:26 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " +"support)" +msgstr "" + +#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 +msgid "IP/Host" +msgstr "" + +#: acls/serializers/base.py:98 +msgid "Recipients" +msgstr "" + +#: acls/serializers/base.py:110 tickets/serializers/ticket/ticket.py:77 +msgid "The organization `{}` does not exist" +msgstr "" + +#: acls/serializers/base.py:116 +msgid "None of the reviewers belong to Organization `{}`" +msgstr "" + +#: acls/serializers/rules/rules.py:20 +#: xpack/plugins/cloud/serializers/task.py:152 +msgid "IP address invalid: `{}`" +msgstr "" + +#: acls/serializers/rules/rules.py:25 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " +msgstr "" + +#: acls/serializers/rules/rules.py:33 +#: authentication/templates/authentication/_msg_oauth_bind.html:12 +#: authentication/templates/authentication/_msg_rest_password_success.html:8 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:8 +#: common/drf/renders/base.py:150 xpack/plugins/cloud/models.py:393 +msgid "IP" +msgstr "" + +#: acls/serializers/rules/rules.py:35 +msgid "Time Period" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:3 +#: acls/templates/acls/user_login_reminder.html:3 +#: authentication/templates/authentication/_msg_rest_password_success.html:2 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:2 +#: perms/templates/perms/_msg_permed_items_expire.html:3 +#: users/templates/users/_msg_reset_mfa.html:4 +msgid "Dear" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:5 +msgid "" +"We would like to inform you that a user has recently logged into the " +"following asset:" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:6 +msgid "Asset details" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:14 +#: acls/templates/acls/user_login_reminder.html:15 +msgid "" +"Please review the login activity to ensure the security and proper usage of " +"the asset. If you did not authorize this login or if you notice any " +"suspicious activity, please take the necessary actions immediately." +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:16 +#: acls/templates/acls/user_login_reminder.html:16 +msgid "Thank you for your attention to this matter" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:5 +msgid "We would like to inform you that a user has recently logged:" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:6 +msgid "User details" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:10 audits/models.py:195 +#: audits/models.py:266 +#: authentication/templates/authentication/_msg_different_city.html:11 +#: tickets/models/ticket/login_confirm.py:11 +msgid "Login city" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:11 audits/models.py:198 +#: audits/models.py:267 audits/serializers.py:92 +msgid "User agent" +msgstr "" + +#: assets/api/asset/asset.py:194 +msgid "Cannot create asset directly, you should create a host or other" +msgstr "" + +#: assets/api/asset/asset.py:198 +msgid "The number of assets exceeds the limit of 5000" +msgstr "" + +#: assets/api/domain.py:67 +msgid "Number required" +msgstr "" + +#: assets/api/node.py:58 +msgid "You can't update the root node name" +msgstr "" + +#: assets/api/node.py:65 +msgid "You can't delete the root node ({})" +msgstr "" + +#: assets/api/node.py:68 +msgid "Deletion failed and the node contains assets" +msgstr "" + +#: assets/api/tree.py:48 assets/serializers/node.py:42 +msgid "The same level node name cannot be the same" +msgstr "" + +#: assets/apps.py:9 +msgid "App Assets" +msgstr "" + +#: assets/automations/base/manager.py:347 +msgid " - Platform {} ansible disabled" +msgstr "" + +#: assets/automations/base/manager.py:530 +msgid ">>> Task preparation phase" +msgstr "" + +#: assets/automations/base/manager.py:534 +#, python-brace-format +msgid ">>> Executing tasks in batches, total {runner_count}" +msgstr "" + +#: assets/automations/base/manager.py:539 +msgid ">>> Start executing tasks" +msgstr "" + +#: assets/automations/base/manager.py:541 +msgid ">>> No tasks need to be executed" +msgstr "" + +#: assets/automations/base/manager.py:545 +#, python-brace-format +msgid ">>> Begin executing batch {index} of tasks" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:33 +#: authentication/models/connection_token.py:145 +msgid "No account" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:36 +msgid "Asset, {}, using account {}" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:55 +#, python-brace-format +msgid "Unable to connect to port {port} on {address}" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:58 +#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +msgid "Authentication failed" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:60 +#: assets/automations/ping_gateway/manager.py:86 terminal/const.py:104 +msgid "Connect failed" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:118 +msgid ">>> Start executing the task to test gateway connectivity" +msgstr "" + +#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:47 +#: audits/signal_handlers/activity_log.py:62 common/utils/ip/geoip/utils.py:31 +#: common/utils/ip/geoip/utils.py:37 common/utils/ip/utils.py:104 +msgid "Unknown" +msgstr "" + +#: assets/const/automation.py:7 +msgid "N/A" +msgstr "" + +#: assets/const/automation.py:8 +msgid "OK" +msgstr "" + +#: assets/const/automation.py:13 +msgid "Ping" +msgstr "" + +#: assets/const/automation.py:14 +msgid "Ping gateway" +msgstr "" + +#: assets/const/automation.py:15 +msgid "Gather facts" +msgstr "" + +#: assets/const/base.py:32 audits/const.py:58 +#: terminal/serializers/applet_host.py:32 users/models/user/_auth.py:32 +msgid "Disabled" +msgstr "" + +#: assets/const/base.py:33 settings/serializers/basic.py:8 +#: users/serializers/preference/koko.py:19 +#: users/serializers/preference/luna.py:85 +msgid "Basic" +msgstr "" + +#: assets/const/base.py:34 assets/const/protocol.py:298 +#: assets/models/asset/web.py:13 +msgid "Script" +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:81 settings/serializers/feature.py:94 +#: settings/serializers/msg.py:30 terminal/models/component/endpoint.py:14 +#: terminal/serializers/applet.py:17 xpack/plugins/cloud/manager.py:93 +#: xpack/plugins/cloud/serializers/account_attrs.py:72 +msgid "Host" +msgstr "" + +#: assets/const/category.py:11 assets/models/asset/device.py:8 +msgid "Device" +msgstr "" + +#: assets/const/category.py:13 +msgid "Cloud service" +msgstr "" + +#: assets/const/category.py:14 assets/models/asset/gpt.py:11 +#: assets/models/asset/web.py:16 audits/const.py:45 +#: terminal/models/applet/applet.py:28 users/const.py:76 +msgid "Web" +msgstr "" + +#: assets/const/category.py:15 common/sdk/sms/endpoint.py:20 +msgid "Custom type" +msgstr "" + +#: assets/const/cloud.py:7 +msgid "Public cloud" +msgstr "" + +#: assets/const/cloud.py:8 +msgid "Private cloud" +msgstr "" + +#: assets/const/cloud.py:9 +msgid "Kubernetes" +msgstr "" + +#: assets/const/device.py:7 +msgid "Cisco" +msgstr "" + +#: assets/const/device.py:8 +msgid "Huawei" +msgstr "" + +#: assets/const/device.py:9 +msgid "H3C" +msgstr "" + +#: assets/const/device.py:10 +msgid "Juniper" +msgstr "" + +#: assets/const/device.py:11 +msgid "TP-Link" +msgstr "" + +#: assets/const/device.py:12 terminal/models/applet/applet.py:27 +#: tickets/const.py:9 +msgid "General" +msgstr "" + +#: assets/const/device.py:13 +msgid "Switch" +msgstr "" + +#: assets/const/device.py:14 +msgid "Router" +msgstr "" + +#: assets/const/device.py:15 +msgid "Firewall" +msgstr "" + +#: assets/const/gpt.py:7 +msgid "ChatGPT" +msgstr "" + +#: assets/const/host.py:13 rbac/tree.py:28 rbac/tree.py:66 +#: xpack/plugins/cloud/const.py:69 +msgid "Other" +msgstr "" + +#: assets/const/protocol.py:46 +msgid "Old SSH version" +msgstr "" + +#: assets/const/protocol.py:47 +msgid "Old SSH version like openssh 5.x or 6.x" +msgstr "" + +#: assets/const/protocol.py:53 +msgid "Netcat help text" +msgstr "" + +#: assets/const/protocol.py:64 +msgid "SFTP root" +msgstr "" + +#: assets/const/protocol.py:66 +#, python-brace-format +msgid "" +"SFTP root directory, Support variable:
- ${ACCOUNT} The connected " +"account username
- ${HOME} The home directory of the connected account " +"
- ${USER} The username of the user" +msgstr "" + +#: assets/const/protocol.py:81 +msgid "Console" +msgstr "" + +#: assets/const/protocol.py:82 +msgid "Connect to console session" +msgstr "" + +#: assets/const/protocol.py:86 +msgid "Any" +msgstr "" + +#: assets/const/protocol.py:88 rbac/tree.py:62 +#: settings/serializers/security.py:241 +msgid "Security" +msgstr "" + +#: assets/const/protocol.py:89 +msgid "" +"Security layer to use for the connection:
Any
Automatically select the " +"security mode based on the security protocols supported by both the client " +"and the server
RDP
Legacy RDP encryption. This mode is generally only " +"used for older Windows servers or in cases where a standard Windows login " +"screen is desired
TLS
RDP authentication and encryption implemented " +"via TLS.
NLA
This mode uses TLS encryption and requires the username " +"and password to be given in advance" +msgstr "" + +#: assets/const/protocol.py:106 +msgid "AD domain" +msgstr "" + +#: assets/const/protocol.py:121 +msgid "Username prompt" +msgstr "" + +#: assets/const/protocol.py:122 +msgid "We will send username when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:127 +msgid "Password prompt" +msgstr "" + +#: assets/const/protocol.py:128 +msgid "We will send password when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:133 +msgid "Success prompt" +msgstr "" + +#: assets/const/protocol.py:134 +msgid "We will consider login success when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:145 assets/models/asset/database.py:11 +#: settings/serializers/msg.py:49 +msgid "Use SSL" +msgstr "" + +#: assets/const/protocol.py:180 +msgid "SYSDBA" +msgstr "" + +#: assets/const/protocol.py:181 +msgid "Connect as SYSDBA" +msgstr "" + +#: assets/const/protocol.py:196 +msgid "" +"SQL Server version, Different versions have different connection drivers" +msgstr "" + +#: assets/const/protocol.py:226 +msgid "Auth source" +msgstr "" + +#: assets/const/protocol.py:227 +msgid "The database to authenticate against" +msgstr "" + +#: assets/const/protocol.py:232 authentication/models/connection_token.py:47 +msgid "Connect options" +msgstr "" + +#: assets/const/protocol.py:233 +msgid "The connection specific options eg. retryWrites=false&retryReads=false" +msgstr "" + +#: assets/const/protocol.py:245 +msgid "Auth username" +msgstr "" + +#: assets/const/protocol.py:268 +msgid "Safe mode" +msgstr "" + +#: assets/const/protocol.py:270 +msgid "" +"When safe mode is enabled, some operations will be disabled, such as: New " +"tab, right click, visit other website, etc." +msgstr "" + +#: assets/const/protocol.py:275 assets/models/asset/web.py:9 +#: assets/serializers/asset/info/spec.py:16 +msgid "Autofill" +msgstr "" + +#: assets/const/protocol.py:283 assets/models/asset/web.py:10 +msgid "Username selector" +msgstr "" + +#: assets/const/protocol.py:288 assets/models/asset/web.py:11 +msgid "Password selector" +msgstr "" + +#: assets/const/protocol.py:293 assets/models/asset/web.py:12 +msgid "Submit selector" +msgstr "" + +#: assets/const/protocol.py:316 +msgid "API mode" +msgstr "" + +#: assets/const/types.py:249 +msgid "All types" +msgstr "" + +#: assets/const/web.py:7 +msgid "Website" +msgstr "" + +#: assets/exceptions.py:12 +msgid "This function is not supported temporarily" +msgstr "" + +#: assets/models/asset/cloud.py:11 +msgid "Cloud" +msgstr "" + +#: assets/models/asset/common.py:101 assets/models/platform.py:16 +#: settings/serializers/auth/radius.py:18 settings/serializers/auth/sms.py:77 +#: settings/serializers/msg.py:31 terminal/serializers/storage.py:133 +#: xpack/plugins/cloud/serializers/account_attrs.py:73 +msgid "Port" +msgstr "" + +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:172 +#: settings/serializers/terminal.py:10 +msgid "Address" +msgstr "" + +#: assets/models/asset/common.py:169 assets/models/platform.py:149 +#: assets/serializers/asset/common.py:150 +#: authentication/backends/passkey/models.py:12 +#: authentication/serializers/connect_token_secret.py:118 +#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:387 +msgid "Platform" +msgstr "" + +#: assets/models/asset/common.py:173 assets/models/domain.py:22 +msgid "Zone" +msgstr "" + +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:174 +#: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 +#: perms/serializers/permission.py:47 +msgid "Nodes" +msgstr "" + +#: assets/models/asset/common.py:179 assets/serializers/asset/common.py:422 +#: assets/serializers/asset/host.py:11 +msgid "Gathered info" +msgstr "" + +#: assets/models/asset/common.py:180 assets/serializers/asset/custom.py:14 +msgid "Custom info" +msgstr "" + +#: assets/models/asset/common.py:369 +msgid "Can refresh asset hardware info" +msgstr "" + +#: assets/models/asset/common.py:370 +msgid "Can test asset connectivity" +msgstr "" + +#: assets/models/asset/common.py:371 +msgid "Can match asset" +msgstr "" + +#: assets/models/asset/common.py:372 +msgid "Can change asset nodes" +msgstr "" + +#: assets/models/asset/custom.py:8 +msgid "Custom asset" +msgstr "" + +#: assets/models/asset/database.py:12 +msgid "CA cert" +msgstr "" + +#: assets/models/asset/database.py:13 +msgid "Client cert" +msgstr "" + +#: assets/models/asset/database.py:14 +msgid "Client key" +msgstr "" + +#: assets/models/asset/database.py:15 +msgid "Allow invalid cert" +msgstr "" + +#: assets/models/asset/database.py:18 +msgid "Postgresql SSL mode" +msgstr "" + +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:139 +#: settings/serializers/feature.py:154 +msgid "Proxy" +msgstr "" + +#: assets/models/automations/base.py:23 assets/models/cmd_filter.py:32 +#: assets/models/node.py:553 ops/models/job.py:156 +#: perms/models/asset_permission.py:72 tickets/models/ticket/apply_asset.py:14 +#: xpack/plugins/cloud/models.py:388 +msgid "Node" +msgstr "" + +#: assets/models/automations/base.py:29 ops/models/job.py:234 +#: ops/serializers/job.py:24 settings/serializers/auth/sms.py:108 +msgid "Parameters" +msgstr "" + +#: assets/models/automations/base.py:31 +msgid "Last execution date" +msgstr "" + +#: assets/models/automations/base.py:44 assets/models/automations/base.py:131 +msgid "Automation task" +msgstr "" + +#: assets/models/automations/base.py:122 +msgid "Asset automation task" +msgstr "" + +#: assets/models/automations/base.py:139 assets/models/cmd_filter.py:41 +#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:238 +#: users/models/user/__init__.py:317 +msgid "Date created" +msgstr "" + +#: assets/models/automations/base.py:153 +#: assets/serializers/automations/base.py:44 xpack/plugins/cloud/models.py:242 +#: xpack/plugins/cloud/serializers/task.py:249 +msgid "Trigger mode" +msgstr "" + +#: assets/models/automations/base.py:155 audits/serializers.py:39 +#: ops/models/base.py:52 ops/models/job.py:236 +#: xpack/plugins/cloud/manager.py:103 +msgid "Summary" +msgstr "" + +#: assets/models/automations/gather_facts.py:15 +msgid "Gather asset facts" +msgstr "" + +#: assets/models/automations/ping.py:15 +msgid "Ping asset" +msgstr "" + +#: assets/models/base.py:17 terminal/notifications.py:243 +msgid "Connectivity" +msgstr "" + +#: assets/models/base.py:19 authentication/models/temp_token.py:12 +msgid "Date verified" +msgstr "" + +#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 +#: users/models/group.py:25 users/models/user/__init__.py:66 +msgid "User group" +msgstr "" + +#: assets/models/cmd_filter.py:42 common/db/models.py:35 +#: users/models/user/__init__.py:145 +msgid "Date updated" +msgstr "" + +#: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 +#: common/db/models.py:32 users/models/user/__init__.py:104 +#: users/serializers/group.py:32 +msgid "Created by" +msgstr "" + +#: assets/models/cmd_filter.py:52 +msgid "Command filter" +msgstr "" + +#: assets/models/cmd_filter.py:66 +msgid "Deny" +msgstr "" + +#: assets/models/cmd_filter.py:67 +msgid "Allow" +msgstr "" + +#: assets/models/cmd_filter.py:68 +msgid "Reconfirm" +msgstr "" + +#: assets/models/cmd_filter.py:72 +msgid "Filter" +msgstr "" + +#: assets/models/cmd_filter.py:95 +msgid "Command filter rule" +msgstr "" + +#: assets/models/favorite_asset.py:17 +msgid "Favorite asset" +msgstr "" + +#: assets/models/gateway.py:34 assets/serializers/domain.py:19 +msgid "Gateway" +msgstr "" + +#: assets/models/label.py:15 rbac/const.py:6 +msgid "System" +msgstr "" + +#: assets/models/label.py:19 assets/models/node.py:539 +#: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18 +#: assets/serializers/cagegory.py:24 +#: authentication/models/connection_token.py:33 +#: authentication/serializers/connect_token_secret.py:125 +#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:38 +#: users/models/preference.py:13 +msgid "Value" +msgstr "" + +#: assets/models/label.py:40 assets/serializers/cagegory.py:10 +#: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 +#: assets/serializers/platform.py:159 +#: authentication/serializers/connect_token_secret.py:124 +#: common/serializers/common.py:85 labels/serializers.py:45 +#: settings/serializers/msg.py:90 xpack/plugins/cloud/models.py:392 +msgid "Label" +msgstr "" + +#: assets/models/my_asset.py:12 assets/serializers/my_asset.py:16 +msgid "Custom Name" +msgstr "" + +#: assets/models/my_asset.py:13 assets/serializers/my_asset.py:17 +msgid "Custom Comment" +msgstr "" + +#: assets/models/my_asset.py:18 rbac/tree.py:54 +msgid "My assets" +msgstr "" + +#: assets/models/node.py:168 +msgid "New node" +msgstr "" + +#: assets/models/node.py:467 audits/backends/db.py:85 audits/backends/db.py:86 +msgid "empty" +msgstr "" + +#: assets/models/node.py:538 perms/models/perm_node.py:28 +msgid "Key" +msgstr "" + +#: assets/models/node.py:540 assets/serializers/node.py:20 +msgid "Full value" +msgstr "" + +#: assets/models/node.py:544 perms/models/perm_node.py:30 +msgid "Parent key" +msgstr "" + +#: assets/models/node.py:556 +msgid "Can match node" +msgstr "" + +#: assets/models/platform.py:17 +msgid "Primary" +msgstr "" + +#: assets/models/platform.py:18 ops/models/variable.py:20 +msgid "Required" +msgstr "" + +#: assets/models/platform.py:19 assets/serializers/platform.py:161 +#: terminal/models/component/storage.py:28 +#: xpack/plugins/cloud/providers/nutanix.py:30 +msgid "Default" +msgstr "" + +#: assets/models/platform.py:20 +msgid "Public" +msgstr "" + +#: assets/models/platform.py:21 assets/serializers/platform.py:85 +#: settings/serializers/settings.py:95 +#: users/templates/users/reset_password.html:29 +msgid "Setting" +msgstr "" + +#: assets/models/platform.py:38 audits/const.py:59 +#: authentication/backends/passkey/models.py:11 settings/models.py:41 +#: terminal/serializers/applet_host.py:33 users/models/user/_auth.py:33 +msgid "Enabled" +msgstr "" + +#: assets/models/platform.py:39 +msgid "Ansible config" +msgstr "" + +#: assets/models/platform.py:41 assets/serializers/platform.py:36 +msgid "Ping enabled" +msgstr "" + +#: assets/models/platform.py:42 assets/serializers/platform.py:37 +msgid "Ping method" +msgstr "" + +#: assets/models/platform.py:43 +msgid "Ping params" +msgstr "" + +#: assets/models/platform.py:45 assets/models/platform.py:69 +#: assets/serializers/platform.py:39 +msgid "Gather facts enabled" +msgstr "" + +#: assets/models/platform.py:47 assets/models/platform.py:71 +#: assets/serializers/platform.py:43 +msgid "Gather facts method" +msgstr "" + +#: assets/models/platform.py:49 assets/models/platform.py:73 +msgid "Gather facts params" +msgstr "" + +#: assets/models/platform.py:51 assets/serializers/platform.py:53 +msgid "Change secret enabled" +msgstr "" + +#: assets/models/platform.py:53 assets/serializers/platform.py:57 +msgid "Change secret method" +msgstr "" + +#: assets/models/platform.py:55 +msgid "Change secret params" +msgstr "" + +#: assets/models/platform.py:57 assets/serializers/platform.py:60 +msgid "Push account enabled" +msgstr "" + +#: assets/models/platform.py:59 assets/serializers/platform.py:64 +msgid "Push account method" +msgstr "" + +#: assets/models/platform.py:61 +msgid "Push account params" +msgstr "" + +#: assets/models/platform.py:63 assets/serializers/platform.py:46 +msgid "Verify account enabled" +msgstr "" + +#: assets/models/platform.py:65 assets/serializers/platform.py:50 +msgid "Verify account method" +msgstr "" + +#: assets/models/platform.py:67 +msgid "Verify account params" +msgstr "" + +#: assets/models/platform.py:75 +msgid "Remove account enabled" +msgstr "" + +#: assets/models/platform.py:77 assets/serializers/platform.py:74 +msgid "Remove account method" +msgstr "" + +#: assets/models/platform.py:79 +msgid "Remove account params" +msgstr "" + +#: assets/models/platform.py:97 tickets/models/ticket/general.py:301 +msgid "Meta" +msgstr "" + +#: assets/models/platform.py:98 labels/models.py:13 +msgid "Internal" +msgstr "" + +#: assets/models/platform.py:102 assets/serializers/platform.py:171 +msgid "Charset" +msgstr "" + +#: assets/models/platform.py:104 assets/serializers/platform.py:209 +msgid "Gateway enabled" +msgstr "" + +#: assets/models/platform.py:106 assets/serializers/platform.py:202 +msgid "Su enabled" +msgstr "" + +#: assets/models/platform.py:107 assets/serializers/platform.py:177 +msgid "Su method" +msgstr "" + +#: assets/models/platform.py:108 assets/serializers/platform.py:180 +msgid "Custom fields" +msgstr "" + +#: assets/models/utils.py:18 +#, python-format +msgid "%(value)s is not an even number" +msgstr "" + +#: assets/notifications.py:12 +msgid "" +"Batch update platform in assets, skipping assets that do not meet platform " +"type" +msgstr "" + +#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:153 +msgid "Protocols, format is [\"protocol/port\"]" +msgstr "" + +#: assets/serializers/asset/common.py:38 +msgid "Protocol, format is name/port" +msgstr "" + +#: assets/serializers/asset/common.py:107 +msgid "" +"Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " +"\"secret_type\": \"password\"}]" +msgstr "" + +#: assets/serializers/asset/common.py:135 +msgid "" +"Node path, format [\"/org_name/node_name\"], if node not exist, will create " +"it" +msgstr "" + +#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:174 +#: authentication/serializers/connect_token_secret.py:30 +#: authentication/serializers/connect_token_secret.py:75 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:56 +#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:390 +#: xpack/plugins/cloud/serializers/task.py:36 +msgid "Protocols" +msgstr "" + +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:173 +msgid "Node path" +msgstr "" + +#: assets/serializers/asset/common.py:170 +#: assets/serializers/asset/common.py:423 +msgid "Auto info" +msgstr "" + +#: assets/serializers/asset/common.py:268 +msgid "Platform not exist" +msgstr "" + +#: assets/serializers/asset/common.py:304 +msgid "port out of range (0-65535)" +msgstr "" + +#: assets/serializers/asset/common.py:311 +msgid "Protocol is required: {}" +msgstr "" + +#: assets/serializers/asset/common.py:350 +msgid "Invalid data" +msgstr "" + +#: assets/serializers/asset/database.py:13 +msgid "Default database" +msgstr "" + +#: assets/serializers/asset/database.py:23 +msgid "CA cert help text" +msgstr "" + +#: assets/serializers/asset/database.py:24 +msgid "Postgresql ssl model help text" +msgstr "" + +#: assets/serializers/asset/gpt.py:20 +msgid "" +"If the server cannot directly connect to the API address, you need set up an " +"HTTP proxy. e.g. http(s)://host:port" +msgstr "" + +#: assets/serializers/asset/gpt.py:24 +msgid "HTTP proxy" +msgstr "" + +#: assets/serializers/asset/gpt.py:31 +msgid "Proxy must start with http:// or https://" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:6 +msgid "Vendor" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:7 +msgid "Model" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:8 +#: tickets/models/ticket/general.py:300 +msgid "Serial number" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:9 +msgid "CPU model" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:10 +msgid "CPU count" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:11 +msgid "CPU cores" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:12 +msgid "CPU vcpus" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:13 +msgid "Memory" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:14 +msgid "Disk total" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:16 +#: authentication/serializers/connect_token_secret.py:115 +msgid "OS" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:17 +msgid "OS version" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:18 +msgid "OS arch" +msgstr "" + +#: assets/serializers/automations/base.py:38 +msgid "Executions" +msgstr "" + +#: assets/serializers/cagegory.py:13 +msgid "Constraints" +msgstr "" + +#: assets/serializers/cagegory.py:19 settings/serializers/feature.py:129 +msgid "Types" +msgstr "" + +#: assets/serializers/domain.py:21 +msgid "" +"A gateway is a network proxy for a zone, and when connecting assets within " +"the zone, the connection is routed through the gateway." +msgstr "" + +#: assets/serializers/gateway.py:19 +msgid "The platform must start with Gateway" +msgstr "" + +#: assets/serializers/gateway.py:28 common/validators.py:34 +msgid "This field must be unique." +msgstr "" + +#: assets/serializers/node.py:17 +msgid "value" +msgstr "" + +#: assets/serializers/node.py:31 +msgid "Can't contains: /" +msgstr "" + +#: assets/serializers/platform.py:36 +msgid "Enable asset detection" +msgstr "" + +#: assets/serializers/platform.py:40 +msgid "Enable asset information collection" +msgstr "" + +#: assets/serializers/platform.py:47 +msgid "Enable account verification" +msgstr "" + +#: assets/serializers/platform.py:54 +msgid "Enable account secret auto change" +msgstr "" + +#: assets/serializers/platform.py:61 +msgid "Enable account auto push" +msgstr "" + +#: assets/serializers/platform.py:67 +msgid "Gather accounts enabled" +msgstr "" + +#: assets/serializers/platform.py:68 +msgid "Enable account collection" +msgstr "" + +#: assets/serializers/platform.py:71 +msgid "Gather accounts method" +msgstr "" + +#: assets/serializers/platform.py:77 +msgid "Remove accounts enabled" +msgstr "" + +#: assets/serializers/platform.py:78 +msgid "Enable account remove" +msgstr "" + +#: assets/serializers/platform.py:86 +msgid "Port from addr" +msgstr "" + +#: assets/serializers/platform.py:98 +msgid "" +"This protocol is primary, and it must be set when adding assets. " +"Additionally, there can only be one primary protocol." +msgstr "" + +#: assets/serializers/platform.py:103 +msgid "This protocol is required, and it must be set when adding assets." +msgstr "" + +#: assets/serializers/platform.py:106 +msgid "" +"This protocol is default, when adding assets, it will be displayed by " +"default." +msgstr "" + +#: assets/serializers/platform.py:109 +msgid "This protocol is public, asset will show this protocol to user" +msgstr "" + +#: assets/serializers/platform.py:162 +msgid "Help text" +msgstr "" + +#: assets/serializers/platform.py:163 +msgid "Choices" +msgstr "" + +#: assets/serializers/platform.py:175 +msgid "Automation" +msgstr "" + +#: assets/serializers/platform.py:204 +msgid "" +"Login with account when accessing assets, then automatically switch to " +"another, similar to logging in with a regular account and then switching to " +"root" +msgstr "" + +#: assets/serializers/platform.py:210 +msgid "Assets can be connected using a zone gateway" +msgstr "" + +#: assets/serializers/platform.py:212 +msgid "Default Domain" +msgstr "" + +#: assets/serializers/platform.py:234 +msgid "type is required" +msgstr "" + +#: assets/serializers/platform.py:249 +msgid "Protocols is required" +msgstr "" + +#: assets/signal_handlers/asset.py:26 assets/tasks/ping.py:39 +msgid "Test assets connectivity " +msgstr "" + +#: assets/signal_handlers/asset.py:36 +msgid "Gather asset hardware info" +msgstr "" + +#: assets/tasks/automation.py:25 +msgid "Asset execute automation" +msgstr "" + +#: assets/tasks/automation.py:27 orgs/tasks.py:11 terminal/tasks.py:33 +msgid "Unused" +msgstr "" + +#: assets/tasks/gather_facts.py:22 assets/tasks/gather_facts.py:32 +msgid "Gather assets facts" +msgstr "" + +#: assets/tasks/gather_facts.py:25 +msgid "" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " +"this task \n" +" will be executed" +msgstr "" + +#: assets/tasks/gather_facts.py:44 +msgid "Update assets hardware info: " +msgstr "" + +#: assets/tasks/gather_facts.py:52 +msgid "Update node asset hardware information: " +msgstr "" + +#: assets/tasks/nodes_amount.py:16 +msgid "Check the amount of assets under the node" +msgstr "" + +#: assets/tasks/nodes_amount.py:18 +msgid "" +"Manually verifying asset quantities updates the asset count for nodes under " +"the \n" +" current organization. This task will be called in the following two " +"cases: when updating \n" +" nodes and when the number of nodes exceeds 100" +msgstr "" + +#: assets/tasks/nodes_amount.py:34 +msgid "" +"The task of self-checking is already running and cannot be started repeatedly" +msgstr "" + +#: assets/tasks/nodes_amount.py:40 +msgid "Periodic check the amount of assets under the node" +msgstr "" + +#: assets/tasks/nodes_amount.py:42 +msgid "" +"Schedule the check_node_assets_amount_task to periodically update the asset " +"count of \n" +" all nodes under all organizations" +msgstr "" + +#: assets/tasks/ping.py:20 assets/tasks/ping.py:30 +msgid "Test assets connectivity" +msgstr "" + +#: assets/tasks/ping.py:24 +msgid "" +"When clicking 'Test Asset Connectivity' in 'Asset Details - Basic Settings' " +"this task will be executed" +msgstr "" + +#: assets/tasks/ping.py:46 +msgid "Test if the assets under the node are connectable " +msgstr "" + +#: assets/tasks/ping_gateway.py:19 assets/tasks/ping_gateway.py:29 +#: assets/tasks/ping_gateway.py:38 +msgid "Test gateways connectivity" +msgstr "" + +#: assets/tasks/ping_gateway.py:23 +msgid "" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " +"be executed" +msgstr "" + +#: assets/tasks/utils.py:16 +msgid "Asset has been disabled, skipped: {}" +msgstr "" + +#: assets/tasks/utils.py:20 +msgid "Asset may not be support ansible, skipped: {}" +msgstr "" + +#: assets/tasks/utils.py:38 +msgid "For security, do not push user {}" +msgstr "" + +#: assets/tasks/utils.py:54 +msgid "No assets matched, stop task" +msgstr "" + +#: audits/apps.py:9 +msgid "App Audits" +msgstr "" + +#: audits/backends/db.py:17 +msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgstr "" + +#: audits/backends/db.py:78 +msgid "labels" +msgstr "" + +#: audits/backends/db.py:79 +msgid "operate_log_id" +msgstr "" + +#: audits/backends/db.py:111 ops/models/variable.py:19 +msgid "Tips" +msgstr "" + +#: audits/const.py:12 +msgid "Mkdir" +msgstr "" + +#: audits/const.py:13 +msgid "Rmdir" +msgstr "" + +#: audits/const.py:14 audits/const.py:25 +#: authentication/templates/authentication/_access_key_modal.html:65 +#: rbac/tree.py:270 +msgid "Delete" +msgstr "" + +#: audits/const.py:15 +msgid "Upload" +msgstr "" + +#: audits/const.py:16 +msgid "Rename" +msgstr "" + +#: audits/const.py:17 +msgid "Symlink" +msgstr "" + +#: audits/const.py:18 audits/const.py:28 +#: ops/templates/ops/celery_task_log.html:86 +#: terminal/api/session/session.py:154 +msgid "Download" +msgstr "" + +#: audits/const.py:19 +msgid "Rename dir" +msgstr "" + +#: 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:94 +msgid "View" +msgstr "" + +#: audits/const.py:26 +#: authentication/templates/authentication/_access_key_modal.html:22 +#: rbac/tree.py:267 +msgid "Create" +msgstr "" + +#: audits/const.py:29 +msgid "Connect" +msgstr "" + +#: audits/const.py:30 authentication/templates/authentication/login.html:329 +#: authentication/templates/authentication/login.html:401 +#: templates/_header_bar.html:101 +msgid "Login" +msgstr "" + +#: audits/const.py:35 rbac/tree.py:56 +msgid "Notifications" +msgstr "" + +#: audits/const.py:37 tickets/const.py:45 +msgid "Approve" +msgstr "" + +#: audits/const.py:41 ops/models/celery.py:85 +#: terminal/models/session/sharing.py:128 tickets/const.py:25 +#: xpack/plugins/cloud/const.py:67 +msgid "Finished" +msgstr "" + +#: audits/const.py:46 settings/serializers/terminal.py:6 +#: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 +#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:57 +#: terminal/serializers/session.py:113 +msgid "Terminal" +msgstr "" + +#: audits/const.py:51 audits/models.py:133 +msgid "Operate log" +msgstr "" + +#: audits/const.py:52 +msgid "Session log" +msgstr "" + +#: audits/const.py:53 +msgid "Login log" +msgstr "" + +#: audits/const.py:54 rbac/tree.py:64 terminal/models/applet/host.py:144 +#: terminal/models/component/task.py:22 +#: xpack/plugins/cloud/serializers/account.py:77 +msgid "Task" +msgstr "" + +#: audits/const.py:60 +msgid "-" +msgstr "" + +#: audits/handler.py:128 +msgid "Yes" +msgstr "" + +#: audits/models.py:48 +msgid "Job audit log" +msgstr "" + +#: audits/models.py:57 audits/models.py:101 audits/models.py:176 +#: audits/models.py:309 terminal/models/session/session.py:41 +#: terminal/models/session/sharing.py:113 +msgid "Remote addr" +msgstr "" + +#: audits/models.py:62 audits/serializers.py:62 +msgid "Operate" +msgstr "" + +#: audits/models.py:64 +msgid "Filename" +msgstr "" + +#: audits/models.py:67 +msgid "Can Download" +msgstr "" + +#: audits/models.py:68 terminal/backends/command/models.py:21 +#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:20 +#: terminal/models/session/sharing.py:95 terminal/serializers/command.py:19 +#: terminal/templates/terminal/_msg_command_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:17 +#: tickets/models/ticket/command_confirm.py:15 +msgid "Session" +msgstr "" + +#: audits/models.py:71 +msgid "File transfer log" +msgstr "" + +#: audits/models.py:95 audits/serializers.py:110 +msgid "Resource Type" +msgstr "" + +#: audits/models.py:96 audits/models.py:99 audits/models.py:145 +#: audits/serializers.py:109 labels/serializers.py:46 +msgid "Resource" +msgstr "" + +#: audits/models.py:102 audits/models.py:148 audits/models.py:178 +#: audits/models.py:314 audits/serializers.py:230 +#: terminal/serializers/command.py:75 +msgid "Datetime" +msgstr "" + +#: audits/models.py:141 +msgid "Activity type" +msgstr "" + +#: audits/models.py:154 +msgid "Detail ID" +msgstr "" + +#: audits/models.py:158 +msgid "Activity log" +msgstr "" + +#: audits/models.py:174 +msgid "Change by" +msgstr "" + +#: audits/models.py:184 +msgid "Password change log" +msgstr "" + +#: audits/models.py:191 audits/models.py:268 +msgid "Login type" +msgstr "" + +#: audits/models.py:193 audits/models.py:264 +#: tickets/models/ticket/login_confirm.py:10 +msgid "Login IP" +msgstr "" + +#: audits/models.py:201 audits/serializers.py:76 +#: authentication/templates/authentication/_mfa_confirm_modal.html:14 +#: users/forms/profile.py:64 users/models/user/__init__.py:82 +#: users/serializers/profile.py:71 +msgid "MFA" +msgstr "" + +#: audits/models.py:204 terminal/models/session/sharing.py:125 +#: xpack/plugins/cloud/manager.py:180 xpack/plugins/cloud/models.py:231 +msgid "Reason" +msgstr "" + +#: audits/models.py:211 +#: authentication/templates/authentication/_msg_different_city.html:10 +#: tickets/models/ticket/login_confirm.py:12 +msgid "Login Date" +msgstr "" + +#: audits/models.py:213 audits/models.py:269 +msgid "Auth backend" +msgstr "" + +#: audits/models.py:257 +msgid "User login log" +msgstr "" + +#: audits/models.py:265 +msgid "Session key" +msgstr "" + +#: audits/models.py:270 +msgid "Login date" +msgstr "" + +#: audits/models.py:301 +msgid "User session" +msgstr "" + +#: audits/models.py:303 +msgid "Offline user session" +msgstr "" + +#: audits/models.py:310 +msgid "Application" +msgstr "" + +#: audits/models.py:311 +msgid "Application ID" +msgstr "" + +#: audits/serializers.py:33 ops/models/adhoc.py:24 ops/models/base.py:16 +#: ops/models/base.py:53 ops/models/celery.py:87 ops/models/job.py:154 +#: ops/models/job.py:237 ops/models/playbook.py:30 ops/models/variable.py:17 +#: terminal/models/session/sharing.py:25 +msgid "Creator" +msgstr "" + +#: audits/serializers.py:40 ops/serializers/celery.py:33 +msgid "Execution cycle" +msgstr "" + +#: audits/serializers.py:93 +msgid "Reason display" +msgstr "" + +#: audits/serializers.py:94 audits/serializers.py:208 +msgid "Auth backend display" +msgstr "" + +#: audits/serializers.py:158 +#, python-format +msgid "%s %s this resource" +msgstr "" + +#: audits/serializers.py:196 authentication/models/connection_token.py:51 +#: 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:101 +msgid "Date expired" +msgstr "" + +#: audits/serializers.py:227 terminal/models/component/terminal.py:91 +#: terminal/serializers/command.py:76 +msgid "Remote Address" +msgstr "" + +#: audits/signal_handlers/activity_log.py:26 +#, python-format +msgid "User %s use account %s login asset %s" +msgstr "" + +#: audits/signal_handlers/activity_log.py:34 +#, python-format +msgid "User %s login system %s" +msgstr "" + +#: audits/signal_handlers/activity_log.py:64 +#, python-format +msgid "User %s perform a task for this resource: %s" +msgstr "" + +#: audits/signal_handlers/login_log.py:33 +msgid "SSH Key" +msgstr "" + +#: audits/signal_handlers/login_log.py:35 settings/serializers/auth/sso.py:13 +msgid "SSO" +msgstr "" + +#: audits/signal_handlers/login_log.py:36 +msgid "Auth Token" +msgstr "" + +#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 +#: authentication/views/login.py:79 notifications/backends/__init__.py:11 +#: settings/serializers/auth/wecom.py:11 settings/serializers/auth/wecom.py:16 +#: users/models/user/__init__.py:125 users/models/user/_source.py:19 +msgid "WeCom" +msgstr "" + +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:97 +#: authentication/views/login.py:91 notifications/backends/__init__.py:14 +#: settings/serializers/auth/feishu.py:12 +#: settings/serializers/auth/feishu.py:14 users/models/user/__init__.py:131 +#: users/models/user/_source.py:21 +msgid "FeiShu" +msgstr "" + +#: audits/signal_handlers/login_log.py:40 authentication/views/login.py:103 +#: authentication/views/slack.py:79 notifications/backends/__init__.py:16 +#: settings/serializers/auth/slack.py:11 settings/serializers/auth/slack.py:13 +#: users/models/user/__init__.py:137 users/models/user/_source.py:23 +msgid "Slack" +msgstr "" + +#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:151 +#: authentication/views/login.py:85 notifications/backends/__init__.py:12 +#: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:128 +#: users/models/user/_source.py:20 +msgid "DingTalk" +msgstr "" + +#: audits/signal_handlers/login_log.py:42 +#: authentication/models/temp_token.py:16 +msgid "Temporary token" +msgstr "" + +#: audits/signal_handlers/login_log.py:43 authentication/views/login.py:109 +#: settings/serializers/auth/passkey.py:8 +#: settings/serializers/auth/passkey.py:11 +msgid "Passkey" +msgstr "" + +#: audits/tasks.py:132 +msgid "Clean audits session task log" +msgstr "" + +#: audits/tasks.py:134 +msgid "" +"Since the system generates login logs, operation logs, file upload logs, " +"activity \n" +" logs, Celery execution logs, session recordings, command records, " +"and password change \n" +" logs, it will perform cleanup of records that exceed the time limit " +"according to the \n" +" 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" +msgstr "" + +#: audits/tasks.py:154 +msgid "Upload FTP file to external storage" +msgstr "" + +#: audits/tasks.py:156 +msgid "" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " +"management will be \n" +" synchronized to external storage" +msgstr "" + +#: authentication/api/access_key.py:39 +msgid "Access keys can be created at most 10" +msgstr "" + +#: authentication/api/common.py:34 settings/serializers/auth/sms.py:122 +#, python-format +msgid "The value in the parameter must contain %s" +msgstr "" + +#: authentication/api/confirm.py:50 +msgid "This action require verify your MFA" +msgstr "" + +#: authentication/api/connection_token.py:303 +msgid "Reusable connection token is not allowed, global setting not enabled" +msgstr "" + +#: authentication/api/connection_token.py:423 +msgid "Anonymous account is not supported for this asset" +msgstr "" + +#: authentication/api/connection_token.py:455 +msgid "Permission expired" +msgstr "" + +#: authentication/api/connection_token.py:488 +msgid "ACL action is reject: {}({})" +msgstr "" + +#: authentication/api/connection_token.py:492 +msgid "ACL action is review" +msgstr "" + +#: authentication/api/connection_token.py:502 +msgid "ACL action is face verify" +msgstr "" + +#: authentication/api/connection_token.py:507 +msgid "ACL action not supported for this asset" +msgstr "" + +#: authentication/api/connection_token.py:514 +msgid "ACL action is face online" +msgstr "" + +#: authentication/api/connection_token.py:533 +msgid "No available face feature" +msgstr "" + +#: authentication/api/face.py:100 authentication/mfa/face.py:21 +#: authentication/mfa/face.py:23 users/views/profile/face.py:72 +msgid "Facial comparison failed" +msgstr "" + +#: authentication/api/mfa.py:61 +msgid "Current user not support mfa type: {}" +msgstr "" + +#: 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:34 users/views/profile/reset.py:166 +msgid "No user matched" +msgstr "" + +#: 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:69 +#: authentication/templates/authentication/login.html:393 +#: users/templates/users/forgot_password.html:41 +#: users/templates/users/forgot_password.html:42 +#: users/templates/users/forgot_password_previewing.html:13 +#: users/templates/users/forgot_password_previewing.html:14 +msgid "Forgot password" +msgstr "" + +#: authentication/apps.py:7 +msgid "App Authentication" +msgstr "" + +#: authentication/backends/custom.py:60 +#: authentication/backends/oauth2/backends.py:158 +msgid "User invalid, disabled or expired" +msgstr "" + +#: authentication/backends/drf.py:60 +msgid "Invalid token header. No credentials provided." +msgstr "" + +#: authentication/backends/drf.py:63 +msgid "Invalid token header. Sign string should not contain spaces." +msgstr "" + +#: authentication/backends/drf.py:69 +msgid "" +"Invalid token header. Sign string should not contain invalid characters." +msgstr "" + +#: authentication/backends/drf.py:82 +msgid "Invalid token or cache refreshed." +msgstr "" + +#: authentication/backends/oidc/views.py:175 +msgid "OpenID Error" +msgstr "" + +#: authentication/backends/oidc/views.py:176 +#: authentication/backends/saml2/views.py:283 +msgid "Please check if a user with the same username or email already exists" +msgstr "" + +#: authentication/backends/passkey/api.py:37 +msgid "Only register passkey for local user" +msgstr "" + +#: authentication/backends/passkey/api.py:65 +msgid "Auth failed" +msgstr "" + +#: authentication/backends/passkey/fido.py:151 +msgid "This key is not registered" +msgstr "" + +#: authentication/backends/passkey/models.py:13 +msgid "Added on" +msgstr "" + +#: authentication/backends/passkey/models.py:15 +msgid "Credential ID" +msgstr "" + +#: authentication/backends/saml2/views.py:282 +msgid "SAML2 Error" +msgstr "" + +#: authentication/confirm/password.py:17 +msgid "Authentication failed password incorrect" +msgstr "" + +#: authentication/confirm/relogin.py:11 +msgid "Login time has exceeded {} minutes, please login again" +msgstr "" + +#: authentication/const.py:32 +msgid "OTP" +msgstr "" + +#: authentication/const.py:33 authentication/serializers/password_mfa.py:16 +#: authentication/serializers/password_mfa.py:24 +#: settings/serializers/auth/sms.py:18 settings/serializers/auth/sms.py:36 +#: 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/const.py:34 +msgid "Face Recognition" +msgstr "" + +#: authentication/const.py:35 settings/serializers/auth/radius.py:14 +#: settings/serializers/auth/radius.py:16 +msgid "Radius" +msgstr "" + +#: authentication/const.py:36 +msgid "Custom" +msgstr "" + +#: authentication/errors/const.py:18 +msgid "Username/password check failed" +msgstr "" + +#: authentication/errors/const.py:19 +msgid "Password decrypt failed" +msgstr "" + +#: authentication/errors/const.py:20 +msgid "MFA failed" +msgstr "" + +#: authentication/errors/const.py:21 +msgid "MFA unset" +msgstr "" + +#: authentication/errors/const.py:22 +msgid "Username does not exist" +msgstr "" + +#: authentication/errors/const.py:24 +msgid "Disabled or expired" +msgstr "" + +#: authentication/errors/const.py:25 +msgid "This account is inactive." +msgstr "" + +#: authentication/errors/const.py:26 +msgid "This account is expired" +msgstr "" + +#: authentication/errors/const.py:27 +msgid "Auth backend not match" +msgstr "" + +#: authentication/errors/const.py:28 +msgid "ACL is not allowed" +msgstr "" + +#: authentication/errors/const.py:29 +msgid "Only local users are allowed" +msgstr "" + +#: authentication/errors/const.py:39 +msgid "No session found, check your cookie" +msgstr "" + +#: authentication/errors/const.py:41 +#, python-brace-format +msgid "" +"The username or password you entered is incorrect, please enter it again. " +"You can also try {times_try} times (The account will be temporarily locked " +"for {block_time} minutes)" +msgstr "" + +#: authentication/errors/const.py:47 authentication/errors/const.py:55 +msgid "" +"The account has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" + +#: authentication/errors/const.py:51 +msgid "" +"The address has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" + +#: authentication/errors/const.py:59 +#, python-brace-format +msgid "" +"{error}, You can also try {times_try} times (The account will be temporarily " +"locked for {block_time} minutes)" +msgstr "" + +#: authentication/errors/const.py:63 +msgid "MFA required" +msgstr "" + +#: authentication/errors/const.py:64 +msgid "MFA not set, please set it first" +msgstr "" + +#: authentication/errors/const.py:65 +msgid "Login confirm required" +msgstr "" + +#: authentication/errors/const.py:66 +msgid "Wait login confirm ticket for accept" +msgstr "" + +#: authentication/errors/const.py:67 +msgid "Login confirm ticket was {}" +msgstr "" + +#: authentication/errors/failed.py:149 +msgid "Current login is prohibited by ACL rules" +msgstr "" + +#: authentication/errors/failed.py:154 +msgid "Please enter MFA code" +msgstr "" + +#: authentication/errors/failed.py:159 +msgid "Please enter SMS code" +msgstr "" + +#: authentication/errors/failed.py:164 users/exceptions.py:14 +msgid "Phone not set" +msgstr "" + +#: authentication/errors/mfa.py:8 +msgid "SSO auth closed" +msgstr "" + +#: authentication/errors/mfa.py:18 authentication/views/wecom.py:47 +msgid "WeCom is already bound" +msgstr "" + +#: authentication/errors/mfa.py:23 authentication/views/wecom.py:144 +#: authentication/views/wecom.py:186 +msgid "WeCom is not bound" +msgstr "" + +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 +#: authentication/views/dingtalk.py:247 +msgid "DingTalk is not bound" +msgstr "" + +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:132 +msgid "FeiShu is not bound" +msgstr "" + +#: authentication/errors/mfa.py:38 authentication/views/lark.py:48 +msgid "Lark is not bound" +msgstr "" + +#: authentication/errors/mfa.py:43 authentication/views/slack.py:121 +msgid "Slack is not bound" +msgstr "" + +#: authentication/errors/mfa.py:48 +msgid "Your password is invalid" +msgstr "" + +#: authentication/errors/mfa.py:53 +#, python-format +msgid "Please wait for %s seconds before retry" +msgstr "" + +#: authentication/errors/redirect.py:85 authentication/mixins.py:327 +msgid "Your password is too simple, please change it for security" +msgstr "" + +#: authentication/errors/redirect.py:93 authentication/mixins.py:336 +msgid "You should to change your password before login" +msgstr "" + +#: authentication/errors/redirect.py:101 authentication/mixins.py:345 +msgid "Your password has expired, please reset before logging in" +msgstr "" + +#: authentication/forms.py:34 +msgid "Auto-login" +msgstr "" + +#: authentication/forms.py:52 +msgid "MFA Code" +msgstr "" + +#: authentication/forms.py:53 +msgid "MFA type" +msgstr "" + +#: authentication/forms.py:61 +#: authentication/templates/authentication/_captcha_field.html:15 +msgid "Captcha" +msgstr "" + +#: authentication/forms.py:66 users/forms/profile.py:28 +msgid "MFA code" +msgstr "" + +#: authentication/forms.py:68 +msgid "Dynamic code" +msgstr "" + +#: authentication/mfa/base.py:8 +msgid "Please input security code" +msgstr "" + +#: authentication/mfa/base.py:27 +msgid "" +"The two-factor code you entered has either already been used or has expired. " +"Please request a new one." +msgstr "" + +#: authentication/mfa/custom.py:21 +msgid "MFA Custom code invalid" +msgstr "" + +#: authentication/mfa/custom.py:27 +msgid "MFA custom verification code" +msgstr "" + +#: authentication/mfa/custom.py:57 +msgid "MFA custom global enabled, cannot disable" +msgstr "" + +#: authentication/mfa/face.py:55 +msgid "Bind face to enable" +msgstr "" + +#: authentication/mfa/face.py:59 +msgid "Unbind face to disable" +msgstr "" + +#: authentication/mfa/otp.py:7 +msgid "OTP code invalid, or server time error" +msgstr "" + +#: authentication/mfa/otp.py:13 +msgid "OTP verification code" +msgstr "" + +#: authentication/mfa/otp.py:48 +msgid "Virtual OTP based MFA" +msgstr "" + +#: authentication/mfa/radius.py:8 +msgid "Radius verify code invalid" +msgstr "" + +#: authentication/mfa/radius.py:14 +msgid "Radius verification code" +msgstr "" + +#: authentication/mfa/radius.py:45 +msgid "Radius global enabled, cannot disable" +msgstr "" + +#: authentication/mfa/sms.py:9 +msgid "SMS verify code invalid" +msgstr "" + +#: authentication/mfa/sms.py:15 +msgid "SMS verification code" +msgstr "" + +#: authentication/mfa/sms.py:64 +msgid "Set phone number to enable" +msgstr "" + +#: authentication/mfa/sms.py:68 +msgid "Clear phone number to disable" +msgstr "" + +#: authentication/middleware.py:95 settings/utils/ldap.py:691 +msgid "Authentication failed (before login check failed): {}" +msgstr "" + +#: authentication/mixins.py:83 +msgid "User is invalid" +msgstr "" + +#: authentication/mixins.py:98 +msgid "" +"The administrator has enabled 'Only allow login from user source'. \n" +" The current user source is {}. Please contact the administrator." +msgstr "" + +#: authentication/mixins.py:273 +msgid "The MFA type ({}) is not enabled" +msgstr "" + +#: authentication/mixins.py:315 +msgid "Please change your password" +msgstr "" + +#: authentication/models/connection_token.py:42 +#: terminal/serializers/storage.py:114 +msgid "Account name" +msgstr "" + +#: authentication/models/connection_token.py:43 +msgid "Input username" +msgstr "" + +#: authentication/models/connection_token.py:44 +#: authentication/serializers/connection_token.py:18 +msgid "Input secret" +msgstr "" + +#: authentication/models/connection_token.py:45 +#: authentication/serializers/connect_token_secret.py:114 +#: settings/serializers/msg.py:28 terminal/models/applet/applet.py:43 +#: terminal/models/virtualapp/virtualapp.py:24 +#: terminal/serializers/session.py:23 terminal/serializers/session.py:50 +#: terminal/serializers/storage.py:71 +msgid "Protocol" +msgstr "" + +#: authentication/models/connection_token.py:46 +msgid "Connect method" +msgstr "" + +#: authentication/models/connection_token.py:48 +msgid "User display" +msgstr "" + +#: authentication/models/connection_token.py:49 +msgid "Asset display" +msgstr "" + +#: authentication/models/connection_token.py:50 +msgid "Reusable" +msgstr "" + +#: authentication/models/connection_token.py:55 +#: perms/models/asset_permission.py:83 +msgid "From ticket" +msgstr "" + +#: authentication/models/connection_token.py:57 +msgid "Face monitor token" +msgstr "" + +#: authentication/models/connection_token.py:68 +msgid "Can expire connection token" +msgstr "" + +#: authentication/models/connection_token.py:69 +msgid "Can reuse connection token" +msgstr "" + +#: authentication/models/connection_token.py:71 +msgid "Connection token" +msgstr "" + +#: authentication/models/connection_token.py:132 +msgid "Connection token inactive" +msgstr "" + +#: authentication/models/connection_token.py:136 +msgid "Connection token expired at: {}" +msgstr "" + +#: authentication/models/connection_token.py:139 +#: terminal/serializers/session.py:95 +msgid "No user or invalid user" +msgstr "" + +#: authentication/models/connection_token.py:142 +msgid "No asset or inactive asset" +msgstr "" + +#: authentication/models/connection_token.py:290 +msgid "Can view super connection token secret" +msgstr "" + +#: authentication/models/connection_token.py:292 +msgid "Super connection token" +msgstr "" + +#: authentication/models/connection_token.py:309 +msgid "Admin connection token" +msgstr "" + +#: authentication/models/private_token.py:11 +msgid "Private Token" +msgstr "" + +#: authentication/models/ssh_key.py:15 terminal/serializers/storage.py:146 +#: users/models/user/__init__.py:89 +#: xpack/plugins/cloud/serializers/account_attrs.py:214 +msgid "Private key" +msgstr "" + +#: authentication/models/ssh_key.py:18 settings/serializers/terminal.py:34 +#: users/forms/profile.py:175 users/models/user/__init__.py:92 +#: xpack/plugins/cloud/serializers/account_attrs.py:211 +msgid "Public key" +msgstr "" + +#: authentication/models/sso_token.py:15 +msgid "Expired" +msgstr "" + +#: authentication/models/sso_token.py:20 +msgid "SSO token" +msgstr "" + +#: authentication/models/temp_token.py:11 +msgid "Verified" +msgstr "" + +#: authentication/notifications.py:19 +msgid "Different city login reminder" +msgstr "" + +#: authentication/notifications.py:52 +msgid "binding reminder" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:116 +msgid "Is builtin" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:120 +msgid "Options" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:127 +#: ops/notifications.py:19 rbac/tree.py:60 +msgid "Component" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:136 +#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:389 +msgid "Domain" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:138 +msgid "Expired now" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:171 +#: terminal/models/virtualapp/virtualapp.py:25 +msgid "Image name" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:172 +#: terminal/models/virtualapp/virtualapp.py:27 +msgid "Image port" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:173 +#: terminal/models/virtualapp/virtualapp.py:26 +msgid "Image protocol" +msgstr "" + +#: authentication/serializers/connection_token.py:16 +msgid "Expired time" +msgstr "" + +#: authentication/serializers/connection_token.py:20 +msgid "Ticket info" +msgstr "" + +#: authentication/serializers/connection_token.py:21 +#: perms/models/asset_permission.py:77 +#: tickets/models/ticket/apply_application.py:28 +#: tickets/models/ticket/apply_asset.py:18 +msgid "Actions" +msgstr "" + +#: authentication/serializers/connection_token.py:43 +#: perms/serializers/permission.py:54 perms/serializers/permission.py:75 +#: users/serializers/user.py:127 users/serializers/user.py:261 +msgid "Is expired" +msgstr "" + +#: authentication/serializers/connection_token.py:44 +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "" + +#: authentication/serializers/password_mfa.py:29 +#: users/templates/users/forgot_password.html:153 +msgid "The {} cannot be empty" +msgstr "" + +#: authentication/serializers/ssh_key.py:17 +msgid "Automatically Generate Key Pair" +msgstr "" + +#: authentication/serializers/ssh_key.py:19 +msgid "Import Existing Key Pair" +msgstr "" + +#: authentication/serializers/ssh_key.py:31 +msgid "Create Type" +msgstr "" + +#: authentication/serializers/ssh_key.py:33 +msgid "" +"Please download the private key after creation. Each private key can only be " +"downloaded once" +msgstr "" + +#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 +#: users/serializers/profile.py:134 users/serializers/profile.py:161 +msgid "Not a valid ssh public key" +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:258 +msgid "Is valid" +msgstr "" + +#: authentication/tasks.py:13 +msgid "Clean expired session" +msgstr "" + +#: authentication/tasks.py:15 +msgid "" +"Since user logins create sessions, the system will clean up expired sessions " +"every 24 hours" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:6 +msgid "API key list" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:18 +msgid "Using api key sign api header, every requests header difference" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:19 +msgid "docs" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:48 +msgid "Show" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:66 +#: users/const.py:42 users/templates/users/user_verify_mfa.html:36 +msgid "Disable" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:67 +#: users/const.py:43 users/templates/users/mfa_setting.html:120 +#: users/templates/users/mfa_setting.html:158 +#: users/templates/users/mfa_setting.html:177 +msgid "Enable" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:147 +msgid "Delete success" +msgstr "" + +#: authentication/templates/authentication/_captcha_field.html:8 +msgid "Play CAPTCHA as audio file" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:5 +msgid "MFA confirm" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:17 +msgid "Need MFA for view auth" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:20 +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:37 +#: templates/_modal.html:23 templates/flash_message_standalone.html:37 +#: users/templates/users/user_password_verify.html:20 +msgid "Confirm" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:25 +msgid "Code error" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:3 +#: 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: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 +#: users/templates/users/_msg_password_expire_reminder.html:4 +#: users/templates/users/_msg_reset_ssh_key.html:4 +msgid "Hello" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:6 +msgid "Your account has remote login behavior, please pay attention" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:14 +msgid "" +"If you suspect that the login behavior is abnormal, please modify the " +"account password in time." +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:6 +msgid "Your account has just been bound to" +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:11 +#: notifications/notifications.py:202 +#: settings/templates/ldap/_msg_import_ldap_user.html:3 +msgid "Time" +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:17 +msgid "If the operation is not your own, unbind and change the password." +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:6 +msgid "" +"Please click the link below to reset your password, if not your request, " +"concern your account security" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:10 +msgid "Click here reset password" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:15 +#: users/templates/users/_msg_user_created.html:20 +msgid "This link is valid for 1 hour. After it expires" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:16 +#: users/templates/users/_msg_user_created.html:21 +msgid "request new one" +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:108 users/templates/users/forgot_password.html:98 +msgid "Verify code" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password_code.html:15 +msgid "" +"Copy the verification code to the Reset Password page to reset the password." +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password_code.html:18 +msgid "The validity period of the verification code is one minute" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:5 +msgid "Your password has just been successfully updated" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:9 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:9 +msgid "Browser" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:12 +msgid "" +"If the password update was not initiated by you, your account may have " +"security issues" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:13 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:13 +msgid "If you have any questions, you can contact the administrator" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:5 +msgid "Your public key has just been successfully updated" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:12 +msgid "" +"If the public key update was not initiated by you, your account may have " +"security issues" +msgstr "" + +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 +#: templates/flash_message_standalone.html:28 tickets/const.py:18 +msgid "Cancel" +msgstr "" + +#: authentication/templates/authentication/face_capture.html:14 +msgid "Retry" +msgstr "" + +#: authentication/templates/authentication/login.html:308 +msgid "" +"Configuration file has problems and cannot be logged in. Please contact the " +"administrator or view latest docs" +msgstr "" + +#: authentication/templates/authentication/login.html:309 +msgid "If you are administrator, you can update the config resolve it, set" +msgstr "" + +#: authentication/templates/authentication/login.html:416 +msgid "More login options" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:6 +msgid "MFA Auth" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:19 +#: users/templates/users/user_otp_check_password.html:12 +#: users/templates/users/user_otp_enable_bind.html:24 +#: users/templates/users/user_otp_enable_install_app.html:31 +#: users/templates/users/user_verify_mfa.html:30 +msgid "Next" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:22 +msgid "Can't provide security? Please contact the administrator!" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:41 +msgid "Refresh" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:46 +msgid "Copy link" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:51 +msgid "Return" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:117 +msgid "Copy success" +msgstr "" + +#: authentication/templates/authentication/passkey.html:162 +msgid "" +"This page is not served over HTTPS. Please use HTTPS to ensure security of " +"your credentials." +msgstr "" + +#: authentication/templates/authentication/passkey.html:173 +msgid "Do you want to retry ?" +msgstr "" + +#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24 +#: xpack/plugins/cloud/const.py:33 +msgid "LAN" +msgstr "" + +#: authentication/views/base.py:71 +#: perms/templates/perms/_msg_permed_items_expire.html:18 +msgid "If you have any question, please contact the administrator" +msgstr "" + +#: authentication/views/base.py:144 +#, python-format +msgid "%s query user failed" +msgstr "" + +#: authentication/views/base.py:152 +#, python-format +msgid "The %s is already bound to another user" +msgstr "" + +#: authentication/views/base.py:158 +#, python-format +msgid "Binding %s successfully" +msgstr "" + +#: authentication/views/dingtalk.py:42 +msgid "DingTalk Error, Please contact your system administrator" +msgstr "" + +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +msgid "DingTalk Error" +msgstr "" + +#: authentication/views/dingtalk.py:53 +msgid "DingTalk is already bound" +msgstr "" + +#: authentication/views/dingtalk.py:122 +msgid "Invalid user_id" +msgstr "" + +#: authentication/views/dingtalk.py:138 +msgid "DingTalk query user failed" +msgstr "" + +#: authentication/views/dingtalk.py:146 +msgid "The DingTalk is already bound to another user" +msgstr "" + +#: authentication/views/dingtalk.py:152 +msgid "Binding DingTalk successfully" +msgstr "" + +#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +msgid "Failed to get user from DingTalk" +msgstr "" + +#: authentication/views/dingtalk.py:248 +msgid "Please login with a password and then bind the DingTalk" +msgstr "" + +#: authentication/views/feishu.py:43 authentication/views/feishu.py:131 +msgid "FeiShu Error" +msgstr "" + +#: authentication/views/feishu.py:44 +msgid "FeiShu is already bound" +msgstr "" + +#: authentication/views/feishu.py:133 +msgid "Failed to get user from FeiShu" +msgstr "" + +#: authentication/views/lark.py:19 authentication/views/lark.py:47 +msgid "Lark Error" +msgstr "" + +#: authentication/views/lark.py:20 +msgid "Lark is already bound" +msgstr "" + +#: authentication/views/lark.py:49 +msgid "Failed to get user from Lark" +msgstr "" + +#: authentication/views/login.py:219 +msgid "Redirecting" +msgstr "" + +#: authentication/views/login.py:220 +msgid "Redirecting to {} authentication" +msgstr "" + +#: authentication/views/login.py:247 +msgid "Login timeout, please try again." +msgstr "" + +#: authentication/views/login.py:292 +msgid "User email already exists ({})" +msgstr "" + +#: authentication/views/login.py:370 +msgid "" +"Wait for {} confirm, You also can copy link to her/him
\n" +" Don't close this page" +msgstr "" + +#: authentication/views/login.py:375 +msgid "No ticket found" +msgstr "" + +#: authentication/views/login.py:411 +msgid "Logout success" +msgstr "" + +#: authentication/views/login.py:412 +msgid "Logout success, return login page" +msgstr "" + +#: authentication/views/mixins.py:39 +msgid "" +"For your safety, automatic redirection login is not supported on the client. " +"If you need to open it in the client, please log in again" +msgstr "" + +#: authentication/views/slack.py:35 authentication/views/slack.py:120 +msgid "Slack Error" +msgstr "" + +#: authentication/views/slack.py:55 +msgid "Slack is already bound" +msgstr "" + +#: authentication/views/slack.py:122 +msgid "Failed to get user from Slack" +msgstr "" + +#: authentication/views/wecom.py:36 +msgid "WeCom Error, Please contact your system administrator" +msgstr "" + +#: authentication/views/wecom.py:39 authentication/views/wecom.py:143 +msgid "WeCom Error" +msgstr "" + +#: authentication/views/wecom.py:103 +msgid "Wecom" +msgstr "" + +#: authentication/views/wecom.py:145 authentication/views/wecom.py:180 +msgid "Failed to get user from WeCom" +msgstr "" + +#: authentication/views/wecom.py:187 +msgid "Please login with a password and then bind the WeCom" +msgstr "" + +#: common/api/action.py:57 +msgid "Request file format may be wrong" +msgstr "" + +#: common/const/choices.py:41 +msgid "China" +msgstr "" + +#: common/const/choices.py:58 +msgid "Manual" +msgstr "" + +#: common/const/choices.py:59 +msgid "Timing" +msgstr "" + +#: common/const/choices.py:63 +msgid "Ready" +msgstr "" + +#: common/const/choices.py:65 ops/const.py:73 +msgid "Running" +msgstr "" + +#: common/const/choices.py:69 +msgid "Canceled" +msgstr "" + +#: common/const/choices.py:115 +msgid "Confirmed" +msgstr "" + +#: common/const/choices.py:123 terminal/models/applet/applet.py:31 +msgid "Community edition" +msgstr "" + +#: common/const/choices.py:124 +msgid "Basic edition" +msgstr "" + +#: common/const/choices.py:125 +msgid "Standard edition" +msgstr "" + +#: common/const/choices.py:126 +msgid "Professional edition" +msgstr "" + +#: common/const/choices.py:127 +msgid "Ultimate edition" +msgstr "" + +#: common/const/common.py:5 xpack/plugins/cloud/manager.py:427 +#, python-format +msgid "%(name)s was created successfully" +msgstr "" + +#: common/const/common.py:6 +#, python-format +msgid "%(name)s was updated successfully" +msgstr "" + +#: common/db/encoder.py:11 +msgid "gettext_lazy" +msgstr "" + +#: common/db/fields.py:106 +msgid "Marshal dict data to char field" +msgstr "" + +#: common/db/fields.py:110 +msgid "Marshal dict data to text field" +msgstr "" + +#: common/db/fields.py:122 +msgid "Marshal list data to char field" +msgstr "" + +#: common/db/fields.py:126 +msgid "Marshal list data to text field" +msgstr "" + +#: common/db/fields.py:130 +msgid "Marshal data to char field" +msgstr "" + +#: common/db/fields.py:134 +msgid "Marshal data to text field" +msgstr "" + +#: common/db/fields.py:167 +msgid "Encrypt field using Secret Key" +msgstr "" + +#: common/db/fields.py:578 +msgid "" +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " +"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"'match': 'exact', 'value': '1.1.1.1'}}" +msgstr "" + +#: common/db/fields.py:585 +msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" +msgstr "" + +#: common/db/fields.py:588 +msgid "Invalid ids for ids, should be a list" +msgstr "" + +#: common/db/fields.py:590 common/db/fields.py:595 +#: common/serializers/fields.py:146 terminal/serializers/session.py:81 +#: tickets/serializers/ticket/common.py:58 +#: xpack/plugins/cloud/serializers/account_attrs.py:56 +#: xpack/plugins/cloud/serializers/account_attrs.py:80 +#: xpack/plugins/cloud/serializers/account_attrs.py:151 +msgid "This field is required." +msgstr "" + +#: common/db/fields.py:593 common/db/fields.py:598 +msgid "Invalid attrs, should be a list of dict" +msgstr "" + +#: common/db/fields.py:600 +msgid "Invalid attrs, should be has name and value" +msgstr "" + +#: common/db/mixins.py:32 +msgid "is discard" +msgstr "" + +#: common/db/mixins.py:33 +msgid "discard time" +msgstr "" + +#: common/db/models.py:33 users/models/user/__init__.py:107 +msgid "Updated by" +msgstr "" + +#: common/db/validators.py:9 +msgid "Invalid port range, should be like and within {}-{}" +msgstr "" + +#: common/drf/exc_handlers.py:28 +msgid "Object" +msgstr "" + +#: common/drf/metadata.py:127 +msgid "Org ID" +msgstr "" + +#: common/drf/parsers/base.py:21 +msgid "The file content overflowed (The maximum length `{}` bytes)" +msgstr "" + +#: common/drf/parsers/base.py:207 +msgid "Parse file error: {}" +msgstr "" + +#: common/drf/parsers/excel.py:14 +msgid "Invalid excel file" +msgstr "" + +#: common/drf/renders/base.py:138 +msgid "Yes/No" +msgstr "" + +#: common/drf/renders/base.py:141 +msgid "Text, max length {}" +msgstr "" + +#: common/drf/renders/base.py:143 +msgid "Long text, no length limit" +msgstr "" + +#: common/drf/renders/base.py:145 +msgid "Number, min {} max {}" +msgstr "" + +#: common/drf/renders/base.py:148 +msgid "Datetime format {}" +msgstr "" + +#: common/drf/renders/base.py:154 +msgid "" +"Choices, format name(value), name is optional for human read, value is " +"requisite, options {}" +msgstr "" + +#: common/drf/renders/base.py:157 +msgid "Choices, options {}" +msgstr "" + +#: common/drf/renders/base.py:159 +msgid "Phone number, format +8612345678901" +msgstr "" + +#: common/drf/renders/base.py:161 +msgid "Label, format [\"key:value\"]" +msgstr "" + +#: common/drf/renders/base.py:163 +msgid "" +"Object, format name(id), name is optional for human read, id is requisite" +msgstr "" + +#: common/drf/renders/base.py:165 +msgid "Object, format id" +msgstr "" + +#: common/drf/renders/base.py:169 +msgid "" +"Objects, format [\"name(id)\", ...], name is optional for human read, id is " +"requisite" +msgstr "" + +#: common/drf/renders/base.py:171 +msgid "" +"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgstr "" + +#: common/drf/renders/base.py:173 +msgid "Objects, format [\"id\", ...]" +msgstr "" + +#: common/drf/renders/base.py:271 +msgid "" +"{} - The encryption password has not been set - please go to personal " +"information -> file encryption password to set the encryption password" +msgstr "" + +#: common/exceptions.py:15 xpack/plugins/cloud/ws.py:37 +#, python-format +msgid "%s object does not exist." +msgstr "" + +#: common/exceptions.py:25 +msgid "Someone else is doing this. Please wait for complete" +msgstr "" + +#: common/exceptions.py:30 +msgid "Your request timeout" +msgstr "" + +#: common/exceptions.py:35 +msgid "M2M reverse not allowed" +msgstr "" + +#: common/exceptions.py:41 +msgid "Is referenced by other objects and cannot be deleted" +msgstr "" + +#: common/exceptions.py:51 +msgid "This action require confirm current user" +msgstr "" + +#: common/exceptions.py:59 +msgid "Unexpect error occur" +msgstr "" + +#: common/plugins/es.py:35 +msgid "Invalid elasticsearch config" +msgstr "" + +#: common/plugins/es.py:40 +msgid "Not Support Elasticsearch8" +msgstr "" + +#: common/plugins/es.py:46 +msgid "" +"Connection failed: Self-signed certificate used. Please check server " +"certificate configuration" +msgstr "" + +#: common/sdk/im/exceptions.py:23 +msgid "Network error, please contact system administrator" +msgstr "" + +#: common/sdk/im/slack/__init__.py:78 +msgid "Unknown error occur" +msgstr "" + +#: common/sdk/im/wecom/__init__.py:19 +msgid "WeCom error, please contact system administrator" +msgstr "" + +#: common/sdk/sms/alibaba.py:56 +msgid "Signature does not match" +msgstr "" + +#: common/sdk/sms/cmpp2.py:44 +msgid "sp_id is 6 bits" +msgstr "" + +#: common/sdk/sms/cmpp2.py:214 +msgid "Failed to connect to the CMPP gateway server, err: {}" +msgstr "" + +#: common/sdk/sms/custom_file.py:41 +msgid "The custom sms file is invalid" +msgstr "" + +#: common/sdk/sms/custom_file.py:47 +#, python-format +msgid "SMS sending failed[%s]: %s" +msgstr "" + +#: common/sdk/sms/endpoint.py:16 +msgid "Alibaba cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:17 +msgid "Tencent cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:18 xpack/plugins/cloud/const.py:13 +msgid "Huawei Cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:19 +msgid "CMPP v2.0" +msgstr "" + +#: common/sdk/sms/endpoint.py:21 +msgid "Custom type (File)" +msgstr "" + +#: common/sdk/sms/endpoint.py:32 +msgid "SMS provider not support: {}" +msgstr "" + +#: common/sdk/sms/endpoint.py:54 +msgid "SMS verification code signature or template invalid" +msgstr "" + +#: common/sdk/sms/exceptions.py:8 +msgid "The verification code has expired. Please resend it" +msgstr "" + +#: common/sdk/sms/exceptions.py:13 +msgid "The verification code is incorrect" +msgstr "" + +#: common/sdk/sms/exceptions.py:18 +msgid "Please wait {} seconds before sending" +msgstr "" + +#: common/serializers/common.py:90 +msgid "Children" +msgstr "" + +#: common/serializers/common.py:98 +msgid "File" +msgstr "" + +#: common/serializers/fields.py:139 +msgid "Invalid data type" +msgstr "" + +#: common/serializers/fields.py:147 +#, python-brace-format +msgid "Invalid pk \"{pk_value}\" - object does not exist." +msgstr "" + +#: common/serializers/fields.py:148 +#, python-brace-format +msgid "Incorrect type. Expected pk value, received {data_type}." +msgstr "" + +#: common/serializers/fields.py:222 +msgid "Invalid data type, should be list" +msgstr "" + +#: common/serializers/fields.py:237 +msgid "Invalid choice: {}" +msgstr "" + +#: common/serializers/mixin.py:452 terminal/models/applet/applet.py:45 +#: terminal/models/virtualapp/virtualapp.py:29 +msgid "Tags" +msgstr "" + +#: common/tasks.py:32 +msgid "Send email" +msgstr "" + +#: common/tasks.py:35 +msgid "This task will be executed when sending email notifications" +msgstr "" + +#: common/tasks.py:65 +msgid "Send email attachment" +msgstr "" + +#: common/tasks.py:68 +msgid "" +"When an account password is changed or an account backup generates " +"attachments, \n" +" this task needs to be executed for sending emails and handling " +"attachments" +msgstr "" + +#: common/tasks.py:94 +msgid "Upload account backup to external storage" +msgstr "" + +#: common/tasks.py:96 +msgid "" +"When performing an account backup, this task needs to be executed to " +"external storage (SFTP)" +msgstr "" + +#: common/utils/ip/geoip/utils.py:26 +msgid "Invalid ip" +msgstr "" + +#: common/utils/ip/utils.py:98 +msgid "Invalid address" +msgstr "" + +#: common/utils/translate.py:46 +#, python-format +msgid "Hello %s" +msgstr "" + +#: common/utils/verify_code.py:17 +msgid "Send SMS code" +msgstr "" + +#: common/utils/verify_code.py:19 +msgid "" +"When resetting a password, forgetting a password, or verifying MFA, this " +"task needs to \n" +" be executed to send SMS messages" +msgstr "" + +#: common/validators.py:16 +msgid "Special char not allowed" +msgstr "" + +#: common/validators.py:42 +msgid "Should not contains special characters" +msgstr "" + +#: common/validators.py:47 +msgid "The mobile phone number format is incorrect" +msgstr "" + +#: common/views/msg.py:18 +msgid "Not found the code" +msgstr "" + +#: common/views/msg.py:22 +msgid "The message code provided is invalid or has expired" +msgstr "" + +#: jumpserver/conf.py:533 +#, python-brace-format +msgid "The verification code is: {code}" +msgstr "" + +#: jumpserver/conf.py:538 +msgid "Create account successfully" +msgstr "" + +#: jumpserver/conf.py:540 +msgid "Your account has been created successfully" +msgstr "" + +#: jumpserver/context_processor.py:14 +msgid "JumpServer - An open-source PAM" +msgstr "" + +#: jumpserver/views/celery_flower.py:22 +msgid "

Flower service unavailable, check it

" +msgstr "" + +#: jumpserver/views/other.py:28 +msgid "" +"
Luna is a separately deployed program, you need to deploy Luna, koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" + +#: jumpserver/views/other.py:76 +msgid "Websocket server run on port: {}, you should proxy it on nginx" +msgstr "" + +#: jumpserver/views/other.py:90 +msgid "" +"
Koko is a separately deployed program, you need to deploy Koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" + +#: labels/apps.py:8 +msgid "App Labels" +msgstr "" + +#: labels/models.py:15 +msgid "Color" +msgstr "" + +#: labels/models.py:20 labels/models.py:39 +msgid "Tag" +msgstr "" + +#: labels/models.py:43 +msgid "Resource ID" +msgstr "" + +#: labels/models.py:49 +msgid "Tagged resource" +msgstr "" + +#: labels/serializers.py:22 +msgid "Resource count" +msgstr "" + +#: labels/serializers.py:28 +msgid "Cannot contain \":,\"" +msgstr "" + +#: labels/serializers.py:43 +msgid "Resource type" +msgstr "" + +#: notifications/apps.py:7 +msgid "App Notifications" +msgstr "" + +#: notifications/backends/__init__.py:13 +msgid "Site message" +msgstr "" + +#: notifications/models/notification.py:14 +msgid "receive backend" +msgstr "" + +#: notifications/models/notification.py:18 +msgid "User message" +msgstr "" + +#: notifications/models/notification.py:21 +msgid "{} subscription" +msgstr "" + +#: notifications/models/notification.py:34 +msgid "System message" +msgstr "" + +#: notifications/notifications.py:46 +msgid "Publish the station message" +msgstr "" + +#: notifications/notifications.py:48 +msgid "" +"This task needs to be executed for sending internal messages for system " +"alerts, \n" +" work orders, and other notifications" +msgstr "" + +#: ops/ansible/inventory.py:117 ops/models/job.py:68 +msgid "No account available" +msgstr "" + +#: ops/ansible/inventory.py:298 +msgid "Ansible disabled" +msgstr "" + +#: ops/ansible/inventory.py:314 +msgid "Skip hosts below:" +msgstr "" + +#: ops/api/adhoc.py:32 +msgid "Deleting other people's script is not allowed" +msgstr "" + +#: ops/api/celery.py:66 ops/api/celery.py:81 +msgid "Waiting task start" +msgstr "" + +#: ops/api/celery.py:262 +msgid "Task {} not found" +msgstr "" + +#: ops/api/celery.py:269 +msgid "Task {} args or kwargs error" +msgstr "" + +#: ops/api/job.py:68 +#, python-brace-format +msgid "" +"Asset ({asset}) must have at least one of the following protocols added: " +"SSH, SFTP, or WinRM" +msgstr "" + +#: ops/api/job.py:69 +#, python-brace-format +msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" +msgstr "" + +#: ops/api/job.py:70 +#, python-brace-format +msgid "Asset ({asset}) authorization lacks upload permissions" +msgstr "" + +#: ops/api/job.py:158 +msgid "Duplicate file exists" +msgstr "" + +#: 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:236 +msgid "" +"The task is being created and cannot be interrupted. Please try again later." +msgstr "" + +#: ops/api/playbook.py:49 +msgid "Deleting other people's playbook is not allowed" +msgstr "" + +#: ops/api/playbook.py:55 +msgid "Currently playbook is being used in a job" +msgstr "" + +#: ops/api/playbook.py:128 +msgid "Unsupported file content" +msgstr "" + +#: ops/api/playbook.py:130 ops/api/playbook.py:176 ops/api/playbook.py:224 +msgid "Invalid file path" +msgstr "" + +#: ops/api/playbook.py:202 +msgid "This file can not be rename" +msgstr "" + +#: ops/api/playbook.py:221 +msgid "File already exists" +msgstr "" + +#: ops/api/playbook.py:239 +msgid "File key is required" +msgstr "" + +#: ops/api/playbook.py:242 +msgid "This file can not be delete" +msgstr "" + +#: ops/apps.py:9 +msgid "App Ops" +msgstr "" + +#: ops/const.py:6 +msgid "Push" +msgstr "" + +#: ops/const.py:7 +msgid "Verify" +msgstr "" + +#: ops/const.py:8 +msgid "Collect" +msgstr "" + +#: ops/const.py:13 +msgid "Append SSH KEY" +msgstr "" + +#: ops/const.py:19 +msgid "Custom password" +msgstr "" + +#: ops/const.py:20 +msgid "All assets use the same random password" +msgstr "" + +#: ops/const.py:21 +msgid "All assets use different random password" +msgstr "" + +#: ops/const.py:33 +msgid "Blank" +msgstr "" + +#: ops/const.py:34 +msgid "VCS" +msgstr "" + +#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: settings/serializers/feature.py:186 +msgid "Adhoc" +msgstr "" + +#: ops/const.py:39 ops/models/job.py:152 ops/models/playbook.py:89 +#: ops/models/variable.py:23 +msgid "Playbook" +msgstr "" + +#: ops/const.py:40 +msgid "Upload File" +msgstr "" + +#: ops/const.py:44 +msgid "Privileged only" +msgstr "" + +#: ops/const.py:45 +msgid "Privileged first" +msgstr "" + +#: ops/const.py:50 ops/const.py:61 +msgid "Shell" +msgstr "" + +#: ops/const.py:51 ops/const.py:62 +msgid "Powershell" +msgstr "" + +#: ops/const.py:52 ops/const.py:63 +msgid "Python" +msgstr "" + +#: ops/const.py:53 ops/const.py:64 +msgid "MySQL" +msgstr "" + +#: ops/const.py:54 ops/const.py:66 +msgid "PostgreSQL" +msgstr "" + +#: ops/const.py:55 ops/const.py:67 +msgid "SQLServer" +msgstr "" + +#: ops/const.py:56 ops/const.py:69 +msgid "Raw" +msgstr "" + +#: ops/const.py:57 +msgid "HUAWEI" +msgstr "" + +#: ops/const.py:65 +msgid "MariaDB" +msgstr "" + +#: ops/const.py:68 +msgid "Oracle" +msgstr "" + +#: ops/const.py:75 +msgid "Timeout" +msgstr "" + +#: ops/const.py:82 +msgid "Command execution disabled" +msgstr "" + +#: ops/const.py:86 +msgctxt "scope" +msgid "Public" +msgstr "" + +#: ops/const.py:87 +msgid "Private" +msgstr "" + +#: ops/const.py:91 +msgid "Text" +msgstr "" + +#: ops/const.py:92 +msgid "Select" +msgstr "" + +#: ops/exception.py:6 +msgid "no valid program entry found." +msgstr "" + +#: ops/mixin.py:34 ops/mixin.py:166 settings/serializers/auth/ldap.py:74 +#: settings/serializers/auth/ldap_ha.py:57 +msgid "Periodic run" +msgstr "" + +#: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 +#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:64 +msgid "Interval" +msgstr "" + +#: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 +#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:61 +msgid "Crontab" +msgstr "" + +#: ops/mixin.py:43 ops/mixin.py:177 +msgid "Start Datetime" +msgstr "" + +#: ops/mixin.py:45 ops/mixin.py:179 +msgid "Datetime when the schedule should begin triggering the task to run" +msgstr "" + +#: ops/mixin.py:49 ops/models/base.py:22 ops/serializers/job.py:19 +msgid "Date last run" +msgstr "" + +#: ops/mixin.py:183 +msgid "Run period" +msgstr "" + +#: ops/mixin.py:189 +msgid "* Please enter a valid crontab expression" +msgstr "" + +#: ops/mixin.py:204 settings/serializers/auth/mixin.py:12 +msgid "Require interval or crontab setting" +msgstr "" + +#: ops/models/adhoc.py:20 +msgid "Pattern" +msgstr "" + +#: ops/models/adhoc.py:22 ops/models/job.py:149 +msgid "Module" +msgstr "" + +#: ops/models/adhoc.py:23 ops/models/celery.py:82 ops/models/job.py:147 +#: terminal/models/component/task.py:14 +msgid "Args" +msgstr "" + +#: ops/models/adhoc.py:26 ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 +msgid "Scope" +msgstr "" + +#: ops/models/base.py:19 +msgid "Account policy" +msgstr "" + +#: ops/models/base.py:20 +msgid "Last execution" +msgstr "" + +#: ops/models/celery.py:16 +msgid "Date last publish" +msgstr "" + +#: ops/models/celery.py:71 +msgid "Celery Task" +msgstr "" + +#: ops/models/celery.py:74 +msgid "Can view task monitor" +msgstr "" + +#: ops/models/celery.py:83 terminal/models/component/task.py:15 +msgid "Kwargs" +msgstr "" + +#: ops/models/celery.py:88 +msgid "Date published" +msgstr "" + +#: ops/models/celery.py:124 +msgid "Celery Task Execution" +msgstr "" + +#: ops/models/job.py:150 +msgid "Run dir" +msgstr "" + +#: ops/models/job.py:151 +msgid "Timeout (Seconds)" +msgstr "" + +#: ops/models/job.py:157 +msgid "Use Parameter Define" +msgstr "" + +#: ops/models/job.py:158 +msgid "Parameters define" +msgstr "" + +#: ops/models/job.py:159 +msgid "Periodic variable" +msgstr "" + +#: ops/models/job.py:160 +msgid "Run as" +msgstr "" + +#: ops/models/job.py:162 +msgid "Run as policy" +msgstr "" + +#: ops/models/job.py:219 ops/models/variable.py:28 ops/serializers/job.py:111 +#: terminal/notifications.py:182 +msgid "Job" +msgstr "" + +#: ops/models/job.py:242 +msgid "Material" +msgstr "" + +#: ops/models/job.py:244 +msgid "Material Type" +msgstr "" + +#: ops/models/job.py:556 +msgid "Job Execution" +msgstr "" + +#: ops/models/playbook.py:33 +msgid "CreateMethod" +msgstr "" + +#: ops/models/playbook.py:35 +msgid "VCS URL" +msgstr "" + +#: ops/models/variable.py:11 ops/serializers/variable.py:22 +msgid "Variable name" +msgstr "" + +#: ops/models/variable.py:12 ops/serializers/variable.py:23 +msgid "" +"The variable name used in the script will have a fixed prefix jms_ added to " +"the input variable name. For example, if the input variable name is name, " +"the resulting environment variable will be jms_name, and it can be " +"referenced in the script using {{ jms_name }}" +msgstr "" + +#: ops/models/variable.py:16 ops/serializers/variable.py:32 +msgid "Default Value" +msgstr "" + +#: ops/models/variable.py:18 +msgid "Variable type" +msgstr "" + +#: ops/models/variable.py:21 ops/serializers/variable.py:35 +msgid "ExtraVars" +msgstr "" + +#: ops/models/variable.py:49 ops/serializers/adhoc.py:16 +#: ops/serializers/job.py:23 ops/serializers/playbook.py:21 +msgid "Variable" +msgstr "" + +#: ops/notifications.py:20 +msgid "Server performance" +msgstr "" + +#: ops/notifications.py:26 +msgid "Component health check warning" +msgstr "" + +#: ops/notifications.py:71 +#, python-brace-format +msgid "The component is offline: {name}" +msgstr "" + +#: ops/notifications.py:76 +#, python-brace-format +msgid "Disk used more than {max_threshold}%: => {value}" +msgstr "" + +#: ops/notifications.py:81 +#, python-brace-format +msgid "Memory used more than {max_threshold}%: => {value}" +msgstr "" + +#: ops/notifications.py:86 +#, python-brace-format +msgid "CPU load more than {max_threshold}: => {value}" +msgstr "" + +#: ops/serializers/celery.py:35 +msgid "Next execution time" +msgstr "" + +#: ops/serializers/job.py:17 +msgid "Run on save" +msgstr "" + +#: ops/serializers/job.py:91 +msgid "Job type" +msgstr "" + +#: ops/serializers/job.py:94 terminal/serializers/session.py:58 +msgid "Is finished" +msgstr "" + +#: ops/serializers/job.py:108 +msgid "Task id" +msgstr "" + +#: ops/serializers/job.py:117 +msgid "You do not have permission for the current job." +msgstr "" + +#: ops/serializers/variable.py:29 +msgid "Variable Type" +msgstr "" + +#: ops/serializers/variable.py:37 +msgid "" +"Each item is on a separate line, with each line separated by a colon. The " +"part before the colon is the display content, and the part after the colon " +"is the value." +msgstr "" + +#: ops/tasks.py:54 +msgid "Run ansible task" +msgstr "" + +#: ops/tasks.py:57 +msgid "" +"Execute scheduled adhoc and playbooks, periodically invoking the task for " +"execution" +msgstr "" + +#: ops/tasks.py:88 +msgid "Run ansible task execution" +msgstr "" + +#: ops/tasks.py:91 +msgid "Execute the task when manually adhoc or playbooks" +msgstr "" + +#: ops/tasks.py:106 +msgid "Clear celery periodic tasks" +msgstr "" + +#: ops/tasks.py:108 +msgid "At system startup, clean up celery tasks that no longer exist" +msgstr "" + +#: ops/tasks.py:132 +msgid "Create or update periodic tasks" +msgstr "" + +#: ops/tasks.py:134 +msgid "" +"With version iterations, new tasks may be added, or task names and execution " +"times may \n" +" be modified. Therefore, upon system startup, tasks will be " +"registered or the parameters \n" +" of scheduled tasks will be updated" +msgstr "" + +#: ops/tasks.py:147 +msgid "Periodic check service performance" +msgstr "" + +#: ops/tasks.py:149 +msgid "" +"Check every hour whether each component is offline and whether the CPU, " +"memory, \n" +" and disk usage exceed the thresholds, and send an alert message to " +"the administrator" +msgstr "" + +#: ops/tasks.py:159 +msgid "Clean up unexpected jobs" +msgstr "" + +#: ops/tasks.py:161 +msgid "" +"Due to exceptions caused by executing adhoc and playbooks in the Job " +"Center, \n" +" which result in the task status not being updated, the system will " +"clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and " +"mark these tasks as \n" +" failed" +msgstr "" + +#: ops/tasks.py:174 +msgid "Clean job_execution db record" +msgstr "" + +#: ops/tasks.py:176 +msgid "" +"Due to the execution of adhoc and playbooks in the Job Center, execution " +"records will \n" +" be generated. The system will clean up records that exceed the " +"retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - " +"Regular clean-up - \n" +" Job execution retention days'" +msgstr "" + +#: ops/templates/ops/celery_task_log.html:4 +msgid "Task log" +msgstr "" + +#: ops/variables.py:24 +msgid "The current user`s username of JumpServer" +msgstr "" + +#: ops/variables.py:25 +msgid "The id of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:26 +msgid "The type of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:27 +msgid "The category of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:28 +msgid "The name of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:29 +msgid "Address used to connect this asset in JumpServer" +msgstr "" + +#: ops/variables.py:30 +msgid "Port used to connect this asset in JumpServer" +msgstr "" + +#: ops/variables.py:31 +msgid "ID of the job" +msgstr "" + +#: ops/variables.py:32 +msgid "Name of the job" +msgstr "" + +#: orgs/api.py:60 +msgid "The current organization ({}) cannot be deleted" +msgstr "" + +#: orgs/api.py:65 +msgid "" +"LDAP synchronization is set to the current organization. Please switch to " +"another organization before deleting" +msgstr "" + +#: orgs/api.py:75 +msgid "The organization have resource ({}) cannot be deleted" +msgstr "" + +#: orgs/apps.py:7 +msgid "App Organizations" +msgstr "" + +#: orgs/mixins/models.py:48 orgs/mixins/models.py:73 +msgid "Please save in a org" +msgstr "" + +#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:91 +#: rbac/const.py:7 rbac/models/rolebinding.py:56 +#: rbac/serializers/rolebinding.py:44 settings/serializers/auth/base.py:53 +#: terminal/templates/terminal/_msg_command_warning.html:21 +#: terminal/templates/terminal/_msg_session_sharing.html:14 +#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:60 +msgid "Organization" +msgstr "" + +#: orgs/models.py:14 +msgid "GLOBAL" +msgstr "" + +#: orgs/models.py:16 +msgid "DEFAULT" +msgstr "" + +#: orgs/models.py:18 +msgid "SYSTEM" +msgstr "" + +#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:188 +#: terminal/models/applet/applet.py:42 +msgid "Builtin" +msgstr "" + +#: orgs/models.py:93 +msgid "Can view root org" +msgstr "" + +#: orgs/models.py:94 +msgid "Can view all joined org" +msgstr "" + +#: orgs/models.py:236 +msgid "Can not delete virtual org" +msgstr "" + +#: orgs/serializers.py:10 perms/serializers/permission.py:48 +#: rbac/serializers/role.py:27 users/serializers/group.py:54 +msgid "Users amount" +msgstr "" + +#: orgs/serializers.py:11 +msgid "User groups amount" +msgstr "" + +#: orgs/serializers.py:14 perms/serializers/permission.py:51 +msgid "Nodes amount" +msgstr "" + +#: orgs/serializers.py:15 +msgid "Domains amount" +msgstr "" + +#: orgs/serializers.py:16 +msgid "Gateways amount" +msgstr "" + +#: orgs/serializers.py:18 +msgid "Asset permissions amount" +msgstr "" + +#: orgs/tasks.py:10 +msgid "Refresh organization cache" +msgstr "" + +#: perms/apps.py:9 +msgid "App Permissions" +msgstr "" + +#: perms/const.py:12 +msgid "Connect (All protocols)" +msgstr "" + +#: perms/const.py:13 +msgid "Upload (RDP, SFTP)" +msgstr "" + +#: perms/const.py:14 +msgid "Download (RDP, SFTP)" +msgstr "" + +#: perms/const.py:15 +msgid "Copy (RDP, VNC)" +msgstr "" + +#: perms/const.py:16 +msgid "Paste (RDP, VNC)" +msgstr "" + +#: perms/const.py:17 +msgid "Delete (SFTP)" +msgstr "" + +#: perms/const.py:18 +msgid "Share (SSH)" +msgstr "" + +#: perms/const.py:28 +msgid "Transfer" +msgstr "" + +#: perms/const.py:29 +msgid "Clipboard" +msgstr "" + +#: perms/models/asset_permission.py:89 +msgid "Asset permission" +msgstr "" + +#: perms/models/perm_node.py:74 +msgid "Ungrouped" +msgstr "" + +#: perms/models/perm_node.py:76 +msgid "Favorite" +msgstr "" + +#: perms/models/perm_node.py:128 +msgid "Permed asset" +msgstr "" + +#: perms/models/perm_node.py:130 +msgid "Can view my assets" +msgstr "" + +#: perms/models/perm_node.py:131 +msgid "Can view user assets" +msgstr "" + +#: perms/models/perm_node.py:132 +msgid "Can view usergroup assets" +msgstr "" + +#: perms/models/perm_node.py:143 +msgid "Permed account" +msgstr "" + +#: perms/notifications.py:12 perms/notifications.py:44 +msgid "today" +msgstr "" + +#: perms/notifications.py:12 perms/notifications.py:44 +#: settings/serializers/feature.py:177 +msgid "day" +msgstr "" + +#: perms/notifications.py:15 +msgid "The asset you authorized is about to expire" +msgstr "" + +#: perms/notifications.py:20 +msgid "permed assets" +msgstr "" + +#: perms/notifications.py:59 +msgid "Asset permissions is about to expire" +msgstr "" + +#: perms/notifications.py:64 +msgid "asset permissions of organization {}" +msgstr "" + +#: perms/serializers/permission.py:32 +msgid "" +"Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " +"choices: @ALL, @SPEC, @USER, @ANON, @INPUT" +msgstr "" + +#: perms/serializers/permission.py:38 +msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" +msgstr "" + +#: perms/serializers/permission.py:49 +msgid "Groups amount" +msgstr "" + +#: perms/tasks.py:28 +msgid "Check asset permission expired" +msgstr "" + +#: perms/tasks.py:30 +msgid "" +"The cache of organizational collections, which have completed user " +"authorization tree \n" +" construction, will expire. Therefore, expired collections need to be " +"cleared from the \n" +" cache, and this task will be executed periodically based on the time " +"interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " +"config.txt" +msgstr "" + +#: perms/tasks.py:49 +msgid "Send asset permission expired notification" +msgstr "" + +#: perms/tasks.py:51 +msgid "" +"Check every day at 10 a.m. and send a notification message to users " +"associated with \n" +" assets whose authorization is about to expire, as well as to the " +"organization's \n" +" administrators, 3 days in advance, to remind them that the asset " +"authorization will \n" +" expire in a few days" +msgstr "" + +#: perms/templates/perms/_msg_item_permissions_expire.html:7 +#: perms/templates/perms/_msg_permed_items_expire.html:7 +#, python-format +msgid "The following %(item_type)s will expire in %(count)s" +msgstr "" + +#: rbac/api/role.py:35 +msgid "Internal role, can't be destroy" +msgstr "" + +#: rbac/api/role.py:40 +msgid "The role has been bound to users, can't be destroy" +msgstr "" + +#: rbac/api/role.py:105 +msgid "Internal role, can't be update" +msgstr "" + +#: rbac/api/rolebinding.py:45 +msgid "{} at least one system role" +msgstr "" + +#: rbac/apps.py:7 +msgid "App RBAC" +msgstr "" + +#: rbac/builtin.py:116 +msgid "SystemAdmin" +msgstr "" + +#: rbac/builtin.py:119 +msgid "SystemAuditor" +msgstr "" + +#: rbac/builtin.py:122 +msgid "SystemComponent" +msgstr "" + +#: rbac/builtin.py:128 +msgid "OrgAdmin" +msgstr "" + +#: rbac/builtin.py:131 +msgid "OrgAuditor" +msgstr "" + +#: rbac/builtin.py:134 +msgid "OrgUser" +msgstr "" + +#: rbac/models/menu.py:13 +msgid "Menu permission" +msgstr "" + +#: rbac/models/menu.py:15 +msgid "Can view console view" +msgstr "" + +#: rbac/models/menu.py:16 +msgid "Can view audit view" +msgstr "" + +#: rbac/models/menu.py:17 +msgid "Can view workbench view" +msgstr "" + +#: rbac/models/menu.py:18 +msgid "Can view web terminal" +msgstr "" + +#: rbac/models/menu.py:19 +msgid "Can view file manager" +msgstr "" + +#: rbac/models/menu.py:20 +msgid "Can view System Tools" +msgstr "" + +#: rbac/models/permission.py:18 +msgid "ContentType" +msgstr "" + +#: rbac/models/permission.py:79 rbac/models/role.py:34 +msgid "Permissions" +msgstr "" + +#: rbac/models/role.py:144 +msgid "System role" +msgstr "" + +#: rbac/models/role.py:152 +msgid "Organization role" +msgstr "" + +#: rbac/models/rolebinding.py:62 +msgid "Role binding" +msgstr "" + +#: rbac/models/rolebinding.py:161 +msgid "All organizations" +msgstr "" + +#: rbac/models/rolebinding.py:193 +msgid "" +"User last role in org, can not be delete, you can remove user from org " +"instead" +msgstr "" + +#: rbac/models/rolebinding.py:200 +msgid "Organization role binding" +msgstr "" + +#: rbac/models/rolebinding.py:215 +msgid "System role binding" +msgstr "" + +#: rbac/serializers/permission.py:25 users/serializers/profile.py:77 +msgid "Perms" +msgstr "" + +#: rbac/serializers/rolebinding.py:60 +msgid "Has bound this role" +msgstr "" + +#: rbac/tree.py:17 rbac/tree.py:18 +msgid "All permissions" +msgstr "" + +#: rbac/tree.py:24 +msgid "Console view" +msgstr "" + +#: rbac/tree.py:25 +msgid "Workbench view" +msgstr "" + +#: rbac/tree.py:26 +msgid "Audit view" +msgstr "" + +#: rbac/tree.py:27 settings/models.py:164 +msgid "System setting" +msgstr "" + +#: rbac/tree.py:37 +msgid "Session audits" +msgstr "" + +#: rbac/tree.py:49 xpack/plugins/cloud/manager.py:94 +msgid "Cloud import" +msgstr "" + +#: rbac/tree.py:51 +msgid "Gather account" +msgstr "" + +#: rbac/tree.py:53 +msgid "Account change secret" +msgstr "" + +#: rbac/tree.py:55 +msgid "App ops" +msgstr "" + +#: rbac/tree.py:57 settings/serializers/feature.py:183 +msgid "Feature" +msgstr "" + +#: rbac/tree.py:58 settings/serializers/auth/base.py:11 +msgid "Authentication" +msgstr "" + +#: rbac/tree.py:59 +msgid "Storage" +msgstr "" + +#: rbac/tree.py:61 terminal/models/applet/applet.py:53 +#: terminal/models/applet/applet.py:328 terminal/models/applet/host.py:30 +#: terminal/serializers/applet.py:15 +msgid "Applet" +msgstr "" + +#: rbac/tree.py:63 +msgid "Appearance" +msgstr "" + +#: rbac/tree.py:65 xpack/plugins/license/meta.py:10 +#: xpack/plugins/license/models.py:153 +msgid "License" +msgstr "" + +#: rbac/tree.py:67 +msgid "Job audit" +msgstr "" + +#: rbac/tree.py:159 +msgid "App organizations" +msgstr "" + +#: rbac/tree.py:160 +msgid "Ticket comment" +msgstr "" + +#: rbac/tree.py:161 settings/serializers/feature.py:164 +#: settings/serializers/feature.py:166 tickets/models/ticket/general.py:308 +msgid "Ticket" +msgstr "" + +#: rbac/tree.py:162 +msgid "Common setting" +msgstr "" + +#: rbac/tree.py:163 +msgid "View permission tree" +msgstr "" + +#: settings/api/chat.py:41 +msgid "Chat AI is not enabled" +msgstr "" + +#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 +#: settings/api/vault.py:49 settings/api/wecom.py:37 +msgid "Test success" +msgstr "" + +#: settings/api/email.py:22 +msgid "Test mail sent to {}, please check" +msgstr "" + +#: settings/api/email.py:47 +msgid "Test smtp setting" +msgstr "" + +#: settings/api/ldap.py:92 +msgid "" +"Users are not synchronized, please click the user synchronization button" +msgstr "" + +#: settings/api/sms.py:142 +msgid "Invalid SMS platform" +msgstr "" + +#: settings/api/sms.py:148 +msgid "test_phone is required" +msgstr "" + +#: settings/apps.py:7 +msgid "App Settings" +msgstr "" + +#: settings/models.py:40 users/models/preference.py:14 +msgid "Encrypted" +msgstr "" + +#: settings/models.py:166 +msgid "Can change email setting" +msgstr "" + +#: settings/models.py:167 +msgid "Can change auth setting" +msgstr "" + +#: settings/models.py:168 +msgid "Can change auth ops" +msgstr "" + +#: settings/models.py:169 +msgid "Can change auth ticket" +msgstr "" + +#: settings/models.py:170 +msgid "Can change virtual app setting" +msgstr "" + +#: settings/models.py:171 +msgid "Can change auth announcement" +msgstr "" + +#: settings/models.py:172 +msgid "Can change vault setting" +msgstr "" + +#: settings/models.py:173 +msgid "Can change chat ai setting" +msgstr "" + +#: settings/models.py:174 +msgid "Can change system msg sub setting" +msgstr "" + +#: settings/models.py:175 +msgid "Can change sms setting" +msgstr "" + +#: settings/models.py:176 +msgid "Can change security setting" +msgstr "" + +#: settings/models.py:177 +msgid "Can change clean setting" +msgstr "" + +#: settings/models.py:178 +msgid "Can change interface setting" +msgstr "" + +#: settings/models.py:179 +msgid "Can change license setting" +msgstr "" + +#: settings/models.py:180 +msgid "Can change terminal setting" +msgstr "" + +#: settings/models.py:181 +msgid "Can change other setting" +msgstr "" + +#: settings/models.py:191 +msgid "Chat prompt" +msgstr "" + +#: settings/notifications.py:23 +msgid "Notification of Synchronized LDAP User Task Results" +msgstr "" + +#: settings/serializers/auth/base.py:13 +msgid "LDAP Auth" +msgstr "" + +#: settings/serializers/auth/base.py:14 +msgid "LDAP Auth HA" +msgstr "" + +#: settings/serializers/auth/base.py:15 +msgid "CAS Auth" +msgstr "" + +#: settings/serializers/auth/base.py:16 +msgid "OPENID Auth" +msgstr "" + +#: settings/serializers/auth/base.py:17 +msgid "SAML2 Auth" +msgstr "" + +#: settings/serializers/auth/base.py:18 +msgid "OAuth2 Auth" +msgstr "" + +#: settings/serializers/auth/base.py:19 +msgid "RADIUS Auth" +msgstr "" + +#: settings/serializers/auth/base.py:20 +msgid "DingTalk Auth" +msgstr "" + +#: settings/serializers/auth/base.py:21 +msgid "FeiShu Auth" +msgstr "" + +#: settings/serializers/auth/base.py:22 +msgid "Lark Auth" +msgstr "" + +#: settings/serializers/auth/base.py:23 +msgid "Slack Auth" +msgstr "" + +#: settings/serializers/auth/base.py:24 +msgid "WeCom Auth" +msgstr "" + +#: settings/serializers/auth/base.py:25 +msgid "SSO Auth" +msgstr "" + +#: settings/serializers/auth/base.py:26 +msgid "Passkey Auth" +msgstr "" + +#: settings/serializers/auth/base.py:28 +msgid "Email suffix" +msgstr "" + +#: settings/serializers/auth/base.py:30 +msgid "" +"After third-party user authentication is successful, if the third-party " +"authentication service platform does not return the user's email " +"information, the system will automatically create the user using this email " +"suffix" +msgstr "" + +#: settings/serializers/auth/base.py:37 +msgid "Forgot Password URL" +msgstr "" + +#: settings/serializers/auth/base.py:38 +msgid "The URL for Forgotten Password on the user login page" +msgstr "" + +#: settings/serializers/auth/base.py:41 +msgid "Login redirection" +msgstr "" + +#: settings/serializers/auth/base.py:43 +msgid "" +"Should an flash page be displayed before the user is redirected to third-" +"party authentication when the administrator enables third-party redirect " +"authentication" +msgstr "" + +#: settings/serializers/auth/base.py:55 +msgid "" +"When you create a user, you associate the user to the organization of your " +"choice. Users always belong to the Default organization." +msgstr "" + +#: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 +msgid "CAS" +msgstr "" + +#: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 +#: settings/serializers/auth/ldap_ha.py:28 settings/serializers/auth/oidc.py:61 +msgid "Server" +msgstr "" + +#: settings/serializers/auth/cas.py:18 +msgid "Proxy Server" +msgstr "" + +#: settings/serializers/auth/cas.py:21 settings/serializers/auth/oauth2.py:56 +#: settings/serializers/auth/saml2.py:42 +msgid "Logout completely" +msgstr "" + +#: settings/serializers/auth/cas.py:22 +msgid "When the user signs out, they also be logged out from the CAS server" +msgstr "" + +#: settings/serializers/auth/cas.py:28 +msgid "Username attr" +msgstr "" + +#: settings/serializers/auth/cas.py:31 +msgid "Enable attributes map" +msgstr "" + +#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 +#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:50 +#: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 +#: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 +#: settings/serializers/auth/wecom.py:18 +msgid "User attribute" +msgstr "" + +#: settings/serializers/auth/cas.py:36 +msgid "" +"User attribute mapping, where the `key` is the CAS service user attribute " +"name and the `value` is the JumpServer user attribute name" +msgstr "" + +#: settings/serializers/auth/cas.py:41 +msgid "Create user" +msgstr "" + +#: settings/serializers/auth/cas.py:43 +msgid "" +"After successful user authentication, if the user does not exist, " +"automatically create the user" +msgstr "" + +#: settings/serializers/auth/dingtalk.py:16 +msgid "Dingtalk" +msgstr "" + +#: settings/serializers/auth/dingtalk.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the DingTalk service user attribute name" +msgstr "" + +#: settings/serializers/auth/feishu.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the FeiShu service user attribute name" +msgstr "" + +#: settings/serializers/auth/lark.py:13 users/models/user/_source.py:22 +msgid "Lark" +msgstr "" + +#: settings/serializers/auth/lark.py:19 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the Lark service user attribute name" +msgstr "" + +#: settings/serializers/auth/ldap.py:42 settings/serializers/auth/ldap.py:104 +msgid "LDAP" +msgstr "" + +#: settings/serializers/auth/ldap.py:46 +msgid "LDAP server URI" +msgstr "" + +#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:32 +msgid "Bind DN" +msgstr "" + +#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:33 +msgid "Binding Distinguished Name" +msgstr "" + +#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:37 +msgid "Binding password" +msgstr "" + +#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:40 +msgid "Search OU" +msgstr "" + +#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:42 +msgid "" +"User Search Base, if there are multiple OUs, you can separate them with the " +"`|` symbol" +msgstr "" + +#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:46 +msgid "Search filter" +msgstr "" + +#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:47 +#, python-format +msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:52 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the LDAP service user attribute name" +msgstr "" + +#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:68 +msgid "Connect timeout (s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:90 settings/serializers/auth/ldap_ha.py:73 +msgid "User DN cache timeout (s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:92 +msgid "" +"Caching the User DN obtained during user login authentication can " +"effectively improve the speed of user authentication., 0 means no " +"cache
If the user OU structure has been adjusted, click Submit to clear " +"the user DN cache" +msgstr "" + +#: settings/serializers/auth/ldap.py:98 settings/serializers/auth/ldap_ha.py:81 +msgid "Search paged size (piece)" +msgstr "" + +#: settings/serializers/auth/ldap_ha.py:25 +#: settings/serializers/auth/ldap_ha.py:87 +msgid "LDAP HA" +msgstr "" + +#: settings/serializers/auth/ldap_ha.py:29 +msgid "LDAP HA server URI" +msgstr "" + +#: settings/serializers/auth/ldap_ha.py:75 +msgid "" +"Caching the User DN obtained during user login authentication can " +"effectivelyimprove the speed of user authentication., 0 means no cache
If " +"the user OU structure has been adjusted, click Submit to clear the user DN " +"cache" +msgstr "" + +#: settings/serializers/auth/oauth2.py:19 +#: settings/serializers/auth/oauth2.py:22 +msgid "OAuth2" +msgstr "" + +#: settings/serializers/auth/oauth2.py:28 +msgid "Service provider" +msgstr "" + +#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:97 +#: 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:100 +#: xpack/plugins/cloud/serializers/account_attrs.py:38 +msgid "Client Secret" +msgstr "" + +#: settings/serializers/auth/oauth2.py:40 settings/serializers/auth/oidc.py:77 +msgid "Authorization endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:43 settings/serializers/auth/oidc.py:80 +msgid "Token endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:46 settings/serializers/auth/oidc.py:32 +#: settings/serializers/auth/sms.py:111 +msgid "Request method" +msgstr "" + +#: settings/serializers/auth/oauth2.py:50 settings/serializers/auth/oidc.py:86 +msgid "Userinfo endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:53 settings/serializers/auth/oidc.py:89 +msgid "End session endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:57 +msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgstr "" + +#: settings/serializers/auth/oauth2.py:62 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the OAuth2 service user attribute name" +msgstr "" + +#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:113 +#: settings/serializers/auth/saml2.py:45 +msgid "Always update user" +msgstr "" + +#: settings/serializers/auth/oidc.py:13 settings/serializers/auth/oidc.py:71 +msgid "OIDC" +msgstr "" + +#: settings/serializers/auth/oidc.py:17 +msgid "Base site URL" +msgstr "" + +#: settings/serializers/auth/oidc.py:18 +msgid "The current site's URL is used to construct the callback address" +msgstr "" + +#: settings/serializers/auth/oidc.py:21 +msgid "Client Id" +msgstr "" + +#: settings/serializers/auth/oidc.py:34 +msgid "Share session" +msgstr "" + +#: settings/serializers/auth/oidc.py:36 +msgid "Ignore SSL verification" +msgstr "" + +#: settings/serializers/auth/oidc.py:41 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the OIDC service user attribute name" +msgstr "" + +#: settings/serializers/auth/oidc.py:45 +msgid "Enable PKCE" +msgstr "" + +#: settings/serializers/auth/oidc.py:47 +msgid "Code challenge method" +msgstr "" + +#: settings/serializers/auth/oidc.py:55 +msgid "Use Keycloak" +msgstr "" + +#: settings/serializers/auth/oidc.py:57 +msgid "" +"Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " +"Protocol" +msgstr "" + +#: settings/serializers/auth/oidc.py:64 +msgid "Realm name" +msgstr "" + +#: settings/serializers/auth/oidc.py:71 +msgid "OpenID Connect" +msgstr "" + +#: settings/serializers/auth/oidc.py:74 +msgid "Provider endpoint" +msgstr "" + +#: settings/serializers/auth/oidc.py:83 +msgid "JWKS endpoint" +msgstr "" + +#: settings/serializers/auth/oidc.py:92 +msgid "Signature algorithm" +msgstr "" + +#: settings/serializers/auth/oidc.py:95 +msgid "Signing key" +msgstr "" + +#: settings/serializers/auth/oidc.py:98 +msgid "Scopes" +msgstr "" + +#: settings/serializers/auth/oidc.py:101 +msgid "ID Token max age (s)" +msgstr "" + +#: settings/serializers/auth/oidc.py:104 +msgid "ID Token include claims" +msgstr "" + +#: settings/serializers/auth/oidc.py:107 +msgid "Use state" +msgstr "" + +#: settings/serializers/auth/oidc.py:110 +msgid "Use nonce" +msgstr "" + +#: settings/serializers/auth/passkey.py:12 +msgid "Only SSL domain can use passkey auth" +msgstr "" + +#: settings/serializers/auth/passkey.py:15 +msgid "FIDO Server ID" +msgstr "" + +#: settings/serializers/auth/passkey.py:17 +msgid "" +"The hostname can using passkey auth, If not set, will use request host and " +"the request host in DOMAINS, If multiple domains, use comma to separate" +msgstr "" + +#: settings/serializers/auth/passkey.py:22 +msgid "FIDO Server name" +msgstr "" + +#: settings/serializers/auth/radius.py:23 +msgid "OTP in RADIUS" +msgstr "" + +#: settings/serializers/auth/radius.py:24 +msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgstr "" + +#: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 +msgid "SAML2" +msgstr "" + +#: settings/serializers/auth/saml2.py:18 +msgid "IDP Metadata URL" +msgstr "" + +#: settings/serializers/auth/saml2.py:21 +msgid "IDP Metadata XML" +msgstr "" + +#: settings/serializers/auth/saml2.py:24 +msgid "SP advanced settings" +msgstr "" + +#: settings/serializers/auth/saml2.py:28 +msgid "SP private key" +msgstr "" + +#: settings/serializers/auth/saml2.py:32 +msgid "SP cert" +msgstr "" + +#: settings/serializers/auth/saml2.py:37 +msgid "" +"User attribute mapping, where the `key` is the SAML2 service user attribute " +"name and the `value` is the JumpServer user attribute name" +msgstr "" + +#: settings/serializers/auth/saml2.py:43 +msgid "When the user signs out, they also be logged out from the SAML2 server" +msgstr "" + +#: settings/serializers/auth/slack.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the Slack service user attribute name" +msgstr "" + +#: settings/serializers/auth/sms.py:18 +msgid "Enable Short Message Service (SMS)" +msgstr "" + +#: settings/serializers/auth/sms.py:21 xpack/plugins/cloud/models.py:36 +msgid "Provider" +msgstr "" + +#: settings/serializers/auth/sms.py:22 +msgid "Short Message Service (SMS) provider or protocol" +msgstr "" + +#: settings/serializers/auth/sms.py:25 +msgid "Code length" +msgstr "" + +#: settings/serializers/auth/sms.py:26 +msgid "Length of the sent verification code" +msgstr "" + +#: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 +#: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 +#: settings/serializers/auth/sms.py:82 settings/serializers/msg.py:83 +msgid "Signature" +msgstr "" + +#: settings/serializers/auth/sms.py:32 settings/serializers/auth/sms.py:55 +#: settings/serializers/auth/sms.py:63 settings/serializers/auth/sms.py:72 +msgid "Template code" +msgstr "" + +#: settings/serializers/auth/sms.py:40 users/models/user/__init__.py:79 +#: users/serializers/user.py:159 +msgid "Phone" +msgstr "" + +#: settings/serializers/auth/sms.py:69 +msgid "App Access Address" +msgstr "" + +#: settings/serializers/auth/sms.py:70 +msgid "Signature channel number" +msgstr "" + +#: settings/serializers/auth/sms.py:78 +msgid "Enterprise code" +msgstr "" + +#: settings/serializers/auth/sms.py:79 +msgid "Shared secret" +msgstr "" + +#: settings/serializers/auth/sms.py:80 +msgid "Original number" +msgstr "" + +#: settings/serializers/auth/sms.py:81 +msgid "Business type" +msgstr "" + +#: settings/serializers/auth/sms.py:85 +#, python-brace-format +msgid "" +"Template need contain {code} and Signature + template length does not exceed " +"67 words. For example, your verification code is {code}, which is valid for " +"5 minutes. Please do not disclose it to others." +msgstr "" + +#: settings/serializers/auth/sms.py:94 +#, python-brace-format +msgid "The template needs to contain {code}" +msgstr "" + +#: settings/serializers/auth/sms.py:97 +msgid "Signature + Template must not exceed 65 words" +msgstr "" + +#: settings/serializers/auth/sms.py:106 +msgid "URL" +msgstr "" + +#: settings/serializers/auth/sso.py:16 +msgid "Enable SSO auth" +msgstr "" + +#: settings/serializers/auth/sso.py:17 +msgid "Other service can using SSO token login to JumpServer without password" +msgstr "" + +#: settings/serializers/auth/sso.py:20 +msgid "SSO auth key TTL" +msgstr "" + +#: settings/serializers/auth/sso.py:20 +#: xpack/plugins/cloud/serializers/account_attrs.py:201 +msgid "Unit: second" +msgstr "" + +#: settings/serializers/auth/wecom.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the WeCom service user attribute name" +msgstr "" + +#: settings/serializers/basic.py:11 +msgid "Site URL" +msgstr "" + +#: settings/serializers/basic.py:13 +msgid "" +"Site URL is the externally accessible address of the current product service " +"and is usually used in links in system emails" +msgstr "" + +#: settings/serializers/basic.py:18 +msgid "User guide url" +msgstr "" + +#: settings/serializers/basic.py:19 +msgid "User first login update profile done redirect to it" +msgstr "" + +#: settings/serializers/basic.py:22 +msgid "Global org display" +msgstr "" + +#: settings/serializers/basic.py:23 +msgid "The name of global organization to display" +msgstr "" + +#: settings/serializers/basic.py:26 +msgid "Document URL" +msgstr "" + +#: settings/serializers/basic.py:27 +msgid "" +"Document URL refers to the address in the top navigation bar Help - Document" +msgstr "" + +#: settings/serializers/basic.py:30 +msgid "Support URL" +msgstr "" + +#: settings/serializers/basic.py:31 +msgid "" +"Support URL refers to the address in the top navigation bar Help - Support" +msgstr "" + +#: settings/serializers/basic.py:44 +msgid "Organization name already exists" +msgstr "" + +#: settings/serializers/cleaning.py:11 +msgid "Period clean" +msgstr "" + +#: settings/serializers/cleaning.py:15 +msgid "Login log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:19 +msgid "Task log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:23 +msgid "Operate log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:27 +msgid "password change log keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:31 +msgid "FTP log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:35 +msgid "Cloud sync task history retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:39 +msgid "job execution retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:43 +msgid "Activity log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:46 +msgid "Session log retention days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:48 +msgid "" +"Session, record, command will be delete if more than duration, only in " +"database, OSS will not be affected." +msgstr "" + +#: settings/serializers/cleaning.py:53 +msgid "Change secret and push record retention days (day)" +msgstr "" + +#: settings/serializers/feature.py:21 settings/serializers/msg.py:68 +msgid "Subject" +msgstr "" + +#: settings/serializers/feature.py:25 +msgid "More Link" +msgstr "" + +#: settings/serializers/feature.py:41 settings/serializers/feature.py:43 +#: settings/serializers/feature.py:44 +msgid "Announcement" +msgstr "" + +#: settings/serializers/feature.py:57 settings/serializers/feature.py:60 +msgid "Vault" +msgstr "" + +#: settings/serializers/feature.py:63 +msgid "Vault provider" +msgstr "" + +#: settings/serializers/feature.py:67 +msgid "Record limit" +msgstr "" + +#: settings/serializers/feature.py:69 +msgid "" +"If the specific value is less than 999 (default), the system will " +"automatically perform a task every night: check and delete historical " +"accounts that exceed the predetermined number. If the value reaches or " +"exceeds 999 (default), no historical account deletion will be performed" +msgstr "" + +#: settings/serializers/feature.py:87 +msgid "Mount Point" +msgstr "" + +#: settings/serializers/feature.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:41 +msgid "Tenant ID" +msgstr "" + +#: settings/serializers/feature.py:110 terminal/serializers/storage.py:68 +#: xpack/plugins/cloud/manager.py:111 xpack/plugins/cloud/manager.py:116 +#: xpack/plugins/cloud/models.py:287 +msgid "Region" +msgstr "" + +#: settings/serializers/feature.py:113 terminal/serializers/storage.py:33 +msgid "Access key ID" +msgstr "" + +#: settings/serializers/feature.py:117 terminal/serializers/storage.py:37 +#: xpack/plugins/cloud/serializers/account_attrs.py:20 +msgid "Access key secret" +msgstr "" + +#: settings/serializers/feature.py:122 settings/serializers/feature.py:125 +msgid "Chat AI" +msgstr "" + +#: settings/serializers/feature.py:132 settings/serializers/feature.py:147 +msgid "Base URL" +msgstr "" + +#: settings/serializers/feature.py:133 settings/serializers/feature.py:148 +msgid "The base URL of the Chat service." +msgstr "" + +#: settings/serializers/feature.py:136 settings/serializers/feature.py:151 +#: templates/_header_bar.html:96 +msgid "API Key" +msgstr "" + +#: settings/serializers/feature.py:140 settings/serializers/feature.py:155 +msgid "" +"The proxy server address of the GPT service. For example: http://ip:port" +msgstr "" + +#: settings/serializers/feature.py:144 +msgid "GPT Model" +msgstr "" + +#: settings/serializers/feature.py:159 +msgid "DeepSeek Model" +msgstr "" + +#: settings/serializers/feature.py:168 +msgid "Approval without login" +msgstr "" + +#: settings/serializers/feature.py:169 +msgid "Allow direct approval ticket without login" +msgstr "" + +#: settings/serializers/feature.py:173 +msgid "Period" +msgstr "" + +#: settings/serializers/feature.py:174 +msgid "" +"The default authorization time period when applying for assets via a ticket" +msgstr "" + +#: settings/serializers/feature.py:177 +msgid "hour" +msgstr "" + +#: settings/serializers/feature.py:178 +msgid "Unit" +msgstr "" + +#: settings/serializers/feature.py:178 +msgid "The unit of period" +msgstr "" + +#: settings/serializers/feature.py:187 +msgid "" +"Allow users to execute batch commands in the Workbench - Job Center - Adhoc" +msgstr "" + +#: settings/serializers/feature.py:191 +msgid "Command blacklist" +msgstr "" + +#: settings/serializers/feature.py:192 +msgid "Command blacklist in Adhoc" +msgstr "" + +#: settings/serializers/feature.py:197 +#: terminal/models/virtualapp/provider.py:17 +#: terminal/models/virtualapp/virtualapp.py:36 +#: terminal/models/virtualapp/virtualapp.py:97 +#: terminal/serializers/virtualapp.py:32 +msgid "Virtual app" +msgstr "" + +#: settings/serializers/feature.py:200 +msgid "Virtual App" +msgstr "" + +#: settings/serializers/feature.py:202 +msgid "" +"Virtual applications, you can use the Linux operating system as an " +"application server in remote applications." +msgstr "" + +#: settings/serializers/msg.py:24 +msgid "SMTP" +msgstr "" + +#: settings/serializers/msg.py:25 +msgid "EXCHANGE" +msgstr "" + +#: settings/serializers/msg.py:34 +msgid "The user to be used for email server authentication" +msgstr "" + +#: settings/serializers/msg.py:38 +msgid "" +"Password to use for the email server. It is used in conjunction with `User` " +"when authenticating to the email server" +msgstr "" + +#: settings/serializers/msg.py:41 +msgid "Sender" +msgstr "" + +#: settings/serializers/msg.py:42 +msgid "Sender email address (default to using the `User`)" +msgstr "" + +#: settings/serializers/msg.py:46 +msgid "The recipient is used for testing the email server's connectivity" +msgstr "" + +#: settings/serializers/msg.py:51 +msgid "" +"Whether to use an implicit TLS (secure) connection when talking to the SMTP " +"server. In most email documentation this type of TLS connection is referred " +"to as SSL. It is generally used on port 465" +msgstr "" + +#: settings/serializers/msg.py:54 +msgid "Use TLS" +msgstr "" + +#: settings/serializers/msg.py:56 +msgid "" +"Whether to use a TLS (secure) connection when talking to the SMTP server. " +"This is used for explicit TLS connections, generally on port 587" +msgstr "" + +#: settings/serializers/msg.py:64 +msgid "Subject prefix" +msgstr "" + +#: settings/serializers/msg.py:69 +msgid "" +"Tips: When creating a user, send the subject of the email (eg:Create account " +"successfully)" +msgstr "" + +#: settings/serializers/msg.py:73 +msgid "Honorific" +msgstr "" + +#: settings/serializers/msg.py:74 +msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" +msgstr "" + +#: settings/serializers/msg.py:80 +#, python-brace-format +msgid "" +"Tips: When creating a user, send the content of the email, support " +"{username} {name} {email} label" +msgstr "" + +#: settings/serializers/msg.py:84 +msgid "Tips: Email signature (eg:jumpserver)" +msgstr "" + +#: settings/serializers/other.py:8 +msgid "More..." +msgstr "" + +#: settings/serializers/other.py:11 +msgid "Perm ungroup node" +msgstr "" + +#: settings/serializers/other.py:12 +msgid "Perm single to ungroup node" +msgstr "" + +#: settings/serializers/security.py:17 +msgid "User password expiration (day)" +msgstr "" + +#: settings/serializers/security.py:19 +msgid "" +"If the user does not update the password during the time, the user password " +"will expire failure;The password expiration reminder mail will be automatic " +"sent to the user by system within 5 days (daily) before the password expires" +msgstr "" + +#: settings/serializers/security.py:26 +msgid "Recent password count" +msgstr "" + +#: settings/serializers/security.py:28 +msgid "" +"Tip: When the user resets the password, it cannot be the previous n " +"historical passwords of the user" +msgstr "" + +#: settings/serializers/security.py:34 +msgid "Minimum length (User)" +msgstr "" + +#: settings/serializers/security.py:38 +msgid "Minimum length (Admin)" +msgstr "" + +#: settings/serializers/security.py:47 +msgid "Digits" +msgstr "" + +#: settings/serializers/security.py:50 +msgid "Special characters" +msgstr "" + +#: settings/serializers/security.py:55 +msgid "" +"If the user has failed to log in for a limited number of times, no login is " +"allowed during this time interval." +msgstr "" + +#: settings/serializers/security.py:63 settings/serializers/security.py:73 +msgid "Login failures count" +msgstr "" + +#: settings/serializers/security.py:67 settings/serializers/security.py:77 +msgid "Login failure period (minute)" +msgstr "" + +#: settings/serializers/security.py:81 +msgid "Login IP whitelist" +msgstr "" + +#: settings/serializers/security.py:86 +msgid "Login IP blacklist" +msgstr "" + +#: settings/serializers/security.py:91 +msgid "Only single device login" +msgstr "" + +#: settings/serializers/security.py:92 +msgid "" +"After the user logs in on the new device, other logged-in devices will " +"automatically log out" +msgstr "" + +#: settings/serializers/security.py:95 +msgid "Only exist user login" +msgstr "" + +#: settings/serializers/security.py:97 +msgid "" +"If enabled, non-existent users will not be allowed to log in; if disabled, " +"users of other authentication methods except local authentication methods " +"are allowed to log in and automatically create users (if the user does not " +"exist)" +msgstr "" + +#: settings/serializers/security.py:103 +msgid "Only from source login" +msgstr "" + +#: settings/serializers/security.py:105 +msgid "" +"If it is enabled, the user will only authenticate to the source when logging " +"in; if it is disabled, the user will authenticate all the enabled " +"authentication methods in a certain order when logging in, and as long as " +"one of the authentication methods is successful, they can log in directly" +msgstr "" + +#: settings/serializers/security.py:116 +#: users/templates/users/mfa_setting.html:160 +msgid "Not enabled" +msgstr "" + +#: settings/serializers/security.py:117 +msgid "All users" +msgstr "" + +#: settings/serializers/security.py:118 +msgid "Only admin users" +msgstr "" + +#: settings/serializers/security.py:120 +msgid "Global MFA" +msgstr "" + +#: settings/serializers/security.py:124 +msgid "Third-party login MFA" +msgstr "" + +#: settings/serializers/security.py:125 +msgid "The third-party login modes include OIDC, CAS, and SAML2" +msgstr "" + +#: settings/serializers/security.py:128 +msgid "OTP issuer name" +msgstr "" + +#: settings/serializers/security.py:132 +msgid "OTP valid window" +msgstr "" + +#: settings/serializers/security.py:136 +msgid "MFA verify TTL" +msgstr "" + +#: settings/serializers/security.py:138 +msgid "" +"Unit: second, The verification MFA takes effect only when you view the " +"account password" +msgstr "" + +#: settings/serializers/security.py:143 +msgid "MFA in login page" +msgstr "" + +#: settings/serializers/security.py:144 +msgid "Eu security regulations(GDPR) require MFA to be on the login page" +msgstr "" + +#: settings/serializers/security.py:148 +msgid "Verify code TTL (second)" +msgstr "" + +#: settings/serializers/security.py:149 +msgid "Reset password and send SMS code expiration time" +msgstr "" + +#: settings/serializers/security.py:153 +msgid "Login dynamic code" +msgstr "" + +#: settings/serializers/security.py:154 +msgid "" +"The password and additional code are sent to a third party authentication " +"system for verification" +msgstr "" + +#: settings/serializers/security.py:158 +msgid "Login captcha" +msgstr "" + +#: settings/serializers/security.py:159 +msgid "Enable captcha to prevent robot authentication" +msgstr "" + +#: settings/serializers/security.py:162 +msgid "Suspicious Login Verification" +msgstr "" + +#: settings/serializers/security.py:164 +msgid "" +"The system determines whether the login IP address belongs to a common login " +"city. If the account is logged in from a common login city, the system sends " +"a remote login reminder" +msgstr "" + +#: settings/serializers/security.py:170 +msgid "Auto Disable Threshold (day)" +msgstr "" + +#: settings/serializers/security.py:171 +msgid "" +"Detect infrequent users daily and disable them if they exceed the " +"predetermined time limit" +msgstr "" + +#: settings/serializers/security.py:191 +msgid "Watermark" +msgstr "" + +#: settings/serializers/security.py:192 +msgid "Enabled, the web session and replay contains watermark information" +msgstr "" + +#: settings/serializers/security.py:196 +msgid "Max idle time (minute)" +msgstr "" + +#: settings/serializers/security.py:197 +msgid "If idle time more than it, disconnect connection." +msgstr "" + +#: settings/serializers/security.py:200 +msgid "Session expire at browser closed" +msgstr "" + +#: settings/serializers/security.py:201 +msgid "Whether to expire the session when the user closes their browser." +msgstr "" + +#: settings/serializers/security.py:206 +msgid "Allow users to view asset session information" +msgstr "" + +#: settings/serializers/security.py:208 +msgid "" +"When a user connects to an asset, the account selection popup displays the " +"number of active sessions for the current asset (RDP protocol only)." +msgstr "" + +#: settings/serializers/security.py:214 +msgid "Max online time (hour)" +msgstr "" + +#: settings/serializers/security.py:215 +msgid "If session connection time more than it, disconnect connection." +msgstr "" + +#: settings/serializers/security.py:218 +msgid "Remember manual auth" +msgstr "" + +#: settings/serializers/security.py:221 +#: terminal/templates/terminal/_msg_session_sharing.html:10 +msgid "Session share" +msgstr "" + +#: settings/serializers/security.py:222 +msgid "Enabled, Allows user active session to be shared with other users" +msgstr "" + +#: settings/serializers/security.py:228 +msgid "Insecure command alert" +msgstr "" + +#: settings/serializers/security.py:231 +msgid "Email recipient" +msgstr "" + +#: settings/serializers/security.py:232 +msgid "Multiple user using , split" +msgstr "" + +#: settings/serializers/settings.py:62 +#, python-format +msgid "[%s] %s" +msgstr "" + +#: settings/serializers/terminal.py:15 +msgid "Auto" +msgstr "" + +#: settings/serializers/terminal.py:22 +msgid "Registration" +msgstr "" + +#: settings/serializers/terminal.py:24 +msgid "" +"Allow component register, after all component setup, you should disable this " +"for security" +msgstr "" + +#: settings/serializers/terminal.py:30 +msgid "" +"* Allow users to log in to the KoKo component via password authentication" +msgstr "" + +#: settings/serializers/terminal.py:36 +msgid "" +"* Allow users to log in to the KoKo component via Public key " +"authentication
If third-party authentication services, such as AD/LDAP, " +"are enabled, you should disable this option to prevent users from logging in " +"after being deleted from the AD/LDAP server" +msgstr "" + +#: settings/serializers/terminal.py:43 +msgid "Asset sorting" +msgstr "" + +#: settings/serializers/terminal.py:46 +msgid "Asset page size" +msgstr "" + +#: settings/serializers/terminal.py:51 +msgid "" +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the DB client launch " +"method when connecting to assets" +msgstr "" + +#: settings/serializers/terminal.py:59 +msgid "" +"* You can individually configure the service address and port in the service " +"endpoint
If enabled, the Luna page will display the download rdp file " +"button and RDP Client launch method when connecting to assets" +msgstr "" + +#: settings/serializers/terminal.py:66 +msgid "Client connection" +msgstr "" + +#: settings/serializers/terminal.py:68 +msgid "" +"* Allow connecting to the KoKo component via SSH client
If enabled, the " +"Luna page will display the SSH client launch method when connecting to assets" +msgstr "" + +#: settings/serializers/tool.py:10 +msgid "Tool" +msgstr "" + +#: settings/serializers/tool.py:13 +msgid "Tools in the Workbench" +msgstr "" + +#: settings/serializers/tool.py:15 +msgid "" +"*! If enabled, users with RBAC permissions will be able to utilize all tools " +"in the workbench" +msgstr "" + +#: settings/tasks/ldap.py:73 +msgid "Periodic import ldap user" +msgstr "" + +#: settings/tasks/ldap.py:75 settings/tasks/ldap.py:85 +msgid "" +"When LDAP auto-sync is configured, this task will be invoked to synchronize " +"users" +msgstr "" + +#: settings/tasks/ldap.py:83 +msgid "Periodic import ldap ha user" +msgstr "" + +#: settings/tasks/ldap.py:120 +msgid "Registration periodic import ldap user task" +msgstr "" + +#: settings/tasks/ldap.py:122 +msgid "" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " +"sync task \n" +" will be re-registered or updated, and this task will be invoked" +msgstr "" + +#: settings/tasks/ldap.py:136 +msgid "Registration periodic import ldap ha user task" +msgstr "" + +#: settings/tasks/ldap.py:138 +msgid "" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " +"LDAP HA sync task \n" +" will be re-registered or updated, and this task will be invoked" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:2 +msgid "Sync task finish" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:9 +msgid "Synced Organization" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:15 +msgid "Synced User" +msgstr "" + +#: settings/templates/ldap/_msg_import_ldap_user.html:22 +msgid "No user synchronization required" +msgstr "" + +#: settings/utils/ldap.py:509 +msgid "ldap:// or ldaps:// protocol is used." +msgstr "" + +#: settings/utils/ldap.py:520 +msgid "Host or port is disconnected: {}" +msgstr "" + +#: settings/utils/ldap.py:522 +msgid "The port is not the port of the LDAP service: {}" +msgstr "" + +#: settings/utils/ldap.py:524 +msgid "Please add certificate: {}" +msgstr "" + +#: settings/utils/ldap.py:528 settings/utils/ldap.py:555 +#: settings/utils/ldap.py:585 settings/utils/ldap.py:613 +msgid "Unknown error: {}" +msgstr "" + +#: settings/utils/ldap.py:542 +msgid "Bind DN or Password incorrect" +msgstr "" + +#: settings/utils/ldap.py:549 +msgid "Please enter Bind DN: {}" +msgstr "" + +#: settings/utils/ldap.py:551 +msgid "Please enter Password: {}" +msgstr "" + +#: settings/utils/ldap.py:553 +msgid "Please enter correct Bind DN and Password: {}" +msgstr "" + +#: settings/utils/ldap.py:571 +msgid "Invalid User OU or User search filter: {}" +msgstr "" + +#: settings/utils/ldap.py:602 +msgid "LDAP User attr map not include: {}" +msgstr "" + +#: settings/utils/ldap.py:609 +msgid "LDAP User attr map is not dict" +msgstr "" + +#: settings/utils/ldap.py:628 +msgid "LDAP authentication is not enabled" +msgstr "" + +#: settings/utils/ldap.py:646 +msgid "Error (Invalid LDAP server): {}" +msgstr "" + +#: settings/utils/ldap.py:648 +msgid "Error (Invalid Bind DN): {}" +msgstr "" + +#: settings/utils/ldap.py:650 +msgid "Error (Invalid LDAP User attr map): {}" +msgstr "" + +#: settings/utils/ldap.py:652 +msgid "Error (Invalid User OU or User search filter): {}" +msgstr "" + +#: settings/utils/ldap.py:654 +msgid "Error (Not enabled LDAP authentication): {}" +msgstr "" + +#: settings/utils/ldap.py:656 +msgid "Error (Unknown): {}" +msgstr "" + +#: settings/utils/ldap.py:659 +msgid "Succeed: Match {} users" +msgstr "" + +#: settings/utils/ldap.py:689 +msgid "Authentication failed (configuration incorrect): {}" +msgstr "" + +#: settings/utils/ldap.py:693 +msgid "Authentication failed (username or password incorrect): {}" +msgstr "" + +#: settings/utils/ldap.py:695 +msgid "Authentication failed (Unknown): {}" +msgstr "" + +#: settings/utils/ldap.py:698 +msgid "Authentication success: {}" +msgstr "" + +#: settings/ws.py:222 +msgid "No LDAP user was found" +msgstr "" + +#: settings/ws.py:228 +msgid "Total {}, success {}, failure {}" +msgstr "" + +#: templates/_csv_import_export.html:8 +msgid "Export" +msgstr "" + +#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5 +#: xpack/plugins/cloud/const.py:65 +msgid "Import" +msgstr "" + +#: templates/_csv_import_modal.html:12 +msgid "Download the imported template or use the exported CSV file format" +msgstr "" + +#: templates/_csv_import_modal.html:13 +msgid "Download the import template" +msgstr "" + +#: templates/_csv_import_modal.html:17 templates/_csv_update_modal.html:17 +msgid "Select the CSV file to import" +msgstr "" + +#: templates/_csv_import_modal.html:39 templates/_csv_update_modal.html:42 +msgid "Please select file" +msgstr "" + +#: templates/_csv_update_modal.html:12 +msgid "Download the update template or use the exported CSV file format" +msgstr "" + +#: templates/_csv_update_modal.html:13 +msgid "Download the update template" +msgstr "" + +#: templates/_header_bar.html:12 +msgid "Help" +msgstr "" + +#: templates/_header_bar.html:19 +msgid "Docs" +msgstr "" + +#: templates/_header_bar.html:27 +msgid "Commercial support" +msgstr "" + +#: templates/_header_bar.html:85 users/forms/profile.py:44 +msgid "Profile" +msgstr "" + +#: templates/_header_bar.html:89 +msgid "Admin page" +msgstr "" + +#: templates/_header_bar.html:92 +msgid "User page" +msgstr "" + +#: templates/_header_bar.html:97 +msgid "Logout" +msgstr "" + +#: templates/_message.html:6 +msgid "Your account has expired, please contact the administrator." +msgstr "" + +#: templates/_message.html:11 +msgid "Your account will at" +msgstr "" + +#: templates/_message.html:11 templates/_message.html:26 +msgid "expired. " +msgstr "" + +#: templates/_message.html:21 +#, python-format +msgid "" +"Your password has expired, please click this link update password." +msgstr "" + +#: templates/_message.html:26 +msgid "Your password will at" +msgstr "" + +#: templates/_message.html:27 +#, python-format +msgid "" +"please click this link to " +"update your password." +msgstr "" + +#: templates/_message.html:37 +#, python-format +msgid "" +"Your information was incomplete. Please click this link to complete your information." +msgstr "" + +#: templates/_message.html:48 +#, python-format +msgid "" +"Your ssh public key not set or expired. Please click this link to update" +msgstr "" + +#: templates/_mfa_login_field.html:31 +#: users/templates/users/forgot_password.html:101 +msgid "Send" +msgstr "" + +#: templates/_mfa_login_field.html:110 +#: users/templates/users/forgot_password.html:176 +msgid "Wait: " +msgstr "" + +#: templates/_mfa_login_field.html:120 +#: users/templates/users/forgot_password.html:192 +msgid "The verification code has been sent" +msgstr "" + +#: templates/_without_nav_base.html:26 +msgid "Home page" +msgstr "" + +#: templates/resource_download.html:20 templates/resource_download.html:35 +#: users/const.py:77 +msgid "Client" +msgstr "" + +#: templates/resource_download.html:22 +msgid "" +"JumpServer Client, currently used to launch the client, now only support " +"launch RDP SSH client, The Telnet client will next" +msgstr "" + +#: templates/resource_download.html:35 +msgid "Microsoft" +msgstr "" + +#: templates/resource_download.html:35 +msgid "Official" +msgstr "" + +#: templates/resource_download.html:37 +msgid "" +"macOS needs to download the client to connect RDP asset, which comes with " +"Windows" +msgstr "" + +#: templates/resource_download.html:45 +msgid "Windows Remote application publisher tools" +msgstr "" + +#: templates/resource_download.html:46 +msgid "" +"OpenSSH is a program used to connect remote applications in the Windows " +"Remote Application Publisher" +msgstr "" + +#: templates/resource_download.html:53 +msgid "Offline video player" +msgstr "" + +#: terminal/api/applet/applet.py:52 terminal/api/applet/applet.py:55 +#: terminal/api/virtualapp/virtualapp.py:43 +#: terminal/api/virtualapp/virtualapp.py:46 +msgid "Invalid zip file" +msgstr "" + +#: terminal/api/applet/applet.py:74 +msgid "This is enterprise edition applet" +msgstr "" + +#: terminal/api/applet/applet.py:91 +msgid "Applet not found in path: {}" +msgstr "" + +#: terminal/api/component/endpoint.py:32 +msgid "Not found protocol query params" +msgstr "" + +#: terminal/api/component/storage.py:31 +msgid "Deleting the default storage is not allowed" +msgstr "" + +#: terminal/api/component/storage.py:36 +msgid "Cannot delete storage that is being used: {}" +msgstr "" + +#: terminal/api/component/storage.py:77 terminal/api/component/storage.py:78 +msgid "Command storages" +msgstr "" + +#: terminal/api/component/storage.py:84 xpack/plugins/cloud/manager.py:111 +msgid "Invalid" +msgstr "" + +#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +msgid "Test failure: {}" +msgstr "" + +#: terminal/api/component/storage.py:135 +msgid "Test successful" +msgstr "" + +#: terminal/api/component/storage.py:137 +msgid "Test failure: Please check configuration" +msgstr "" + +#: terminal/api/component/terminal.py:57 +msgid "Have online sessions" +msgstr "" + +#: terminal/api/session/session.py:49 +#, python-format +msgid "User %s %s session %s replay" +msgstr "" + +#: terminal/api/session/session.py:329 +msgid "Session does not exist: {}" +msgstr "" + +#: terminal/api/session/session.py:332 +msgid "Session is finished or the protocol not supported" +msgstr "" + +#: terminal/api/session/session.py:345 +msgid "User does not have permission" +msgstr "" + +#: terminal/api/session/sharing.py:29 +msgid "Secure session sharing settings is disabled" +msgstr "" + +#: terminal/apps.py:9 +msgid "App Terminals" +msgstr "" + +#: terminal/backends/command/models.py:19 +msgid "Input" +msgstr "" + +#: terminal/backends/command/models.py:20 terminal/serializers/command.py:73 +msgid "Output" +msgstr "" + +#: terminal/backends/command/models.py:24 terminal/serializers/command.py:22 +#: terminal/templates/terminal/_msg_command_warning.html:10 +msgid "Risk level" +msgstr "" + +#: terminal/connect_methods.py:29 +msgid "SSH Client" +msgstr "" + +#: terminal/connect_methods.py:30 +msgid "SSH Guide" +msgstr "" + +#: terminal/connect_methods.py:31 +msgid "SFTP Client" +msgstr "" + +#: terminal/connect_methods.py:33 +msgid "DB Guide" +msgstr "" + +#: terminal/connect_methods.py:34 +msgid "DB Client" +msgstr "" + +#: terminal/connect_methods.py:36 +msgid "Remote Desktop" +msgstr "" + +#: terminal/connect_methods.py:37 +msgid "RDP Guide" +msgstr "" + +#: terminal/connect_methods.py:39 +msgid "VNC Client" +msgstr "" + +#: terminal/connect_methods.py:40 +msgid "VNC Guide" +msgstr "" + +#: terminal/const.py:10 +msgid "Warning" +msgstr "" + +#: terminal/const.py:12 +msgid "Review & Reject" +msgstr "" + +#: terminal/const.py:13 +msgid "Review & Accept" +msgstr "" + +#: terminal/const.py:14 +msgid "Review & Cancel" +msgstr "" + +#: terminal/const.py:45 +msgid "Critical" +msgstr "" + +#: terminal/const.py:46 +msgid "High" +msgstr "" + +#: terminal/const.py:47 terminal/const.py:86 +#: users/templates/users/reset_password.html:54 +msgid "Normal" +msgstr "" + +#: terminal/const.py:48 +msgid "Offline" +msgstr "" + +#: terminal/const.py:82 +msgid "Mismatch" +msgstr "" + +#: terminal/const.py:87 +msgid "Tunnel" +msgstr "" + +#: terminal/const.py:93 +msgid "Read only" +msgstr "" + +#: terminal/const.py:94 +msgid "Writable" +msgstr "" + +#: terminal/const.py:98 +msgid "Kill session" +msgstr "" + +#: terminal/const.py:99 +msgid "Lock session" +msgstr "" + +#: terminal/const.py:100 +msgid "Unlock session" +msgstr "" + +#: terminal/const.py:105 +msgid "Replay create failed" +msgstr "" + +#: terminal/const.py:106 +msgid "Replay upload failed" +msgstr "" + +#: terminal/const.py:107 +msgid "Replay convert failed" +msgstr "" + +#: terminal/const.py:108 +msgid "Replay unsupported" +msgstr "" + +#: terminal/exceptions.py:8 +msgid "Bulk create not support" +msgstr "" + +#: terminal/exceptions.py:13 +msgid "Storage is invalid" +msgstr "" + +#: terminal/models/applet/applet.py:32 +msgid "Enterprise" +msgstr "" + +#: terminal/models/applet/applet.py:35 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "" + +#: terminal/models/applet/applet.py:37 +#: terminal/models/virtualapp/virtualapp.py:22 +msgid "Author" +msgstr "" + +#: terminal/models/applet/applet.py:39 terminal/serializers/applet.py:31 +msgid "Edition" +msgstr "" + +#: terminal/models/applet/applet.py:44 +msgid "Can concurrent" +msgstr "" + +#: terminal/models/applet/applet.py:49 terminal/serializers/applet_host.py:179 +#: terminal/serializers/storage.py:193 +msgid "Hosts" +msgstr "" + +#: terminal/models/applet/applet.py:94 +#: terminal/models/virtualapp/virtualapp.py:66 +msgid "Applet pkg not valid, Missing file {}" +msgstr "" + +#: terminal/models/applet/applet.py:113 +msgid "Load platform.yml failed: {}" +msgstr "" + +#: terminal/models/applet/applet.py:116 +msgid "Only support custom platform" +msgstr "" + +#: terminal/models/applet/applet.py:121 +msgid "Missing type in platform.yml" +msgstr "" + +#: terminal/models/applet/applet.py:330 terminal/models/applet/host.py:36 +#: terminal/models/applet/host.py:138 +msgid "Hosting" +msgstr "" + +#: terminal/models/applet/applet.py:336 +msgid "Applet Publication" +msgstr "" + +#: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:81 +msgid "Deploy options" +msgstr "" + +#: terminal/models/applet/host.py:19 +msgid "Auto create accounts" +msgstr "" + +#: terminal/models/applet/host.py:20 +msgid "Accounts create amount" +msgstr "" + +#: terminal/models/applet/host.py:21 +msgid "Inited" +msgstr "" + +#: terminal/models/applet/host.py:22 +msgid "Date inited" +msgstr "" + +#: terminal/models/applet/host.py:23 +msgid "Date synced" +msgstr "" + +#: terminal/models/applet/host.py:28 +msgid "Using same account" +msgstr "" + +#: terminal/models/applet/host.py:139 +msgid "Initial" +msgstr "" + +#: terminal/models/applet/host.py:148 +msgid "Applet host deployment" +msgstr "" + +#: terminal/models/component/endpoint.py:16 +msgid "HTTPS port" +msgstr "" + +#: terminal/models/component/endpoint.py:17 +msgid "HTTP port" +msgstr "" + +#: terminal/models/component/endpoint.py:18 +msgid "SSH port" +msgstr "" + +#: terminal/models/component/endpoint.py:19 +msgid "RDP port" +msgstr "" + +#: terminal/models/component/endpoint.py:20 +msgid "MySQL port" +msgstr "" + +#: terminal/models/component/endpoint.py:21 +msgid "MariaDB port" +msgstr "" + +#: terminal/models/component/endpoint.py:22 +msgid "PostgreSQL port" +msgstr "" + +#: terminal/models/component/endpoint.py:23 +msgid "Redis port" +msgstr "" + +#: terminal/models/component/endpoint.py:24 +msgid "SQLServer port" +msgstr "" + +#: terminal/models/component/endpoint.py:25 +msgid "VNC port" +msgstr "" + +#: terminal/models/component/endpoint.py:33 +#: terminal/models/component/endpoint.py:120 +#: terminal/serializers/endpoint.py:80 terminal/serializers/storage.py:41 +#: terminal/serializers/storage.py:53 terminal/serializers/storage.py:83 +#: terminal/serializers/storage.py:93 terminal/serializers/storage.py:101 +msgid "Endpoint" +msgstr "" + +#: terminal/models/component/endpoint.py:126 +msgid "Endpoint rule" +msgstr "" + +#: terminal/models/component/status.py:15 +msgid "Session Online" +msgstr "" + +#: terminal/models/component/status.py:16 +msgid "CPU Load" +msgstr "" + +#: terminal/models/component/status.py:17 +msgid "Memory Used" +msgstr "" + +#: terminal/models/component/status.py:18 +msgid "Disk Used" +msgstr "" + +#: terminal/models/component/status.py:19 +msgid "Connections" +msgstr "" + +#: terminal/models/component/status.py:20 +msgid "Threads" +msgstr "" + +#: terminal/models/component/status.py:21 +msgid "Boot Time" +msgstr "" + +#: terminal/models/component/storage.py:144 +#: terminal/models/component/terminal.py:92 +msgid "Command storage" +msgstr "" + +#: terminal/models/component/storage.py:212 +#: terminal/models/component/terminal.py:93 +msgid "Replay storage" +msgstr "" + +#: terminal/models/component/terminal.py:89 +msgid "type" +msgstr "" + +#: terminal/models/component/terminal.py:94 +msgid "Application User" +msgstr "" + +#: terminal/models/component/terminal.py:187 +msgid "Can view terminal config" +msgstr "" + +#: terminal/models/session/command.py:76 +msgid "Command record" +msgstr "" + +#: terminal/models/session/replay.py:12 +msgid "Session replay" +msgstr "" + +#: terminal/models/session/replay.py:14 +msgid "Can upload session replay" +msgstr "" + +#: terminal/models/session/replay.py:15 +msgid "Can download session replay" +msgstr "" + +#: terminal/models/session/session.py:37 +msgid "Account ID" +msgstr "" + +#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:118 +msgid "Login from" +msgstr "" + +#: terminal/models/session/session.py:44 +msgid "Replay" +msgstr "" + +#: terminal/models/session/session.py:50 terminal/serializers/session.py:112 +msgid "Command amount" +msgstr "" + +#: terminal/models/session/session.py:51 terminal/serializers/session.py:32 +msgid "Error reason" +msgstr "" + +#: terminal/models/session/session.py:315 +msgid "Session record" +msgstr "" + +#: terminal/models/session/session.py:317 +msgid "Can monitor session" +msgstr "" + +#: terminal/models/session/session.py:318 +msgid "Can share session" +msgstr "" + +#: terminal/models/session/session.py:319 +msgid "Can terminate session" +msgstr "" + +#: terminal/models/session/session.py:320 +msgid "Can validate session action perm" +msgstr "" + +#: terminal/models/session/sharing.py:32 +msgid "Expired time (min)" +msgstr "" + +#: terminal/models/session/sharing.py:36 terminal/serializers/sharing.py:20 +#: terminal/serializers/sharing.py:52 +msgid "Action permission" +msgstr "" + +#: terminal/models/session/sharing.py:38 +msgid "Origin" +msgstr "" + +#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100 +#: terminal/notifications.py:279 +msgid "Session sharing" +msgstr "" + +#: terminal/models/session/sharing.py:44 +msgid "Can add super session sharing" +msgstr "" + +#: terminal/models/session/sharing.py:83 +msgid "Link not active" +msgstr "" + +#: terminal/models/session/sharing.py:85 +msgid "Link expired" +msgstr "" + +#: terminal/models/session/sharing.py:87 +msgid "User not allowed to join" +msgstr "" + +#: terminal/models/session/sharing.py:104 terminal/serializers/sharing.py:71 +msgid "Joiner" +msgstr "" + +#: terminal/models/session/sharing.py:107 +msgid "Date joined" +msgstr "" + +#: terminal/models/session/sharing.py:110 +msgid "Date left" +msgstr "" + +#: terminal/models/session/sharing.py:133 +msgid "Session join record" +msgstr "" + +#: terminal/models/session/sharing.py:149 +msgid "Invalid verification code" +msgstr "" + +#: terminal/models/session/sharing.py:156 +msgid "You have already joined this session" +msgstr "" + +#: terminal/models/virtualapp/provider.py:11 +msgid "Hostname" +msgstr "" + +#: terminal/models/virtualapp/provider.py:23 +#: terminal/models/virtualapp/virtualapp.py:94 +#: terminal/serializers/virtualapp.py:34 +msgid "App Provider" +msgstr "" + +#: terminal/models/virtualapp/virtualapp.py:32 +msgid "Providers" +msgstr "" + +#: terminal/models/virtualapp/virtualapp.py:102 +msgid "Virtual app publication" +msgstr "" + +#: terminal/notifications.py:26 +msgid "Sessions" +msgstr "" + +#: terminal/notifications.py:73 +msgid "Command warning" +msgstr "" + +#: terminal/notifications.py:128 terminal/notifications.py:183 +msgid "Command reject" +msgstr "" + +#: terminal/notifications.py:158 terminal/notifications.py:218 +msgid "Level" +msgstr "" + +#: terminal/notifications.py:242 +msgid "Command and replay storage" +msgstr "" + +#: terminal/notifications.py:258 terminal/tasks.py:212 +#: xpack/plugins/cloud/api.py:160 +#: xpack/plugins/cloud/serializers/account.py:121 +#: xpack/plugins/cloud/serializers/account.py:123 +msgid "Test failure: Account invalid" +msgstr "" + +#: terminal/notifications.py:268 +#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 +msgid "Invalid storage" +msgstr "" + +#: terminal/serializers/applet.py:28 terminal/serializers/virtualapp.py:15 +msgid "Icon" +msgstr "" + +#: terminal/serializers/applet_host.py:24 +msgid "Per Device (Device number limit)" +msgstr "" + +#: terminal/serializers/applet_host.py:25 +msgid "Per User (User number limit)" +msgstr "" + +#: terminal/serializers/applet_host.py:37 +msgid "Core API" +msgstr "" + +#: terminal/serializers/applet_host.py:38 +msgid "" +" \n" +" Tips: The application release machine communicates with the Core " +"service. \n" +" If the release machine and the Core service are on the same network " +"segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in " +"the current site URL \n" +"
\n" +" eg: https://172.16.10.110 or https://dev.jumpserver.com\n" +" " +msgstr "" + +#: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 +msgid "Ignore Certificate Verification" +msgstr "" + +#: terminal/serializers/applet_host.py:48 +msgid "Existing RDS license" +msgstr "" + +#: terminal/serializers/applet_host.py:50 +msgid "" +"If not exist, the RDS will be in trial mode, and the trial period is 120 " +"days. Detail" +msgstr "" + +#: terminal/serializers/applet_host.py:55 +msgid "RDS License Server" +msgstr "" + +#: terminal/serializers/applet_host.py:57 +msgid "RDS Licensing Mode" +msgstr "" + +#: terminal/serializers/applet_host.py:60 +msgid "RDS Single Session Per User" +msgstr "" + +#: terminal/serializers/applet_host.py:61 +msgid "" +"Tips: A RDS user can have only one session at a time. If set, when next " +"login connected, previous session will be disconnected." +msgstr "" + +#: terminal/serializers/applet_host.py:65 +msgid "RDS Max Disconnection Time (ms)" +msgstr "" + +#: terminal/serializers/applet_host.py:67 +msgid "" +"Tips: Set the maximum duration for keeping a disconnected session active on " +"the server (log off the session after 60000 milliseconds)." +msgstr "" + +#: terminal/serializers/applet_host.py:72 +msgid "RDS Remote App Logoff Time Limit (ms)" +msgstr "" + +#: terminal/serializers/applet_host.py:74 +msgid "" +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " +"programs (0 milliseconds, log off the session immediately)." +msgstr "" + +#: terminal/serializers/applet_host.py:83 terminal/serializers/terminal.py:47 +#: terminal/serializers/virtualapp_provider.py:13 +msgid "Load status" +msgstr "" + +#: terminal/serializers/applet_host.py:97 +msgid "" +"These accounts are used to connect to the published application, the account " +"is now divided into two types, one is dedicated to each account, each user " +"has a private account, the other is public, when the application does not " +"support multiple open and the special has been used, the public account will " +"be used to connect" +msgstr "" + +#: terminal/serializers/applet_host.py:104 +msgid "The number of public accounts created automatically" +msgstr "" + +#: terminal/serializers/applet_host.py:107 +msgid "" +"Connect to the host using the same account first. For security reasons, " +"please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " +"restart the service to enable it." +msgstr "" + +#: terminal/serializers/applet_host.py:149 +msgid "Install applets" +msgstr "" + +#: terminal/serializers/applet_host.py:179 +msgid "Host ID" +msgstr "" + +#: terminal/serializers/applet_host.py:180 +msgid "Applet ID" +msgstr "" + +#: terminal/serializers/command.py:41 +msgid "Command Filter ACL" +msgstr "" + +#: terminal/serializers/command.py:44 +msgid "Command Group" +msgstr "" + +#: terminal/serializers/command.py:55 +msgid "Invalid command filter ACL id" +msgstr "" + +#: terminal/serializers/command.py:59 +msgid "Invalid command group id" +msgstr "" + +#: terminal/serializers/command.py:63 +msgid "Invalid session id" +msgstr "" + +#: terminal/serializers/command.py:74 +msgid "Timestamp" +msgstr "" + +#: terminal/serializers/endpoint.py:15 +msgid "Oracle port" +msgstr "" + +#: terminal/serializers/endpoint.py:18 +msgid "Oracle port range" +msgstr "" + +#: terminal/serializers/endpoint.py:20 +msgid "" +"Oracle proxy server listen port is dynamic, Each additional Oracle database " +"instance adds a port listener" +msgstr "" + +#: terminal/serializers/endpoint.py:38 +msgid "" +"The host address accessed when connecting to assets, if it is empty, the " +"access address of the current browser will be used (the default endpoint " +"does not allow modification of the host)" +msgstr "" + +#: terminal/serializers/endpoint.py:71 +msgid "" +"The assets within this IP range, the following endpoint will be used for the " +"connection" +msgstr "" + +#: terminal/serializers/endpoint.py:72 +msgid "" +"If asset IP addresses under different endpoints conflict, use asset labels" +msgstr "" + +#: terminal/serializers/endpoint.py:76 +msgid "Asset IP" +msgstr "" + +#: terminal/serializers/session.py:27 terminal/serializers/session.py:55 +msgid "Can replay" +msgstr "" + +#: terminal/serializers/session.py:28 terminal/serializers/session.py:56 +msgid "Can join" +msgstr "" + +#: terminal/serializers/session.py:29 terminal/serializers/session.py:59 +msgid "Can terminate" +msgstr "" + +#: terminal/serializers/session.py:51 +msgid "User ID" +msgstr "" + +#: terminal/serializers/session.py:52 +msgid "Asset ID" +msgstr "" + +#: terminal/serializers/session.py:53 +msgid "Login from display" +msgstr "" + +#: terminal/serializers/session.py:60 +msgid "Terminal display" +msgstr "" + +#: terminal/serializers/session.py:103 +msgid "No asset or invalid asset" +msgstr "" + +#: terminal/serializers/storage.py:23 +msgid "Endpoint invalid: remove path `{}`" +msgstr "" + +#: terminal/serializers/storage.py:29 +msgid "Bucket" +msgstr "" + +#: terminal/serializers/storage.py:112 +msgid "Container name" +msgstr "" + +#: terminal/serializers/storage.py:115 +msgid "Account key" +msgstr "" + +#: terminal/serializers/storage.py:118 +msgid "Endpoint suffix" +msgstr "" + +#: terminal/serializers/storage.py:129 +msgid "HOST" +msgstr "" + +#: terminal/serializers/storage.py:152 +msgid "SFTP Root" +msgstr "" + +#: terminal/serializers/storage.py:173 +msgid "The address cannot contain the special character `#`" +msgstr "" + +#: terminal/serializers/storage.py:175 +msgid "The address format is incorrect" +msgstr "" + +#: terminal/serializers/storage.py:182 +msgid "Host invalid" +msgstr "" + +#: terminal/serializers/storage.py:185 +msgid "Port invalid" +msgstr "" + +#: terminal/serializers/storage.py:194 +msgid "" +"If there are multiple hosts, use a comma (,) to separate them.
(For " +"example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" +msgstr "" + +#: terminal/serializers/storage.py:199 +msgid "Index by date" +msgstr "" + +#: terminal/serializers/storage.py:200 +msgid "Whether to create an index by date" +msgstr "" + +#: terminal/serializers/storage.py:203 +msgid "Index" +msgstr "" + +#: terminal/serializers/storage.py:205 +msgid "Doc type" +msgstr "" + +#: terminal/serializers/storage.py:257 +msgid "Store locally" +msgstr "" + +#: terminal/serializers/storage.py:258 +msgid "Do not save" +msgstr "" + +#: terminal/serializers/storage.py:273 +msgid "" +"set as the default storage, will make new Component use the current storage " +"by default, without affecting existing Component" +msgstr "" + +#: terminal/serializers/task.py:9 +msgid "Session id" +msgstr "" + +#: terminal/serializers/terminal.py:42 +msgid "Online sessions" +msgstr "" + +#: terminal/serializers/terminal.py:43 +msgid "Is alive" +msgstr "" + +#: terminal/serializers/terminal.py:49 +msgid "Stat" +msgstr "" + +#: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91 +msgid "Not found" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:26 +msgid "Container ID" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:27 +msgid "Container Image" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:28 +msgid "Container Name" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:29 +msgid "Container Status" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:30 +msgid "Container Ports" +msgstr "" + +#: terminal/session_lifecycle.py:30 +#, python-format +msgid "Connect to asset %s success" +msgstr "" + +#: terminal/session_lifecycle.py:38 +#, python-format +msgid "Connect to asset %s finished: %s" +msgstr "" + +#: terminal/session_lifecycle.py:48 +#, python-format +msgid "User %s create share link" +msgstr "" + +#: terminal/session_lifecycle.py:57 +#, python-format +msgid "User %s join session" +msgstr "" + +#: terminal/session_lifecycle.py:69 +#, python-format +msgid "User %s leave session" +msgstr "" + +#: terminal/session_lifecycle.py:81 +#, python-format +msgid "User %s join to monitor session" +msgstr "" + +#: terminal/session_lifecycle.py:93 +#, python-format +msgid "User %s exit to monitor session" +msgstr "" + +#: terminal/session_lifecycle.py:105 +msgid "Replay start to convert" +msgstr "" + +#: terminal/session_lifecycle.py:113 +msgid "Replay successfully converted to MP4 format" +msgstr "" + +#: terminal/session_lifecycle.py:121 +#, python-format +msgid "Replay failed to convert to MP4 format: %s" +msgstr "" + +#: terminal/session_lifecycle.py:129 +msgid "Replay start to upload" +msgstr "" + +#: terminal/session_lifecycle.py:137 +msgid "Replay successfully uploaded" +msgstr "" + +#: terminal/session_lifecycle.py:145 +#, python-format +msgid "Replay failed to upload: %s" +msgstr "" + +#: terminal/session_lifecycle.py:152 +msgid "connect failed" +msgstr "" + +#: terminal/session_lifecycle.py:153 +msgid "connection disconnect" +msgstr "" + +#: terminal/session_lifecycle.py:154 +msgid "user closed" +msgstr "" + +#: terminal/session_lifecycle.py:155 +msgid "idle disconnect" +msgstr "" + +#: terminal/session_lifecycle.py:156 +msgid "admin terminated" +msgstr "" + +#: terminal/session_lifecycle.py:157 +msgid "maximum session time has been reached" +msgstr "" + +#: terminal/session_lifecycle.py:158 +msgid "permission has expired" +msgstr "" + +#: terminal/session_lifecycle.py:159 +msgid "storage is null" +msgstr "" + +#: terminal/tasks.py:32 +msgid "Periodic delete terminal status" +msgstr "" + +#: terminal/tasks.py:43 +msgid "Clean orphan session" +msgstr "" + +#: terminal/tasks.py:45 +msgid "" +"Check every 10 minutes for asset connection sessions that have been inactive " +"for 3 \n" +" minutes and mark these sessions as completed" +msgstr "" + +#: terminal/tasks.py:68 +msgid "Upload session replay to external storage" +msgstr "" + +#: terminal/tasks.py:70 terminal/tasks.py:104 +msgid "" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " +"and \n" +" recordings will be uploaded to external storage" +msgstr "" + +#: terminal/tasks.py:102 +msgid "Upload session replay part file to external storage" +msgstr "" + +#: terminal/tasks.py:123 +msgid "Run applet host deployment" +msgstr "" + +#: terminal/tasks.py:126 +msgid "" +"When deploying from the remote application publisher details page, and the " +"'Deploy' \n" +" button is clicked, this task will be executed" +msgstr "" + +#: terminal/tasks.py:137 +msgid "Install applet" +msgstr "" + +#: terminal/tasks.py:140 +msgid "" +"When the 'Deploy' button is clicked in the 'Remote Application' section of " +"the remote \n" +" application publisher details page, this task will be executed" +msgstr "" + +#: terminal/tasks.py:152 +msgid "Uninstall applet" +msgstr "" + +#: terminal/tasks.py:155 +msgid "" +"When the 'Uninstall' button is clicked in the 'Remote Application' section " +"of the \n" +" remote application publisher details page, this task will be executed" +msgstr "" + +#: terminal/tasks.py:167 +msgid "Generate applet host accounts" +msgstr "" + +#: terminal/tasks.py:170 +msgid "" +"When a remote publishing server is created and an account needs to be " +"created \n" +" automatically, this task will be executed" +msgstr "" + +#: terminal/tasks.py:184 +msgid "Check command replay storage connectivity" +msgstr "" + +#: terminal/tasks.py:186 +msgid "" +"Check every day at midnight whether the external storage for commands and " +"recordings \n" +" is accessible. If it is not accessible, send a notification to the " +"recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - " +"Connectivity'" +msgstr "" + +#: terminal/templates/terminal/_msg_command_alert.html:10 +msgid "view" +msgstr "" + +#: terminal/utils/db_port_mapper.py:88 +msgid "" +"No available port is matched. The number of databases may have exceeded the " +"number of ports open to the database agent service, Contact the " +"administrator to open more ports." +msgstr "" + +#: terminal/utils/db_port_mapper.py:116 +msgid "" +"No ports can be used, check and modify the limit on the number of ports that " +"Magnus listens on in the configuration file." +msgstr "" + +#: terminal/utils/db_port_mapper.py:118 +msgid "All available port count: {}, Already use port count: {}" +msgstr "" + +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 +msgid "Applicant" +msgstr "" + +#: tickets/apps.py:7 +msgid "App Tickets" +msgstr "" + +#: tickets/const.py:10 +msgid "Apply for asset" +msgstr "" + +#: tickets/const.py:17 tickets/const.py:24 tickets/const.py:42 +msgid "Open" +msgstr "" + +#: tickets/const.py:19 tickets/const.py:31 +msgid "Approved" +msgstr "" + +#: tickets/const.py:20 tickets/const.py:32 +msgid "Rejected" +msgstr "" + +#: tickets/const.py:30 tickets/const.py:37 +msgid "Closed" +msgstr "" + +#: tickets/const.py:49 +msgid "One level" +msgstr "" + +#: tickets/const.py:50 +msgid "Two level" +msgstr "" + +#: tickets/const.py:54 +msgid "All assets" +msgstr "" + +#: tickets/const.py:55 +msgid "Permed assets" +msgstr "" + +#: tickets/const.py:56 +msgid "Permed valid assets" +msgstr "" + +#: tickets/errors.py:9 +msgid "Ticket already closed" +msgstr "" + +#: tickets/handlers/apply_asset.py:39 +msgid "" +"Created by the ticket ticket title: {} ticket applicant: {} ticket " +"processor: {} ticket ID: {}" +msgstr "" + +#: tickets/handlers/base.py:84 +msgid "Change field" +msgstr "" + +#: tickets/handlers/base.py:84 +msgid "Before change" +msgstr "" + +#: tickets/handlers/base.py:84 +msgid "After change" +msgstr "" + +#: tickets/handlers/base.py:96 +msgid "{} {} the ticket" +msgstr "" + +#: tickets/models/comment.py:14 +msgid "common" +msgstr "" + +#: tickets/models/comment.py:23 +msgid "User display name" +msgstr "" + +#: tickets/models/comment.py:24 +msgid "Body" +msgstr "" + +#: tickets/models/flow.py:21 tickets/models/flow.py:47 +#: tickets/models/ticket/general.py:45 +msgid "Approve level" +msgstr "" + +#: tickets/models/flow.py:26 +msgid "Ticket flow approval rule" +msgstr "" + +#: tickets/models/flow.py:52 +msgid "Ticket flow" +msgstr "" + +#: tickets/models/relation.py:12 +msgid "Ticket session relation" +msgstr "" + +#: tickets/models/ticket/apply_application.py:10 +#: tickets/models/ticket/apply_asset.py:13 +msgid "Permission name" +msgstr "" + +#: tickets/models/ticket/apply_application.py:19 +msgid "Apply applications" +msgstr "" + +#: tickets/models/ticket/apply_application.py:22 +msgid "Apply system users" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:9 +#: tickets/serializers/ticket/apply_asset.py:14 +msgid "Select at least one asset or node" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:17 +msgid "Apply accounts" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:26 +msgid "Apply Asset Ticket" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:9 +msgid "Run user" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:11 +msgid "Run asset" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:12 +msgid "Run command" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:19 +msgid "Command filter acl" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:23 +msgid "Apply Command Ticket" +msgstr "" + +#: tickets/models/ticket/general.py:80 +msgid "Ticket step" +msgstr "" + +#: tickets/models/ticket/general.py:98 +msgid "Ticket assignee" +msgstr "" + +#: tickets/models/ticket/general.py:273 +msgid "Title" +msgstr "" + +#: tickets/models/ticket/general.py:293 +msgid "TicketFlow" +msgstr "" + +#: tickets/models/ticket/general.py:296 +msgid "Approval step" +msgstr "" + +#: tickets/models/ticket/general.py:299 +msgid "Relation snapshot" +msgstr "" + +#: tickets/models/ticket/general.py:405 +msgid "Please try again" +msgstr "" + +#: tickets/models/ticket/general.py:484 +msgid "Super ticket" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:11 +msgid "Login user" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:14 +msgid "Login asset" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:17 +msgid "Login account" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:27 +msgid "Apply Login Asset Ticket" +msgstr "" + +#: tickets/models/ticket/login_confirm.py:15 +msgid "Apply Login Ticket" +msgstr "" + +#: tickets/notifications.py:74 +msgid "Ticket basic info" +msgstr "" + +#: tickets/notifications.py:75 +msgid "Ticket applied info" +msgstr "" + +#: tickets/notifications.py:116 +msgid "Your has a new ticket, applicant - {}" +msgstr "" + +#: tickets/notifications.py:120 +msgid "{}: New Ticket - {} ({})" +msgstr "" + +#: tickets/notifications.py:160 +msgid "Your ticket has been processed, processor - {}" +msgstr "" + +#: tickets/notifications.py:164 +msgid "Ticket has processed - {} ({})" +msgstr "" + +#: tickets/serializers/flow.py:45 +msgid "The current organization type already exists" +msgstr "" + +#: tickets/serializers/super_ticket.py:15 +msgid "Processor" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:16 +msgid "Support fuzzy search, and display up to 10 items" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:22 +msgid "Apply assets" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:26 +msgid "Apply nodes" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:28 +msgid "Apply actions" +msgstr "" + +#: tickets/serializers/ticket/common.py:15 +#: tickets/serializers/ticket/common.py:75 +msgid "Created by ticket ({}-{})" +msgstr "" + +#: tickets/serializers/ticket/common.py:67 +msgid "The expiration date should be greater than the start date" +msgstr "" + +#: tickets/serializers/ticket/common.py:82 +msgid "Permission named `{}` already exists" +msgstr "" + +#: tickets/serializers/ticket/ticket.py:89 +msgid "The ticket flow `{}` does not exist" +msgstr "" + +#: tickets/templates/tickets/_msg_ticket.html:21 +msgid "View details" +msgstr "" + +#: tickets/templates/tickets/_msg_ticket.html:26 +msgid "Direct approval" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:11 +msgid "Ticket information" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:28 +#: tickets/views/approve.py:43 tickets/views/approve.py:80 +msgid "Ticket approval" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:43 +msgid "Approval" +msgstr "" + +#: tickets/views/approve.py:44 +msgid "" +"This ticket does not exist, the process has ended, or this link has expired" +msgstr "" + +#: tickets/views/approve.py:72 +msgid "Click the button below to approve or reject" +msgstr "" + +#: tickets/views/approve.py:81 +msgid "After successful authentication, this ticket can be approved directly" +msgstr "" + +#: tickets/views/approve.py:105 +msgid "Illegal approval action" +msgstr "" + +#: tickets/views/approve.py:119 +msgid "This user is not authorized to approve this ticket" +msgstr "" + +#: users/api/user.py:63 +msgid "Cannot delete the admin user. Please disable it instead." +msgstr "" + +#: users/api/user.py:161 +msgid "Can not invite self" +msgstr "" + +#: users/api/user.py:214 +msgid "Could not reset self otp, use profile reset instead" +msgstr "" + +#: users/apps.py:9 +msgid "App Users" +msgstr "" + +#: users/const.py:10 +msgid "System administrator" +msgstr "" + +#: users/const.py:11 +msgid "System auditor" +msgstr "" + +#: users/const.py:12 +msgid "Organization administrator" +msgstr "" + +#: users/const.py:13 +msgid "Organization auditor" +msgstr "" + +#: users/const.py:18 +msgid "Reset link will be generated and sent to the user" +msgstr "" + +#: users/const.py:19 +msgid "Set password" +msgstr "" + +#: users/const.py:23 +msgid "AUTO" +msgstr "" + +#: users/const.py:31 +msgid "Full screen" +msgstr "" + +#: users/const.py:32 +msgid "Multi screen" +msgstr "" + +#: users/const.py:33 +msgid "Drives redirect" +msgstr "" + +#: users/const.py:37 +msgid "Current window" +msgstr "" + +#: users/const.py:38 +msgid "New window" +msgstr "" + +#: users/const.py:47 +msgid "High(32 bit)" +msgstr "" + +#: users/const.py:48 +msgid "Medium(16 bit)" +msgstr "" + +#: users/const.py:81 +msgid "Replace" +msgstr "" + +#: users/const.py:82 +msgid "Suffix" +msgstr "" + +#: users/exceptions.py:9 +msgid "MFA not enabled" +msgstr "" + +#: users/exceptions.py:19 +msgid "Unable to delete all users" +msgstr "" + +#: users/exceptions.py:24 +msgid "Create failed. The number of SSH keys has reached the limit" +msgstr "" + +#: 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:60 +msgid "* Enable MFA to make the account more secure." +msgstr "" + +#: 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:76 +msgid "Finish" +msgstr "" + +#: users/forms/profile.py:83 users/serializers/preference/lina.py:21 +msgid "New password" +msgstr "" + +#: users/forms/profile.py:88 users/serializers/preference/lina.py:26 +msgid "Confirm password" +msgstr "" + +#: users/forms/profile.py:96 +msgid "Password does not match" +msgstr "" + +#: users/forms/profile.py:105 +msgid "The phone number must contain an area code, for example, +86" +msgstr "" + +#: users/forms/profile.py:123 +msgid "Old password" +msgstr "" + +#: users/forms/profile.py:133 +msgid "Old password error" +msgstr "" + +#: users/forms/profile.py:143 +msgid "Automatically configure and download the SSH key" +msgstr "" + +#: users/forms/profile.py:145 +msgid "ssh public key" +msgstr "" + +#: users/forms/profile.py:146 +msgid "ssh-rsa AAAA..." +msgstr "" + +#: users/forms/profile.py:147 +msgid "Paste your id_rsa.pub here." +msgstr "" + +#: users/forms/profile.py:160 +msgid "Public key should not be the same as your old one." +msgstr "" + +#: users/models/preference.py:38 users/serializers/preference/preference.py:19 +msgid "Preference" +msgstr "" + +#: users/models/user/__init__.py:72 users/serializers/user.py:259 +msgid "Is service account" +msgstr "" + +#: users/models/user/__init__.py:74 +msgid "Avatar" +msgstr "" + +#: users/models/user/__init__.py:76 +msgid "Wechat" +msgstr "" + +#: users/models/user/__init__.py:85 +msgid "OTP secret key" +msgstr "" + +#: users/models/user/__init__.py:95 users/serializers/profile.py:98 +#: users/serializers/user.py:256 +msgid "Is first login" +msgstr "" + +#: users/models/user/__init__.py:113 +msgid "Date password last updated" +msgstr "" + +#: users/models/user/__init__.py:116 +msgid "Need update password" +msgstr "" + +#: users/models/user/__init__.py:140 +msgid "Face Vector" +msgstr "" + +#: users/models/user/__init__.py:143 +msgid "Date api key used" +msgstr "" + +#: users/models/user/__init__.py:282 +msgid "Can not delete admin user" +msgstr "" + +#: users/models/user/__init__.py:296 +msgid "Can invite user" +msgstr "" + +#: users/models/user/__init__.py:297 +msgid "Can remove user" +msgstr "" + +#: users/models/user/__init__.py:298 +msgid "Can match user" +msgstr "" + +#: users/models/user/__init__.py:327 +msgid "User password history" +msgstr "" + +#: users/models/user/_auth.py:34 +msgid "Force enabled" +msgstr "" + +#: users/notifications.py:55 +#: users/templates/users/_msg_password_expire_reminder.html:16 +#: users/templates/users/reset_password.html:5 +#: users/templates/users/reset_password.html:6 +msgid "Reset password" +msgstr "" + +#: users/notifications.py:85 users/views/profile/reset.py:233 +msgid "Reset password success" +msgstr "" + +#: users/notifications.py:117 +msgid "Reset public key success" +msgstr "" + +#: users/notifications.py:143 +msgid "Password is about expire" +msgstr "" + +#: users/notifications.py:171 +msgid "Account is about expire" +msgstr "" + +#: users/notifications.py:193 +msgid "Reset SSH Key" +msgstr "" + +#: users/notifications.py:214 +msgid "Reset MFA" +msgstr "" + +#: users/serializers/preference/koko.py:10 +#: users/serializers/preference/luna.py:63 +msgid "File name conflict resolution" +msgstr "" + +#: users/serializers/preference/koko.py:14 +#: users/serializers/preference/luna.py:80 +msgid "Terminal theme name" +msgstr "" + +#: users/serializers/preference/lina.py:12 +msgid "" +"*! The password for file encryption, used for decryption when the system " +"sends emails containing file attachments.
Such as: account backup files, " +"account password change results files" +msgstr "" + +#: users/serializers/preference/lina.py:39 users/serializers/profile.py:49 +msgid "The newly set password is inconsistent" +msgstr "" + +#: users/serializers/preference/lina.py:47 +msgid "Language" +msgstr "" + +#: users/serializers/preference/lina.py:52 +msgid "File Encryption" +msgstr "" + +#: users/serializers/preference/luna.py:26 +msgid "Async loading of asset tree" +msgstr "" + +#: users/serializers/preference/luna.py:30 +msgid "Connect default open method" +msgstr "" + +#: users/serializers/preference/luna.py:37 +msgid "RDP resolution" +msgstr "" + +#: users/serializers/preference/luna.py:41 +msgid "Keyboard layout" +msgstr "" + +#: users/serializers/preference/luna.py:45 +msgid "RDP client option" +msgstr "" + +#: users/serializers/preference/luna.py:49 +msgid "RDP color quality" +msgstr "" + +#: users/serializers/preference/luna.py:53 +msgid "RDP smart size" +msgstr "" + +#: users/serializers/preference/luna.py:54 +msgid "" +"Determines whether the client computer should scale the content on the " +"remote computer to fit the window size of the client computer when the " +"window is resized." +msgstr "" + +#: users/serializers/preference/luna.py:59 +msgid "Remote app connect method" +msgstr "" + +#: users/serializers/preference/luna.py:70 +msgid "Terminal font size" +msgstr "" + +#: users/serializers/preference/luna.py:73 +msgid "Backspace as Ctrl+H" +msgstr "" + +#: users/serializers/preference/luna.py:76 +msgid "Right click quickly paste" +msgstr "" + +#: users/serializers/preference/luna.py:86 +msgid "Graphics" +msgstr "" + +#: users/serializers/preference/luna.py:87 +msgid "Command line" +msgstr "" + +#: users/serializers/profile.py:30 +msgid "The old password is incorrect" +msgstr "" + +#: users/serializers/profile.py:37 users/serializers/profile.py:148 +msgid "Password does not match security rules" +msgstr "" + +#: users/serializers/profile.py:41 +msgid "The new password cannot be the last {} passwords" +msgstr "" + +#: users/serializers/user.py:51 +msgid "System roles" +msgstr "" + +#: users/serializers/user.py:55 +msgid "" +"System roles are roles at the system level, and they will take effect across " +"all organizations" +msgstr "" + +#: users/serializers/user.py:61 +msgid "Org roles" +msgstr "" + +#: users/serializers/user.py:66 +msgid "" +"Org roles are roles at the organization level, and they will only take " +"effect within current organization" +msgstr "" + +#: users/serializers/user.py:70 +msgid "Organizations and roles" +msgstr "" + +#: users/serializers/user.py:120 +msgid "Password setting" +msgstr "" + +#: users/serializers/user.py:122 +msgid "MFA enabled" +msgstr "" + +#: users/serializers/user.py:124 +msgid "MFA force enabled" +msgstr "" + +#: users/serializers/user.py:126 +msgid "Login blocked" +msgstr "" + +#: users/serializers/user.py:130 users/serializers/user.py:265 +msgid "Is OTP bound" +msgstr "" + +#: users/serializers/user.py:133 +msgid "Super Administrator" +msgstr "" + +#: users/serializers/user.py:136 +msgid "Organization Administrator" +msgstr "" + +#: users/serializers/user.py:140 +msgid "Can public key authentication" +msgstr "" + +#: users/serializers/user.py:144 +msgid "Is face code set" +msgstr "" + +#: users/serializers/user.py:230 +msgid "Full name" +msgstr "" + +#: users/serializers/user.py:233 +msgid "Login username" +msgstr "" + +#: users/serializers/user.py:236 +msgid "Email address" +msgstr "" + +#: users/serializers/user.py:246 +msgid "User groups to join" +msgstr "" + +#: users/serializers/user.py:250 +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:260 +msgid "Is org admin" +msgstr "" + +#: users/serializers/user.py:262 +msgid "Avatar url" +msgstr "" + +#: users/serializers/user.py:267 +msgid "MFA level" +msgstr "" + +#: users/serializers/user.py:268 +msgid "Multi-Factor Authentication" +msgstr "" + +#: users/serializers/user.py:422 +msgid "" +"* For security, only a partial of users is displayed. You can search for more" +msgstr "" + +#: users/serializers/user.py:457 +msgid "name not unique" +msgstr "" + +#: users/signal_handlers.py:41 +msgid "" +"The administrator has enabled \"Only allow existing users to log in\", \n" +" and the current user is not in the user list. Please contact the " +"administrator." +msgstr "" + +#: users/signal_handlers.py:177 +msgid "Clean up expired user sessions" +msgstr "" + +#: users/signal_handlers.py:179 +msgid "" +"After logging in via the web, a user session record is created. At 2 a.m. " +"every day, \n" +" the system cleans up inactive user devices" +msgstr "" + +#: users/tasks.py:26 +msgid "Check password expired" +msgstr "" + +#: users/tasks.py:28 +msgid "" +"Check every day at 10 AM whether the passwords of users in the system are " +"expired, \n" +" and send a notification 5 days in advance" +msgstr "" + +#: users/tasks.py:46 +msgid "Periodic check password expired" +msgstr "" + +#: users/tasks.py:48 +msgid "" +"With version iterations, new tasks may be added, or task names and execution " +"times may \n" +" be modified. Therefore, upon system startup, it is necessary to " +"register or update the \n" +" parameters of the task that checks if passwords have expired" +msgstr "" + +#: users/tasks.py:67 +msgid "Check user expired" +msgstr "" + +#: users/tasks.py:69 +msgid "" +"Check every day at 2 p.m whether the users in the system are expired, and " +"send a \n" +" notification 5 days in advance" +msgstr "" + +#: users/tasks.py:90 +msgid "Periodic check user expired" +msgstr "" + +#: users/tasks.py:92 +msgid "" +"With version iterations, new tasks may be added, or task names and execution " +"times may \n" +" be modified. Therefore, upon system startup, it is necessary to " +"register or update the \n" +" parameters of the task that checks if users have expired" +msgstr "" + +#: users/tasks.py:111 +msgid "Check unused users" +msgstr "" + +#: users/tasks.py:113 +msgid "" +"At 2 p.m. every day, according to the configuration in \"System Settings - " +"Security - \n" +" Auth security - Auto disable threshold\" users who have not logged " +"in or whose API keys \n" +" have not been used for a long time will be disabled" +msgstr "" + +#: users/tasks.py:157 +msgid "The user has not logged in recently and has been disabled." +msgstr "" + +#: users/templates/users/_msg_account_expire_reminder.html:7 +msgid "Your account will expire in" +msgstr "" + +#: users/templates/users/_msg_account_expire_reminder.html:8 +msgid "" +"In order not to affect your normal work, please contact the administrator " +"for confirmation." +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:7 +msgid "Your password will expire in" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:8 +msgid "" +"For your account security, please click on the link below to update your " +"password in time" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:11 +msgid "Click here update password" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:15 +msgid "If your password has expired, please click the link below to" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:7 +msgid "Your MFA has been reset by site administrator" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:8 +#: users/templates/users/_msg_reset_ssh_key.html:8 +msgid "Please click the link below to set" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:11 +#: users/templates/users/_msg_reset_ssh_key.html:11 +msgid "Click here set" +msgstr "" + +#: users/templates/users/_msg_reset_ssh_key.html:7 +msgid "Your ssh public key has been reset by site administrator" +msgstr "" + +#: users/templates/users/_msg_user_created.html:15 +msgid "click here to set your password" +msgstr "" + +#: users/templates/users/forgot_password.html:46 +msgid "Input your email account, that will send a email to your" +msgstr "" + +#: users/templates/users/forgot_password.html:49 +msgid "" +"Enter your mobile number and a verification code will be sent to your phone" +msgstr "" + +#: users/templates/users/forgot_password.html:71 +msgid "Email account" +msgstr "" + +#: users/templates/users/forgot_password.html:93 +msgid "Mobile number" +msgstr "" + +#: users/templates/users/forgot_password.html:105 +#: users/templates/users/forgot_password_previewing.html:30 +msgid "Submit" +msgstr "" + +#: users/templates/users/forgot_password_previewing.html:21 +msgid "Please enter the username for which you want to retrieve the password" +msgstr "" + +#: users/templates/users/mfa_setting.html:124 +msgid "MFA force enable, cannot disable" +msgstr "" + +#: users/templates/users/mfa_setting.html:143 +msgid "MFA setting" +msgstr "" + +#: users/templates/users/mfa_setting.html:171 +msgid "Reset" +msgstr "" + +#: users/templates/users/reset_password.html:23 +msgid "Your password must satisfy" +msgstr "" + +#: users/templates/users/reset_password.html:24 +msgid "Password strength" +msgstr "" + +#: users/templates/users/reset_password.html:52 +msgid "Very weak" +msgstr "" + +#: users/templates/users/reset_password.html:53 +msgid "Weak" +msgstr "" + +#: users/templates/users/reset_password.html:55 +msgid "Medium" +msgstr "" + +#: users/templates/users/reset_password.html:56 +msgid "Strong" +msgstr "" + +#: users/templates/users/reset_password.html:57 +msgid "Very strong" +msgstr "" + +#: users/templates/users/user_otp_check_password.html:6 +msgid "Enable OTP" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:6 +msgid "Bind one-time password authenticator" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:13 +msgid "" +"Use the MFA Authenticator application to scan the following qr code for a 6-" +"bit verification code" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:22 +#: users/templates/users/user_verify_mfa.html:27 +msgid "Six figures" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:6 +msgid "Install app" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:13 +msgid "" +"Download and install the MFA Authenticator application on your phone or " +"applet of WeChat" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:18 +msgid "Android downloads" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:23 +msgid "iPhone downloads" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:27 +msgid "" +"After installation, click the next step to enter the binding page (if " +"installed, go to the next step directly)." +msgstr "" + +#: users/templates/users/user_password_verify.html:8 +#: users/templates/users/user_password_verify.html:9 +msgid "Verify password" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:9 +msgid "Authenticate" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:15 +msgid "" +"The account protection has been opened, please complete the following " +"operations according to the prompts" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:17 +msgid "Open MFA Authenticator and enter the 6-bit dynamic code" +msgstr "" + +#: users/utils.py:60 +msgid "Auth success" +msgstr "" + +#: users/utils.py:61 +msgid "Redirecting to JumpServer Client" +msgstr "" + +#: users/views/profile/face.py:57 users/views/profile/face.py:58 +msgid "Face binding successful" +msgstr "" + +#: users/views/profile/face.py:82 users/views/profile/face.py:83 +msgid "Face unbinding successful" +msgstr "" + +#: users/views/profile/otp.py:106 +msgid "Already bound" +msgstr "" + +#: users/views/profile/otp.py:107 +msgid "MFA already bound, disable first, then bound" +msgstr "" + +#: users/views/profile/otp.py:134 +msgid "OTP enable success" +msgstr "" + +#: users/views/profile/otp.py:135 +msgid "OTP enable success, return login page" +msgstr "" + +#: users/views/profile/otp.py:177 +msgid "Disable OTP" +msgstr "" + +#: users/views/profile/otp.py:183 +msgid "OTP disable success" +msgstr "" + +#: users/views/profile/otp.py:184 +msgid "OTP disable success, return login page" +msgstr "" + +#: users/views/profile/password.py:33 users/views/profile/password.py:38 +msgid "Password invalid" +msgstr "" + +#: users/views/profile/reset.py:66 +msgid "" +"Non-local users can log in only from third-party platforms and cannot change " +"their passwords: {}" +msgstr "" + +#: users/views/profile/reset.py:188 users/views/profile/reset.py:199 +msgid "Token invalid or expired" +msgstr "" + +#: users/views/profile/reset.py:204 +msgid "User auth from {}, go there change password" +msgstr "" + +#: users/views/profile/reset.py:211 +msgid "* Your password does not meet the requirements" +msgstr "" + +#: users/views/profile/reset.py:217 +msgid "* The new password cannot be the last {} passwords" +msgstr "" + +#: users/views/profile/reset.py:234 +msgid "Reset password success, return to login page" +msgstr "" + +#: xpack/apps.py:8 +msgid "XPACK" +msgstr "" + +#: xpack/exceptions.py:8 +msgid "" +"Based on the current task configuration, assets that do not match the " +"strategy will skipped." +msgstr "" + +#: xpack/plugins/cloud/api.py:72 +msgid "Test connection successful" +msgstr "" + +#: xpack/plugins/cloud/api.py:74 +msgid "Test connection failed: {}" +msgstr "" + +#: xpack/plugins/cloud/api.py:171 +msgid "User {} deleted the current resource and released the assets" +msgstr "" + +#: xpack/plugins/cloud/const.py:8 +msgid "Alibaba Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:9 +msgid "AWS (International)" +msgstr "" + +#: xpack/plugins/cloud/const.py:10 +msgid "AWS (China)" +msgstr "" + +#: xpack/plugins/cloud/const.py:11 +msgid "Azure (China)" +msgstr "" + +#: xpack/plugins/cloud/const.py:12 +msgid "Azure (International)" +msgstr "" + +#: xpack/plugins/cloud/const.py:14 +msgid "Baidu Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:15 +msgid "JD Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:16 +msgid "KingSoft Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:17 +msgid "Tencent Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:18 +msgid "Tencent Cloud (Lighthouse)" +msgstr "" + +#: xpack/plugins/cloud/const.py:19 +msgid "Google Cloud Platform" +msgstr "" + +#: xpack/plugins/cloud/const.py:20 +msgid "UCloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:21 +msgid "Volcengine" +msgstr "" + +#: xpack/plugins/cloud/const.py:23 +msgid "VMware" +msgstr "" + +#: xpack/plugins/cloud/const.py:24 xpack/plugins/cloud/providers/nutanix.py:15 +msgid "Nutanix" +msgstr "" + +#: xpack/plugins/cloud/const.py:25 +msgid "Huawei Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:26 +msgid "Qingyun Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:27 +msgid "CTYun Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:28 +msgid "OpenStack" +msgstr "" + +#: xpack/plugins/cloud/const.py:29 xpack/plugins/cloud/providers/zstack.py:21 +msgid "ZStack" +msgstr "" + +#: xpack/plugins/cloud/const.py:30 +msgid "Fusion Compute" +msgstr "" + +#: xpack/plugins/cloud/const.py:31 +msgid "SCP" +msgstr "" + +#: xpack/plugins/cloud/const.py:32 +msgid "Apsara Stack" +msgstr "" + +#: xpack/plugins/cloud/const.py:37 +msgid "Private IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:38 +msgid "Public IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:42 xpack/plugins/cloud/models.py:361 +msgid "Instance name" +msgstr "" + +#: xpack/plugins/cloud/const.py:43 +msgid "Instance name and Partial IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:48 +msgid "Succeed" +msgstr "" + +#: xpack/plugins/cloud/const.py:52 xpack/plugins/cloud/manager.py:99 +msgid "Unsync" +msgstr "" + +#: xpack/plugins/cloud/const.py:53 xpack/plugins/cloud/manager.py:98 +msgid "New Sync" +msgstr "" + +#: xpack/plugins/cloud/const.py:54 xpack/plugins/cloud/manager.py:98 +msgid "Synced" +msgstr "" + +#: xpack/plugins/cloud/const.py:55 xpack/plugins/cloud/manager.py:100 +msgid "Released" +msgstr "" + +#: xpack/plugins/cloud/const.py:59 +msgid "And" +msgstr "" + +#: xpack/plugins/cloud/const.py:60 +msgid "Or" +msgstr "" + +#: xpack/plugins/cloud/const.py:64 +msgid "Sync region" +msgstr "" + +#: xpack/plugins/cloud/const.py:66 +msgid "Imported" +msgstr "" + +#: xpack/plugins/cloud/manager.py:52 +#, python-format +msgid "Task \"%s\" starts executing" +msgstr "" + +#: xpack/plugins/cloud/manager.py:91 +msgid "View the task details path: " +msgstr "" + +#: xpack/plugins/cloud/manager.py:94 +msgid "Account Details" +msgstr "" + +#: xpack/plugins/cloud/manager.py:95 +msgid "Synchronization History List" +msgstr "" + +#: xpack/plugins/cloud/manager.py:95 +msgid "Synchronization Instance List" +msgstr "" + +#: xpack/plugins/cloud/manager.py:99 +msgid "To be released" +msgstr "" + +#: xpack/plugins/cloud/manager.py:103 +msgid "Task execution completed" +msgstr "" + +#: xpack/plugins/cloud/manager.py:108 +msgid "Synchronization regions" +msgstr "" + +#: xpack/plugins/cloud/manager.py:133 +#, python-format +msgid "Get instances of region \"%s\" error, error: %s" +msgstr "" + +#: xpack/plugins/cloud/manager.py:179 +#, python-format +msgid "Failed to synchronize the instance \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:357 +#, python-format +msgid "" +"The updated platform of asset \"%s\" is inconsistent with the original " +"platform type. Skip platform and protocol updates" +msgstr "" + +#: xpack/plugins/cloud/manager.py:409 +#, python-format +msgid "The asset \"%s\" already exists" +msgstr "" + +#: xpack/plugins/cloud/manager.py:411 +#, python-format +msgid "Update asset \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:414 +#, python-format +msgid "Asset \"%s\" has been updated" +msgstr "" + +#: xpack/plugins/cloud/manager.py:423 +#, python-format +msgid "Prepare to create asset \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:444 +#, python-format +msgid "Set nodes \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:470 +#, python-format +msgid "Set accounts \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:486 +#, python-format +msgid "Set protocols \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:494 +#, python-format +msgid "Set labels \"%s\"" +msgstr "" + +#: xpack/plugins/cloud/manager.py:508 xpack/plugins/cloud/tasks.py:31 +msgid "Run sync instance task" +msgstr "" + +#: xpack/plugins/cloud/meta.py:9 +msgid "Cloud center" +msgstr "" + +#: xpack/plugins/cloud/models.py:39 +#: xpack/plugins/cloud/serializers/account.py:94 +msgid "Attrs" +msgstr "" + +#: xpack/plugins/cloud/models.py:40 +msgid "Validity" +msgstr "" + +#: xpack/plugins/cloud/models.py:45 +msgid "Cloud account" +msgstr "" + +#: xpack/plugins/cloud/models.py:47 +msgid "Test cloud account" +msgstr "" + +#: xpack/plugins/cloud/models.py:104 +#: xpack/plugins/cloud/serializers/account.py:76 +#: xpack/plugins/cloud/serializers/task.py:159 +#: xpack/plugins/cloud/serializers/task.py:160 +msgid "Regions" +msgstr "" + +#: xpack/plugins/cloud/models.py:107 +msgid "Hostname strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:112 +msgid "IP network segment group" +msgstr "" + +#: xpack/plugins/cloud/models.py:116 +#: xpack/plugins/cloud/serializers/task.py:163 +msgid "Preferred IP type" +msgstr "" + +#: xpack/plugins/cloud/models.py:119 +msgid "Always update" +msgstr "" + +#: xpack/plugins/cloud/models.py:121 +msgid "Fully synchronous" +msgstr "" + +#: xpack/plugins/cloud/models.py:122 +msgid "Release assets" +msgstr "" + +#: xpack/plugins/cloud/models.py:127 +msgid "Date last sync" +msgstr "" + +#: xpack/plugins/cloud/models.py:130 xpack/plugins/cloud/models.py:379 +#: xpack/plugins/cloud/models.py:406 +msgid "Strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:135 xpack/plugins/cloud/models.py:223 +msgid "Sync instance task" +msgstr "" + +#: xpack/plugins/cloud/models.py:234 xpack/plugins/cloud/models.py:297 +msgid "Date sync" +msgstr "" + +#: xpack/plugins/cloud/models.py:238 +msgid "Sync instance snapshot" +msgstr "" + +#: xpack/plugins/cloud/models.py:246 +msgid "Sync instance task execution" +msgstr "" + +#: xpack/plugins/cloud/models.py:277 +msgid "Sync task" +msgstr "" + +#: xpack/plugins/cloud/models.py:281 +msgid "Sync instance task history" +msgstr "" + +#: xpack/plugins/cloud/models.py:284 +msgid "Instance" +msgstr "" + +#: xpack/plugins/cloud/models.py:301 +msgid "Sync instance detail" +msgstr "" + +#: xpack/plugins/cloud/models.py:313 xpack/plugins/cloud/serializers/task.py:79 +msgid "Rule relation" +msgstr "" + +#: xpack/plugins/cloud/models.py:323 +msgid "Task strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:350 +msgid "Equal" +msgstr "" + +#: xpack/plugins/cloud/models.py:351 +msgid "Not Equal" +msgstr "" + +#: xpack/plugins/cloud/models.py:352 +msgid "In" +msgstr "" + +#: xpack/plugins/cloud/models.py:353 +msgid "Contains" +msgstr "" + +#: xpack/plugins/cloud/models.py:354 +msgid "Exclude" +msgstr "" + +#: xpack/plugins/cloud/models.py:355 +msgid "Startswith" +msgstr "" + +#: xpack/plugins/cloud/models.py:356 +msgid "Endswith" +msgstr "" + +#: xpack/plugins/cloud/models.py:362 +msgid "Instance platform" +msgstr "" + +#: xpack/plugins/cloud/models.py:363 +msgid "Instance address" +msgstr "" + +#: xpack/plugins/cloud/models.py:370 +msgid "Rule attr" +msgstr "" + +#: xpack/plugins/cloud/models.py:374 +msgid "Rule match" +msgstr "" + +#: xpack/plugins/cloud/models.py:376 +msgid "Rule value" +msgstr "" + +#: xpack/plugins/cloud/models.py:383 xpack/plugins/cloud/serializers/task.py:82 +msgid "Strategy rule" +msgstr "" + +#: xpack/plugins/cloud/models.py:394 +msgid "Name strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:401 +msgid "Action attr" +msgstr "" + +#: xpack/plugins/cloud/models.py:403 +msgid "Action value" +msgstr "" + +#: xpack/plugins/cloud/models.py:410 xpack/plugins/cloud/serializers/task.py:85 +msgid "Strategy action" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:18 +msgid "China (Beijing)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:19 +msgid "China (Ningxia)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:22 +msgid "US East (Ohio)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:23 +msgid "US East (N. Virginia)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:24 +msgid "US West (N. California)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:25 +msgid "US West (Oregon)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:26 +msgid "Africa (Cape Town)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:27 +msgid "Asia Pacific (Hong Kong)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:28 +msgid "Asia Pacific (Mumbai)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:29 +msgid "Asia Pacific (Osaka-Local)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:30 +msgid "Asia Pacific (Seoul)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:31 +msgid "Asia Pacific (Singapore)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:32 +msgid "Asia Pacific (Sydney)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:33 +msgid "Asia Pacific (Tokyo)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:34 +msgid "Canada (Central)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:35 +msgid "Europe (Frankfurt)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:36 +msgid "Europe (Ireland)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:37 +msgid "Europe (London)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:38 +msgid "Europe (Milan)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:39 +msgid "Europe (Paris)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:40 +msgid "Europe (Stockholm)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:41 +msgid "Middle East (Bahrain)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:42 +msgid "South America (São Paulo)" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:56 +#: xpack/plugins/cloud/providers/jdcloud.py:125 +msgid "CN North-Beijing" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:57 +msgid "CN North-Baoding" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:58 +msgid "CN East-Suzhou" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:59 +#: xpack/plugins/cloud/providers/huaweicloud.py:47 +#: xpack/plugins/cloud/providers/jdcloud.py:128 +msgid "CN South-Guangzhou" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:60 +msgid "CN Southwest-Chengdu" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:61 +#: xpack/plugins/cloud/providers/huaweicloud.py:54 +msgid "CN-Hong Kong" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:62 +msgid "CN Center-Wuhan" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:63 +#: xpack/plugins/cloud/providers/jdcloud.py:127 +msgid "CN East-Shanghai" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:56 +msgid "AP-Singapore" +msgstr "" + +#: xpack/plugins/cloud/providers/gcp.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:34 +msgid "Account unavailable" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:44 +msgid "CN North-Beijing1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:45 +msgid "CN North-Beijing4" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:46 +msgid "CN North-Ulanqab1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:48 +msgid "CN South-Shenzhen" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:49 +msgid "CN South-Guangzhou-InvitationOnly" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:50 +msgid "CN East-Shanghai2" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:51 +msgid "CN East-Shanghai1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:53 +msgid "CN Southwest-Guiyang1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:55 +msgid "AP-Bangkok" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:58 +msgid "AF-Johannesburg" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:59 +msgid "LA-Mexico City1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:60 +msgid "LA-Santiago" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:61 +msgid "LA-Sao Paulo1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:63 +msgid "TR-Istanbul" +msgstr "" + +#: xpack/plugins/cloud/providers/jdcloud.py:126 +msgid "CN East-Suqian" +msgstr "" + +#: xpack/plugins/cloud/providers/lan.py:79 +#, python-format +msgid "Port \"%(port)s\" of instance IP \"%(ip)s\" is not reachable" +msgstr "" + +#: xpack/plugins/cloud/serializers/account.py:95 +msgid "Validity display" +msgstr "" + +#: xpack/plugins/cloud/serializers/account.py:96 +msgid "Provider display" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:17 +msgid "Access key id" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:44 +msgid "Subscription ID" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:74 +msgid "Auto node classification" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:99 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:127 +#: xpack/plugins/cloud/serializers/account_attrs.py:157 +#: xpack/plugins/cloud/serializers/account_attrs.py:207 +msgid "API Endpoint" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:109 +msgid "Auth url" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:110 +msgid "eg: http://openstack.example.com:5000/v3" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:113 +msgid "User domain" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:128 +msgid "Cert File" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:129 +msgid "Key File" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:145 +msgid "Service account key" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:146 +msgid "The file is in JSON format" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:164 +msgid "IP address invalid `{}`, {}" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:180 +msgid "Such as: 192.168.1.0/24, 10.0.0.0-10.0.0.255" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:183 +msgid "" +"The port is used to detect the validity of the IP address. When the " +"synchronization task is executed, only the valid IP address will be " +"synchronized.
If the port is 0, all IP addresses are valid." +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:191 +msgid "Hostname prefix" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:194 +msgid "IP segment" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:198 +msgid "Test port" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:201 +msgid "Test timeout" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:217 +msgid "Project" +msgstr "" + +#: xpack/plugins/cloud/serializers/task.py:157 +msgid "History count" +msgstr "" + +#: xpack/plugins/cloud/serializers/task.py:158 +msgid "Instance count" +msgstr "" + +#: xpack/plugins/cloud/tasks.py:33 +msgid "" +"\n" +" Execute this task when manually or scheduled cloud synchronization " +"tasks are performed\n" +" " +msgstr "" + +#: xpack/plugins/cloud/tasks.py:52 +msgid "Period clean sync instance task execution" +msgstr "" + +#: xpack/plugins/cloud/tasks.py:54 +msgid "" +"Every day, according to the configuration in \"System Settings - Tasks - " +"Regular \n" +" clean-up - Cloud sync task history retention days\" the system will " +"clean up the execution \n" +" records generated by cloud synchronization" +msgstr "" + +#: xpack/plugins/interface/api.py:52 +msgid "Restore default successfully." +msgstr "" + +#: xpack/plugins/interface/meta.py:9 xpack/plugins/interface/models.py:45 +#: xpack/plugins/interface/models.py:86 +msgid "Interface settings" +msgstr "" + +#: xpack/plugins/interface/models.py:23 +msgid "Login title" +msgstr "" + +#: xpack/plugins/interface/models.py:27 +msgid "Login image" +msgstr "" + +#: xpack/plugins/interface/models.py:31 +msgid "Website icon" +msgstr "" + +#: xpack/plugins/interface/models.py:35 +msgid "Index logo" +msgstr "" + +#: xpack/plugins/interface/models.py:39 +msgid "Logout logo" +msgstr "" + +#: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 +msgid "Theme" +msgstr "" + +#: xpack/plugins/interface/models.py:42 +msgid "Footer content" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "" + +#: xpack/plugins/license/api.py:52 +msgid "License import successfully" +msgstr "" + +#: xpack/plugins/license/api.py:53 +msgid "Invalid license" +msgstr "" diff --git a/apps/i18n/core/ru/LC_MESSAGES/djangojs.po b/apps/i18n/core/ru/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..dc899201f --- /dev/null +++ b/apps/i18n/core/ru/LC_MESSAGES/djangojs.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-11 19:17+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +#: static/js/jumpserver.js:267 +msgid "Update is successful!" +msgstr "" + +#: static/js/jumpserver.js:269 +msgid "An unknown error occurred while updating.." +msgstr "" + +#: static/js/jumpserver.js:342 +msgid "Not found" +msgstr "" + +#: static/js/jumpserver.js:344 +msgid "Server error" +msgstr "" + +#: static/js/jumpserver.js:346 static/js/jumpserver.js:384 +#: static/js/jumpserver.js:386 +msgid "Error" +msgstr "" + +#: static/js/jumpserver.js:352 static/js/jumpserver.js:393 +msgid "Delete the success" +msgstr "" + +#: static/js/jumpserver.js:359 +msgid "Are you sure about deleting it?" +msgstr "" + +#: static/js/jumpserver.js:363 static/js/jumpserver.js:404 +msgid "Cancel" +msgstr "" + +#: static/js/jumpserver.js:365 static/js/jumpserver.js:406 +msgid "Confirm" +msgstr "" + +#: static/js/jumpserver.js:384 +msgid "" +"The organization contains undeleted information. Please try again after " +"deleting" +msgstr "" + +#: static/js/jumpserver.js:386 +msgid "" +"Do not perform this operation under this organization. Try again after " +"switching to another organization" +msgstr "" + +#: static/js/jumpserver.js:400 +msgid "" +"Please ensure that the following information in the organization has been " +"deleted" +msgstr "" + +#: static/js/jumpserver.js:401 +msgid "" +"User list、User group、Asset list、Domain list、Admin user、System user、" +"Labels、Asset permission" +msgstr "" + +#: static/js/jumpserver.js:650 +msgid "Unknown error occur" +msgstr "" + +#: static/js/jumpserver.js:902 +msgid "Password minimum length {N} bits" +msgstr "" + +#: static/js/jumpserver.js:903 +msgid "Must contain capital letters" +msgstr "" + +#: static/js/jumpserver.js:904 +msgid "Must contain lowercase letters" +msgstr "" + +#: static/js/jumpserver.js:905 +msgid "Must contain numeric characters" +msgstr "" + +#: static/js/jumpserver.js:906 +msgid "Must contain special characters" +msgstr ""