# 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 <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 14:43+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.3\n"

#: accounts/api/account/account.py:138
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:345
msgid "Account already exists"
msgstr "账号已存在"

#: accounts/api/account/application.py:77
#: authentication/api/connection_token.py:452
msgid "Account not found"
msgstr "账号未找到"

#: accounts/api/automations/base.py:86 tickets/api/ticket.py:132
msgid "The parameter 'action' must be [{}]"
msgstr "参数 'action' 必须是 [{}]"

#: 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:131
msgid "Number of backup accounts"
msgstr "备份账号数量"

#: accounts/automations/backup_account/handlers.py:152
msgid "Generating asset related backup information files"
msgstr "生成资产相关备份信息文件"

#: accounts/automations/backup_account/handlers.py:177
#: accounts/automations/backup_account/manager.py:26
#: accounts/automations/change_secret/manager.py:81
#: accounts/automations/push_account/manager.py:62
#: assets/models/automations/base.py:147 ops/serializers/job.py:71
#: ops/serializers/job.py:95
#: settings/templates/ldap/_msg_import_ldap_user.html:7
#: terminal/serializers/session.py:57
msgid "Duration"
msgstr "花费时间"

#: accounts/automations/backup_account/handlers.py:178
msgid "Backup file creation completed"
msgstr "创建备份文件完成"

#: accounts/automations/backup_account/handlers.py:186
msgid "Start sending backup emails"
msgstr "开始发送备份电子邮件"

#: accounts/automations/backup_account/handlers.py:213
msgid "Encrypting files using encryption password"
msgstr "使用加密密码对文件进行加密中"

#: accounts/automations/backup_account/handlers.py:223
msgid "The backup file will be sent to"
msgstr "备份文件将被发送至"

#: accounts/automations/backup_account/handlers.py:246
msgid "The backup task has no assigned sftp server"
msgstr "该备份任务未分配sftp服务器"

#: accounts/automations/backup_account/handlers.py:267
msgid "The backup task has no assigned recipient"
msgstr "备份任务没有指定收件人"

#: accounts/automations/backup_account/handlers.py:290
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:79
#: accounts/automations/push_account/manager.py:60
msgid "Plan execution end"
msgstr "计划执行结束"

#: accounts/automations/base/manager.py:125
msgid "No pending accounts found"
msgstr "未找到待处理帐户"

#: accounts/automations/change_secret/manager.py:72
#, python-format
msgid "Success: %s, Failed: %s, Total: %s"
msgstr "成功: %s, 失败: %s, 总数: %s"

#: accounts/automations/check_account/manager.py:267
msgid "Check account report of {}"
msgstr "风险检测报告 {}"

#: accounts/automations/check_account/manager.py:273
msgid ""
"---\n"
"Summary: \n"
"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no "
"secret: {}, using time: {}s"
msgstr ""
"---\n"
"摘要: \n"
"正常: {}, 弱密码: {}, 泄露密码: {}, 重复密码: {}, 无密码: {}, 耗时: {}秒"

#: accounts/automations/push_account/manager.py:33
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:36
#: 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/models.py:243 settings/serializers/auth/ldap.py:27
#: settings/serializers/auth/ldap.py:53 settings/serializers/auth/ldap_ha.py:35
#: settings/serializers/msg.py:37 settings/serializers/terminal.py:32
#: 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:43
#: xpack/plugins/cloud/serializers/account_attrs.py:105
#: xpack/plugins/cloud/serializers/account_attrs.py:112
msgid "Password"
msgstr "密码"

#: accounts/const/account.py:7
#: accounts/serializers/automations/change_secret.py:37
#: authentication/models/ssh_key.py:27 terminal/serializers/storage.py:124
msgid "SSH key"
msgstr "SSH 密钥"

#: accounts/const/account.py:8 authentication/models/access_key.py:40
msgid "Access key"
msgstr "Access key"

#: accounts/const/account.py:9 authentication/backends/passkey/models.py:16
#: authentication/models/sso_token.py:14 settings/serializers/feature.py:84
msgid "Token"
msgstr "令牌"

#: accounts/const/account.py:10
msgid "API key"
msgstr "API key"

#: 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:74
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:171 audits/const.py:66
#: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66
#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53
msgid "Failed"
msgstr "失败"

#: accounts/const/automation.py:25 rbac/tree.py:52
msgid "Push account"
msgstr "账号推送"

#: accounts/const/automation.py:26 accounts/risk_handlers.py:26
#: acls/const.py:14 audits/const.py:32 ops/const.py:9
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 "替换 (只替换由 JumpServer 推送的密钥)"

#: 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/const.py:34
#: 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:66
#: 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 "SFTP"

#: accounts/const/automation.py:116
#: accounts/serializers/automations/change_secret.py:170 audits/const.py:65
#: audits/models.py:65 audits/signal_handlers/activity_log.py:34
#: common/const/choices.py:65 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:63
#: common/const/choices.py:113 terminal/const.py:79 tickets/const.py:29
#: tickets/const.py:38
msgid "Pending"
msgstr "待定的"

#: accounts/const/automation.py:121
msgid "Queued"
msgstr "排队中"

#: accounts/const/automation.py:122 common/const/choices.py:62
msgid "Ready"
msgstr "准备就绪"

#: accounts/const/automation.py:123
msgid "Processing"
msgstr "处理中"

#: accounts/const/automation.py:127
msgid "Can login"
msgstr "可登录"

#: accounts/const/automation.py:128 users/serializers/user.py:254
msgid "Superuser"
msgstr "超级用户"

#: accounts/const/automation.py:129
msgid "Create date"
msgstr "创建日期"

#: accounts/const/automation.py:130
msgid "Is disabled"
msgstr "已禁用"

#: accounts/const/automation.py:131
msgid "Default database name"
msgstr "默认数据库名称"

#: accounts/const/automation.py:132
msgid "UID"
msgstr "UID"

#: accounts/const/automation.py:133
msgid "Account status"
msgstr "账号状态"

#: accounts/const/automation.py:134
msgid "Default tablespace"
msgstr "默认表空间"

#: accounts/const/automation.py:135 rbac/models/role.py:46
#: rbac/models/rolebinding.py:52 users/models/user/__init__.py:74
msgid "Role"
msgstr "角色"

#: accounts/const/automation.py:136 accounts/models/base.py:68
msgid "Privileged"
msgstr "特权账号"

#: accounts/const/automation.py:137 perms/serializers/permission.py:55
#: users/serializers/user.py:245
msgid "Groups"
msgstr "用户组"

#: accounts/const/automation.py:139
msgid "Authorized keys"
msgstr "认证密钥"

#: accounts/const/automation.py:140
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
#: xpack/plugins/cloud/const.py:39
msgid "Database"
msgstr "数据库"

#: accounts/const/vault.py:9 settings/serializers/feature.py:79
msgid "HCP Vault"
msgstr "HashiCorp Vault"

#: accounts/const/vault.py:10 settings/serializers/feature.py:92
msgid "Azure Key Vault"
msgstr "Azure Key Vault"

#: accounts/const/vault.py:11 settings/serializers/feature.py:108
msgid "Amazon Secrets Manager"
msgstr "Amazon Secrets Manager"

#: accounts/exceptions.py:7
msgid ""
"Vault operation failed. Please retry or check your account information on "
"Vault."
msgstr "Vault 操作失败，请重试，或者检查 Vault 上的账号信息。"

#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:277
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
#: accounts/serializers/automations/check_account.py:33
#: accounts/serializers/automations/gather_account.py:48
#: 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/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:132 assets/models/asset/common.py:102
#: assets/models/asset/common.py:428 assets/models/cmd_filter.py:36
#: audits/models.py:59 audits/models.py:315 audits/serializers.py:230
#: authentication/models/connection_token.py:41
#: 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:38
#: terminal/templates/terminal/_msg_command_warning.html:4
#: terminal/templates/terminal/_msg_session_sharing.html:4
#: tickets/models/ticket/apply_asset.py:17 xpack/plugins/cloud/models.py:295
msgid "Asset"
msgstr "资产"

#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:287
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
msgstr "切换自"

#: accounts/models/account.py:91 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:94
msgid "historical Account"
msgstr "历史账号"

#: accounts/models/account.py:96
msgid "Secret reset"
msgstr "可改密"

#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: users/models/user/__init__.py:127
msgid "Source"
msgstr "来源"

#: accounts/models/account.py:98
msgid "Source ID"
msgstr "来源 ID"

#: accounts/models/account.py:99
msgid "Date last access"
msgstr "上次访问日期"

#: accounts/models/account.py:100
msgid "Access by"
msgstr "访问方式"

#: accounts/models/account.py:101
msgid "Date change secret"
msgstr "密码日期"

#: accounts/models/account.py:103
msgid "Change secret status"
msgstr "改密状态"

#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
#: accounts/templates/accounts/change_secret_failed_info.html:12
#: acls/serializers/base.py:133
#: acls/templates/acls/asset_login_reminder.html:10
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:316
#: audits/serializers.py:231 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:14
#: xpack/plugins/cloud/models.py:106 xpack/plugins/cloud/ws.py:37
msgid "Account"
msgstr "账号"

#: accounts/models/account.py:113
msgid "Can view asset account secret"
msgstr "可以查看资产账号密码"

#: accounts/models/account.py:114
msgid "Can view asset history account"
msgstr "可以查看资产历史账号"

#: accounts/models/account.py:115
msgid "Can view asset history account secret"
msgstr "可以查看资产历史账号密码"

#: accounts/models/account.py:116
msgid "Can verify account"
msgstr "可以验证账号"

#: accounts/models/account.py:117
msgid "Can push account"
msgstr "可以推送账号"

#: accounts/models/account.py:118
msgid "Can remove account"
msgstr "可以移除账号"

#: accounts/models/application.py:16
#: accounts/models/automations/check_account.py:116 accounts/models/base.py:63
#: accounts/serializers/account/service.py:29
#: 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/label.py:18 assets/models/platform.py:15
#: assets/models/platform.py:94 assets/models/zone.py:19
#: assets/serializers/asset/common.py:173 assets/serializers/platform.py:158
#: assets/serializers/platform.py:283
#: authentication/backends/passkey/models.py:10
#: authentication/models/ssh_key.py:12
#: authentication/serializers/connect_token_secret.py:115
#: authentication/serializers/connect_token_secret.py:172 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:147 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:39 settings/models.py:188
#: 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:107
#: 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:16
#: users/models/preference.py:11 users/models/user/__init__.py:65
#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:315
#: 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:423 perms/serializers/permission.py:66
#: perms/serializers/user_permission.py:76 rbac/tree.py:35
msgid "Accounts"
msgstr "账号"

#: accounts/models/application.py:22 authentication/models/access_key.py:20
#: terminal/models/component/endpoint.py:108
msgid "IP group"
msgstr "IP 组"

#: 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:182 authentication/models/access_key.py:23
#: authentication/models/connection_token.py:59
#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23
#: authentication/templates/authentication/_access_key_modal.html:32
#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30
#: terminal/models/component/endpoint.py:118
#: 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:63
msgid "SSH key change strategy"
msgstr "SSH 密钥推送方式"

#: accounts/models/automations/base.py:67
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:117
#: accounts/serializers/automations/change_secret.py:61
#: settings/serializers/auth/ldap.py:105
#: settings/serializers/auth/ldap_ha.py:87 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:145 ops/models/base.py:56
#: ops/models/celery.py:90 ops/models/job.py:242
#: terminal/models/applet/host.py:142
msgid "Date finished"
msgstr "结束日期"

#: accounts/models/automations/change_secret.py:49
#: accounts/models/automations/check_account.py:72
#: accounts/models/automations/gather_account.py:26
#: accounts/serializers/automations/check_account.py:39
#: assets/models/automations/base.py:137
#: assets/serializers/automations/base.py:45 audits/models.py:212
#: audits/serializers.py:77 ops/models/base.py:49 ops/models/job.py:233
#: terminal/models/applet/applet.py:374 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:163
#: 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:232
#: xpack/plugins/cloud/models.py:299
msgid "Status"
msgstr "状态"

#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:279
#: accounts/templates/accounts/change_secret_failed_info.html:13
#: assets/const/automation.py:9
#: authentication/templates/authentication/passkey.html:174
#: authentication/views/base.py:42 authentication/views/base.py:43
#: authentication/views/base.py:44 common/const/choices.py:67
#: 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 "Account deleted"
msgstr "账号已删除"

#: accounts/models/automations/check_account.py:46
msgid "Groups change"
msgstr "组变更"

#: accounts/models/automations/check_account.py:47
msgid "Sudo changed"
msgstr "Sudo变更"

#: accounts/models/automations/check_account.py:48
msgid "Authorized keys changed"
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:38
msgid "Weak password"
msgstr "弱密码"

#: accounts/models/automations/check_account.py:53
#: accounts/templates/accounts/check_account_report.html:45
msgid "Leaked password"
msgstr "密码泄露"

#: accounts/models/automations/check_account.py:54
#: accounts/templates/accounts/check_account_report.html:52
msgid "Repeated password"
msgstr "重复密码"

#: accounts/models/automations/check_account.py:61
#: accounts/models/automations/gather_account.py:18 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/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:192
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:9
#: authentication/serializers/connect_token_secret.py:43
#: authentication/serializers/connect_token_secret.py:53
#: 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:64
#: users/serializers/profile.py:190
#: users/templates/users/_msg_user_created.html:12
#: xpack/plugins/cloud/serializers/account_attrs.py:41
#: xpack/plugins/cloud/serializers/account_attrs.py:103
#: xpack/plugins/cloud/serializers/account_attrs.py:110
msgid "Username"
msgstr "用户名"

#: accounts/models/automations/check_account.py:70
#: accounts/serializers/automations/check_account.py:36
msgid "Risk"
msgstr "风险"

#: accounts/models/automations/check_account.py:73
#: accounts/models/automations/gather_account.py:27 audits/models.py:154
msgid "Detail"
msgstr "详情"

#: accounts/models/automations/check_account.py:76
msgid "Account risk"
msgstr "账号风险"

#: accounts/models/automations/check_account.py:117
msgid "Slug"
msgstr ""

#: accounts/models/automations/check_account.py:128
msgid "Check the discovered accounts"
msgstr "检查发现的帐户"

#: accounts/models/automations/check_account.py:130
msgid ""
"Perform checks and analyses based on automatically discovered account "
"results, including user groups, public keys, sudoers, and other information."
msgstr "根据自动发现的账户结果进行检查分析，包括用户组、公钥、sudoers等信息。"

#: accounts/models/automations/check_account.py:137
msgid "Check the strength of your account and password"
msgstr "检查您的账号和密码的强度"

#: accounts/models/automations/check_account.py:139
msgid ""
"Perform checks and analyses based on the security of account passwords, "
"including password strength, leakage, etc."
msgstr "针对账号密码的安全性进行检查分析，包括密码强度、泄露情况等。"

#: accounts/models/automations/check_account.py:146
msgid "Check if the account and password are repeated"
msgstr "检查账号和密码是否重复"

#: accounts/models/automations/check_account.py:147
msgid "Check if the account is the same as other accounts."
msgstr "检查该账号是否与其他账户相同。"

#: accounts/models/automations/check_account.py:152
msgid "Check whether the account password is a common password"
msgstr "检查账号密码是否为常用密码"

#: accounts/models/automations/check_account.py:153
msgid "Check whether the account password is a commonly leaked password."
msgstr "检查账号密码是否为常见泄露密码。"

#: accounts/models/automations/gather_account.py:19
msgid "Address login"
msgstr "最后登录地址"

#: accounts/models/automations/gather_account.py:20
msgid "Date login"
msgstr "最后登录日期"

#: accounts/models/automations/gather_account.py:21
msgid "Remote present"
msgstr "远端存在"

#: accounts/models/automations/gather_account.py:22
msgid "Present"
msgstr "存在"

#: accounts/models/automations/gather_account.py:23
msgid "Date change password"
msgstr "改密日期"

#: accounts/models/automations/gather_account.py:24
msgid "Date password expired"
msgstr "密码过期日期"

#: accounts/models/automations/gather_account.py:103
msgid "Gather asset accounts"
msgstr "账号发现"

#: accounts/models/automations/gather_account.py:115
msgid "Is sync account"
msgstr "是否同步账号"

#: accounts/models/automations/gather_account.py:118
msgid "Check risk"
msgstr "风险检查"

#: accounts/models/automations/gather_account.py:136
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:472
#: accounts/serializers/account/base.py:17
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
#: terminal/serializers/storage.py:140
msgid "Secret type"
msgstr "密文类型"

#: accounts/models/base.py:42
#: accounts/serializers/automations/change_secret.py:43
msgid "Secret strategy"
msgstr "密文策略"

#: accounts/models/base.py:44 accounts/serializers/account/template.py:32
#: accounts/serializers/automations/change_secret.py:49
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:119
#: 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:402
msgid "Account template"
msgstr "账号模板"

#: accounts/models/template.py:31
msgid "Can view asset account template secret"
msgstr "可以查看资产账号模板密码"

# msgid "Can view asset account template secret"
# msgstr "可以查看资产账号模板密码"
# msgid "Can change 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 ""
"连接资产时不使用用户名和密码的账号，仅支持 web类型 和 自定义类型 的资产"

#: accounts/notifications.py:13 accounts/notifications.py:39
msgid "Notification of account backup route task results"
msgstr "账号备份任务结果通知"

#: accounts/notifications.py:23 accounts/notifications.py:48
msgid ""
"{} - The account backup passage task has been completed. See the attachment "
"for details"
msgstr "{} - 账号备份任务已完成, 详情见附件"

#: accounts/notifications.py:26
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:58
msgid "Notification of implementation result of encryption change plan"
msgstr "改密计划任务结果通知"

#: accounts/notifications.py:69
msgid ""
"{} - The encryption change task has been completed. See the attachment for "
"details"
msgstr "{} - 改密任务已完成, 详情见附件"

#: accounts/notifications.py:73
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:86
msgid "Gather account change information"
msgstr "账号变更信息"

#: accounts/notifications.py:108
msgid "Change secret or push account failed information"
msgstr "改密或推送账号失败信息"

#: accounts/risk_handlers.py:17 common/const/choices.py:115
msgid "Ignored"
msgstr "忽略"

#: accounts/risk_handlers.py:18
msgid "Reopen"
msgstr "重新打开"

#: accounts/risk_handlers.py:19 audits/const.py:39
#: 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:23
msgid "Delete remote"
msgstr "删除远程"

#: accounts/risk_handlers.py:22
msgid "Delete account"
msgstr "删除账号"

#: accounts/risk_handlers.py:24
#: accounts/templates/accounts/asset_account_change_info.html:10
msgid "Add account"
msgstr "新增账号"

#: accounts/risk_handlers.py:25
msgid "Change password and Add"
msgstr "改密并添加"

#: accounts/risk_handlers.py:127
msgid "Execution failed: {}"
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:284 perms/serializers/user_permission.py:26
#: settings/models.py:41 tickets/models/ticket/apply_application.py:13
#: users/models/preference.py:12 xpack/plugins/cloud/models.py:41
#: xpack/plugins/cloud/models.py:326
#: xpack/plugins/cloud/serializers/account.py:81
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/automations/base.py:146 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:76 audits/serializers.py:196
#: authentication/models/connection_token.py:63
#: authentication/serializers/connect_token_secret.py:128 ops/models/job.py:155
#: 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:33 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:223
msgid "Asset not found"
msgstr "资产不存在"

#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:180
msgid "Directory service"
msgstr "目录服务"

#: accounts/serializers/account/account.py:268
msgid "Has secret"
msgstr "已托管密码"

#: accounts/serializers/account/account.py:278 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:280
msgid "Changed"
msgstr "已修改"

#: accounts/serializers/account/account.py:290 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:33
#: 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:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:57
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
#: xpack/plugins/cloud/manager.py:101
msgid "Assets"
msgstr "资产"

#: accounts/serializers/account/account.py:395
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "资产不支持账号类型: %s"

#: accounts/serializers/account/account.py:427
msgid "Account has exist"
msgstr "账号已存在"

#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/base.py:86
#: assets/serializers/asset/common.py:424
msgid "Spec info"
msgstr "特殊信息"

#: accounts/serializers/account/account.py:473
#: authentication/serializers/connect_token_secret.py:162
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 users/serializers/group.py:33
msgid "ID"
msgstr "ID"

#: accounts/serializers/account/account.py:483 acls/serializers/base.py:125
#: 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:94 audits/models.py:176 audits/models.py:275
#: audits/serializers.py:197 authentication/models/connection_token.py:37
#: 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:127 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:293
#: users/models/user/__init__.py:320
msgid "User"
msgstr "用户"

#: accounts/serializers/account/account.py:484
#: 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 ""
"提示: 如果认证时不需要用户名，可填写为 null, 如果是 AD 账号，格式为 "
"username@domain"

#: accounts/serializers/account/service.py:15
#: authentication/serializers/token.py:22
msgid "Access IP"
msgstr "IP 白名单"

#: accounts/serializers/account/service.py:28
#: 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:165 ops/models/playbook.py:31 rbac/models/role.py:37
#: settings/models.py:44 terminal/models/applet/applet.py:46
#: terminal/models/applet/applet.py:375 terminal/models/applet/host.py:143
#: terminal/models/component/endpoint.py:29
#: terminal/models/component/endpoint.py:117
#: 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:99
#: xpack/plugins/cloud/models.py:45 xpack/plugins/cloud/models.py:129
msgid "Comment"
msgstr "备注"

#: accounts/serializers/account/service.py:30
#: accounts/templates/accounts/backup_account_report.html:33
#: assets/serializers/asset/common.py:152
msgid "Accounts amount"
msgstr "账号数量"

#: accounts/serializers/account/template.py:11
msgid "Password length"
msgstr "密码长度"

#: accounts/serializers/account/template.py:12
#: settings/serializers/security.py:51
msgid "Lowercase"
msgstr "小写字母"

#: accounts/serializers/account/template.py:13
#: settings/serializers/security.py:48
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 ""
"length 是密码的长度，填写范围为 8 到 30。lowercase 表示密码中是否包含小写字"
"母，uppercase 表示是否包含大写字母，digit 表示是否包含数字，symbol 表示是否包"
"含特殊符号。exclude_symbols 用于排除特定符号，您可以填写要排除的符号字符（最"
"多 16 个），如果无需排除符号，可以留空。默认: {\"length\": 16, "
"\"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, "
"\"exclude_symbols\": \"\"}"

#: 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. <br/ >For security, please set "
"config CACHE_LOGIN_PASSWORD_ENABLED to true"
msgstr ""
"当前仅支持 AD/LDAP 登录方式用户。 同名账号密码生效顺序: 资产上存在的同名账号"
"密码 > 登录密码 > 手动输入 <br/> 为了安全起见，请设置配置项 "
"CACHE_LOGIN_PASSWORD_ENABLED=true，重启服务才能开启"

#: 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:62
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:149
#: assets/serializers/automations/base.py:43
msgid "Automation snapshot"
msgstr "自动化快照"

#: accounts/serializers/automations/change_secret.py:46
msgid "SSH Key strategy"
msgstr "SSH 密钥更改方式"

#: accounts/serializers/automations/change_secret.py:60
msgid "Please enter your account username"
msgstr "请输入您的账号用户名"

#: accounts/serializers/automations/change_secret.py:64
msgid "Notification before execution"
msgstr "执行前通知"

#: accounts/serializers/automations/change_secret.py:66
msgid ""
"Secret parameter settings, currently only effective for assets of the host "
"type."
msgstr "参数设置，目前只对 AIX LINUX UNIX 类型的资产有效。"

#: accounts/serializers/automations/change_secret.py:88
msgid "* Please enter the correct password length"
msgstr "* 请输入正确的密码长度"

#: accounts/serializers/automations/change_secret.py:92
msgid "* Password length range 8-36 bits"
msgstr "* 密码长度范围 8-36 位"

#: accounts/serializers/automations/change_secret.py:114
#: accounts/serializers/automations/change_secret.py:149
#: ops/serializers/job.py:93 terminal/serializers/session.py:62
msgid "Is success"
msgstr "是否成功"

#: accounts/serializers/automations/change_secret.py:121
#: assets/models/automations/base.py:165
msgid "Automation task execution"
msgstr "自动化任务执行历史"

#: accounts/serializers/automations/change_secret.py:190
msgid "TTL"
msgstr "TTL"

#: accounts/serializers/automations/change_secret.py:191
#: assets/models/platform.py:97 tickets/models/ticket/general.py:301
msgid "Meta"
msgstr "元数据"

#: accounts/serializers/automations/check_account.py:106
msgid "Invalid engine id"
msgstr "引擎 ID 无效"

#: accounts/serializers/automations/gather_account.py:31
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 "推送账号到资产: %s, 由系统执行"

#: accounts/signal_handlers.py:52
#, python-format
msgid "Add account: %s"
msgstr "添加账号: %s"

#: accounts/signal_handlers.py:54
#, python-format
msgid "Delete account: %s"
msgstr "删除账号: %s"

#: 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 ""
"系统会定期清理不再需要的改密记录和推送记录，包括那些关联的改密任务、执行记"
"录、资产和账号。当这些关联项中的任意一个被删除时，对应的改密和推送记录将变为"
"无效。因此，为了保持数据库的整洁和高效运行，根据系统配置文件 config.txt 中 "
"PERM_EXPIRED_CHECK_PERIODIC 的时间间隔对于超出时间的于每天凌晨2点进行清理。这"
"种定期清理机制不仅有助于释放存储空间，还能提高数据管理的安全和整体性能"

#: accounts/tasks/push_account.py:40 accounts/tasks/push_account.py:54
msgid "Push accounts to assets"
msgstr "推送账号到资产"

#: accounts/tasks/push_account.py:43
msgid ""
"Whenever an account is created or modified and needs pushing to assets, run "
"this task"
msgstr "每当创建或修改帐户并需要推送到资产时，运行此任务"

#: accounts/tasks/push_account.py:62 accounts/tasks/push_account.py:104
msgid "Change secret accounts to assets"
msgstr "账号改密推送到资产"

#: accounts/tasks/push_account.py:65
msgid ""
"When a secret on an account changes and needs pushing to assets, run this "
"task"
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 ""
"由于每次更新资产账号，都会生成历史账号，所以需要清理资产账号的历史。系统会根"
"据账号存储-记录限制的配置，每天凌晨2点对于超出的数量的账号记录进行清理"

#: 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 "同步密文到 vault"

#: 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_failed_info.html:3
#: 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
#: terminal/serializers/task.py:10
msgid "Task name"
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
#: assets/models/automations/base.py:143 audits/models.py:66
#: ops/models/base.py:55 ops/models/celery.py:89 ops/models/job.py:241
#: 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:20
msgid "Date start"
msgstr "开始日期"

#: accounts/templates/accounts/backup_account_report.html:28
#: accounts/templates/accounts/change_secret_report.html:28
#: accounts/templates/accounts/check_account_report.html:28
#: accounts/templates/accounts/gather_account_report.html:26
#: accounts/templates/accounts/push_account_report.html:27
#: 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:38
#: accounts/templates/accounts/change_secret_report.html:53
#: accounts/templates/accounts/check_account_report.html:66
#: 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 "任务执行 ID"

#: 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:33
#: accounts/templates/accounts/gather_account_report.html:31
#: accounts/templates/accounts/push_account_report.html:32
#: assets/serializers/domain.py:23 assets/serializers/platform.py:182
#: orgs/serializers.py:13 perms/serializers/permission.py:61
msgid "Assets amount"
msgstr "资产数量"

#: accounts/templates/accounts/change_secret_report.html:38
#: accounts/templates/accounts/gather_account_report.html:36
#: accounts/templates/accounts/push_account_report.html:37
msgid "Asset success count"
msgstr "资产成功数"

#: accounts/templates/accounts/change_secret_report.html:43
#: accounts/templates/accounts/gather_account_report.html:41
#: accounts/templates/accounts/push_account_report.html:42
msgid "Asset failed count"
msgstr "资产失败数"

#: accounts/templates/accounts/change_secret_report.html:48
#: accounts/templates/accounts/gather_account_report.html:46
#: accounts/templates/accounts/push_account_report.html:47
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/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/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:33
#: terminal/const.py:47 terminal/const.py:86
#: users/templates/users/reset_password.html:54
msgid "Normal"
msgstr "正常"

#: accounts/templates/accounts/check_account_report.html:59
msgid "No secret"
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/templates/accounts/gather_account_report.html:132
msgid "No lost accounts found"
msgstr "未找到丢失的账号"

#: accounts/utils.py:55
msgid ""
"If the password starts with {{` and ends with }} `, then the password is not "
"allowed."
msgstr "如果密码以 `{{` 开始，并且以 `}}` 结束，则该密码是不允许的。"

#: accounts/utils.py:63
msgid "private key invalid or passphrase error"
msgstr "密钥不合法或密钥密码错误"

#: acls/apps.py:7
msgid "App Acls"
msgstr "访问控制"

#: acls/const.py:6 audits/const.py:37 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:34 terminal/const.py:9
msgid "Accept"
msgstr "接受"

#: acls/const.py:8 audits/const.py:35
msgid "Review"
msgstr "审批"

#: acls/const.py:9
msgid "Warn"
msgstr "告警"

#: acls/const.py:10
msgid "Notify"
msgstr "通知"

#: acls/const.py:11
msgid "Prompt 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:110 xpack/plugins/cloud/models.py:321
msgid "Priority"
msgstr "优先级"

#: acls/models/base.py:38 assets/models/cmd_filter.py:76
#: terminal/models/component/endpoint.py:111 xpack/plugins/cloud/models.py:322
msgid "1-100, the lower the value will be match first"
msgstr "优先级可选范围为 1-100 (数值越小越优先)"

#: acls/models/base.py:41 acls/serializers/base.py:57
#: assets/models/cmd_filter.py:81 audits/models.py:96 audits/serializers.py:107
#: authentication/serializers/connect_token_secret.py:121
#: authentication/templates/authentication/_access_key_modal.html:34
#: perms/serializers/permission.py:63 perms/serializers/permission.py:85
#: 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:93
msgid "Reviewers"
msgstr "审批人"

#: acls/models/base.py:81 perms/serializers/permission.py:53
#: 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
#: 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:368
msgid "Regex"
msgstr "正则表达式"

#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79
#: settings/models.py:189 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:90
#: 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:111 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 ""
"* 表示匹配所有。例如: 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  (支持网域)"

#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19
msgid "IP/Host"
msgstr "IP/主机"

#: acls/serializers/base.py:100
msgid "Recipients"
msgstr "接收人"

#: acls/serializers/base.py:112 tickets/serializers/ticket/ticket.py:78
msgid "The organization `{}` does not exist"
msgstr "组织 `{}` 不存在"

#: acls/serializers/base.py:118
msgid "None of the reviewers belong to Organization `{}`"
msgstr "所有复核人都不属于组织 `{}`"

#: acls/serializers/rules/rules.py:20
#: xpack/plugins/cloud/serializers/task.py:163
msgid "IP address invalid: `{}`"
msgstr "IP 地址无效: `{}`"

#: 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 ""
"* 表示匹配所有。例如: 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"

#: 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:152 xpack/plugins/cloud/models.py:404
msgid "IP"
msgstr "IP"

#: 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:198
#: audits/models.py:269
#: authentication/templates/authentication/_msg_different_city.html:11
#: tickets/models/ticket/login_confirm.py:13
msgid "Login city"
msgstr "登录城市"

#: acls/templates/acls/user_login_reminder.html:11 audits/models.py:201
#: audits/models.py:270 audits/serializers.py:91
msgid "User agent"
msgstr "用户代理"

#: assets/api/asset/asset.py:154
msgid "Cannot create asset directly, you should create a host or other"
msgstr "不能直接创建资产, 你应该创建主机或其他资产"

#: assets/api/asset/asset.py:158
msgid "The number of assets exceeds the limit of 5000"
msgstr "资产数量超过了 5000 的限制"

#: 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/api/zone.py:67
msgid "Number required"
msgstr "需要为数字"

#: assets/apps.py:9
msgid "App Assets"
msgstr "资产管理"

#: assets/automations/base/manager.py:141
msgid "Task: {} finished"
msgstr "任务：{} 完成"

#: assets/automations/base/manager.py:341
msgid "  - Platform {} ansible disabled"
msgstr "  - 平台 {} Ansible 已禁用, 无法执行任务"

#: assets/automations/base/manager.py:527
msgid ">>> Task preparation phase"
msgstr ">>> 任务准备阶段"

#: assets/automations/base/manager.py:531
#, python-brace-format
msgid ">>> Executing tasks in batches, total {runner_count}"
msgstr ">>> 分次执行任务，总共 {runner_count}"

#: assets/automations/base/manager.py:536
msgid ">>> Start executing tasks"
msgstr ">>> 开始执行任务"

#: assets/automations/base/manager.py:538
msgid ">>> No tasks need to be executed"
msgstr ">>> 没有需要执行的任务"

#: assets/automations/base/manager.py:542
#, python-brace-format
msgid ">>> Begin executing batch {index} of tasks"
msgstr ">>> 开始执行第 {index} 批任务"

#: assets/automations/ping_gateway/manager.py:33
#: authentication/models/connection_token.py:176
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 "无法连接到 {port} 上的端口 {address}"

#: 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:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:33
#: common/utils/ip/geoip/utils.py:39 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:10
msgid "RDP error"
msgstr "RDP 连接失败"

#: assets/const/automation.py:11
msgid "Authentication error"
msgstr "认证失败"

#: assets/const/automation.py:12
msgid "Invalid password error"
msgstr "密码无效"

#: assets/const/automation.py:13
msgid "OpenSSH key error"
msgstr "OpenSSH 密钥错误"

#: assets/const/automation.py:14
msgid "NTLM credentials rejected error"
msgstr "NTLM 凭据被拒绝"

#: assets/const/automation.py:15
msgid "Create temporary error"
msgstr "创建临时目录失败"

#: assets/const/automation.py:19
msgid "Ping"
msgstr "测试"

#: assets/const/automation.py:20
msgid "Ping gateway"
msgstr "测试网关"

#: assets/const/automation.py:21
msgid "Gather facts"
msgstr "收集资产信息"

#: assets/const/base.py:32 audits/const.py:59
#: 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/lina.py:51
#: 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/const.py:38
#: xpack/plugins/cloud/manager.py:101
#: xpack/plugins/cloud/serializers/account_attrs.py:87
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:46
#: terminal/models/applet/applet.py:28 users/const.py:76
msgid "Web"
msgstr "Web"

#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47
#: 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 "Kubernetes"

#: 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 assets/const/ds.py:7
#: 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/ds.py:10
msgid "Windows Active Directory"
msgstr "Windows 活动目录"

#: assets/const/gpt.py:7
msgid "ChatGPT"
msgstr "ChatGPT"

#: assets/const/host.py:13 rbac/tree.py:28 rbac/tree.py:66
#: xpack/plugins/cloud/const.py:75
msgid "Other"
msgstr "其它"

#: assets/const/protocol.py:46
msgid "Old SSH version"
msgstr "旧 SSH 版本"

#: assets/const/protocol.py:47
msgid "Old SSH version like openssh 5.x or 6.x"
msgstr "旧的 SSH 版本，例如 openssh 5.x 或 6.x"

#: assets/const/protocol.py:53
msgid "Netcat help text"
msgstr ""
"使用 netcat (nc) 作为代理工具，将连接从代理服务器转发到目标主机。适用于不支"
"持 SSH 原生代理选项 (-W) 的环境，或需要更多灵活性和超时控制的场景。"

#: assets/const/protocol.py:64
msgid "SFTP root"
msgstr "SFTP 根路径"

#: assets/const/protocol.py:66
#, python-brace-format
msgid ""
"SFTP root directory, Support variable: <br>- ${ACCOUNT} The connected "
"account username <br>- ${HOME} The home directory of the connected account "
"<br>- ${USER} The username of the user"
msgstr ""
"SFTP根目录，支持变量：<br>-${ACCOUNT}已连接帐户用户名<br>-${HOME}连接帐户的主"
"目录<br>-${USER}用户的用户名"

#: 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:273
msgid "Security"
msgstr "安全"

#: assets/const/protocol.py:89
msgid ""
"Security layer to use for the connection:<br>Any<br>Automatically select the "
"security mode based on the security protocols supported by both the client "
"and the server<br>RDP<br>Legacy RDP encryption. This mode is generally only "
"used for older Windows servers or in cases where a standard Windows login "
"screen is desired<br>TLS<br>RDP authentication and encryption implemented "
"via TLS.<br>NLA<br>This mode uses TLS encryption and requires the username "
"and password to be given in advance"
msgstr ""
"连接的安全层：<br>Any<br>根据客户端和服务器支持的安全协议自动选择安全模式"
"<br>RDP<br>传统的 RDP 加密模式。通常仅用于较旧的 Windows 服务器或需要标准 "
"Windows 登录屏幕的情况<br>TLS<br>通过 TLS 实现的 RDP 认证和加密<br>NLA<br>该"
"模式使用 TLS 加密，并要求提前提供用户名和密码"

#: assets/const/protocol.py:106
msgid "AD domain"
msgstr "AD 网域"

#: 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 "使用 SSL"

#: assets/const/protocol.py:180
msgid "SYSDBA"
msgstr "SYSDBA"

#: assets/const/protocol.py:181
msgid "Connect as SYSDBA"
msgstr "以 SYSDBA 角色连接"

#: assets/const/protocol.py:196
msgid ""
"SQL Server version, Different versions have different connection drivers"
msgstr "SQL Server 版本，不同版本有不同的连接驱动"

#: 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:48
msgid "Connect options"
msgstr "连接项"

#: assets/const/protocol.py:233
msgid "The connection specific options eg. retryWrites=false&retryReads=false"
msgstr "连接特定选项，例如 retryWrites=false&retryReads=false"

#: 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 "API 模式"

#: assets/const/types.py:252
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:88
msgid "Port"
msgstr "端口"

#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:174
#: settings/serializers/terminal.py:10
msgid "Address"
msgstr "地址"

#: assets/models/asset/common.py:169 assets/models/platform.py:155
#: assets/serializers/asset/common.py:150
#: authentication/backends/passkey/models.py:12
#: authentication/serializers/connect_token_secret.py:120
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:398
msgid "Platform"
msgstr "平台"

#: assets/models/asset/common.py:173 assets/models/zone.py:22
#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:400
msgid "Zone"
msgstr "网域"

#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:176
#: assets/serializers/automations/base.py:21 ops/serializers/job.py:22
#: perms/serializers/permission.py:58
msgid "Nodes"
msgstr "节点"

#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:425
#: assets/serializers/asset/host.py:11
msgid "Gathered info"
msgstr "收集资产硬件信息"

#: assets/models/asset/common.py:184 assets/serializers/asset/custom.py:14
msgid "Custom info"
msgstr "自定义属性"

#: assets/models/asset/common.py:431
msgid "Can refresh asset hardware info"
msgstr "可以更新资产硬件信息"

#: assets/models/asset/common.py:432
msgid "Can test asset connectivity"
msgstr "可以测试资产连接性"

#: assets/models/asset/common.py:433
msgid "Can match asset"
msgstr "可以匹配资产"

#: assets/models/asset/common.py:434
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 "CA 证书"

#: 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 "PostgreSQL SSL 模式"

#: assets/models/asset/ds.py:10 assets/serializers/asset/ds.py:20
msgid "Domain name"
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:158
#: perms/models/asset_permission.py:72 tickets/models/ticket/apply_asset.py:15
#: xpack/plugins/cloud/models.py:399
msgid "Node"
msgstr "节点"

#: assets/models/automations/base.py:29 ops/models/job.py:236
#: 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:132
msgid "Automation task"
msgstr "自动化任务"

#: assets/models/automations/base.py:123
msgid "Asset automation task"
msgstr "资产自动化任务"

# msgid "Comment"
# msgstr "备注"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:323
msgid "Date created"
msgstr "创建日期"

#: assets/models/automations/base.py:155
#: assets/serializers/automations/base.py:44 xpack/plugins/cloud/models.py:247
#: xpack/plugins/cloud/serializers/task.py:260
msgid "Trigger mode"
msgstr "触发模式"

#: assets/models/automations/base.py:157 audits/serializers.py:38
#: ops/models/base.py:52 ops/models/job.py:238
#: xpack/plugins/cloud/manager.py:111
msgid "Summary"
msgstr "汇总"

#: assets/models/automations/base.py:158 ops/models/base.py:51
#: ops/models/job.py:237 xpack/plugins/cloud/models.py:230
msgid "Result"
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:28 users/models/user/__init__.py:71
msgid "User group"
msgstr "用户组"

#: assets/models/cmd_filter.py:42 common/db/models.py:35
#: users/models/user/__init__.py:150
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:109
#: 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:18
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:34
#: authentication/serializers/connect_token_secret.py:127
#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:40
#: 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:126
#: common/serializers/common.py:85 labels/serializers.py:45
#: settings/serializers/msg.py:90 xpack/plugins/cloud/models.py:403
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 "ssh私钥"

#: 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:60
#: authentication/backends/passkey/models.py:11 settings/models.py:43
#: terminal/serializers/applet_host.py:33 users/models/user/_auth.py:33
msgid "Enabled"
msgstr "启用"

#: assets/models/platform.py:39
msgid "Ansible config"
msgstr "Ansible 配置"

#: 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: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:105
msgid "DS enabled"
msgstr "启用目录服务"

#: assets/models/platform.py:107 assets/serializers/platform.py:202
msgid "Su enabled"
msgstr "启用账号切换"

#: assets/models/platform.py:108 assets/serializers/platform.py:177
msgid "Su method"
msgstr "账号切换方式"

#: assets/models/platform.py:109 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 "%(value)s is not an even number"

#: 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 ""
"账号，格式为 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", "
"\"secret_type\": \"password\"}]"

#: 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:77
#: perms/models/asset_permission.py:76 perms/serializers/permission.py:67
#: perms/serializers/user_permission.py:75 xpack/plugins/cloud/models.py:401
#: xpack/plugins/cloud/serializers/task.py:36
msgid "Protocols"
msgstr "协议组"

#: assets/serializers/asset/common.py:149
#: assets/serializers/asset/common.py:175
msgid "Node path"
msgstr "节点路径"

#: assets/serializers/asset/common.py:172
#: assets/serializers/asset/common.py:426
msgid "Auto info"
msgstr "自动化信息"

#: assets/serializers/asset/common.py:271
#: xpack/plugins/cloud/serializers/task.py:119
msgid "Platform not exist"
msgstr "平台不存在"

#: assets/serializers/asset/common.py:307
msgid "port out of range (0-65535)"
msgstr "端口超出范围 (0-65535)"

#: assets/serializers/asset/common.py:314
msgid "Protocol is required: {}"
msgstr "协议是必填的: {}"

#: assets/serializers/asset/common.py:353 labels/api.py:107
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 ""
"Common Name (CN) 字段已被弃用，请根据 RFC 5280 使用 Subject Alternative Name "
"(SAN) 字段来验证域名，以提高安全性。"

#: assets/serializers/asset/database.py:24
msgid "Postgresql ssl model help text"
msgstr ""
"Prefer：我不关心加密，但如果服务器支持加密，我愿意支付加密的开销。\n"
"Require：我希望我的数据被加密，我接受开销。我相信网络将确保我始终连接到我想要"
"的服务器。\n"
"Verify CA：我希望我的数据被加密，我接受开销。我想确保我连接到我信任的服务"
"器。\n"
"Verify Full：我希望我的数据被加密，我接受开销。我想确保我连接到我信任的服务"
"器，并且它是我指定的服务器。"

#: assets/serializers/asset/ds.py:18
msgid ""
"The domain part used by the directory service (e.g., AD) and appended to the "
"username during login, such as example.com in user@example.com."
msgstr ""
"域名（Domain Name） 用于目录服务（如 AD）登录时附加在用户名后的域名部分，例"
"如 user@example.com 中的 example.com"

#: 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 ""
"如果服务器不能直接访问 api 地址，你需要设置一个 HTTP 代理。例如 http(s)://"
"host:port"

#: assets/serializers/asset/gpt.py:24
msgid "HTTP proxy"
msgstr "HTTP(s) 代理"

#: assets/serializers/asset/gpt.py:31
msgid "Proxy must start with http:// or https://"
msgstr "代理必须以 http:// 或 https:// 开头"

#: 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 "CPU型号"

#: assets/serializers/asset/info/gathered.py:10
msgid "CPU count"
msgstr "CPU数量"

#: assets/serializers/asset/info/gathered.py:11
msgid "CPU cores"
msgstr "CPU核数"

#: assets/serializers/asset/info/gathered.py:12
msgid "CPU vcpus"
msgstr "CPU总数"

#: 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:117
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/asset/info/gathered.py:20
msgid "GPU model"
msgstr "GPU 型号"

#: 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:20
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 "平台必须从 Gateway 开始"

#: 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 ""
"在访问资产时使用账号登录，然后自动切换到另一个账号，就像用普通账号登录然后切"
"换到 root 一样"

#: assets/serializers/platform.py:210
msgid "Assets can be connected using a zone gateway"
msgstr "资产可以使用区域网关进行连接"

#: assets/serializers/platform.py:212
msgid "Default zone"
msgstr "默认网域"

#: assets/serializers/platform.py:239
msgid "type is required"
msgstr "类型 该字段是必填项。"

#: assets/serializers/platform.py:254
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 ""
"手动校对资产数量更新当前组织下的节点资产数量；更新节点，当节点数大于100这两种"
"情况会调用该任务"

#: 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 ""
"定时调用check_node_assets_amount_task任务，更新所有组织下所有节点的资产数量"

#: 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 "资产或许不支持ansible, 跳过: {}"

#: 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 "文字内容太长。请使用 Elasticsearch 存储操作日志"

#: audits/backends/db.py:78
msgid "labels"
msgstr "标签"

#: audits/backends/db.py:79
msgid "operate_log_id"
msgstr "操作日志ID"

#: 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:29
#: 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:102
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:27 templates/_csv_import_export.html:8
msgid "Export"
msgstr "导出"

#: audits/const.py:30
msgid "Connect"
msgstr "连接"

#: audits/const.py:31 authentication/templates/authentication/login.html:329
#: authentication/templates/authentication/login.html:401
#: templates/_header_bar.html:101
msgid "Login"
msgstr "登录"

#: audits/const.py:36 rbac/tree.py:56
msgid "Notifications"
msgstr "通知"

#: audits/const.py:38 tickets/const.py:45
msgid "Approve"
msgstr "同意"

#: audits/const.py:42 ops/models/celery.py:85
#: terminal/models/session/sharing.py:128 tickets/const.py:25
#: xpack/plugins/cloud/const.py:73
msgid "Finished"
msgstr "结束"

#: audits/const.py:47 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:65
#: terminal/serializers/session.py:180
msgid "Terminal"
msgstr "终端"

#: audits/const.py:52 audits/models.py:136
msgid "Operate log"
msgstr "操作日志"

#: audits/const.py:53
msgid "Session log"
msgstr "会话日志"

#: audits/const.py:54
msgid "Login log"
msgstr "登录日志"

#: audits/const.py:55 rbac/tree.py:64 terminal/models/applet/host.py:144
#: terminal/models/component/task.py:22
#: xpack/plugins/cloud/serializers/account.py:78
msgid "Task"
msgstr "任务"

#: audits/const.py:61
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:104 audits/models.py:179
#: audits/models.py:312 terminal/models/session/session.py:41
#: terminal/models/session/sharing.py:113
msgid "Remote addr"
msgstr "远端地址"

#: audits/models.py:62 audits/serializers.py:61
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:16
msgid "Session"
msgstr "会话"

#: audits/models.py:71
msgid "File transfer log"
msgstr "文件传输"

#: audits/models.py:98 audits/serializers.py:109
msgid "Resource Type"
msgstr "资源类型"

#: audits/models.py:99 audits/models.py:102 audits/models.py:148
#: audits/serializers.py:108 labels/serializers.py:46
msgid "Resource"
msgstr "资源"

#: audits/models.py:105 audits/models.py:151 audits/models.py:181
#: audits/models.py:317 audits/serializers.py:232
#: terminal/serializers/command.py:75
msgid "Datetime"
msgstr "日期"

#: audits/models.py:144
msgid "Activity type"
msgstr "活动类型"

#: audits/models.py:157
msgid "Detail ID"
msgstr "详情 ID"

#: audits/models.py:161
msgid "Activity log"
msgstr "活动日志"

#: audits/models.py:177
msgid "Change by"
msgstr "修改者"

#: audits/models.py:187
msgid "Password change log"
msgstr "改密日志"

#: audits/models.py:194 audits/models.py:271
msgid "Login type"
msgstr "登录方式"

#: audits/models.py:196 audits/models.py:267
#: tickets/models/ticket/login_confirm.py:12
msgid "Login IP"
msgstr "登录 IP"

#: audits/models.py:204 audits/serializers.py:75
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: users/forms/profile.py:64 users/models/user/__init__.py:87
#: users/serializers/profile.py:63
msgid "MFA"
msgstr "MFA"

#: audits/models.py:207 terminal/models/session/sharing.py:125
#: xpack/plugins/cloud/manager.py:188 xpack/plugins/cloud/models.py:236
msgid "Reason"
msgstr "原因"

#: audits/models.py:214
#: authentication/templates/authentication/_msg_different_city.html:10
#: tickets/models/ticket/login_confirm.py:14
msgid "Login Date"
msgstr "登录日期"

#: audits/models.py:216 audits/models.py:272
msgid "Auth backend"
msgstr "认证令牌"

#: audits/models.py:260
msgid "User login log"
msgstr "用户登录日志"

#: audits/models.py:268
msgid "Session key"
msgstr "会话标识"

#: audits/models.py:273
msgid "Login date"
msgstr "登录日期"

#: audits/models.py:304
msgid "User session"
msgstr "用户会话"

#: audits/models.py:306
msgid "Offline user session"
msgstr "下线用户会话"

#: audits/models.py:313
msgid "Application"
msgstr "应用"

#: audits/models.py:314
msgid "Application ID"
msgstr "应用 ID"

#: 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:156
#: ops/models/job.py:239 ops/models/playbook.py:30 ops/models/variable.py:17
#: terminal/models/session/sharing.py:25
msgid "Creator"
msgstr "创建者"

#: audits/serializers.py:39 ops/serializers/celery.py:33
msgid "Execution cycle"
msgstr "周期执行"

#: audits/serializers.py:92
msgid "Reason display"
msgstr "原因描述"

#: audits/serializers.py:93 audits/serializers.py:210
msgid "Auth backend display"
msgstr "认证方式"

#: audits/serializers.py:157
#, python-format
msgid "%s %s this resource"
msgstr "用户 %s %s 了当前资源"

#: audits/serializers.py:198 authentication/models/connection_token.py:52
#: 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:21 users/models/user/__init__.py:106
msgid "Date expired"
msgstr "失效日期"

#: audits/serializers.py:229 terminal/models/component/terminal.py:91
#: terminal/serializers/command.py:76
msgid "Remote Address"
msgstr "远端地址"

#: audits/signal_handlers/activity_log.py:27
#, python-format
msgid "User %s use account %s login asset %s"
msgstr "用户 %s 使用账号 %s 登录资产 %s"

#: audits/signal_handlers/activity_log.py:35
#, python-format
msgid "User %s login system %s"
msgstr "用户 %s 登录系统 %s"

#: audits/signal_handlers/activity_log.py:65
#, python-format
msgid "User %s perform a task for this resource: %s"
msgstr "用户 %s 在当前资源， 执行了任务 (%s)"

#: audits/signal_handlers/login_log.py:33
msgid "SSH Key"
msgstr "SSH 密钥"

#: audits/signal_handlers/login_log.py:35 settings/serializers/auth/sso.py:13
msgid "SSO"
msgstr "SSO"

#: audits/signal_handlers/login_log.py:36
msgid "Auth Token"
msgstr "认证令牌"

#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73
#: authentication/utils.py:114 notifications/backends/__init__.py:11
#: settings/serializers/auth/wecom.py:11 settings/serializers/auth/wecom.py:16
#: users/models/user/__init__.py:130 users/models/user/_source.py:19
msgid "WeCom"
msgstr "企业微信"

#: audits/signal_handlers/login_log.py:38 authentication/utils.py:126
#: authentication/views/feishu.py:97 notifications/backends/__init__.py:14
#: settings/serializers/auth/feishu.py:12
#: settings/serializers/auth/feishu.py:14 users/models/user/__init__.py:136
#: users/models/user/_source.py:21
msgid "FeiShu"
msgstr "飞书"

#: audits/signal_handlers/login_log.py:40 authentication/utils.py:138
#: 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:142 users/models/user/_source.py:23
msgid "Slack"
msgstr "Slack"

#: audits/signal_handlers/login_log.py:41 authentication/utils.py:120
#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12
#: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133
#: 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/const.py:37
#: authentication/utils.py:144 settings/serializers/auth/passkey.py:8
#: settings/serializers/auth/passkey.py:11
msgid "Passkey"
msgstr "Passkey"

#: audits/tasks.py:135
msgid "Clean audits session task log"
msgstr "清理资产审计会话任务日志"

#: audits/tasks.py:137
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 ""
"由于系统会产生登录日志，操作日志，文件上传日志，活动日志，celery执行日志，会"
"话录像和命令记录，改密日志，所以系统会根据系统设置-任务列表-定期清理配置，对"
"于超出时间的于每天凌晨2点进行清理"

#: audits/tasks.py:157
msgid "Upload FTP file to external storage"
msgstr "上传 FTP 文件到外部存储"

#: audits/tasks.py:159
msgid ""
"If SERVER_REPLAY_STORAGE is configured, files uploaded through file "
"management will be \n"
"        synchronized to external storage"
msgstr ""
"如果设置了SERVER_REPLAY_STORAGE，将通过文件管理上传的文件同步到外部存储"

#: authentication/api/access_key.py:39
msgid "Access keys can be created at most 10"
msgstr "最多可以创建10个访问密钥"

#: authentication/api/common.py:34 settings/serializers/auth/sms.py:122
#, python-format
msgid "The value in the parameter must contain %s"
msgstr "参数中的值必须包含 %s"

#: authentication/api/confirm.py:50
msgid "This action require verify your MFA"
msgstr "该操作需要验证您的 MFA, 请先开启并配置"

#: authentication/api/connection_token.py:304
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr "不允许使用可重复使用的连接令牌，未启用全局设置"

#: authentication/api/connection_token.py:425
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 "ACL 动作是拒绝: {}({})"

#: authentication/api/connection_token.py:492
msgid "ACL action is review"
msgstr "ACL 动作是复核"

#: authentication/api/connection_token.py:502
msgid "ACL action is face verify"
msgstr "ACL 动作是人脸验证"

#: 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 "ACL 动作是人脸在线"

#: authentication/api/connection_token.py:533
msgid "No available face feature"
msgstr "没有可用的人脸特征"

#: authentication/api/face.py:100 authentication/mfa/face.py:22
#: authentication/mfa/face.py:24 users/views/profile/face.py:72
msgid "Facial comparison failed"
msgstr "人脸比对失败"

#: authentication/api/mfa.py:61
msgid "Current user not support mfa type: {}"
msgstr "当前用户不支持 MFA 类型: {}"

#: 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 "OpenID 错误"

#: 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:40
msgid "Only register passkey for local user"
msgstr "仅为本地用户注册密钥"

#: authentication/backends/passkey/api.py:71
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 "凭证 ID"

#: authentication/backends/saml2/views.py:282
msgid "SAML2 Error"
msgstr "SAML2 错误"

#: 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 "虚拟 MFA"

#: 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:35
msgid "Face recognition"
msgstr "人脸识别"

#: authentication/const.py:36 settings/serializers/auth/radius.py:14
#: settings/serializers/auth/radius.py:16
msgid "Radius"
msgstr "Radius"

#: authentication/const.py:38
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 "MFA 校验失败"

#: authentication/errors/const.py:21
msgid "MFA unset"
msgstr "MFA 没有设定"

#: 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 ""
"您输入的用户名或密码不正确，请重新输入。 您还可以尝试 {times_try} 次 (账号将"
"被临时 锁定 {block_time} 分钟)"

#: 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 "IP 已被锁定 (请联系管理员解锁或 {} 分钟后重试)"

#: 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 ""
"{error} 您还可以尝试 {times_try} 次 (账号将被临时锁定 {block_time} 分钟)"

#: authentication/errors/const.py:63
msgid "MFA required"
msgstr "需要 MFA 认证"

#: authentication/errors/const.py:64
msgid "MFA not set, please set it first"
msgstr "MFA 没有设置，请先完成设置"

#: 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 "当前登录ACL规则禁止登录"

#: authentication/errors/failed.py:154
msgid "Please enter MFA code"
msgstr "请输入 MFA 验证码"

#: 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 "SSO 认证关闭了"

#: 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 "Lark 没有绑定"

#: authentication/errors/mfa.py:43 authentication/views/slack.py:121
msgid "Slack is not bound"
msgstr "Slack 没有绑定"

#: 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 "请在 %s 秒后重试"

#: authentication/errors/redirect.py:85 authentication/mixins.py:327
#: users/views/profile/reset.py:224
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 "MFA 验证码"

#: authentication/forms.py:53
msgid "MFA type"
msgstr "MFA 类型"

#: authentication/forms.py:61
#: authentication/templates/authentication/_captcha_field.html:15
msgid "Captcha"
msgstr "验证码"

#: authentication/forms.py:66 authentication/mfa/email.py:41
#: authentication/templates/authentication/_msg_mfa_email_code.html:12
#: users/forms/profile.py:28
msgid "MFA code"
msgstr "MFA 验证码"

#: authentication/forms.py:68
msgid "Dynamic code"
msgstr "动态码"

#: authentication/mfa/base.py:8
msgid "Please input security code"
msgstr "请输入动态安全码"

#: authentication/mfa/base.py:28
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 "自定义 MFA 验证码校验失败"

#: authentication/mfa/custom.py:27
msgid "MFA custom verification code"
msgstr "自定义 MFA 验证码"

#: authentication/mfa/custom.py:57
msgid "MFA custom global enabled, cannot disable"
msgstr "自定义 MFA 全局开启，无法被禁用"

#: authentication/mfa/email.py:11
msgid "Email verify code invalid"
msgstr "邮件验证码校验失败"

#: authentication/mfa/email.py:17
msgid "Email verification code"
msgstr "邮件验证码"

#: authentication/mfa/face.py:56
msgid "Bind face to enable"
msgstr "绑定人脸特征以启用"

#: authentication/mfa/face.py:60
msgid "Unbind face to disable"
msgstr "解绑人脸特征以禁用"

#: authentication/mfa/otp.py:7
msgid "OTP code invalid, or server time error"
msgstr "虚拟 MFA 验证码错误，或者服务器端时间不对"

#: authentication/mfa/otp.py:13
msgid "OTP verification code"
msgstr "虚拟 MFA 验证码"

#: authentication/mfa/otp.py:48
msgid "Virtual OTP based MFA"
msgstr "虚拟 MFA(OTP)"

#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46
msgid "Using passkey as MFA"
msgstr "使用 Passkey 作为 MFA"

#: authentication/mfa/radius.py:8
msgid "Radius verify code invalid"
msgstr "Radius 校验失败"

#: authentication/mfa/radius.py:14
msgid "Radius verification code"
msgstr "Radius 动态安全码"

#: authentication/mfa/radius.py:45
msgid "Radius global enabled, cannot disable"
msgstr "Radius MFA 全局开启，无法被禁用"

#: 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:711
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 "该 MFA ({}) 方式没有启用"

#: authentication/mixins.py:315
msgid "Please change your password"
msgstr "请修改密码"

#: authentication/models/connection_token.py:43
#: terminal/serializers/storage.py:114
msgid "Account name"
msgstr "账号名称"

#: authentication/models/connection_token.py:44
msgid "Input username"
msgstr "自定义用户名"

#: authentication/models/connection_token.py:45
#: authentication/serializers/connection_token.py:18
msgid "Input secret"
msgstr "自定义密码"

#: authentication/models/connection_token.py:46
#: authentication/serializers/connect_token_secret.py:116
#: settings/serializers/msg.py:28 terminal/models/applet/applet.py:43
#: terminal/models/virtualapp/virtualapp.py:24
#: terminal/serializers/session.py:31 terminal/serializers/session.py:58
#: terminal/serializers/storage.py:71
msgid "Protocol"
msgstr "协议"

#: authentication/models/connection_token.py:47
msgid "Connect method"
msgstr "连接方式"

#: authentication/models/connection_token.py:49
msgid "User display"
msgstr "用户名称"

#: authentication/models/connection_token.py:50
msgid "Asset display"
msgstr "资产名称"

#: authentication/models/connection_token.py:51
msgid "Reusable"
msgstr "可以重复使用"

#: authentication/models/connection_token.py:56
#: perms/models/asset_permission.py:83
msgid "From ticket"
msgstr "来自工单"

#: authentication/models/connection_token.py:58
msgid "Face monitor token"
msgstr "人脸监控令牌"

#: authentication/models/connection_token.py:69
msgid "Can expire connection token"
msgstr "可以失效连接令牌"

#: authentication/models/connection_token.py:70
msgid "Can reuse connection token"
msgstr "可以复用连接令牌"

#: authentication/models/connection_token.py:72
msgid "Connection token"
msgstr "连接令牌"

#: authentication/models/connection_token.py:163
msgid "Connection token inactive"
msgstr "连接令牌未激活"

#: authentication/models/connection_token.py:167
msgid "Connection token expired at: {}"
msgstr "连接令牌过期: {}"

#: authentication/models/connection_token.py:170
#: terminal/serializers/session.py:151
msgid "No user or invalid user"
msgstr "没有用户或用户失效"

#: authentication/models/connection_token.py:173
msgid "No asset or inactive asset"
msgstr "没有资产或资产未激活"

#: authentication/models/connection_token.py:341
msgid "Can view super connection token secret"
msgstr "可以查看超级连接令牌密文"

#: authentication/models/connection_token.py:343
msgid "Super connection token"
msgstr "超级连接令牌"

#: authentication/models/connection_token.py:360
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:94
#: xpack/plugins/cloud/serializers/account_attrs.py:237
msgid "Private key"
msgstr "ssh私钥"

#: authentication/models/ssh_key.py:18 settings/serializers/terminal.py:38
#: users/forms/profile.py:175 users/models/user/__init__.py:97
#: xpack/plugins/cloud/serializers/account_attrs.py:234
msgid "Public key"
msgstr "SSH公钥"

#: authentication/models/sso_token.py:15
msgid "Expired"
msgstr "过期时间"

#: authentication/models/sso_token.py:20
msgid "SSO token"
msgstr "SSO token"

#: 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:118
msgid "Is builtin"
msgstr "内置的"

#: authentication/serializers/connect_token_secret.py:122
msgid "Options"
msgstr "选项"

#: authentication/serializers/connect_token_secret.py:129
#: ops/notifications.py:19 rbac/tree.py:60
msgid "Component"
msgstr "组件"

#: authentication/serializers/connect_token_secret.py:138
msgid "Domain"
msgstr "网域"

#: authentication/serializers/connect_token_secret.py:140
msgid "Expired now"
msgstr "立刻过期"

#: authentication/serializers/connect_token_secret.py:173
#: terminal/models/virtualapp/virtualapp.py:25
msgid "Image name"
msgstr "镜像名称"

#: authentication/serializers/connect_token_secret.py:174
#: terminal/models/virtualapp/virtualapp.py:27
msgid "Image port"
msgstr "镜像端口"

#: authentication/serializers/connect_token_secret.py:175
#: 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:19
msgid "Actions"
msgstr "动作"

#: authentication/serializers/connection_token.py:43
#: perms/serializers/permission.py:65 perms/serializers/permission.py:86
#: 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:16
msgid "Automatically Generate Key Pair"
msgstr "自动创建密钥对"

#: authentication/serializers/ssh_key.py:18
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:130 users/serializers/profile.py:160
msgid "Not a valid ssh public key"
msgstr "SSH密钥不合法"

#: authentication/serializers/token.py:92 perms/serializers/permission.py:64
#: perms/serializers/permission.py:87 users/serializers/user.py:128
#: users/serializers/user.py:258
msgid "Is valid"
msgstr "是否有效"

#: authentication/tasks.py:19
msgid "Clean expired session"
msgstr "清除过期会话"

#: authentication/tasks.py:21
msgid ""
"Since user logins create sessions, the system will clean up expired sessions "
"every 24 hours"
msgstr "由于用户登录系统会产生会话，系统会每24小时清理已经过期的会话"

#: authentication/tasks.py:30
msgid "Clean expired temporary, connection tokens"
msgstr "清理过期的临时密码和连接令牌"

#: authentication/tasks.py:32
msgid ""
"When connecting to assets or generating temporary passwords, the system "
"creates corresponding connection tokens or temporary credential records. To "
"maintain security and manage storage, the system automatically deletes "
"expired tokens every day at 2:00 AM based on the retention settings "
"configured under System settings > Security > User password > Token "
"Retention Period"
msgstr ""
"系统在连接资产或创建临时密码时，会生成相应的连接 Token 或临时密码记录。为了保"
"障系统安全并控制数据存储量，系统会根据“安全设置 > 密码安全 > Token 保留时长”"
"中的配置，每天凌晨 2 点自动清理所有已过期的 Token 记录"

#: authentication/templates/authentication/_access_key_modal.html:6
msgid "API key list"
msgstr "API Key列表"

#: authentication/templates/authentication/_access_key_modal.html:18
msgid "Using api key sign api header, every requests header difference"
msgstr "使用api key签名请求头，每个请求的头部是不一样的"

#: 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
#: settings/serializers/terminal.py:24 users/const.py:42
#: users/templates/users/user_verify_mfa.html:36
msgid "Disable"
msgstr "禁用"

#: authentication/templates/authentication/_access_key_modal.html:67
#: settings/serializers/terminal.py:24 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 "MFA 认证校验"

#: authentication/templates/authentication/_mfa_confirm_modal.html:17
msgid "Need MFA for view auth"
msgstr "需要 MFA 认证来查看账号信息"

#: 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_mfa_email_code.html:9
#: 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:542
#: 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_mfa_email_code.html:15
#: authentication/templates/authentication/_msg_reset_password_code.html:18
msgid "The validity period of the verification code is one minute"
msgstr "验证码有效期为 1 分钟"

#: 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:203
#: 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 "这个链接有效期1小时, 超过时间您可以"

#: 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_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 "MFA 多因子认证"

#: 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 "如果不能提供 MFA 验证码，请联系管理员!"

#: authentication/templates/authentication/login_wait_confirm.html:45
msgid "Refresh"
msgstr "刷新"

#: authentication/templates/authentication/login_wait_confirm.html:50
msgid "Copy link"
msgstr "复制链接"

#: authentication/templates/authentication/login_wait_confirm.html:55
msgid "Return"
msgstr "返回"

#: authentication/templates/authentication/login_wait_confirm.html:123
msgid "Copy success"
msgstr "复制成功"

#: authentication/templates/authentication/passkey.html:163
msgid ""
"This page is not served over HTTPS. Please use HTTPS to ensure security of "
"your credentials."
msgstr "本页面未使用 HTTPS 协议，请使用 HTTPS 协议以确保您的凭据安全。"

#: authentication/templates/authentication/passkey.html:174
msgid "Do you want to retry ?"
msgstr "是否重试 ？"

#: authentication/utils.py:27 common/utils/ip/geoip/utils.py:26
#: xpack/plugins/cloud/const.py:34
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 "%s 查询用户失败"

#: authentication/views/base.py:152
#, python-format
msgid "The %s is already bound to another user"
msgstr "%s 已绑定到另一个用户"

#: authentication/views/base.py:158
#, python-format
msgid "Binding %s successfully"
msgstr "绑定 %s 成功"

#: 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 "无效的 user_id"

#: 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 "Lark 错误"

#: authentication/views/lark.py:20
msgid "Lark is already bound"
msgstr "Lark 已经绑定"

#: authentication/views/lark.py:49
msgid "Failed to get user from Lark"
msgstr "从 Lark 获取用户失败"

#: authentication/views/login.py:163
msgid "Redirecting"
msgstr "跳转中"

#: authentication/views/login.py:164
msgid "Redirecting to {} authentication"
msgstr "正在跳转到 {} 认证"

#: authentication/views/login.py:191
msgid "Login timeout, please try again."
msgstr "登录超时，请重新登录"

#: authentication/views/login.py:236
msgid "User email already exists ({})"
msgstr "用户邮箱已存在 ({})"

#: authentication/views/login.py:314
msgid ""
"Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
"                  Don't close this page"
msgstr ""
"等待 <b>{}</b> 确认, 你也可以复制链接发给他/她 <br/>\n"
"                  不要关闭本页面"

#: authentication/views/login.py:319
msgid "No ticket found"
msgstr "没有发现工单"

#: authentication/views/login.py:355
msgid "Logout success"
msgstr "退出登录成功"

#: authentication/views/login.py:356
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 "Slack 错误"

#: authentication/views/slack.py:55
msgid "Slack is already bound"
msgstr "Slack 已经绑定"

#: authentication/views/slack.py:122
msgid "Failed to get user from Slack"
msgstr "从 Slack 获取用户失败"

#: 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:68
msgid "Request file format may be wrong"
msgstr "上传的文件格式错误 或 其它类型资源的文件"

#: common/const/choices.py:40
msgid "China"
msgstr "中国"

#: common/const/choices.py:57
msgid "Manual"
msgstr "手动触发"

#: common/const/choices.py:58
msgid "Timing"
msgstr "定时触发"

#: common/const/choices.py:64 ops/const.py:73
msgid "Running"
msgstr "运行中"

#: common/const/choices.py:68
msgid "Canceled"
msgstr "取消"

#: common/const/choices.py:114
msgid "Confirmed"
msgstr "确认"

#: common/const/choices.py:122 terminal/models/applet/applet.py:31
msgid "Community edition"
msgstr "社区版"

#: common/const/choices.py:123
msgid "Basic edition"
msgstr "企业基础版"

#: common/const/choices.py:124
msgid "Standard edition"
msgstr "企业标准版"

#: common/const/choices.py:125
msgid "Professional edition"
msgstr "企业专业版"

#: common/const/choices.py:126
msgid "Ultimate edition"
msgstr "企业旗舰版"

#: common/const/common.py:5 xpack/plugins/cloud/manager.py:450
#, python-format
msgid "%(name)s was created successfully"
msgstr "%(name)s 创建成功"

#: common/const/common.py:6
#, python-format
msgid "%(name)s was updated successfully"
msgstr "%(name)s 更新成功"

#: common/db/encoder.py:11
msgid "gettext_lazy"
msgstr "gettext_lazy"

#: common/db/fields.py:106
msgid "Marshal dict data to char field"
msgstr "编码 dict 为 char"

#: common/db/fields.py:110
msgid "Marshal dict data to text field"
msgstr "编码 dict 为 text"

#: common/db/fields.py:122
msgid "Marshal list data to char field"
msgstr "编码 list 为 char"

#: common/db/fields.py:126
msgid "Marshal list data to text field"
msgstr "编码 list 为 text"

#: common/db/fields.py:130
msgid "Marshal data to char field"
msgstr "编码数据为 char"

#: common/db/fields.py:134
msgid "Marshal data to text field"
msgstr "编码数据为 text"

#: 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 ""
"JSON 多对多字段无效，应为 {'type': 'all'} 或 {'type': 'ids', 'ids': []} 或 "
"{'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': "
"'1.1.1.1'}}"

#: common/db/fields.py:585
msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\""
msgstr "无效类型，应为 all、ids 或 attrs"

#: common/db/fields.py:588
msgid "Invalid ids for ids, should be a list"
msgstr "无效的ID，应为列表"

#: common/db/fields.py:590 common/db/fields.py:595
#: common/serializers/fields.py:146 terminal/serializers/session.py:89
#: tickets/serializers/ticket/common.py:58
#: xpack/plugins/cloud/serializers/account_attrs.py:20
#: xpack/plugins/cloud/serializers/account_attrs.py:71
#: xpack/plugins/cloud/serializers/account_attrs.py:95
#: xpack/plugins/cloud/serializers/account_attrs.py:174
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 "无效的属性，应为dict列表"

#: 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:112
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:131
msgid "Org ID"
msgstr "组织 ID"

#: 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 "无效的 excel 文件"

#: common/drf/renders/base.py:140
msgid "Yes/No"
msgstr "是/否"

#: common/drf/renders/base.py:143
msgid "Text, max length {}"
msgstr "文本，最大长度 {}"

#: common/drf/renders/base.py:145
msgid "Long text, no length limit"
msgstr "长文本，无长度限制"

#: common/drf/renders/base.py:147
msgid "Number, min {} max {}"
msgstr "数字，最小 {} 最大 {}"

#: common/drf/renders/base.py:150
msgid "Datetime format {}"
msgstr "日期时间格式 {}"

#: common/drf/renders/base.py:156
msgid ""
"Choices, format name(value), name is optional for human read, value is "
"requisite, options {}"
msgstr "选项，格式: 名称(值)，名称是可选的，方便阅读，值是必填的，可选项有 {}"

#: common/drf/renders/base.py:159
msgid "Choices, options {}"
msgstr "选项，可选项有 {}"

#: common/drf/renders/base.py:161
msgid "Phone number, format +8612345678901"
msgstr "手机号，格式 +8612345678901"

#: common/drf/renders/base.py:163
msgid "Label, format [\"key:value\"]"
msgstr "标签，格式: [\"键:值\"]"

#: common/drf/renders/base.py:165
msgid ""
"Object, format name(id), name is optional for human read, id is requisite"
msgstr "关联项，格式: 名称(id), 名称是可选的，方便阅读，id 是必填的"

#: common/drf/renders/base.py:167
msgid "Object, format id"
msgstr "关联项，格式是 id"

#: common/drf/renders/base.py:171
msgid ""
"Objects, format [\"name(id)\", ...], name is optional for human read, id is "
"requisite"
msgstr ""
"多关联项，格式: [\"名称(id)\", ...], 名称是可选的，方便阅读，id 是必填的"

#: common/drf/renders/base.py:173
msgid ""
"Labels, format [\"key:value\", ...], if label not exists, will create it"
msgstr "标签，格式: [\"键:值\", ...], 如果标签不存在，将创建它"

#: common/drf/renders/base.py:175
msgid "Objects, format [\"id\", ...]"
msgstr "多关联项，格式是 [\"id\", ...]"

#: common/drf/renders/base.py:275
msgid ""
"{} - The encryption password has not been set - please go to personal "
"information -> file encryption password to set the encryption password"
msgstr "{} - 未设置加密密码 - 请前往个人信息 -> 文件加密密码中设置加密密码"

#: common/drf/renders/mixins.py:37 labels/serializers.py:22
msgid "Resource count"
msgstr "资源数量"

#: common/drf/renders/mixins.py:46
msgid "Export all"
msgstr "导出所有"

#: common/drf/renders/mixins.py:48
msgid "Export only selected items"
msgstr "仅导出选择项"

#: common/drf/renders/mixins.py:50
msgid "Export filtered"
msgstr "导出搜素"

#: common/exceptions.py:15 xpack/plugins/cloud/ws.py:37
#, python-format
msgid "%s object does not exist."
msgstr "%s对象不存在"

#: 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:36
msgid "Invalid elasticsearch config"
msgstr "无效的 Elasticsearch 配置"

#: common/plugins/es.py:41
msgid "Not Support Elasticsearch8"
msgstr "不支持 Elasticsearch8"

#: common/plugins/es.py:47
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 "SP_id 为6位"

#: 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 "短信发送失败[%s]: %s"

#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98
msgid "File"
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 "CMPP v2.0"

#: 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/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 "错误的 pk \"{pk_value}\" - 对象不存在"

#: common/serializers/fields.py:148
#, python-brace-format
msgid "Incorrect type. Expected pk value, received {data_type}."
msgstr "错误类型。期望 pk 值，收到 {data_type}。"

#: common/serializers/fields.py:222
msgid "Invalid data type, should be list"
msgstr "错误的数据类型，应该是列表"

#: common/serializers/fields.py:237
#: xpack/plugins/cloud/serializers/account.py:115
#: xpack/plugins/cloud/serializers/task.py:122
msgid "Invalid choice: {}"
msgstr "无效选项: {}"

#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45
#: terminal/models/virtualapp/virtualapp.py:29
msgid "Tags"
msgstr "标签"

# msgid "Labels"
# msgstr "标签管理"
#: common/tasks.py:33
msgid "Send email"
msgstr "发件邮件"

#: common/tasks.py:36
msgid "This task will be executed when sending email notifications"
msgstr "发送邮件消息时执行该任务"

#: common/tasks.py:78
msgid "Send email attachment"
msgstr "发送邮件附件"

#: common/tasks.py:81
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:107
msgid "Upload account backup to external storage"
msgstr "上传会话录像到外部存储"

#: common/tasks.py:109
msgid ""
"When performing an account backup, this task needs to be executed to "
"external storage (SFTP)"
msgstr "当执行账号备份，需要到外部存储（sftp），执行该任务"

#: common/utils/ip/geoip/utils.py:28
msgid "Invalid ip"
msgstr "无效 IP"

#: common/utils/ip/utils.py:98
msgid "Invalid address"
msgstr "无效地址"

#: common/utils/translate.py:46
#, python-format
msgid "Hello %s"
msgstr "你好 %s"

#: 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 "当重置密码，忘记密码，验证mfa时，需要发送短信时执行该任务"

#: 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 "未找到 Code"

#: common/views/msg.py:22
msgid "The message code provided is invalid or has expired"
msgstr "提供的消息代码无效或已过期"

#: jumpserver/conf.py:536
#, python-brace-format
msgid "The verification code is: {code}"
msgstr "验证码为: {code}"

#: jumpserver/conf.py:541
msgid "Create account successfully"
msgstr "创建账号成功"

#: jumpserver/conf.py:543
msgid "Your account has been created successfully"
msgstr "你的账号已创建成功"

#: jumpserver/context_processor.py:14
msgid "JumpServer - An open-source PAM"
msgstr "JumpServer 开源堡垒机"

#: jumpserver/context_processor.py:28
msgid "FIT2CLOUD"
msgstr ""

#: jumpserver/views/celery_flower.py:22
msgid "<h1>Flower service unavailable, check it</h1>"
msgstr "Flower 服务不可用，请检查"

#: jumpserver/views/other.py:28
msgid ""
"<div>Luna is a separately deployed program, you need to deploy Luna, koko, "
"configure nginx for url distribution,</div> </div>If you see this page, "
"prove that you are not accessing the nginx listening port. Good luck.</div>"
msgstr ""
"<div>Luna是单独部署的一个程序，你需要部署luna，koko, </div><div>如果你看到了"
"这个页面，证明你访问的不是nginx监听的端口，祝你好运</div>"

#: jumpserver/views/other.py:80
msgid "Websocket server run on port: {}, you should proxy it on nginx"
msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置"

#: jumpserver/views/other.py:94
msgid ""
"<div>Koko is a separately deployed program, you need to deploy Koko, "
"configure nginx for url distribution,</div> </div>If you see this page, "
"prove that you are not accessing the nginx listening port. Good luck.</div>"
msgstr ""
"<div>Koko是单独部署的一个程序，你需要部署Koko, 并确保nginx配置转发, </"
"div><div>如果你看到了这个页面，证明你访问的不是nginx监听的端口，祝你好运</"
"div>"

#: labels/apps.py:8
msgid "App Labels"
msgstr "标签管理"

#: labels/models.py:15 settings/serializers/security.py:212
msgid "Color"
msgstr "颜色"

#: labels/models.py:20 labels/models.py:39
msgid "Tag"
msgstr "标签"

#: labels/models.py:43
msgid "Resource ID"
msgstr "资源 ID"

#: labels/models.py:49
msgid "Tagged resource"
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:47
msgid "Publish the station message"
msgstr "发布站内消息"

#: notifications/notifications.py:49
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:126 ops/ansible/inventory.py:196
#: ops/models/job.py:69
msgid "No account available"
msgstr "无可用账号"

#: ops/ansible/inventory.py:318 ops/ansible/inventory.py:360
msgid "Ansible disabled"
msgstr "Ansible 已禁用"

#: ops/ansible/inventory.py:376
msgid "Skip hosts below:"
msgstr "跳过以下主机: "

#: ops/api/celery.py:66 ops/api/celery.py:81
msgid "Waiting task start"
msgstr "等待任务开始"

#: ops/api/celery.py:269
msgid "Task {} not found"
msgstr "任务 {} 不存在"

#: ops/api/celery.py:276
msgid "Task {} args or kwargs error"
msgstr "任务 {} 执行参数错误"

#: ops/api/job.py:70
#, python-brace-format
msgid ""
"Asset ({asset}) must have at least one of the following protocols added: "
"SSH, SFTP, or WinRM"
msgstr "资产({asset})至少要添加ssh,sftp,winrm其中一种协议"

#: ops/api/job.py:71
#, python-brace-format
msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol"
msgstr "资产({asset})授权缺少ssh,sftp或winrm协议"

#: ops/api/job.py:72
#, python-brace-format
msgid "Asset ({asset}) authorization lacks upload permissions"
msgstr "资产({asset})授权缺少上传权限"

#: ops/api/job.py:160
msgid "Duplicate file exists"
msgstr "存在同名文件"

#: ops/api/job.py:165
#, python-brace-format
msgid ""
"File size exceeds maximum limit. Please select a file smaller than {limit}MB"
msgstr "文件大小超过最大限制。请选择小于 {limit}MB 的文件。"

#: ops/api/job.py:238
msgid ""
"The task is being created and cannot be interrupted. Please try again later."
msgstr "正在创建任务，无法中断，请稍后重试。"

#: ops/api/playbook.py:49
msgid "Currently playbook is being used in a job"
msgstr "当前 playbook 正在作业中使用"

#: ops/api/playbook.py:122
msgid "Unsupported file content"
msgstr "不支持的文件内容"

#: ops/api/playbook.py:124 ops/api/playbook.py:170 ops/api/playbook.py:218
msgid "Invalid file path"
msgstr "无效的文件路径"

#: ops/api/playbook.py:196
msgid "This file can not be rename"
msgstr "该文件不能重命名"

#: ops/api/playbook.py:215
msgid "File already exists"
msgstr "文件已存在"

#: ops/api/playbook.py:233
msgid "File key is required"
msgstr "文件密钥该字段是必填项。"

#: ops/api/playbook.py:236
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 "VCS"

#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26
msgid "Adhoc"
msgstr "命令"

#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89
#: ops/models/variable.py:23
msgid "Playbook"
msgstr "Playbook"

#: 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 "Shell"

#: ops/const.py:51 ops/const.py:62
msgid "Powershell"
msgstr "PowerShell"

#: ops/const.py:52 ops/const.py:63
msgid "Python"
msgstr "Python"

#: ops/const.py:53 ops/const.py:64
msgid "MySQL"
msgstr "MySQL"

#: ops/const.py:54 ops/const.py:66
msgid "PostgreSQL"
msgstr "PostgreSQL"

#: ops/const.py:55 ops/const.py:67
msgid "SQLServer"
msgstr "SQLServer"

#: ops/const.py:56 ops/const.py:69
msgid "Raw"
msgstr "Raw"

#: ops/const.py:57
msgid "HUAWEI"
msgstr "华为"

#: ops/const.py:65
msgid "MariaDB"
msgstr "MariaDB"

#: ops/const.py:68
msgid "Oracle"
msgstr "Oracle"

#: 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:56
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:63
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:60
msgid "Crontab"
msgstr "Crontab"

#: 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 "* 请输入有效的 crontab 表达式"

#: ops/mixin.py:194
msgid "Crontab minute must not contain '*'"
msgstr ""

#: ops/mixin.py:208 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:151
msgid "Module"
msgstr "模块"

#: ops/models/adhoc.py:23 ops/models/celery.py:82 ops/models/job.py:149
#: 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 "Celery 任务"

#: 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 "Celery 任务执行"

#: ops/models/job.py:82
msgid "Module {} is not suitable for this asset"
msgstr "模块 {} 不适用于此资产"

#: ops/models/job.py:152
msgid "Run dir"
msgstr "运行目录"

#: ops/models/job.py:153
msgid "Timeout (Seconds)"
msgstr "超时时间 (秒)"

#: ops/models/job.py:159
msgid "Use Parameter Define"
msgstr "使用参数定义"

#: ops/models/job.py:160
msgid "Parameters define"
msgstr "参数定义"

#: ops/models/job.py:161
msgid "Periodic variable"
msgstr "周期执行变量"

#: ops/models/job.py:162
msgid "Run as"
msgstr "运行用户"

#: ops/models/job.py:164
msgid "Run as policy"
msgstr "用户策略"

#: ops/models/job.py:221 ops/models/variable.py:28 ops/serializers/job.py:111
#: terminal/notifications.py:182
msgid "Job"
msgstr "作业"

#: ops/models/job.py:244
msgid "Material"
msgstr "Material"

#: ops/models/job.py:246
msgid "Material Type"
msgstr "Material 类型"

#: ops/models/job.py:558
msgid "Job Execution"
msgstr "作业执行"

#: ops/models/playbook.py:33
msgid "CreateMethod"
msgstr "创建方式"

#: ops/models/playbook.py:35
msgid "VCS URL"
msgstr "VCS URL"

#: 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 ""
"在脚本使用的变量名称，固定前缀 jms_ + 输入的变量名，例如变量名name，则最终生"
"成环境变量为 jms_name，在脚本中引用时使用 {{ jms_name }}"

#: 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:27
msgid "Component health check warning"
msgstr "组件健康状况检查警告"

#: ops/notifications.py:80
#, python-brace-format
msgid "The component is offline: {name}"
msgstr "组件已离线: {name}"

#: ops/notifications.py:85
#, python-brace-format
msgid "Disk used more than {max_threshold}%: => {value}"
msgstr "硬盘使用率超过 {max_threshold}%: => {value}"

#: ops/notifications.py:90
#, python-brace-format
msgid "Memory used more than {max_threshold}%: => {value}"
msgstr "内存使用率超过 {max_threshold}%: => {value}"

#: ops/notifications.py:95
#, python-brace-format
msgid "CPU load more than {max_threshold}: => {value}"
msgstr "CPU 使用率超过 {max_threshold}: => {value}"

#: 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:66
msgid "Is finished"
msgstr "是否完成"

#: ops/serializers/job.py:108
msgid "Task id"
msgstr "任务 ID"

#: 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 "运行 Ansible 任务"

#: ops/tasks.py:57
msgid ""
"Execute scheduled adhoc and playbooks, periodically invoking the task for "
"execution"
msgstr "当执行定时的快捷命令，playbook，定时调用该任务执行"

#: ops/tasks.py:88
msgid "Run ansible task execution"
msgstr "开始执行 Ansible 任务"

#: ops/tasks.py:91
msgid "Execute the task when manually adhoc or playbooks"
msgstr "手动执行快捷命令，playbook时执行该任务"

#: 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 "系统启动时，清理已经不存在的celery任务"

#: 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 ""
"每小时检测各组件是否离线，cpu，内存，硬盘使用率是否超过阈值，向管理员发送消息"
"预警"

#: 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 ""
"由于作业中心执行快捷命令，playbook会产生异常，任务状态未更新完成，系统将每小"
"时执行清理超3小时未完成的异常作业，并将任务标记失败"

#: 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 ""
"由于作业中心执行快捷命令，playbook，会产生执行记录，系统会根据系统设置-任务列"
"表-定期清理-作业中心执行历史配置，每天凌晨2点对超出保存时间的记录进行清理"

#: 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 "JumpServer 当前用户的用户名"

#: ops/variables.py:25
msgid "The id of the asset in the JumpServer"
msgstr "JumpServer 中资产的 id"

#: ops/variables.py:26
msgid "The type of the asset in the JumpServer"
msgstr "JumpServer 中资产的类型"

#: ops/variables.py:27
msgid "The category of the asset in the JumpServer"
msgstr "JumpServer 中资产的类别"

#: ops/variables.py:28
msgid "The name of the asset in the JumpServer"
msgstr "JumpServer 中资产的名称"

#: ops/variables.py:29
msgid "Address used to connect this asset in JumpServer"
msgstr "在 JumpServer 中用于连接此资产的地址"

#: ops/variables.py:30
msgid "Port used to connect this asset in JumpServer"
msgstr "在 JumpServer 中用于连接此资产的端口"

#: ops/variables.py:31
msgid "ID of the job"
msgstr "Job ID"

#: ops/variables.py:32
msgid "Name of the job"
msgstr "Job 名称"

#: 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 "LDAP 同步设置组织为当前组织，请切换其他组织后再进行删除操作"

#: 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:61
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:190
#: 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:237
msgid "Can not delete virtual org"
msgstr "无法删除虚拟组织"

#: orgs/serializers.py:10 perms/serializers/permission.py:59
#: rbac/serializers/role.py:27 users/serializers/group.py:53
msgid "Users amount"
msgstr "用户数量"

#: orgs/serializers.py:11
msgid "User groups amount"
msgstr "用户组数量"

#: orgs/serializers.py:14 perms/serializers/permission.py:62
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 "上传 (RDP, SFTP)"

#: perms/const.py:14
msgid "Download (RDP, SFTP)"
msgstr "下载 (RDP, SFTP)"

#: perms/const.py:15
msgid "Copy (RDP, VNC)"
msgstr "复制 (RDP, VNC)"

#: perms/const.py:16
msgid "Paste (RDP, VNC)"
msgstr "粘贴 (RDP, VNC)"

#: perms/const.py:17
msgid "Delete (SFTP)"
msgstr "删除 (SFTP)"

#: perms/const.py:18
msgid "Share (SSH)"
msgstr "分享 (SSH)"

#: 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:43
msgid ""
"Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual "
"choices: @ALL, @SPEC, @USER, @ANON, @INPUT"
msgstr ""
"账号，格式 [\"@虚拟账号\", \"root\", \"%模版id\"], 虚拟选项: @ALL, @SPEC, "
"@USER, @ANON, @INPUT"

#: perms/serializers/permission.py:49
msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]"
msgstr "协议，格式为 [\"ssh\", \"rdp\", \"vnc\"] 或 [\"all\"]"

#: perms/serializers/permission.py:60
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 ""
"用户授权树已经构建完成的组织集合缓存会过期，所以需要将过期的集合从缓存中清理"
"掉，根据系统配置文件 config.txt 中 PERM_EXPIRED_CHECK_PERIODIC 的时间间隔定时"
"执行该任务"

#: 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 ""
"每天上午10点检查，对资产授权即将过期的所关联的用户及该组织管理员提前三天发送"
"消息通知，提示资产还有几天即将过期"

#: 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 "以下 %(item_type)s 即将在 %(count)s 后过期"

#: 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"

#: rbac/builtin.py:118
msgid "SystemAdmin"
msgstr "系统管理员"

#: rbac/builtin.py:121
msgid "SystemAuditor"
msgstr "系统审计员"

#: rbac/builtin.py:124
msgid "SystemComponent"
msgstr "系统组件"

#: rbac/builtin.py:130
msgid "OrgAdmin"
msgstr "组织管理员"

#: rbac/builtin.py:133
msgid "OrgAuditor"
msgstr "组织审计员"

#: rbac/builtin.py:136
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 "Web终端"

#: 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/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:166
msgid "System setting"
msgstr "系统设置"

#: rbac/tree.py:37
msgid "Session audits"
msgstr "会话审计"

#: rbac/tree.py:49 xpack/plugins/cloud/manager.py:102
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:371 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:310
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 "聊天 AI 没有开启"

#: 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 "测试 smtp 设置"

#: 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:42 users/models/preference.py:14
msgid "Encrypted"
msgstr "加密的"

#: settings/models.py:168
msgid "Can change email setting"
msgstr "邮件设置"

#: settings/models.py:169
msgid "Can change auth setting"
msgstr "认证设置"

#: settings/models.py:170
msgid "Can change auth ops"
msgstr "任务中心设置"

#: settings/models.py:171
msgid "Can change auth ticket"
msgstr "工单设置"

#: settings/models.py:172
msgid "Can change virtual app setting"
msgstr "可以更改虚拟应用设置"

#: settings/models.py:173
msgid "Can change auth announcement"
msgstr "公告设置"

#: settings/models.py:174
msgid "Can change vault setting"
msgstr "可以更改 vault 设置"

#: settings/models.py:175
msgid "Can change chat ai setting"
msgstr "可以修改聊天 AI 设置"

#: settings/models.py:176
msgid "Can change system msg sub setting"
msgstr "消息订阅设置"

#: settings/models.py:177
msgid "Can change sms setting"
msgstr "短信设置"

#: settings/models.py:178
msgid "Can change security setting"
msgstr "安全设置"

#: settings/models.py:179
msgid "Can change clean setting"
msgstr "定期清理"

#: settings/models.py:180
msgid "Can change interface setting"
msgstr "界面设置"

#: settings/models.py:181
msgid "Can change license setting"
msgstr "许可证设置"

#: settings/models.py:182
msgid "Can change terminal setting"
msgstr "终端设置"

#: settings/models.py:183
msgid "Can change other setting"
msgstr "其它设置"

#: settings/models.py:193
msgid "Chat prompt"
msgstr "聊天提示"

#: settings/notifications.py:23
msgid "Notification of Synchronized LDAP User Task Results"
msgstr "同步 LDAP 用户任务结果的通知"

#: settings/serializers/auth/base.py:13
msgid "LDAP Auth"
msgstr "LDAP 认证"

#: settings/serializers/auth/base.py:14
msgid "LDAP Auth HA"
msgstr "LDAP HA 认证"

#: settings/serializers/auth/base.py:15
msgid "CAS Auth"
msgstr "CAS 认证"

#: settings/serializers/auth/base.py:16
msgid "OPENID Auth"
msgstr "OIDC 认证"

#: settings/serializers/auth/base.py:17
msgid "SAML2 Auth"
msgstr "SAML2 认证"

#: settings/serializers/auth/base.py:18
msgid "OAuth2 Auth"
msgstr "OAuth2 认证"

#: settings/serializers/auth/base.py:19
msgid "RADIUS Auth"
msgstr "RADIUS 认证"

#: 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 "Lark 认证"

#: settings/serializers/auth/base.py:23
msgid "Slack Auth"
msgstr "Slack 认证"

#: settings/serializers/auth/base.py:24
msgid "WeCom Auth"
msgstr "企业微信 认证"

#: settings/serializers/auth/base.py:25
msgid "SSO Auth"
msgstr "SSO 令牌认证"

#: settings/serializers/auth/base.py:26
msgid "Passkey Auth"
msgstr "Passkey 认证"

#: 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 "用户登录页面忘记密码的 URL"

#: 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 ""
"当管理员启用第三方重定向身份验证时，在用户重定向到第三方身份验证之前是否显示 "
"Flash 页面"

#: 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 ""
"创建用户时，您会将该用户与您选择的组织关联。用户始终属于 Default 组织。"

#: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14
msgid "CAS"
msgstr "CAS"

#: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45
#: settings/serializers/auth/ldap_ha.py:27 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 "当用户退出时，他们也会从 CAS 服务器注销"

#: 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:49
#: 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 ""
"用户属性映射，其中 `key` 是 CAS 服务用户属性名称，`value` 是 JumpServer 用户"
"属性名称"

#: 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 ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是钉钉服务用户属"
"性名称"

#: 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 ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是飞书服务用户属"
"性名称"

#: 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 ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是 Lark 服务用户"
"属性名称"

#: settings/serializers/auth/ldap.py:42 settings/serializers/auth/ldap.py:108
msgid "LDAP"
msgstr "LDAP"

#: settings/serializers/auth/ldap.py:46
msgid "LDAP server URI"
msgstr "LDAP 服务域名"

#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31
msgid "Bind DN"
msgstr "绑定 DN"

#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32
msgid "Binding Distinguished Name"
msgstr "绑定目录管理员"

#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36
msgid "Binding password"
msgstr "绑定密码"

#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39
msgid "Search OU"
msgstr "用户 OU"

#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41
msgid ""
"User Search Base, if there are multiple OUs, you can separate them with the "
"`|` symbol"
msgstr "用户搜索库，如果有多个OU，可以用`|`符号分隔"

#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45
msgid "Search filter"
msgstr "用户过滤器"

#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46
#, python-format
msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)"
msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)"

#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51
msgid ""
"User attribute mapping, where the `key` is the JumpServer user attribute "
"name and the `value` is the LDAP service user attribute name"
msgstr ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是 LDAP 服务用户"
"属性名称"

#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67
msgid "Connect timeout (s)"
msgstr "连接超时时间 (秒)"

#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70
msgid "Strict sync"
msgstr "严格模式"

#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71
msgid ""
"In strict mode, users not found in LDAP will be disabled during full or "
"automatic sync"
msgstr "启用严格模式后，全量或自动同步将禁用系统中未在 LDAP 中发现的用户"

#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76
msgid "User DN cache timeout (s)"
msgstr "User DN 缓存超时时间 (秒)"

#: settings/serializers/auth/ldap.py:96
msgid ""
"Caching the User DN obtained during user login authentication can "
"effectively improve the speed of user authentication., 0 means no "
"cache<br>If the user OU structure has been adjusted, click Submit to clear "
"the user DN cache"
msgstr ""
"对用户登录认证时查询出的 User DN 进行缓存，可以有效提高用户认证的速度<br>如果"
"用户 OU 架构有调整，点击提交即可清除用户 DN 缓存"

#: settings/serializers/auth/ldap.py:102
#: settings/serializers/auth/ldap_ha.py:84
msgid "Search paged size (piece)"
msgstr "搜索分页数量 (条)"

#: settings/serializers/auth/ldap_ha.py:24
#: settings/serializers/auth/ldap_ha.py:90
msgid "LDAP HA"
msgstr "LDAP 认证"

#: settings/serializers/auth/ldap_ha.py:28
msgid "LDAP HA server URI"
msgstr "LDAP HA 服务域名"

#: settings/serializers/auth/ldap_ha.py:78
msgid ""
"Caching the User DN obtained during user login authentication can "
"effectivelyimprove the speed of user authentication., 0 means no cache<br>If "
"the user OU structure has been adjusted, click Submit to clear the user DN "
"cache"
msgstr ""
"对用户登录认证时查询出的 User DN 进行缓存，可以有效提高用户认证的速度<br>如果"
"用户 OU 架构有调整，点击提交即可清除用户 DN 缓存"

#: settings/serializers/auth/oauth2.py:19
#: settings/serializers/auth/oauth2.py:22
msgid "OAuth2"
msgstr "OAuth2"

#: 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:50
msgid "Client ID"
msgstr "客户端 ID"

#: settings/serializers/auth/oauth2.py:34 settings/serializers/auth/oidc.py:24
#: settings/serializers/feature.py:100
#: xpack/plugins/cloud/serializers/account_attrs.py:53
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 "token 端点地址"

#: 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 "当用户退出时，他们也会从 OAuth2 服务器退出"

#: 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 ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是 OAuth2 服务用"
"户属性名称"

#: 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 "JumpServer 地址"

#: settings/serializers/auth/oidc.py:18
msgid "The current site's URL is used to construct the callback address"
msgstr "当前站点的URL用于构造回调地址"

#: settings/serializers/auth/oidc.py:21
msgid "Client Id"
msgstr "客户端 ID"

#: settings/serializers/auth/oidc.py:34
msgid "Share session"
msgstr "共享会话"

#: settings/serializers/auth/oidc.py:36
msgid "Ignore SSL verification"
msgstr "忽略 SSL 证书验证"

#: 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 ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是 OIDC 服务用户"
"属性名称"

#: settings/serializers/auth/oidc.py:45
msgid "Enable PKCE"
msgstr "启用 PKCE"

#: settings/serializers/auth/oidc.py:47
msgid "Code challenge method"
msgstr "验证校验码方式"

#: settings/serializers/auth/oidc.py:55
msgid "Use Keycloak"
msgstr "使用 Keycloak"

#: settings/serializers/auth/oidc.py:57
msgid ""
"Use Keycloak as the OpenID Connect server, or use standard OpenID Connect "
"Protocol"
msgstr ""
"使用 Keycloak 作为 OpenID Connect 服务器，或者使用标准 OpenID Connect 协议"

#: settings/serializers/auth/oidc.py:64
msgid "Realm name"
msgstr "域"

#: settings/serializers/auth/oidc.py:71
msgid "OpenID Connect"
msgstr "OpenID 连接"

#: settings/serializers/auth/oidc.py:74
msgid "Provider endpoint"
msgstr "端点地址"

#: settings/serializers/auth/oidc.py:83
msgid "JWKS endpoint"
msgstr "jwks 端点地址"

#: settings/serializers/auth/oidc.py:92
msgid "Signature algorithm"
msgstr "签名算法"

#: settings/serializers/auth/oidc.py:95
msgid "Signing key"
msgstr "签名 Key"

#: 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 "只有 SSL 域名可以使用 Passkey(通行密钥)认证"

#: settings/serializers/auth/passkey.py:15
msgid "FIDO Server ID"
msgstr "Passkey 服务域名"

#: 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 ""
"可以使用 Passkey 认证的域名，如果不设置，将使用请求主机(主机名在可信域 "
"DOMAINS中), 如果有多个域名，使用逗号分隔, 不需要端口号"

#: settings/serializers/auth/passkey.py:22
msgid "FIDO Server name"
msgstr "Passkey 服务名称"

#: settings/serializers/auth/radius.py:23
msgid "OTP in RADIUS"
msgstr "使用 Radius OTP"

#: settings/serializers/auth/radius.py:24
msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA"
msgstr "* 在 RADIUS 中使用 OTP 意味着用户可以使用 RADIUS 作为 MFA 的方法"

#: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15
msgid "SAML2"
msgstr "SAML2"

#: settings/serializers/auth/saml2.py:18
msgid "IDP Metadata URL"
msgstr "IDP Metadata 地址"

#: settings/serializers/auth/saml2.py:21
msgid "IDP Metadata XML"
msgstr "IDP Metadata XML"

#: settings/serializers/auth/saml2.py:24
msgid "SP advanced settings"
msgstr "高级设置"

#: settings/serializers/auth/saml2.py:28
msgid "SP private key"
msgstr "SP 密钥"

#: settings/serializers/auth/saml2.py:32
msgid "SP cert"
msgstr "SP 证书"

#: 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 ""
"用户属性映射，其中 `key` 是 SAML2 服务用户属性名称，`value` 是 JumpServer 用"
"户属性名称"

#: settings/serializers/auth/saml2.py:43
msgid "When the user signs out, they also be logged out from the SAML2 server"
msgstr "当用户退出时，他们也会从 SAML2 服务器注销"

#: 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 ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是 Slack 服务用"
"户属性名称"

#: settings/serializers/auth/sms.py:18
msgid "Enable Short Message Service (SMS)"
msgstr "启用短信服务 (SMS)"

#: settings/serializers/auth/sms.py:21 xpack/plugins/cloud/models.py:37
msgid "Provider"
msgstr "云服务商"

#: settings/serializers/auth/sms.py:22
msgid "Short Message Service (SMS) provider or protocol"
msgstr "短信服务 (SMS) 提供商或协议"

#: 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:84
#: 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 "企业代码(SP id)"

#: settings/serializers/auth/sms.py:79
msgid "Shared secret"
msgstr "共享密码(Shared secret)"

#: settings/serializers/auth/sms.py:80
msgid "Original number"
msgstr "原始号码(Src id)"

#: settings/serializers/auth/sms.py:81
msgid "Business type"
msgstr "业务类型(Application id)"

#: 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 ""
"模板需要包含 {code}，并且模板+签名长度不能超过67个字。例如, 您的验证码是 "
"{code}, 有效期为5分钟。请不要泄露给其他人。"

#: settings/serializers/auth/sms.py:94
#, python-brace-format
msgid "The template needs to contain {code}"
msgstr "模板需要包含 {code}"

#: settings/serializers/auth/sms.py:97
msgid "Signature + Template must not exceed 65 words"
msgstr "模板+签名不能超过65个字"

#: settings/serializers/auth/sms.py:106
msgid "URL"
msgstr "URL"

#: settings/serializers/auth/sso.py:16
msgid "Enable SSO auth"
msgstr "启用 SSO 令牌认证"

#: settings/serializers/auth/sso.py:17
msgid "Other service can using SSO token login to JumpServer without password"
msgstr "其它系统可以使用 SSO Token 对接 JumpServer, 免去登录的过程"

#: 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:224
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 ""
"用户属性映射，其中 `key` 是 JumpServer 用户属性名称，`value` 是企业微信服务用"
"户属性名称"

#: settings/serializers/basic.py:11
msgid "Site URL"
msgstr "当前站点 URL"

#: 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 "站点 URL 是当前产品服务的外部可访问地址，通常在系统邮件中的链接中使用"

#: settings/serializers/basic.py:18
msgid "User guide url"
msgstr "用户向导URL"

#: settings/serializers/basic.py:19
msgid "User first login update profile done redirect to it"
msgstr "用户第一次登录，修改profile后重定向到地址, 可以是 wiki 或 其他说明文档"

#: 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 "文档 URL 指的是顶级导航栏中的地址，帮助 - 文档"

#: 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 "支持 URL 指的是顶级导航栏中的地址，帮助 - 支持"

#: 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 ""
"会话、录像，命令记录超过该时长将会被清除 (影响数据库存储，OSS 等不受影响)"

#: 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 "更多信息 URL"

#: 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 "启用 Vault"

#: 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 ""
"若特定数值小于999，系统将在每日晚间自动执行任务：检查并删除超出预定数量的历史"
"账号。如果该数值达到或超过999，则不进行任何历史账号的删除操作。"

#: settings/serializers/feature.py:87
msgid "Mount Point"
msgstr "挂载点"

#: settings/serializers/feature.py:103
#: xpack/plugins/cloud/serializers/account_attrs.py:56
msgid "Tenant ID"
msgstr "租户 ID"

#: settings/serializers/feature.py:110 terminal/serializers/storage.py:68
#: xpack/plugins/cloud/manager.py:119 xpack/plugins/cloud/manager.py:124
#: xpack/plugins/cloud/manager.py:161 xpack/plugins/cloud/models.py:292
msgid "Region"
msgstr "地域"

#: settings/serializers/feature.py:113 terminal/serializers/storage.py:33
msgid "Access key ID"
msgstr "Access key ID(AK)"

#: settings/serializers/feature.py:117 terminal/serializers/storage.py:37
#: xpack/plugins/cloud/serializers/account_attrs.py:35
msgid "Access key secret"
msgstr "Access key secret(SK)"

#: settings/serializers/feature.py:122 settings/serializers/feature.py:125
msgid "Chat AI"
msgstr "聊天 AI"

#: 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 "API Key"

#: 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 "GPT 服务的代理服务器地址。例如：http://ip:port"

#: settings/serializers/feature.py:144
msgid "GPT Model"
msgstr "GPT 模型"

#: settings/serializers/feature.py:159
msgid "DeepSeek Model"
msgstr "DeepSeek 模型"

#: 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:186
msgid "Adhoc command"
msgstr "批量命令执行"

#: settings/serializers/feature.py:187
msgid ""
"Allow users to execute batch commands in the Workbench - Job Center - Adhoc"
msgstr "允许用户在工作台 - 作业中心 - Adhoc 中执行批量命令"

#: settings/serializers/feature.py:191
msgid "Command blacklist"
msgstr "作业中心命令黑名单"

#: settings/serializers/feature.py:192
msgid "Command blacklist in Adhoc"
msgstr "作业中心命令黑名单"

#: settings/serializers/feature.py:198
#: 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:201
msgid "Virtual App"
msgstr "虚拟应用"

#: settings/serializers/feature.py:203
msgid ""
"Virtual applications, you can use the Linux operating system as an "
"application server in remote applications."
msgstr "虚拟应用，可以使用Linux操作系统作为远程应用中的应用服务器。"

#: settings/serializers/msg.py:24
msgid "SMTP"
msgstr "SMTP"

#: settings/serializers/msg.py:25
msgid "EXCHANGE"
msgstr "EXCHANGE"

#: 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 ""
"与 SMTP 服务器通信时是否使用隐式 TLS（安全）连接。在大多数电子邮件文档中，这"
"种类型的 TLS 连接称为 SSL。它通常在端口 465 上使用"

#: settings/serializers/msg.py:54
msgid "Use TLS"
msgstr "使用 TLS"

#: 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 ""
"与 SMTP 服务器通信时是否使用 TLS（安全）连接。这用于显式 TLS 连接，通常在端"
"口 587 上"

#: 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 ""
"提示: 创建用户时，发送设置密码邮件的内容, 支持 {username} {name} {email} 标签"

#: settings/serializers/msg.py:84
msgid "Tips: Email signature (eg:jumpserver)"
msgstr "邮件署名 (如:jumpserver)"

#: 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:19
msgid "User password expiration (day)"
msgstr "用户密码过期时间 (天)"

#: settings/serializers/security.py:21
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 ""
"如果用户在此期间没有更新密码，用户密码将过期失效； 密码过期提醒邮件将在密码过"
"期前5天内由系统 (每天)自动发送给用户"

#: settings/serializers/security.py:28
msgid "User expired tokens record keep days"
msgstr "用户过期 Token 保留天数"

#: settings/serializers/security.py:29
msgid ""
"Retention period (in days) for expired user tokens before automatic cleanup."
msgstr ""
"系统在每日清理任务中永久删除用户过期 token 记录之前，保留这些记录的天数"

#: settings/serializers/security.py:33
msgid "Recent password count"
msgstr "不能设置近几次密码"

#: settings/serializers/security.py:35
msgid ""
"Tip: When the user resets the password, it cannot be the previous n "
"historical passwords of the user"
msgstr "提示：用户重置密码时，不能为该用户前几次使用过的密码"

#: settings/serializers/security.py:41
msgid "Minimum length (User)"
msgstr "密码最小长度"

#: settings/serializers/security.py:45
msgid "Minimum length (Admin)"
msgstr "管理员密码最小长度"

#: settings/serializers/security.py:54
msgid "Digits"
msgstr "必须包含数字"

#: settings/serializers/security.py:57
msgid "Special characters"
msgstr "必须包含特殊字符"

#: settings/serializers/security.py:62
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:70 settings/serializers/security.py:80
msgid "Login failures count"
msgstr "限制用户登录失败次数"

#: settings/serializers/security.py:74 settings/serializers/security.py:84
msgid "Login failure period (minute)"
msgstr "禁止用户登录间隔 (分)"

#: settings/serializers/security.py:88
msgid "Login IP whitelist"
msgstr "IP 登录白名单"

#: settings/serializers/security.py:93
msgid "Login IP blacklist"
msgstr "IP 登录黑名单"

#: settings/serializers/security.py:98
msgid "Only single device login"
msgstr "仅一台设备登录"

#: settings/serializers/security.py:99
msgid ""
"After the user logs in on the new device, other logged-in devices will "
"automatically log out"
msgstr "用户在新设备登录后，其他已登录的设备会自动退出"

#: settings/serializers/security.py:102
msgid "Only exist user login"
msgstr "仅已存在用户登录"

#: settings/serializers/security.py:104
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:110
msgid "Only from source login"
msgstr "仅从用户来源登录"

#: settings/serializers/security.py:112
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:123
#: users/templates/users/mfa_setting.html:160
msgid "Not enabled"
msgstr "未启用"

#: settings/serializers/security.py:124
msgid "All users"
msgstr "所有用户"

#: settings/serializers/security.py:125
msgid "Only admin users"
msgstr "仅管理员"

#: settings/serializers/security.py:127
msgid "Global MFA"
msgstr "全局启用 MFA 认证"

#: settings/serializers/security.py:131
msgid "Third-party login MFA"
msgstr "第三方认证开启 MFA"

#: settings/serializers/security.py:132
msgid "The third-party login modes include OIDC, CAS, and SAML2"
msgstr "第三方登录方式包括: OIDC、CAS、SAML2"

#: settings/serializers/security.py:136
msgid "MFA via Email"
msgstr "邮件验证 MFA"

#: settings/serializers/security.py:137
msgid "Email as a method for multi-factor authentication"
msgstr "将电子邮件作为多因子认证的一种方式"

#: settings/serializers/security.py:140
msgid "OTP issuer name"
msgstr "OTP 扫描后的名称"

#: settings/serializers/security.py:144
msgid "OTP valid window"
msgstr "OTP 延迟有效次数"

#: settings/serializers/security.py:148
msgid "MFA verify TTL"
msgstr "MFA 校验有效期"

#: settings/serializers/security.py:150
msgid ""
"Unit: second, The verification MFA takes effect only when you view the "
"account password"
msgstr "单位：秒，目前仅在查看账号密码校验 MFA 时生效"

#: settings/serializers/security.py:155
msgid "MFA in login page"
msgstr "MFA 在登录页面输入"

#: settings/serializers/security.py:156
msgid "Eu security regulations(GDPR) require MFA to be on the login page"
msgstr "欧盟数据安全法规(GDPR) 要求 MFA 在登录页面，来确保系统登录安全"

#: settings/serializers/security.py:160
msgid "Verify code TTL (second)"
msgstr "验证码有效时间 (分)"

#: settings/serializers/security.py:161
msgid "Reset password and send SMS code expiration time"
msgstr "重置密码的验证码及发送短信的验证码过期时间"

#: settings/serializers/security.py:165
msgid "Login dynamic code"
msgstr "启用登录附加码"

#: settings/serializers/security.py:166
msgid ""
"The password and additional code are sent to a third party authentication "
"system for verification"
msgstr ""
"密码和附加码一并发送给第三方认证系统进行校验, 如：有的第三方认证系统，需要 密"
"码+6位数字 完成认证"

#: settings/serializers/security.py:170
msgid "Login captcha"
msgstr "启用登录验证码"

#: settings/serializers/security.py:171
msgid "Enable captcha to prevent robot authentication"
msgstr "开启验证码，防止机器人登录"

#: settings/serializers/security.py:174
msgid "Suspicious Login Verification"
msgstr "异地登录通知"

#: settings/serializers/security.py:176
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 ""
"根据登录 IP 是否所属常用登录城市进行判断，若账号在非常用城市登录，会发送异地"
"登录提醒"

#: settings/serializers/security.py:182
msgid "Auto Disable Threshold (day)"
msgstr "不活跃用户自动禁用 (天)"

#: settings/serializers/security.py:183
msgid ""
"Detect infrequent users daily and disable them if they exceed the "
"predetermined time limit"
msgstr "每天检测一次，超过预设时间的用户自动禁用"

#: settings/serializers/security.py:203
msgid "Watermark"
msgstr "开启水印"

#: settings/serializers/security.py:206
msgid "Watermark session content"
msgstr "会话水印自定义内容"

#: settings/serializers/security.py:209
msgid "Watermark console content"
msgstr "管理页面水印自定义内容"

#: settings/serializers/security.py:215
msgid "Watermark font size"
msgstr "字体字号"

#: settings/serializers/security.py:218
msgid "Watermark height"
msgstr "单个水印高度"

#: settings/serializers/security.py:221
msgid "Watermark width"
msgstr "单个水印宽度"

#: settings/serializers/security.py:224
msgid "Watermark rotate"
msgstr "水印旋转角度"

#: settings/serializers/security.py:228
msgid "Max idle time (minute)"
msgstr "连接最大空闲时间 (分)"

#: settings/serializers/security.py:229
msgid "If idle time more than it, disconnect connection."
msgstr "提示：如果超过该配置没有操作，连接会被断开"

#: settings/serializers/security.py:232
msgid "Session expire at browser closed"
msgstr "会话在浏览器关闭时过期"

#: settings/serializers/security.py:233
msgid "Whether to expire the session when the user closes their browser."
msgstr "当用户关闭浏览器时是否使会话过期。"

#: settings/serializers/security.py:238
msgid "Allow users to view asset session information"
msgstr "允许用户查看资产在线会话信息"

#: settings/serializers/security.py:240
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 ""
"当用户连接资产时，账号选择弹窗中显示当前资产的在线会话数量（仅 rdp 协议）"

#: settings/serializers/security.py:246
msgid "Max online time (hour)"
msgstr "会话连接最大时间 (时)"

#: settings/serializers/security.py:247
msgid "If session connection time more than it, disconnect connection."
msgstr "提示：如果会话连接超过该配置，连接会被断开"

#: settings/serializers/security.py:250
msgid "Remember manual auth"
msgstr "保存手动输入密码"

#: settings/serializers/security.py:253
#: terminal/templates/terminal/_msg_session_sharing.html:10
msgid "Session share"
msgstr "会话分享"

#: settings/serializers/security.py:254
msgid "Enabled, Allows user active session to be shared with other users"
msgstr "开启后允许用户分享已连接的资产会话给他人，协同工作"

#: settings/serializers/security.py:260
msgid "Insecure command alert"
msgstr "危险命令告警"

#: settings/serializers/security.py:263
msgid "Email recipient"
msgstr "邮件收件人"

#: settings/serializers/security.py:264
msgid "Multiple user using , split"
msgstr "多个用户，使用 , 分割"

#: settings/serializers/settings.py:62
#, python-format
msgid "[%s] %s"
msgstr "[%s] %s"

#: settings/serializers/terminal.py:15
msgid "Auto"
msgstr "自动"

#: settings/serializers/terminal.py:23
msgid "Auto(Enabled for the first 5 minutes after startup, then disabled)"
msgstr "自动（启动后前 5 分钟启用，然后禁用)"

#: settings/serializers/terminal.py:26
msgid "Registration"
msgstr "组件注册"

#: settings/serializers/terminal.py:28
msgid ""
"Allow component register, after all component setup, you should disable this "
"for security"
msgstr "是否允许组件注册，当所有终端启动后，为了安全应该关闭"

#: settings/serializers/terminal.py:34
msgid ""
"* Allow users to log in to the KoKo component via password authentication"
msgstr "* 允许用户通过密码验证登录KoKo组件"

#: settings/serializers/terminal.py:40
msgid ""
"* Allow users to log in to the KoKo component via Public key "
"authentication<br/>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 ""
"* 允许用户通过公钥认证方式登录 KoKo 组件<br/>如果第三方认证服务（如 AD/LDAP）"
"已启用，则应禁用此选项，以防止用户从 AD/LDAP 服务器中删除后再次登录"

#: settings/serializers/terminal.py:47
msgid "Asset sorting"
msgstr "资产列表排序"

#: settings/serializers/terminal.py:50
msgid "Asset page size"
msgstr "资产列表每页数量"

#: settings/serializers/terminal.py:55
msgid ""
"* You can individually configure the service address and port in the service "
"endpoint<br/>If enabled, the Luna page will display the DB client launch "
"method when connecting to assets"
msgstr ""
"* 您可以在服务端点中单独配置服务地址和端口<br/>如果启用，Luna 页面将在连接资"
"产时显示 DB 客户端启动方法"

#: settings/serializers/terminal.py:63
msgid ""
"* You can individually configure the service address and port in the service "
"endpoint<br/>If enabled, the Luna page will display the download rdp file "
"button and RDP Client launch method when connecting to assets"
msgstr ""
"* 您可以在服务端点中单独配置服务地址和端口<br/>如果启用，Luna 页面将在连接资"
"产时显示下载 rdp 文件按钮和 RDP 客户端启动方法"

#: settings/serializers/terminal.py:70
msgid "Client connection"
msgstr "客户端连接"

#: settings/serializers/terminal.py:72
msgid ""
"* Allow connecting to the KoKo component via SSH client<br/>If enabled, the "
"Luna page will display the SSH client launch method when connecting to assets"
msgstr ""
"* 允许通过 SSH 客户端连接到 KoKo 组件<br/>如果启用，则在连接到资产时，Luna 页"
"面将显示 SSH 客户端启动方法"

#: 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 "*! 如果启用，具有 RBAC 权限的用户将能够使用工作台中的所有工具"

#: settings/tasks/ldap.py:67
msgid "Periodic import ldap user"
msgstr "周期导入 LDAP 用户"

#: settings/tasks/ldap.py:69 settings/tasks/ldap.py:79
msgid ""
"When LDAP auto-sync is configured, this task will be invoked to synchronize "
"users"
msgstr "当设置了LDAP自动同步，将调用该任务进行用户同步"

#: settings/tasks/ldap.py:77
msgid "Periodic import ldap ha user"
msgstr "周期导入 LDAP HA 用户"

#: settings/tasks/ldap.py:115
msgid "Registration periodic import ldap user task"
msgstr "注册周期导入 LDAP 用户 任务"

#: settings/tasks/ldap.py:117
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 ""
"当设置了LDAP自动同步参数发生变化时，比如Crontab参数，重新注册或更新ldap同步任"
"务将调用该任务"

#: settings/tasks/ldap.py:131
msgid "Registration periodic import ldap ha user task"
msgstr "注册周期导入 LDAP HA 用户 任务"

#: settings/tasks/ldap.py:133
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 ""
"当 LDAP HA 自动同步参数发生变化时，例如 Crontab 参数，将重新注册或更新“LDAP "
"HA 同步任务, 并调用此任务"

#: 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:529
msgid "ldap:// or ldaps:// protocol is used."
msgstr "使用 ldap:// 或 ldaps:// 协议"

#: settings/utils/ldap.py:540
msgid "Host or port is disconnected: {}"
msgstr "主机或端口不可连接: {}"

#: settings/utils/ldap.py:542
msgid "The port is not the port of the LDAP service: {}"
msgstr "端口不是LDAP服务端口: {}"

#: settings/utils/ldap.py:544
msgid "Please add certificate: {}"
msgstr "请添加证书"

#: settings/utils/ldap.py:548 settings/utils/ldap.py:575
#: settings/utils/ldap.py:605 settings/utils/ldap.py:633
msgid "Unknown error: {}"
msgstr "未知错误: {}"

#: settings/utils/ldap.py:562
msgid "Bind DN or Password incorrect"
msgstr "绑定DN或密码错误"

#: settings/utils/ldap.py:569
msgid "Please enter Bind DN: {}"
msgstr "请输入绑定DN: {}"

#: settings/utils/ldap.py:571
msgid "Please enter Password: {}"
msgstr "请输入密码: {}"

#: settings/utils/ldap.py:573
msgid "Please enter correct Bind DN and Password: {}"
msgstr "请输入正确的绑定DN和密码: {}"

#: settings/utils/ldap.py:591
msgid "Invalid User OU or User search filter: {}"
msgstr "不合法的用户OU或用户过滤器: {}"

#: settings/utils/ldap.py:622
msgid "LDAP User attr map not include: {}"
msgstr "LDAP属性映射没有包含: {}"

#: settings/utils/ldap.py:629
msgid "LDAP User attr map is not dict"
msgstr "LDAP属性映射不合法"

#: settings/utils/ldap.py:648
msgid "LDAP authentication is not enabled"
msgstr "LDAP认证没有启用"

#: settings/utils/ldap.py:666
msgid "Error (Invalid LDAP server): {}"
msgstr "错误  (不合法的LDAP服务器地址): {}"

#: settings/utils/ldap.py:668
msgid "Error (Invalid Bind DN): {}"
msgstr "错误 (不合法的绑定DN): {}"

#: settings/utils/ldap.py:670
msgid "Error (Invalid LDAP User attr map): {}"
msgstr "错误 (不合法的LDAP属性映射): {}"

#: settings/utils/ldap.py:672
msgid "Error (Invalid User OU or User search filter): {}"
msgstr "错误 (不合法的用户OU或用户过滤器): {}"

#: settings/utils/ldap.py:674
msgid "Error (Not enabled LDAP authentication): {}"
msgstr "错误 (没有启用LDAP认证): {}"

#: settings/utils/ldap.py:676
msgid "Error (Unknown): {}"
msgstr "错误 (未知): {}"

#: settings/utils/ldap.py:679
msgid "Succeed: Match {} users"
msgstr "成功匹配 {} 个用户"

#: settings/utils/ldap.py:709
msgid "Authentication failed (configuration incorrect): {}"
msgstr "认证失败 (配置错误): {}"

#: settings/utils/ldap.py:713
msgid "Authentication failed (username or password incorrect): {}"
msgstr "认证失败 (用户名或密码不正确): {}"

#: settings/utils/ldap.py:715
msgid "Authentication failed (Unknown): {}"
msgstr "认证失败: (未知): {}"

#: settings/utils/ldap.py:718
msgid "Authentication success: {}"
msgstr "认证成功: {}"

#: settings/ws.py:223
msgid "No LDAP user was found"
msgstr "没有获取到 LDAP 用户"

#: settings/ws.py:232
msgid "Total {}, success {}, failure {}"
msgstr "总共 {}，成功 {}，失败 {}"

#: settings/ws.py:236
msgid ", disabled {}"
msgstr ", 禁用 {}"

#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5
#: xpack/plugins/cloud/const.py:71
msgid "Import"
msgstr "导入"

#: templates/_csv_import_modal.html:12
msgid "Download the imported template or use the exported CSV file format"
msgstr "下载导入的模板或使用导出的csv格式"

#: 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 "请选择csv文件导入"

#: 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 "下载更新的模板或使用导出的csv格式"

#: 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 <a "
"href=\"%(user_password_update_url)s\"> this link </a> update password."
msgstr ""
"您的密码已经过期，请点击 <a href=\"%(user_password_update_url)s\"> 链接 </a> "
"更新密码"

#: templates/_message.html:26
msgid "Your password will at"
msgstr "您的密码将于"

#: templates/_message.html:27
#, python-format
msgid ""
"please click <a href=\"%(user_password_update_url)s\"> this link </a> to "
"update your password."
msgstr "请点击 <a href=\"%(user_password_update_url)s\"> 链接 </a> 更新密码"

#: templates/_message.html:37
#, python-format
msgid ""
"Your information was incomplete. Please click <a "
"href=\"%(first_login_url)s\"> this link </a>to complete your information."
msgstr ""
"你的信息不完整,请点击 <a href=\"%(first_login_url)s\"> 链接 </a> 补充完整"

#: templates/_message.html:48
#, python-format
msgid ""
"Your ssh public key not set or expired. Please click <a "
"href=\"%(user_pubkey_update)s\"> this link </a>to update"
msgstr ""
"您的SSH密钥没有设置或已失效，请点击 <a href=\"%(user_pubkey_update)s\"> 链接 "
"</a> 更新"

#: templates/_mfa_login_field.html:29
#: users/templates/users/forgot_password.html:101
msgid "Send"
msgstr "发送"

#: templates/_mfa_login_field.html:108
#: users/templates/users/forgot_password.html:176
msgid "Wait: "
msgstr "等待："

#: templates/_mfa_login_field.html:118
#: 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"
msgstr "JumpServer 客户端，目前用来唤起 特定客户端程序 连接资产"

#: 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 "macOS 需要下载客户端来连接 RDP 资产，Windows 系统默认安装了该程序"

#: templates/resource_download.html:45
msgid "Windows Remote application publisher tools"
msgstr "Windows 远程应用发布服务器工具"

#: templates/resource_download.html:46
msgid ""
"OpenSSH is a program used to connect remote applications in the Windows "
"Remote Application Publisher"
msgstr "OpenSSH 是在 windows 远程应用发布服务器中用来连接远程应用的程序"

#: 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 "无效的 zip 文件"

#: 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 "未发现 protocol 查询参数"

#: 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:119
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:56
msgid "Have online sessions"
msgstr "有在线会话"

#: terminal/api/session/session.py:49
#, python-format
msgid "User %s %s session %s replay"
msgstr "用户 %s %s 了会话 %s 的录像"

#: 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 tickets/api/ticket.py:140
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 "SSH Client"

#: terminal/connect_methods.py:30
msgid "SSH Guide"
msgstr "SSH 向导"

#: terminal/connect_methods.py:31
msgid "SFTP Client"
msgstr "SFTP 客户端"

#: terminal/connect_methods.py:33
msgid "DB Guide"
msgstr "DB 连接向导"

#: 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 "RDP 连接向导"

#: terminal/connect_methods.py:39
msgid "VNC Client"
msgstr "VNC 客户端"

#: terminal/connect_methods.py:40
msgid "VNC Guide"
msgstr "VNC 连接向导"

#: 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: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:194
#: 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 "Applet pkg 无效，缺少文件 {}"

#: terminal/models/applet/applet.py:113
msgid "Load platform.yml failed: {}"
msgstr "加载 platform.yml 失败: {}"

#: 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 "在 platform.yml 中缺少类型"

#: terminal/models/applet/applet.py:373 terminal/models/applet/host.py:36
#: terminal/models/applet/host.py:138
msgid "Hosting"
msgstr "宿主机"

#: terminal/models/applet/applet.py:379
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 "HTTPS 端口"

#: terminal/models/component/endpoint.py:17
msgid "HTTP port"
msgstr "HTTP 端口"

#: terminal/models/component/endpoint.py:18
msgid "SSH port"
msgstr "SSH 端口"

#: terminal/models/component/endpoint.py:19
msgid "RDP port"
msgstr "RDP 端口"

#: terminal/models/component/endpoint.py:20
msgid "MySQL port"
msgstr "MySQL 端口"

#: terminal/models/component/endpoint.py:21
msgid "MariaDB port"
msgstr "MariaDB 端口"

#: terminal/models/component/endpoint.py:22
msgid "PostgreSQL port"
msgstr "PostgreSQL 端口"

#: terminal/models/component/endpoint.py:23
msgid "Redis port"
msgstr "Redis 端口"

#: terminal/models/component/endpoint.py:24
msgid "SQLServer port"
msgstr "SQLServer 端口"

#: terminal/models/component/endpoint.py:25
msgid "Oracle port"
msgstr "Oracle 端口"

#: terminal/models/component/endpoint.py:26
msgid "MongoDB port"
msgstr "MongoDB 端口"

#: terminal/models/component/endpoint.py:27
msgid "VNC port"
msgstr "VNC 端口"

#: terminal/models/component/endpoint.py:35
#: terminal/models/component/endpoint.py:115
#: terminal/serializers/endpoint.py:61 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:121
msgid "Endpoint rule"
msgstr "端点规则"

#: terminal/models/component/status.py:15
msgid "Session Online"
msgstr "在线会话"

#: terminal/models/component/status.py:16
msgid "CPU Load"
msgstr "CPU负载"

#: 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:179
msgid "Command amount"
msgstr "命令数量"

#: terminal/models/session/session.py:51 terminal/serializers/session.py:40
msgid "Error reason"
msgstr "错误原因"

#: terminal/models/session/session.py:319
msgid "Session record"
msgstr "会话记录"

#: terminal/models/session/session.py:321
msgid "Can monitor session"
msgstr "可以监控会话"

#: terminal/models/session/session.py:322
msgid "Can share session"
msgstr "可以分享会话"

#: terminal/models/session/session.py:323
msgid "Can terminate session"
msgstr "可以终断会话"

#: terminal/models/session/session.py:324
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:182
#: xpack/plugins/cloud/serializers/account.py:137
#: xpack/plugins/cloud/serializers/account.py:139
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 "Core 服务地址"

#: 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"
"        <br> \n"
"        eg: https://172.16.10.110 or https://dev.jumpserver.com\n"
"        "
msgstr ""
" \n"
"提示：应用发布机和 Core 服务进行通信使用，如果发布机和 Core 服务在同一网段，"
"建议填写内网地址，否则填写当前站点 URL<br>例如：https://172.16.10.110 or "
"https://dev.jumpserver.com"

#: 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 "已有 RDS 许可证"

#: terminal/serializers/applet_host.py:50
msgid ""
"If not exist, the RDS will be in trial mode, and the trial period is 120 "
"days. <a href=\"https://learn.microsoft.com/en-us/windows-server/remote/"
"remote-desktop-services/rds-client-access-license\">Detail</a>"
msgstr ""
"如果不存在，RDS 将处于试用模式，试用期为 120 天。<a href='https://"
"learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-"
"client-access-license'>详情</a>"

#: terminal/serializers/applet_host.py:55
msgid "RDS License Server"
msgstr "RDS 许可服务器"

#: terminal/serializers/applet_host.py:57
msgid "RDS Licensing Mode"
msgstr "RDS 授权模式"

#: terminal/serializers/applet_host.py:60
msgid "RDS Single Session Per User"
msgstr "RDS 单用户单会话"

#: 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 ""
"提示：RDS 用户一次只能有一个会话。如果设置了，当下一次登录连接时，之前的会话"
"将会被断开"

#: terminal/serializers/applet_host.py:65
msgid "RDS Max Disconnection Time (ms)"
msgstr "RDS 最大断开时间（毫秒）"

#: 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 ""
"提示：设置某个已断开连接的会话在服务器上能保持活动状态的最长时间（60000 毫秒"
"后注销会话）"

#: terminal/serializers/applet_host.py:72
msgid "RDS Remote App Logoff Time Limit (ms)"
msgstr "RDS 远程应用注销时间限制（毫秒）"

#: 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 ""
"提示：关闭所有 RemoteApp 程序之后设置 RemoteAPP 会话的注销时间（0 毫秒，立即"
"注销会话）"

#: 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 ""
"这些账号用于连接发布的应用，账号现在分为两种类型: <br/ >一种是专用的，每个用"
"户都有一个专用账号。 另一种是公共的，当应用不支持多开且专用的已经被使用时，会"
"使用公共账号连接; <br />注意: 如果不开启自动创建账号, 当前发布机仅能被指定标"
"签的资产调度到，默认不会放到调度池中，且需要手动维护账号"

#: 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 ""
"优先使用同名账号连接发布机。为了安全，需配置文件中开启配置 "
"CACHE_LOGIN_PASSWORD_ENABLED=true， 修改后重启服务"

#: terminal/serializers/applet_host.py:164
msgid "Install applets"
msgstr "安装应用"

#: terminal/serializers/applet_host.py:194
msgid "Host ID"
msgstr "主机 ID"

#: terminal/serializers/applet_host.py:195
msgid "Applet ID"
msgstr "远程应用 ID"

#: 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 "无效的 命令过滤器 ID"

#: terminal/serializers/command.py:59
msgid "Invalid command group id"
msgstr "无效的 命令组 ID"

#: terminal/serializers/command.py:63
msgid "Invalid session id"
msgstr "无效的 Session ID"

#: terminal/serializers/command.py:74
msgid "Timestamp"
msgstr "时间戳"

#: terminal/serializers/endpoint.py:26
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:52
msgid ""
"The assets within this IP range, the following endpoint will be used for the "
"connection"
msgstr "该 IP 范围内的资产，将使用下面的端点进行连接"

#: terminal/serializers/endpoint.py:53
msgid ""
"If asset IP addresses under different endpoints conflict, use asset labels"
msgstr "如果不同端点下的资产 IP 有冲突，使用资产标签实现"

#: terminal/serializers/endpoint.py:57
msgid "Asset IP"
msgstr "资产 IP"

#: terminal/serializers/session.py:35 terminal/serializers/session.py:63
msgid "Can replay"
msgstr "是否可重放"

#: terminal/serializers/session.py:36 terminal/serializers/session.py:64
msgid "Can join"
msgstr "是否可加入"

#: terminal/serializers/session.py:37 terminal/serializers/session.py:67
msgid "Can terminate"
msgstr "是否可中断"

#: terminal/serializers/session.py:59 users/serializers/profile.py:189
msgid "User ID"
msgstr "用户 ID"

#: terminal/serializers/session.py:60
msgid "Asset ID"
msgstr "资产 ID"

#: terminal/serializers/session.py:61
msgid "Login from display"
msgstr "登录来源名称"

#: terminal/serializers/session.py:68
msgid "Terminal display"
msgstr "终端显示"

#: terminal/serializers/session.py:159
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 "SFTP根路径"

#: 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. <br>(For "
"example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)"
msgstr ""
"如果有多个主机，请用逗号 (,) 分隔它们。<br>（例如：http://"
"www.jumpserver.a.com:9100，http://www.jumpserver.b.com:9100）"

#: 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 "会话 ID"

#: 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 "容器 ID"

#: 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 "连接资产 %s 成功"

#: terminal/session_lifecycle.py:38
#, python-format
msgid "Connect to asset %s finished: %s"
msgstr "连接资产 %s 结束: %s"

#: terminal/session_lifecycle.py:48
#, python-format
msgid "User %s create share link"
msgstr "用户 %s 创建分享链接"

#: terminal/session_lifecycle.py:57
#, python-format
msgid "User %s join session"
msgstr "用户 %s 加入会话"

#: terminal/session_lifecycle.py:69
#, python-format
msgid "User %s leave session"
msgstr "用户 %s 离开会话"

#: terminal/session_lifecycle.py:81
#, python-format
msgid "User %s join to monitor session"
msgstr "用户 %s 监控会话"

#: terminal/session_lifecycle.py:93
#, python-format
msgid "User %s exit to monitor session"
msgstr "用户 %s 离开监控会话"

#: terminal/session_lifecycle.py:105
msgid "Replay start to convert"
msgstr "录像开始转化"

#: terminal/session_lifecycle.py:113
msgid "Replay successfully converted to MP4 format"
msgstr "录像成功转换成 MP4 格式"

#: terminal/session_lifecycle.py:121
#, python-format
msgid "Replay failed to convert to MP4 format: %s"
msgstr "录像转换成 MP4 格式失败: %s"

#: 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 "录像上传失败：%s"

#: 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 "每10分钟检查3分钟未活跃的资产连接会话，将这些会话标记未已完成"

#: 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 ""
"如果设置了SERVER_REPLAY_STORAGE，将通过文件管理上传的文件同步到外部存储"

#: 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 ""
"每天凌晨0点检查命令及录像外部存储是否可连接，不可连接发送给：系统设置-通知设"
"置-消息订阅-命令及录像存储设置的接收人"

#: terminal/templates/terminal/_msg_command_alert.html:10
msgid "view"
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 "1 级"

#: tickets/const.py:50
msgid "Two level"
msgstr "2 级"

#: 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 ""
"通过工单创建, 工单标题: {}, 工单申请人: {}, 工单处理人: {}, 工单 ID: {}"

#: 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:14
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:10
#: tickets/serializers/ticket/apply_asset.py:14
msgid "Select at least one asset or node"
msgstr "资产或者节点至少选择一项"

#: tickets/models/ticket/apply_asset.py:18
msgid "Apply accounts"
msgstr "申请账号"

#: tickets/models/ticket/apply_asset.py:29
msgid "Apply Asset Ticket"
msgstr "申请资产"

#: tickets/models/ticket/command_confirm.py:10
msgid "Run user"
msgstr "运行的用户"

#: tickets/models/ticket/command_confirm.py:12
msgid "Run asset"
msgstr "运行的资产"

#: tickets/models/ticket/command_confirm.py:13
msgid "Run command"
msgstr "运行的命令"

#: tickets/models/ticket/command_confirm.py:20
msgid "Command filter acl"
msgstr "命令过滤器"

#: tickets/models/ticket/command_confirm.py:26
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:419
msgid "Please try again"
msgstr "请再次尝试"

#: tickets/models/ticket/general.py:498
msgid "Super ticket"
msgstr "超级工单"

#: tickets/models/ticket/login_asset_confirm.py:13
msgid "Login user"
msgstr "登录用户"

#: tickets/models/ticket/login_asset_confirm.py:16
msgid "Login asset"
msgstr "登录资产"

#: tickets/models/ticket/login_asset_confirm.py:19
msgid "Login account"
msgstr "登录账号"

#: tickets/models/ticket/login_asset_confirm.py:31
msgid "Apply Login Asset Ticket"
msgstr "资产登录复核工单"

#: tickets/models/ticket/login_confirm.py:19
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 "支持模糊搜索，最多显示10项"

#: 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:74
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:89
msgid "Permission named `{}` already exists"
msgstr "授权名称 `{}` 已存在"

#: tickets/serializers/ticket/ticket.py:90
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 "不能在该页面重置 MFA 多因子认证, 请去个人信息页面重置"

#: 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 "高（32 bit）"

#: users/const.py:48
msgid "Medium（16 bit）"
msgstr "中（16 bit）"

#: users/const.py:81
msgid "Replace"
msgstr "替换"

#: users/const.py:82
msgid "Suffix"
msgstr "加后缀"

#: users/exceptions.py:9
msgid "MFA not enabled"
msgstr "MFA 未启用"

#: 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 "创建失败，SSH密钥数量已达到上限"

#: 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 ""
"启用之后您将会在下次登录时进入多因子认证绑定流程；您也可以在 (个人信息->快速"
"修改->设置 MFA 多因子认证)中直接绑定！"

#: users/forms/profile.py:60
msgid "* Enable MFA to make the account more secure."
msgstr "* 启用 MFA 多因子认证，使账号更加安全。"

#: 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 ""
"为了保护您和公司的安全，请妥善保管您的账号、密码和密钥等重要敏感信息； (如："
"设置复杂密码，并启用 MFA 多因子认证)"

#: 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 "手机号码必须包含区号，例如 +86"

#: 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 "自动配置并下载SSH密钥"

#: users/forms/profile.py:145
msgid "ssh public key"
msgstr "SSH公钥"

#: users/forms/profile.py:146
msgid "ssh-rsa AAAA..."
msgstr "ssh-rsa AAAA..."

#: 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:77 users/serializers/user.py:259
msgid "Is service account"
msgstr "服务账号"

#: users/models/user/__init__.py:79
msgid "Avatar"
msgstr "头像"

#: users/models/user/__init__.py:81
msgid "Wechat"
msgstr "微信"

#: users/models/user/__init__.py:90
msgid "OTP secret key"
msgstr "OTP 密钥"

# msgid "Private key"
# msgstr "ssh私钥"
#: users/models/user/__init__.py:100 users/serializers/profile.py:86
#: users/serializers/user.py:256
msgid "Is first login"
msgstr "首次登录"

#: users/models/user/__init__.py:118
msgid "Date password last updated"
msgstr "最后更新密码日期"

#: users/models/user/__init__.py:121
msgid "Need update password"
msgstr "需要更新密码"

#: users/models/user/__init__.py:145
msgid "Face vector"
msgstr "人脸向量"

#: users/models/user/__init__.py:148
msgid "Date api key used"
msgstr "API key 最后使用日期"

#: users/models/user/__init__.py:288
msgid "Can not delete admin user"
msgstr "无法删除管理员用户"

#: users/models/user/__init__.py:302
msgid "Can invite user"
msgstr "可以邀请用户"

#: users/models/user/__init__.py:303
msgid "Can remove user"
msgstr "可以移除用户"

#: users/models/user/__init__.py:304
msgid "Can match user"
msgstr "可以匹配用户"

#: users/models/user/__init__.py:333
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:238
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 "重置 SSH 密钥"

#: users/notifications.py:214
msgid "Reset MFA"
msgstr "重置 MFA"

#: 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. <br>Such as: account backup files, "
"account password change results files"
msgstr ""
"文件加密密码，当系统发送的邮件中包含文件附件时，使用此密码进行解密。<br>如："
"账号备份文件、账号改密结果文件"

#: users/serializers/preference/lina.py:39 users/serializers/profile.py:41
msgid "The newly set password is inconsistent"
msgstr "两次密码不一致"

#: users/serializers/preference/lina.py:47 users/serializers/profile.py:66
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 "RDP 分辨率"

#: users/serializers/preference/luna.py:41
msgid "Keyboard layout"
msgstr "键盘布局"

#: users/serializers/preference/luna.py:45
msgid "RDP client option"
msgstr "RDP 客户端选项"

#: users/serializers/preference/luna.py:49
msgid "RDP color quality"
msgstr "RDP 颜色质量"

#: users/serializers/preference/luna.py:53
msgid "RDP smart size"
msgstr "RDP 智能尺寸"

# msgid "Rdp smart size"
# msgstr "RDP 智能大小"
#: 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 "字符终端Backspace As Ctrl+H"

#: 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:22
msgid "The old password is incorrect"
msgstr "旧密码错误"

#: users/serializers/profile.py:29 users/serializers/profile.py:144
msgid "Password does not match security rules"
msgstr "密码不满足安全规则"

#: users/serializers/profile.py:33
msgid "The new password cannot be the last {} passwords"
msgstr "新密码不能是最近 {} 次的密码"

#: users/serializers/profile.py:194
msgid "Perms"
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 "MFA 已启用"

#: users/serializers/user.py:124
msgid "MFA force enabled"
msgstr "强制 MFA"

#: users/serializers/user.py:126
msgid "Login blocked"
msgstr "登录被锁定"

#: users/serializers/user.py:130 users/serializers/user.py:265
msgid "Is OTP bound"
msgstr "是否绑定了虚拟 MFA"

#: 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 ""
"用户来源标识用户的创建位置，可以是 AD 或其他来源。安全设置可以限制用户只能从"
"指定来源登录系统。"

#: 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 "MFA"

#: 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 ""
"使用web登录后，会产生用户会话在线记录，每天凌晨2点，清理未在线的用户设备"

#: 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 "每天上午10点检查，系统中用户的密码是否过期，提前5天发送通知"

#: 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 "每天下午2点检查，系统中的用户是否过期，提前5天发送通知"

#: 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 ""
"每天下午2点，根据系统配置-安全设置-不活跃用户自动禁用配置，对长时间不登录或"
"api_key不使用的用户进行禁用"

#: 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 ""
"为了不影响您正常工作，请联系管理员确认。\n"
"           "

#: 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 "你的 MFA 已经被管理员重置"

#: 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 "你的 SSH 密钥已经被管理员重置"

#: 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 "MFA 已强制启用，无法禁用"

#: users/templates/users/mfa_setting.html:143
msgid "MFA setting"
msgstr "设置 MFA 多因子认证"

#: 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 "启用 MFA(OTP)"

#: users/templates/users/user_otp_enable_bind.html:6
msgid "Bind one-time password authenticator"
msgstr "绑定MFA验证器"

#: 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 "使用 MFA 验证器应用扫描以下二维码，获取6位验证码"

#: users/templates/users/user_otp_enable_bind.html:22
#: users/templates/users/user_verify_mfa.html:27
msgid "Six figures"
msgstr "6 位数字"

#: 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 "请在手机端或微信小程序下载并安装 MFA 验证器应用"

#: users/templates/users/user_otp_enable_install_app.html:18
msgid "Android downloads"
msgstr "Android手机下载"

#: users/templates/users/user_otp_enable_install_app.html:23
msgid "iPhone downloads"
msgstr "iPhone手机下载"

#: 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 "请打开 MFA 验证器，输入 6 位动态码"

#: users/utils.py:65
msgid "Auth success"
msgstr "认证成功"

#: users/utils.py:66
msgid "Redirecting to JumpServer Client"
msgstr "重定向到 JumpServer 客户端"

#: 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 "MFA(OTP) 已经绑定，请先禁用，再绑定"

#: users/views/profile/otp.py:134
msgid "OTP enable success"
msgstr "MFA(OTP) 启用成功"

#: users/views/profile/otp.py:135
msgid "OTP enable success, return login page"
msgstr "MFA(OTP) 启用成功，返回到登录页面"

#: users/views/profile/otp.py:177
msgid "Disable OTP"
msgstr "禁用虚拟 MFA(OTP)"

#: users/views/profile/otp.py:183
msgid "OTP disable success"
msgstr "MFA(OTP) 禁用成功"

#: users/views/profile/otp.py:184
msgid "OTP disable success, return login page"
msgstr "MFA(OTP) 禁用成功，返回登录页面"

#: 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:239
msgid "Reset password success, return to login page"
msgstr "重置密码成功，返回到登录页面"

#: xpack/apps.py:8
msgid "XPACK"
msgstr "XPack"

#: 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:73
msgid "Test connection successful"
msgstr "测试成功"

#: xpack/plugins/cloud/api.py:75
msgid "Test connection failed: {}"
msgstr "测试连接失败：{}"

#: xpack/plugins/cloud/api.py:203
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 "AWS (国际)"

#: xpack/plugins/cloud/const.py:10
msgid "AWS (China)"
msgstr "AWS (中国)"

#: xpack/plugins/cloud/const.py:11
msgid "Azure (China)"
msgstr "Azure (中国)"

#: xpack/plugins/cloud/const.py:12
msgid "Azure (International)"
msgstr "Azure (国际)"

#: 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 "ucloud"

#: xpack/plugins/cloud/const.py:21
msgid "Volcengine"
msgstr "火山引擎"

#: xpack/plugins/cloud/const.py:23
msgid "VMware"
msgstr "VMware"

#: xpack/plugins/cloud/const.py:24 xpack/plugins/cloud/providers/nutanix.py:15
msgid "Nutanix"
msgstr "Nutanix"

#: 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 "OpenStack"

#: xpack/plugins/cloud/const.py:29 xpack/plugins/cloud/providers/zstack.py:21
msgid "ZStack"
msgstr "ZStack"

#: xpack/plugins/cloud/const.py:30 xpack/plugins/cloud/providers/smartx.py:9
msgid "SmartX CloudTower"
msgstr ""

#: xpack/plugins/cloud/const.py:31
msgid "Fusion Compute"
msgstr "融合计算"

#: xpack/plugins/cloud/const.py:32
msgid "SCP"
msgstr "深信服SCP"

#: xpack/plugins/cloud/const.py:33
msgid "Apsara Stack"
msgstr "阿里云专有云"

#: xpack/plugins/cloud/const.py:43
msgid "Private IP"
msgstr "私有IP"

#: xpack/plugins/cloud/const.py:44
msgid "Public IP"
msgstr "公网IP"

#: xpack/plugins/cloud/const.py:48 xpack/plugins/cloud/models.py:372
msgid "Instance name"
msgstr "实例名称"

#: xpack/plugins/cloud/const.py:49
msgid "Instance name and Partial IP"
msgstr "实例名称和部分IP"

#: xpack/plugins/cloud/const.py:54
msgid "Succeed"
msgstr "成功"

#: xpack/plugins/cloud/const.py:58 xpack/plugins/cloud/manager.py:107
msgid "Unsync"
msgstr "未同步"

#: xpack/plugins/cloud/const.py:59 xpack/plugins/cloud/manager.py:106
msgid "New Sync"
msgstr "新同步"

#: xpack/plugins/cloud/const.py:60 xpack/plugins/cloud/manager.py:106
msgid "Synced"
msgstr "已同步"

#: xpack/plugins/cloud/const.py:61 xpack/plugins/cloud/manager.py:108
msgid "Released"
msgstr "已释放"

#: xpack/plugins/cloud/const.py:65
msgid "And"
msgstr "与"

#: xpack/plugins/cloud/const.py:66
msgid "Or"
msgstr "或"

#: xpack/plugins/cloud/const.py:70
msgid "Sync region"
msgstr "已同步组织"

#: xpack/plugins/cloud/const.py:72
msgid "Imported"
msgstr "导入"

#: xpack/plugins/cloud/manager.py:60
#, python-format
msgid "Task \"%s\" starts executing"
msgstr "任务 \"%s\" 开始执行"

#: xpack/plugins/cloud/manager.py:99
msgid "View the task details path: "
msgstr "查看详情"

#: xpack/plugins/cloud/manager.py:102
msgid "Account Details"
msgstr "账号"

#: xpack/plugins/cloud/manager.py:103
msgid "Synchronization History List"
msgstr "同步历史列表"

#: xpack/plugins/cloud/manager.py:103
msgid "Synchronization Instance List"
msgstr "同步实例列表"

#: xpack/plugins/cloud/manager.py:107
msgid "To be released"
msgstr "待释放"

#: xpack/plugins/cloud/manager.py:111
msgid "Task execution completed"
msgstr "任务执行完成"

#: xpack/plugins/cloud/manager.py:116
msgid "Synchronization regions"
msgstr "同步地区"

#: xpack/plugins/cloud/manager.py:141
#, python-format
msgid "Get instances of region \"%s\" error, error: %s"
msgstr "获取区域 \"%s\" 的实例错误，错误：%s"

#: xpack/plugins/cloud/manager.py:161 xpack/plugins/cloud/models.py:289
msgid "Instance"
msgstr "实例"

#: xpack/plugins/cloud/manager.py:187
#, python-format
msgid "Failed to synchronize the instance \"%s\""
msgstr "无法同步实例 %s"

#: xpack/plugins/cloud/manager.py:378
#, python-format
msgid ""
"The updated platform of asset \"%s\" is inconsistent with the original "
"platform type. Skip platform and protocol updates"
msgstr "资产 \"%s\" 的更新平台与原平台类型不一致。跳过平台和协议更新"

#: xpack/plugins/cloud/manager.py:432
#, python-format
msgid "The asset \"%s\" already exists"
msgstr "资产 \"%s\" 已存在"

#: xpack/plugins/cloud/manager.py:434
#, python-format
msgid "Update asset \"%s\""
msgstr "更新资产 \"%s\""

#: xpack/plugins/cloud/manager.py:437
#, python-format
msgid "Asset \"%s\" has been updated"
msgstr "资产 \"%s\" 已更新"

#: xpack/plugins/cloud/manager.py:446
#, python-format
msgid "Prepare to create asset \"%s\""
msgstr "准备创建资产 %s"

#: xpack/plugins/cloud/manager.py:467
#, python-format
msgid "Set nodes \"%s\""
msgstr "设置节点: \"%s\""

#: xpack/plugins/cloud/manager.py:493
#, python-format
msgid "Set accounts \"%s\""
msgstr "设置账号: %s"

#: xpack/plugins/cloud/manager.py:509
#, python-format
msgid "Set protocols \"%s\""
msgstr "设置协议 \"%s\""

#: xpack/plugins/cloud/manager.py:517
#, python-format
msgid "Set labels \"%s\""
msgstr "设置标签: \"%s\""

#: xpack/plugins/cloud/manager.py:531 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:43
#: xpack/plugins/cloud/serializers/account.py:99
msgid "Attrs"
msgstr "属性"

#: xpack/plugins/cloud/models.py:44
msgid "Validity"
msgstr "有效"

#: xpack/plugins/cloud/models.py:49
msgid "Cloud account"
msgstr "云账号"

#: xpack/plugins/cloud/models.py:51
msgid "Test cloud account"
msgstr "测试云账号"

#: xpack/plugins/cloud/models.py:109
#: xpack/plugins/cloud/serializers/account.py:77
#: xpack/plugins/cloud/serializers/task.py:170
#: xpack/plugins/cloud/serializers/task.py:171
msgid "Regions"
msgstr "地域"

#: xpack/plugins/cloud/models.py:112
msgid "Hostname strategy"
msgstr "主机名策略"

#: xpack/plugins/cloud/models.py:117
msgid "IP network segment group"
msgstr "IP网段组"

#: xpack/plugins/cloud/models.py:121
#: xpack/plugins/cloud/serializers/task.py:174
msgid "Preferred IP type"
msgstr "首选 IP 类型"

#: xpack/plugins/cloud/models.py:124
msgid "Always update"
msgstr "总是更新"

#: xpack/plugins/cloud/models.py:126
msgid "Fully synchronous"
msgstr "完全同步"

#: xpack/plugins/cloud/models.py:127
msgid "Release assets"
msgstr "发布资产"

#: xpack/plugins/cloud/models.py:132
msgid "Date last sync"
msgstr "最后同步日期"

#: xpack/plugins/cloud/models.py:135 xpack/plugins/cloud/models.py:390
#: xpack/plugins/cloud/models.py:417
msgid "Strategy"
msgstr "策略"

#: xpack/plugins/cloud/models.py:140 xpack/plugins/cloud/models.py:228
msgid "Sync instance task"
msgstr "同步实例任务"

#: xpack/plugins/cloud/models.py:239 xpack/plugins/cloud/models.py:302
msgid "Date sync"
msgstr "同步日期"

#: xpack/plugins/cloud/models.py:243
msgid "Sync instance snapshot"
msgstr "同步实例快照"

#: xpack/plugins/cloud/models.py:251
msgid "Sync instance task execution"
msgstr "同步实例任务执行"

#: xpack/plugins/cloud/models.py:282
msgid "Sync task"
msgstr "同步任务"

#: xpack/plugins/cloud/models.py:286
msgid "Sync instance task history"
msgstr "同步实例任务历史"

#: xpack/plugins/cloud/models.py:306
msgid "Sync instance detail"
msgstr "同步实例详情"

#: xpack/plugins/cloud/models.py:318 xpack/plugins/cloud/serializers/task.py:79
msgid "Rule relation"
msgstr "条件关系"

#: xpack/plugins/cloud/models.py:331
msgid "Task strategy"
msgstr "任务策略"

#: xpack/plugins/cloud/models.py:361
msgid "Equal"
msgstr "等于"

#: xpack/plugins/cloud/models.py:362
msgid "Not Equal"
msgstr "不等于"

#: xpack/plugins/cloud/models.py:363
msgid "In"
msgstr "在...中"

#: xpack/plugins/cloud/models.py:364
msgid "Contains"
msgstr "包含"

#: xpack/plugins/cloud/models.py:365
msgid "Exclude"
msgstr "排除"

#: xpack/plugins/cloud/models.py:366
msgid "Startswith"
msgstr "以...开头"

#: xpack/plugins/cloud/models.py:367
msgid "Endswith"
msgstr "以...结尾"

#: xpack/plugins/cloud/models.py:373
msgid "Instance platform"
msgstr "实例平台"

#: xpack/plugins/cloud/models.py:374
msgid "Instance address"
msgstr "实例地址"

#: xpack/plugins/cloud/models.py:381
msgid "Rule attr"
msgstr "规则属性"

#: xpack/plugins/cloud/models.py:385
msgid "Rule match"
msgstr "规则匹配"

#: xpack/plugins/cloud/models.py:387
msgid "Rule value"
msgstr "规则值"

#: xpack/plugins/cloud/models.py:394 xpack/plugins/cloud/serializers/task.py:82
msgid "Strategy rule"
msgstr "条件"

#: xpack/plugins/cloud/models.py:405
msgid "Name strategy"
msgstr "主机名策略"

#: xpack/plugins/cloud/models.py:412
msgid "Action attr"
msgstr "动作属性"

#: xpack/plugins/cloud/models.py:414
msgid "Action value"
msgstr "动作值"

#: xpack/plugins/cloud/models.py:421 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 "华北-北京1"

#: xpack/plugins/cloud/providers/huaweicloud.py:45
msgid "CN North-Beijing4"
msgstr "华北-北京4"

#: 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 "华东-上海2"

#: xpack/plugins/cloud/providers/huaweicloud.py:51
msgid "CN East-Shanghai1"
msgstr "华东-上海1"

#: xpack/plugins/cloud/providers/huaweicloud.py:53
msgid "CN Southwest-Guiyang1"
msgstr "西南-贵阳1"

#: 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 "TR-Istanbul"

#: 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 "实例 IP %(ip)s 的端口%(port)s 无法访问"

#: xpack/plugins/cloud/serializers/account.py:100
msgid "Validity display"
msgstr "有效性显示"

#: xpack/plugins/cloud/serializers/account.py:101
msgid "Provider display"
msgstr "服务商显示"

#: xpack/plugins/cloud/serializers/account_attrs.py:32
msgid "Access key id"
msgstr "Access key id"

#: xpack/plugins/cloud/serializers/account_attrs.py:59
msgid "Subscription ID"
msgstr "订阅 ID"

#: xpack/plugins/cloud/serializers/account_attrs.py:89
msgid "Auto node classification"
msgstr "自动节点分类"

#: xpack/plugins/cloud/serializers/account_attrs.py:108
msgid "domain_name"
msgstr "域名称"

#: xpack/plugins/cloud/serializers/account_attrs.py:114
#: xpack/plugins/cloud/serializers/account_attrs.py:118
#: xpack/plugins/cloud/serializers/account_attrs.py:150
#: xpack/plugins/cloud/serializers/account_attrs.py:180
#: xpack/plugins/cloud/serializers/account_attrs.py:230
msgid "API Endpoint"
msgstr "API 端点"

#: xpack/plugins/cloud/serializers/account_attrs.py:124
msgid "Auth url"
msgstr "认证地址"

#: xpack/plugins/cloud/serializers/account_attrs.py:125
msgid "eg: http://openstack.example.com:5000/v3"
msgstr "如: http://openstack.example.com:5000/v3"

#: xpack/plugins/cloud/serializers/account_attrs.py:128
msgid "User domain"
msgstr "用户域"

#: xpack/plugins/cloud/serializers/account_attrs.py:151
msgid "Cert File"
msgstr "证书文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:152
msgid "Key File"
msgstr "密钥文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:168
msgid "Service account key"
msgstr "服务账号密钥"

#: xpack/plugins/cloud/serializers/account_attrs.py:169
msgid "The file is in JSON format"
msgstr "JSON 格式的文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:187
msgid "IP address invalid `{}`, {}"
msgstr "IP 地址无效: `{}`, {}"

#: xpack/plugins/cloud/serializers/account_attrs.py:203
msgid "Such as: 192.168.1.0/24, 10.0.0.0-10.0.0.255"
msgstr "例: 192.168.1.0/24,10.0.0.0-10.0.0.255"

#: xpack/plugins/cloud/serializers/account_attrs.py:206
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. <br>If the port is 0, all IP addresses are valid."
msgstr ""
"端口用来检测 IP 地址的有效性，在同步任务执行时，只会同步有效的 IP 地址。 <br>"
"如果端口为 0，则表示所有 IP 地址均有效。"

#: xpack/plugins/cloud/serializers/account_attrs.py:214
msgid "Hostname prefix"
msgstr "主机名前缀"

#: xpack/plugins/cloud/serializers/account_attrs.py:217
msgid "IP segment"
msgstr "IP 网段"

#: xpack/plugins/cloud/serializers/account_attrs.py:221
msgid "Test port"
msgstr "测试端口"

#: xpack/plugins/cloud/serializers/account_attrs.py:224
msgid "Test timeout"
msgstr "测试超时时间"

#: xpack/plugins/cloud/serializers/account_attrs.py:240
msgid "Project"
msgstr "project"

#: xpack/plugins/cloud/serializers/task.py:168
msgid "History count"
msgstr "执行次数"

#: xpack/plugins/cloud/serializers/task.py:169
msgid "Instance count"
msgstr "实例个数"

#: xpack/plugins/cloud/tasks.py:33
msgid ""
"Execute this task when manually or scheduled cloud synchronization tasks are "
"performed"
msgstr "执行手动或定时云同步任务时执行此任务"

#: xpack/plugins/cloud/tasks.py:50
msgid "Period clean sync instance task execution"
msgstr "定期清除同步实例任务执行记录"

#: xpack/plugins/cloud/tasks.py:52
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 "管理页面 Logo"

#: 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 "顶部宽 Logo"

#: xpack/plugins/interface/serializers/interface.py:38
msgid "Small logo without text"
msgstr "方形小 Logo"

#: xpack/plugins/license/api.py:52
msgid "License import successfully"
msgstr "许可证导入成功"

#: xpack/plugins/license/api.py:53
msgid "Invalid license"
msgstr "许可证无效"

#~ msgid "Change password"
#~ msgstr "改密"

#~ msgid ""
#~ "When creating or modifying an account requires account push, this task is "
#~ "executed"
#~ msgstr "当创建账号，修改账号时，需要账号推送时执行该任务"
