# 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: 2023-07-25 15:37+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/automations/base.py:79
msgid "The parameter 'action' must be [{}]"
msgstr "参数 'action' 必须是 [{}]"

#: accounts/const/account.py:6
#: accounts/serializers/automations/change_secret.py:33
#: assets/models/_user.py:24 audits/signal_handlers/login_log.py:28
#: authentication/confirm/password.py:9 authentication/forms.py:32
#: authentication/templates/authentication/login.html:274
#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47
#: users/forms/profile.py:22 users/serializers/user.py:104
#: users/templates/users/_msg_user_created.html:13
#: users/templates/users/user_password_verify.html:18
#: xpack/plugins/cloud/serializers/account_attrs.py:28
msgid "Password"
msgstr "密码"

#: accounts/const/account.py:7
#: accounts/serializers/automations/change_secret.py:34
msgid "SSH key"
msgstr "SSH 密钥"

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

#: accounts/const/account.py:9 assets/models/_user.py:48
#: authentication/models/sso_token.py:14
msgid "Token"
msgstr "Token"

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

#: accounts/const/account.py:14 common/db/fields.py:244
#: settings/serializers/terminal.py:14
msgid "All"
msgstr "全部"

#: accounts/const/account.py:15
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:21 users/models/user.py:699
msgid "Local"
msgstr "数据库"

#: accounts/const/account.py:22
msgid "Collected"
msgstr "收集"

#: accounts/const/account.py:23 accounts/serializers/account/account.py:27
#: settings/serializers/auth/sms.py:75
msgid "Template"
msgstr "模板"

#: accounts/const/account.py:27 ops/const.py:45
msgid "Skip"
msgstr "跳过"

#: accounts/const/account.py:28 audits/const.py:24 rbac/tree.py:230
#: templates/_csv_import_export.html:18 templates/_csv_update_modal.html:6
msgid "Update"
msgstr "更新"

#: accounts/const/account.py:29
#: accounts/serializers/automations/change_secret.py:156 audits/const.py:54
#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19
#: ops/const.py:58 terminal/const.py:77 xpack/plugins/cloud/const.py:43
msgid "Failed"
msgstr "失败"

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

#: accounts/const/automation.py:23
msgid "Change secret"
msgstr "更改密码"

#: accounts/const/automation.py:24
msgid "Verify account"
msgstr "验证账号"

#: accounts/const/automation.py:25
msgid "Gather accounts"
msgstr "收集账号"

#: accounts/const/automation.py:26
msgid "Verify gateway account"
msgstr "验证网关账号"

#: accounts/const/automation.py:44
msgid "Specific password"
msgstr "指定"

#: accounts/const/automation.py:45
msgid "Random"
msgstr "随机"

#: accounts/const/automation.py:49 ops/const.py:13
msgid "Append SSH KEY"
msgstr "追加"

#: accounts/const/automation.py:50 ops/const.py:14
msgid "Empty and append SSH KEY"
msgstr "清空所有并添加"

#: accounts/const/automation.py:51 ops/const.py:15
msgid "Replace (Replace only keys pushed by JumpServer) "
msgstr "替换 (只替换由 JumpServer 推送的密钥)"

#: accounts/const/automation.py:56
msgid "On asset create"
msgstr "资产创建时"

#: accounts/const/automation.py:59
msgid "On perm add user"
msgstr "授权变更时添加用户"

#: accounts/const/automation.py:61
msgid "On perm add user group"
msgstr "授权变更时添加用户组"

#: accounts/const/automation.py:63
msgid "On perm add asset"
msgstr "授权变更时添加资产"

#: accounts/const/automation.py:65
msgid "On perm add node"
msgstr "授权变更时添加节点"

#: accounts/const/automation.py:67
msgid "On perm add account"
msgstr "授权变更时添加账号"

#: accounts/const/automation.py:69
msgid "On asset join node"
msgstr "资产变更时添加到节点"

#: accounts/const/automation.py:71
msgid "On user join group"
msgstr "用户变更时添加到用户组"

#: accounts/const/automation.py:79
msgid "On perm change"
msgstr "授权变更时"

#: accounts/const/automation.py:86
msgid "Inherit from group or node"
msgstr "继承自用户组或资产节点"

#: accounts/const/automation.py:94
msgid "Create and push"
msgstr "创建并推送"

#: accounts/const/automation.py:95
msgid "Only create"
msgstr "仅创建"

#: accounts/models/account.py:49
#: accounts/models/automations/gather_account.py:16
#: accounts/serializers/account/account.py:200
#: accounts/serializers/account/account.py:237
#: accounts/serializers/account/gathered_account.py:10
#: accounts/serializers/automations/change_secret.py:112
#: accounts/serializers/automations/change_secret.py:132
#: acls/serializers/base.py:123 assets/models/asset/common.py:93
#: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36
#: assets/serializers/domain.py:19 assets/serializers/label.py:27
#: audits/models.py:53 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
#: terminal/backends/command/models.py:17 terminal/models/session/session.py:31
#: terminal/notifications.py:155 terminal/serializers/command.py:17
#: terminal/templates/terminal/_msg_command_warning.html:4
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
msgid "Asset"
msgstr "资产"

#: accounts/models/account.py:53 accounts/models/account.py:126
#: accounts/serializers/account/account.py:208
#: accounts/serializers/account/account.py:247
#: accounts/serializers/account/template.py:16
#: authentication/serializers/connect_token_secret.py:49
msgid "Su from"
msgstr "切换自"

#: accounts/models/account.py:55 settings/serializers/auth/cas.py:20
#: settings/serializers/auth/feishu.py:20 terminal/models/applet/applet.py:34
msgid "Version"
msgstr "版本"

#: accounts/models/account.py:57 accounts/serializers/account/account.py:203
#: users/models/user.py:804
msgid "Source"
msgstr "来源"

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

#: accounts/models/account.py:61
#: accounts/serializers/automations/change_secret.py:113
#: accounts/serializers/automations/change_secret.py:133
#: acls/serializers/base.py:124 assets/serializers/asset/common.py:125
#: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33
#: terminal/templates/terminal/_msg_command_warning.html:8
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
msgid "Account"
msgstr "账号"

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

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

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

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

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

#: accounts/models/account.py:130
msgid "Account template"
msgstr "账号模版"

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

#: accounts/models/account.py:136
msgid "Can change asset account template secret"
msgstr "可以更改资产账号模版密码"

#: accounts/models/automations/backup_account.py:27
#: accounts/models/automations/change_secret.py:64
#: accounts/serializers/account/backup.py:34
#: accounts/serializers/automations/change_secret.py:57
msgid "Recipient"
msgstr "收件人"

#: accounts/models/automations/backup_account.py:36
#: accounts/models/automations/backup_account.py:102
msgid "Account backup plan"
msgstr "账号备份计划"

#: accounts/models/automations/backup_account.py:83
#: assets/models/automations/base.py:115 audits/models.py:60
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:194
#: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137
#: terminal/models/session/session.py:44
#: tickets/models/ticket/apply_application.py:30
#: tickets/models/ticket/apply_asset.py:19
msgid "Date start"
msgstr "开始日期"

#: accounts/models/automations/backup_account.py:86
#: authentication/templates/authentication/_msg_oauth_bind.html:11
#: notifications/notifications.py:186
msgid "Time"
msgstr "时间"

#: accounts/models/automations/backup_account.py:90
msgid "Account backup snapshot"
msgstr "账号备份快照"

#: accounts/models/automations/backup_account.py:94
#: accounts/serializers/account/backup.py:42
#: accounts/serializers/automations/base.py:55
#: assets/models/automations/base.py:122
#: assets/serializers/automations/base.py:40
msgid "Trigger mode"
msgstr "触发模式"

#: accounts/models/automations/backup_account.py:97 audits/models.py:194
#: terminal/models/session/sharing.py:111 xpack/plugins/cloud/models.py:168
msgid "Reason"
msgstr "原因"

#: accounts/models/automations/backup_account.py:99
#: accounts/serializers/automations/change_secret.py:111
#: accounts/serializers/automations/change_secret.py:134
#: ops/serializers/job.py:56 terminal/serializers/session.py:43
msgid "Is success"
msgstr "是否成功"

#: accounts/models/automations/backup_account.py:107
msgid "Account backup execution"
msgstr "账号备份执行"

#: accounts/models/automations/base.py:15
msgid "Account automation task"
msgstr "账号自动化任务"

#: accounts/models/automations/base.py:29
msgid "Automation execution"
msgstr "自动化执行"

#: accounts/models/automations/base.py:30
msgid "Automation executions"
msgstr "自动化执行"

#: accounts/models/automations/base.py:32
msgid "Can view change secret execution"
msgstr "查看改密执行"

#: accounts/models/automations/base.py:33
msgid "Can add change secret execution"
msgstr "创建改密执行"

#: accounts/models/automations/base.py:35
msgid "Can view gather accounts execution"
msgstr "查看收集账号执行"

#: accounts/models/automations/base.py:36
msgid "Can add gather accounts execution"
msgstr "创建收集账号执行"

#: accounts/models/automations/base.py:38
msgid "Can view push account execution"
msgstr "查看推送账号执行"

#: accounts/models/automations/base.py:39
msgid "Can add push account execution"
msgstr "创建推送账号执行"

#: accounts/models/automations/change_secret.py:18 accounts/models/base.py:36
#: accounts/serializers/account/account.py:419
#: accounts/serializers/account/base.py:16
#: accounts/serializers/automations/change_secret.py:46
#: authentication/serializers/connect_token_secret.py:41
#: authentication/serializers/connect_token_secret.py:50
msgid "Secret type"
msgstr "密文类型"

#: accounts/models/automations/change_secret.py:20
#: accounts/models/automations/change_secret.py:89 accounts/models/base.py:38
#: accounts/serializers/account/base.py:19
#: authentication/models/temp_token.py:10
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:19
msgid "Secret"
msgstr "密钥"

#: accounts/models/automations/change_secret.py:23
#: accounts/serializers/automations/change_secret.py:40
msgid "Secret strategy"
msgstr "密文策略"

#: accounts/models/automations/change_secret.py:25
msgid "Password rules"
msgstr "密码规则"

#: accounts/models/automations/change_secret.py:28
msgid "SSH key change strategy"
msgstr "SSH 密钥推送方式"

#: accounts/models/automations/change_secret.py:71
msgid "Change secret automation"
msgstr "自动化改密"

#: accounts/models/automations/change_secret.py:88
msgid "Old secret"
msgstr "原密码"

#: accounts/models/automations/change_secret.py:90
msgid "Date started"
msgstr "开始日期"

#: accounts/models/automations/change_secret.py:91
#: assets/models/automations/base.py:116 ops/models/base.py:56
#: ops/models/celery.py:64 ops/models/job.py:195
#: terminal/models/applet/host.py:138
msgid "Date finished"
msgstr "结束日期"

#: accounts/models/automations/change_secret.py:93
#: accounts/serializers/account/account.py:239 assets/const/automation.py:8
#: authentication/views/base.py:26 authentication/views/base.py:27
#: authentication/views/base.py:28 common/const/choices.py:20
msgid "Error"
msgstr "错误"

#: accounts/models/automations/change_secret.py:97
msgid "Change secret record"
msgstr "改密记录"

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

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

#: accounts/models/automations/gather_account.py:17
#: accounts/models/automations/push_account.py:15 accounts/models/base.py:34
#: acls/serializers/base.py:19 acls/serializers/base.py:50
#: assets/models/_user.py:23 audits/models.py:179 authentication/forms.py:25
#: authentication/forms.py:27 authentication/models/temp_token.py:9
#: authentication/templates/authentication/_msg_different_city.html:9
#: authentication/templates/authentication/_msg_oauth_bind.html:9
#: users/forms/profile.py:32 users/forms/profile.py:115
#: users/models/user.py:751 users/templates/users/_msg_user_created.html:12
#: xpack/plugins/cloud/serializers/account_attrs.py:26
msgid "Username"
msgstr "用户名"

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

#: accounts/models/automations/gather_account.py:44
msgid "Gather account automation"
msgstr "自动化收集账号"

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

#: accounts/models/automations/gather_account.py:71
#: accounts/tasks/gather_accounts.py:29
msgid "Gather asset accounts"
msgstr "收集账号"

#: accounts/models/automations/push_account.py:14
msgid "Triggers"
msgstr "触发方式"

#: accounts/models/automations/push_account.py:16 acls/models/base.py:41
#: acls/serializers/base.py:57 assets/models/cmd_filter.py:81
#: audits/models.py:87 audits/serializers.py:83
#: authentication/serializers/connect_token_secret.py:116
#: authentication/templates/authentication/_access_key_modal.html:34
msgid "Action"
msgstr "动作"

#: accounts/models/automations/push_account.py:60
msgid "Push asset account"
msgstr "账号推送"

#: accounts/models/automations/verify_account.py:15
msgid "Verify asset account"
msgstr "账号验证"

#: accounts/models/base.py:33 acls/models/base.py:35 acls/models/base.py:96
#: acls/models/command_acl.py:21 acls/serializers/base.py:35
#: applications/models.py:9 assets/models/_user.py:22
#: assets/models/asset/common.py:91 assets/models/asset/common.py:149
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18
#: assets/models/group.py:17 assets/models/label.py:18
#: assets/models/platform.py:15 assets/models/platform.py:88
#: assets/serializers/asset/common.py:146 assets/serializers/platform.py:110
#: assets/serializers/platform.py:223
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
#: ops/models/adhoc.py:20 ops/models/celery.py:15 ops/models/celery.py:57
#: ops/models/job.py:94 ops/models/playbook.py:23 ops/serializers/job.py:20
#: orgs/models.py:80 perms/models/asset_permission.py:56 rbac/models/role.py:29
#: settings/models.py:32 settings/serializers/sms.py:6
#: terminal/models/applet/applet.py:32 terminal/models/component/endpoint.py:12
#: terminal/models/component/endpoint.py:92
#: terminal/models/component/storage.py:26 terminal/models/component/task.py:15
#: terminal/models/component/terminal.py:84 users/forms/profile.py:33
#: users/models/group.py:13 users/models/user.py:753
#: xpack/plugins/cloud/models.py:28
msgid "Name"
msgstr "名称"

#: accounts/models/base.py:39
msgid "Privileged"
msgstr "特权账号"

#: accounts/models/base.py:40 assets/models/asset/common.py:156
#: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39
#: assets/models/label.py:22
#: authentication/serializers/connect_token_secret.py:114
#: terminal/models/applet/applet.py:39
#: terminal/models/component/endpoint.py:103 users/serializers/user.py:169
msgid "Is active"
msgstr "激活"

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

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

#: accounts/notifications.py:21
msgid ""
"{} - The account backup passage task has been completed: the encryption "
"password has not been set - please go to personal information -> file "
"encryption password to set the encryption password"
msgstr ""
"{} - 账号备份任务已完成: 未设置加密密码 - 请前往个人信息 -> 文件加密密码中设"
"置加密密码"

#: accounts/notifications.py:33
msgid "Notification of implementation result of encryption change plan"
msgstr "改密计划任务结果通知"

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

#: accounts/notifications.py:46
msgid ""
"{} - The encryption change task has been completed: the encryption password "
"has not been set - please go to personal information -> file encryption "
"password to set the encryption password"
msgstr ""
"{} - 改密任务已完成: 未设置加密密码 - 请前往个人信息 -> 文件加密密码中设置加"
"密密码"

#: accounts/serializers/account/account.py:30
msgid "Push now"
msgstr "立即推送"

#: accounts/serializers/account/account.py:37
msgid "Exist policy"
msgstr "账号存在策略"

#: accounts/serializers/account/account.py:180 applications/models.py:11
#: assets/models/label.py:21 assets/models/platform.py:89
#: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:8
#: assets/serializers/platform.py:128 assets/serializers/platform.py:224
#: perms/serializers/user_permission.py:26 settings/models.py:34
#: tickets/models/ticket/apply_application.py:13
msgid "Category"
msgstr "类别"

#: accounts/serializers/account/account.py:181
#: accounts/serializers/automations/base.py:54 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:18 applications/models.py:14
#: assets/models/_user.py:50 assets/models/automations/base.py:20
#: assets/models/cmd_filter.py:74 assets/models/platform.py:90
#: assets/serializers/asset/common.py:122 assets/serializers/platform.py:112
#: assets/serializers/platform.py:127 audits/serializers.py:49
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:105
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38
#: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
#: terminal/serializers/session.py:20 terminal/serializers/storage.py:226
#: terminal/serializers/storage.py:238 tickets/models/comment.py:26
#: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16
#: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53
#: tickets/serializers/ticket/ticket.py:19
msgid "Type"
msgstr "类型"

#: accounts/serializers/account/account.py:196
msgid "Asset not found"
msgstr "资产不存在"

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

#: accounts/serializers/account/account.py:238 ops/models/celery.py:60
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:45
#: tickets/models/ticket/general.py:279 tickets/serializers/super_ticket.py:14
#: tickets/serializers/ticket/ticket.py:21
msgid "State"
msgstr "状态"

#: accounts/serializers/account/account.py:240
msgid "Changed"
msgstr "已修改"

#: accounts/serializers/account/account.py:250
#: accounts/serializers/automations/base.py:22 acls/models/base.py:97
#: assets/models/automations/base.py:19
#: assets/serializers/automations/base.py:20 ops/models/base.py:17
#: ops/models/job.py:107 ops/serializers/job.py:21
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
msgid "Assets"
msgstr "资产"

#: accounts/serializers/account/account.py:305
msgid "Account already exists"
msgstr "账号已存在"

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

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

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

#: accounts/serializers/account/account.py:427 acls/serializers/base.py:116
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:49
#: audits/models.py:85 audits/models.py:163
#: authentication/models/connection_token.py:32
#: authentication/models/sso_token.py:16
#: notifications/models/notification.py:12
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
#: perms/serializers/permission.py:30 rbac/builtin.py:123
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:16
#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:156 terminal/notifications.py:205
#: terminal/serializers/command.py:16
#: terminal/templates/terminal/_msg_command_warning.html:6
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947
#: users/models/user.py:983 users/serializers/group.py:18
msgid "User"
msgstr "用户"

#: accounts/serializers/account/account.py:428
#: authentication/templates/authentication/_access_key_modal.html:33
#: terminal/notifications.py:158 terminal/notifications.py:207
msgid "Date"
msgstr "日期"

#: accounts/serializers/account/backup.py:31
#: accounts/serializers/automations/base.py:36
#: assets/serializers/automations/base.py:34 ops/mixin.py:23 ops/mixin.py:103
#: settings/serializers/auth/ldap.py:66
msgid "Periodic perform"
msgstr "定时执行"

#: accounts/serializers/account/backup.py:32
#: accounts/serializers/automations/base.py:37
msgid "Executed amount"
msgstr "执行次数"

#: accounts/serializers/account/backup.py:35
#: accounts/serializers/automations/change_secret.py:58
msgid "Currently only mail sending is supported"
msgstr "当前只支持邮件发送"

#: accounts/serializers/account/backup.py:37
msgid "Asset type"
msgstr "资产类型"

#: accounts/serializers/account/base.py:24
msgid "Key password"
msgstr "密钥密码"

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

#: accounts/serializers/account/base.py:82
msgid ""
"Tip: If no username is required for authentication, fill in `null`, If AD "
"account, like `username@domain`"
msgstr ""
"提示: 如果认证时不需要用户名，可填写为 null, 如果是 AD 账号，格式为 "
"username@domain"

#: accounts/serializers/automations/base.py:23
#: assets/models/asset/common.py:155 assets/models/automations/base.py:18
#: assets/models/cmd_filter.py:32 assets/serializers/automations/base.py:21
#: perms/models/asset_permission.py:67
msgid "Nodes"
msgstr "节点"

#: accounts/serializers/automations/base.py:44
msgid "Name already exists"
msgstr "名称已存在"

#: accounts/serializers/automations/base.py:53
#: assets/models/automations/base.py:118
#: assets/serializers/automations/base.py:39
msgid "Automation snapshot"
msgstr "自动化快照"

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

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

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

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

#: accounts/serializers/automations/change_secret.py:155 audits/const.py:53
#: audits/models.py:59 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:56 ops/serializers/celery.py:40
#: terminal/const.py:76 terminal/models/session/sharing.py:107
#: tickets/views/approve.py:115
msgid "Success"
msgstr "成功"

#: accounts/tasks/automation.py:24
msgid "Account execute automation"
msgstr "账号执行自动化"

#: accounts/tasks/backup_account.py:25
msgid "Execute account backup plan"
msgstr "执行账号备份计划"

#: accounts/tasks/gather_accounts.py:34
msgid "Gather assets accounts"
msgstr "收集资产上的账号"

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

#: accounts/tasks/verify_account.py:49
msgid "Verify asset account availability"
msgstr "验证资产账号可用性"

#: accounts/tasks/verify_account.py:55
msgid "Verify accounts connectivity"
msgstr "测试账号可连接性"

#: accounts/utils.py:43
msgid "Password can not contains `{{` "
msgstr "密码不能包含 `{{` 字符"

#: accounts/utils.py:46
msgid "Password can not contains `'` "
msgstr "密码不能包含 `'` 字符"

#: accounts/utils.py:48
msgid "Password can not contains `\"` "
msgstr "密码不能包含 `\"` 字符"

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

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

#: acls/const.py:6 terminal/const.py:11 tickets/const.py:45
#: tickets/templates/tickets/approve_check_password.html:49
msgid "Reject"
msgstr "拒绝"

#: acls/const.py:7 terminal/const.py:9
msgid "Accept"
msgstr "接受"

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

#: acls/const.py:9 terminal/const.py:10
msgid "Warning"
msgstr "告警"

#: acls/models/base.py:37 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:95
msgid "Priority"
msgstr "优先级"

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

#: acls/models/base.py:42 assets/models/cmd_filter.py:86
#: authentication/serializers/connect_token_secret.py:88
msgid "Reviewers"
msgstr "审批人"

#: acls/models/base.py:43 authentication/models/access_key.py:17
#: authentication/models/connection_token.py:53
#: authentication/templates/authentication/_access_key_modal.html:32
#: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:27
#: tickets/const.py:37
msgid "Active"
msgstr "激活中"

#: acls/models/base.py:81 users/apps.py:9
msgid "Users"
msgstr "用户管理"

#: acls/models/base.py:98 assets/models/automations/base.py:17
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:308
#: rbac/tree.py:35
msgid "Accounts"
msgstr "账号管理"

#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60
#: ops/serializers/job.py:55 terminal/const.py:84
#: terminal/models/session/session.py:42 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
msgid "Regex"
msgstr "正则表达式"

#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79
#: settings/serializers/basic.py:10 xpack/plugins/license/models.py:30
msgid "Content"
msgstr "内容"

#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79
msgid "One line one command"
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:96
#: acls/serializers/command_acl.py:28
#: authentication/serializers/connect_token_secret.py:85
#: 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:100
#: terminal/templates/terminal/_msg_command_warning.html:12
msgid "Command acl"
msgstr "命令过滤"

#: acls/models/command_acl.py:109 tickets/const.py:11
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:15 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:10
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:12
msgid "Login asset confirm"
msgstr "登录资产复核"

#: acls/serializers/base.py:11 acls/serializers/login_acl.py:11
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:91
msgid "Recipients"
msgstr "接收人"

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

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

#: acls/serializers/rules/rules.py:20
#: xpack/plugins/cloud/serializers/task.py:22
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
#: settings/serializers/terminal.py:10
msgid "IP"
msgstr "IP"

#: acls/serializers/rules/rules.py:35
msgid "Time Period"
msgstr "时段"

#: applications/apps.py:9
msgid "Applications"
msgstr "应用管理"

#: applications/models.py:16 xpack/plugins/cloud/models.py:33
#: xpack/plugins/cloud/serializers/account.py:63
msgid "Attrs"
msgstr "属性"

#: applications/models.py:19
msgid "Application"
msgstr "应用程序"

#: applications/models.py:23
msgid "Can match application"
msgstr "匹配应用"

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

#: assets/api/domain.py:63
msgid "Number required"
msgstr "需要为数字"

#: assets/api/node.py:57
msgid "You can't update the root node name"
msgstr "不能修改根节点名称"

#: assets/api/node.py:64
msgid "You can't delete the root node ({})"
msgstr "不能删除根节点 ({})"

#: assets/api/node.py:67
msgid "Deletion failed and the node contains assets"
msgstr "删除失败，节点包含资产"

#: assets/api/tree.py:49 assets/serializers/node.py:41
msgid "The same level node name cannot be the same"
msgstr "同级别节点名字不能重复"

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

#: assets/automations/base/manager.py:136
msgid "{} disabled"
msgstr "{} 已禁用"

#: assets/automations/ping_gateway/manager.py:33
#: authentication/models/connection_token.py:128
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:92 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
msgid "Connect failed"
msgstr "连接失败"

#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:36
#: audits/signal_handlers/activity_log.py:62 common/utils/ip/geoip/utils.py:31
#: common/utils/ip/geoip/utils.py:37 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "未知"

#: assets/const/automation.py:7
msgid "Ok"
msgstr "成功"

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

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

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

#: assets/const/base.py:33 audits/const.py:47
#: terminal/serializers/applet_host.py:32
msgid "Disabled"
msgstr "禁用"

#: assets/const/base.py:34 settings/serializers/basic.py:27
msgid "Basic"
msgstr "基本"

#: assets/const/base.py:35 assets/const/protocol.py:193
#: 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:16 settings/serializers/auth/sms.py:67
#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17
#: xpack/plugins/cloud/serializers/account_attrs.py:72
msgid "Host"
msgstr "主机"

#: assets/const/category.py:11 assets/models/asset/device.py:8
msgid "Device"
msgstr "网络设备"

#: assets/const/category.py:12 assets/models/asset/database.py:9
#: assets/models/asset/database.py:24
msgid "Database"
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:34
#: terminal/models/applet/applet.py:26
msgid "Web"
msgstr "Web"

#: assets/const/category.py:16 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 terminal/models/applet/applet.py:25
#: tickets/const.py:8
msgid "General"
msgstr "一般"

#: assets/const/device.py:8
msgid "Switch"
msgstr "交换机"

#: assets/const/device.py:9
msgid "Router"
msgstr "路由器"

#: assets/const/device.py:10
msgid "Firewall"
msgstr "防火墙"

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

#: assets/const/host.py:12 rbac/tree.py:28
msgid "Other"
msgstr "其它"

#: assets/const/protocol.py:43
msgid "SFTP enabled"
msgstr "SFTP 已启用"

#: assets/const/protocol.py:48
msgid "SFTP home"
msgstr "SFTP 根路径"

#: assets/const/protocol.py:59
msgid "Console"
msgstr "控制台"

#: assets/const/protocol.py:60
msgid "Connect to console session"
msgstr "连接到控制台会话"

#: assets/const/protocol.py:64
msgid "Any"
msgstr "任意"

#: assets/const/protocol.py:66 settings/serializers/security.py:153
msgid "Security"
msgstr "安全"

#: assets/const/protocol.py:67
msgid "Security layer to use for the connection"
msgstr "连接 RDP 使用的安全层"

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

#: assets/const/protocol.py:92 assets/models/asset/database.py:10
#: settings/serializers/email.py:37
msgid "Use SSL"
msgstr "使用 SSL"

#: assets/const/protocol.py:149
msgid "Auth username"
msgstr "使用用户名认证"

#: assets/const/protocol.py:170 assets/models/asset/web.py:9
#: assets/serializers/asset/info/spec.py:16
msgid "Autofill"
msgstr "自动代填"

#: assets/const/protocol.py:178 assets/models/asset/web.py:10
msgid "Username selector"
msgstr "用户名选择器"

#: assets/const/protocol.py:183 assets/models/asset/web.py:11
msgid "Password selector"
msgstr "密码选择器"

#: assets/const/protocol.py:188 assets/models/asset/web.py:12
msgid "Submit selector"
msgstr "确认按钮选择器"

#: assets/const/protocol.py:211
msgid "API mode"
msgstr "API 模式"

#: assets/const/types.py:224
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/_user.py:25
msgid "SSH private key"
msgstr "SSH密钥"

#: assets/models/_user.py:26
msgid "SSH public key"
msgstr "SSH公钥"

#: assets/models/_user.py:27 assets/models/cmd_filter.py:40
#: assets/models/cmd_filter.py:88 assets/models/group.py:20
#: common/db/models.py:36 ops/models/adhoc.py:26 ops/models/job.py:113
#: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:37
#: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248
#: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24
#: terminal/models/component/endpoint.py:102
#: terminal/models/session/session.py:46 tickets/models/comment.py:32
#: tickets/models/ticket/general.py:297 users/models/user.py:792
#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:111
msgid "Comment"
msgstr "备注"

#: assets/models/_user.py:28 assets/models/automations/base.py:114
#: assets/models/cmd_filter.py:41 assets/models/group.py:19
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:193
#: users/models/user.py:984
msgid "Date created"
msgstr "创建日期"

#: assets/models/_user.py:29 assets/models/cmd_filter.py:42
#: common/db/models.py:35 users/models/user.py:813
msgid "Date updated"
msgstr "更新日期"

#: assets/models/_user.py:30 assets/models/cmd_filter.py:44
#: assets/models/cmd_filter.py:91 assets/models/group.py:18
#: common/db/models.py:32 users/models/user.py:799
#: users/serializers/group.py:29
msgid "Created by"
msgstr "创建者"

#: assets/models/_user.py:40
msgid "Automatic managed"
msgstr "托管密码"

#: assets/models/_user.py:41
msgid "Manually input"
msgstr "手动输入"

#: assets/models/_user.py:45
msgid "Common user"
msgstr "普通用户"

#: assets/models/_user.py:46 assets/models/_user.py:95
msgid "Admin user"
msgstr "特权用户"

#: assets/models/_user.py:49
msgid "Username same with user"
msgstr "用户名与用户相同"

#: assets/models/_user.py:52 authentication/models/connection_token.py:41
#: authentication/serializers/connect_token_secret.py:111
#: terminal/models/applet/applet.py:41 terminal/serializers/session.py:18
#: terminal/serializers/session.py:39 terminal/serializers/storage.py:70
msgid "Protocol"
msgstr "协议"

#: assets/models/_user.py:53
msgid "Auto push"
msgstr "自动推送"

#: assets/models/_user.py:54
msgid "Sudo"
msgstr "Sudo"

#: assets/models/_user.py:55 ops/const.py:49
msgid "Shell"
msgstr "Shell"

#: assets/models/_user.py:56
msgid "Login mode"
msgstr "认证方式"

#: assets/models/_user.py:57
msgid "SFTP Root"
msgstr "SFTP根路径"

#: assets/models/_user.py:58
msgid "Home"
msgstr "家目录"

#: assets/models/_user.py:59
msgid "System groups"
msgstr "用户组"

#: assets/models/_user.py:62
msgid "User switch"
msgstr "用户切换"

#: assets/models/_user.py:63
msgid "Switch from"
msgstr "切换自"

#: assets/models/_user.py:69
msgid "System user"
msgstr "系统用户"

#: assets/models/_user.py:71
msgid "Can match system user"
msgstr "可以匹配系统用户"

#: assets/models/asset/cloud.py:11
msgid "Cloud"
msgstr "云服务"

#: assets/models/asset/common.py:92 assets/models/platform.py:16
#: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:68
#: xpack/plugins/cloud/serializers/account_attrs.py:73
msgid "Port"
msgstr "端口"

#: assets/models/asset/common.py:150 assets/serializers/asset/common.py:147
msgid "Address"
msgstr "地址"

#: assets/models/asset/common.py:151 assets/models/platform.py:119
#: authentication/serializers/connect_token_secret.py:115
#: perms/serializers/user_permission.py:24
#: xpack/plugins/cloud/serializers/account_attrs.py:196
msgid "Platform"
msgstr "系统平台"

#: assets/models/asset/common.py:153 assets/models/domain.py:21
#: authentication/serializers/connect_token_secret.py:133
#: perms/serializers/user_permission.py:29
msgid "Domain"
msgstr "网域"

#: assets/models/asset/common.py:157
msgid "Labels"
msgstr "标签管理"

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

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

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

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

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

#: assets/models/asset/common.py:337
msgid "Can change asset nodes"
msgstr "可以修改资产节点"

#: assets/models/asset/custom.py:8
msgid "Custom asset"
msgstr "自定义资产"

#: assets/models/asset/database.py:11
msgid "CA cert"
msgstr "CA 证书"

#: assets/models/asset/database.py:12
msgid "Client cert"
msgstr "客户端证书"

#: assets/models/asset/database.py:13
msgid "Client key"
msgstr "客户端密钥"

#: assets/models/asset/database.py:14
msgid "Allow invalid cert"
msgstr "忽略证书校验"

#: assets/models/asset/gpt.py:8
msgid "Proxy"
msgstr "代理"

#: assets/models/automations/base.py:22 ops/models/job.py:189
#: settings/serializers/auth/sms.py:99
msgid "Parameters"
msgstr "参数"

#: assets/models/automations/base.py:29 assets/models/automations/base.py:111
msgid "Automation task"
msgstr "自动化任务"

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

#: assets/models/automations/base.py:113 audits/models.py:199
#: audits/serializers.py:50 ops/models/base.py:49 ops/models/job.py:186
#: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
#: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283
#: tickets/serializers/super_ticket.py:13
#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:164
#: xpack/plugins/cloud/models.py:216
msgid "Status"
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:19
msgid "Connectivity"
msgstr "可连接性"

#: assets/models/base.py:21 authentication/models/temp_token.py:12
msgid "Date verified"
msgstr "校验日期"

#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:61
#: perms/serializers/permission.py:32 users/models/group.py:25
#: users/models/user.py:759
msgid "User group"
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:16
msgid "Gateway"
msgstr "网关"

#: assets/models/group.py:27
msgid "Asset group"
msgstr "资产组"

#: assets/models/group.py:31 assets/models/platform.py:19
#: assets/serializers/platform.py:113
#: xpack/plugins/cloud/providers/nutanix.py:32
msgid "Default"
msgstr "默认"

#: assets/models/group.py:31
msgid "Default asset group"
msgstr "默认资产组"

#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:969
msgid "System"
msgstr "系统"

#: assets/models/label.py:19 assets/models/node.py:544
#: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14
#: authentication/models/connection_token.py:29
#: authentication/serializers/connect_token_secret.py:122
#: common/serializers/common.py:86 settings/models.py:33
msgid "Value"
msgstr "值"

#: assets/models/label.py:40 assets/serializers/asset/common.py:123
#: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13
#: assets/serializers/platform.py:111
#: authentication/serializers/connect_token_secret.py:121
#: common/serializers/common.py:85 perms/serializers/user_permission.py:28
#: settings/serializers/sms.py:7
msgid "Label"
msgstr "标签"

#: assets/models/node.py:165
msgid "New node"
msgstr "新节点"

#: assets/models/node.py:472 audits/backends/db.py:55 audits/backends/db.py:56
msgid "empty"
msgstr "空"

#: assets/models/node.py:543 perms/models/perm_node.py:28
msgid "Key"
msgstr "键"

#: assets/models/node.py:545 assets/serializers/node.py:20
msgid "Full value"
msgstr "全称"

#: assets/models/node.py:549 perms/models/perm_node.py:30
msgid "Parent key"
msgstr "ssh私钥"

#: assets/models/node.py:558 perms/serializers/permission.py:35
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96
msgid "Node"
msgstr "节点"

#: assets/models/node.py:561
msgid "Can match node"
msgstr "可以匹配节点"

#: assets/models/platform.py:17
msgid "Primary"
msgstr "主要的"

#: assets/models/platform.py:18
msgid "Required"
msgstr "必须的"

#: assets/models/platform.py:20
msgid "Public"
msgstr "开放的"

#: assets/models/platform.py:21 assets/serializers/platform.py:48
#: settings/serializers/settings.py:66
#: users/templates/users/reset_password.html:29
msgid "Setting"
msgstr "设置"

#: assets/models/platform.py:38 audits/const.py:48 settings/models.py:36
#: terminal/serializers/applet_host.py:33
msgid "Enabled"
msgstr "启用"

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

#: assets/models/platform.py:41 assets/serializers/platform.py:32
msgid "Ping enabled"
msgstr "启用资产探活"

#: assets/models/platform.py:42 assets/serializers/platform.py:33
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:34
msgid "Gather facts enabled"
msgstr "启用收集资产信息"

#: assets/models/platform.py:47 assets/models/platform.py:71
#: assets/serializers/platform.py:35
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:38
msgid "Change secret enabled"
msgstr "启用改密"

#: assets/models/platform.py:53 assets/serializers/platform.py:39
msgid "Change secret method"
msgstr "改密方式"

#: assets/models/platform.py:55
msgid "Change secret params"
msgstr "改密参数"

#: assets/models/platform.py:57 assets/serializers/platform.py:40
msgid "Push account enabled"
msgstr "启用账号推送"

#: assets/models/platform.py:59 assets/serializers/platform.py:41
msgid "Push account method"
msgstr "账号推送方式"

#: assets/models/platform.py:61
msgid "Push account params"
msgstr "账号推送参数"

#: assets/models/platform.py:63 assets/serializers/platform.py:36
msgid "Verify account enabled"
msgstr "开启账号验证"

#: assets/models/platform.py:65 assets/serializers/platform.py:37
msgid "Verify account method"
msgstr "账号验证方式"

#: assets/models/platform.py:67
msgid "Verify account params"
msgstr "账号验证参数"

#: assets/models/platform.py:91 tickets/models/ticket/general.py:300
msgid "Meta"
msgstr "元数据"

#: assets/models/platform.py:92
msgid "Internal"
msgstr "内置"

#: assets/models/platform.py:96 assets/serializers/platform.py:126
msgid "Charset"
msgstr "编码"

#: assets/models/platform.py:98 assets/serializers/platform.py:154
msgid "Domain enabled"
msgstr "启用网域"

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

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

#: assets/models/platform.py:102 assets/serializers/platform.py:135
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:124 assets/serializers/platform.py:129
#: authentication/serializers/connect_token_secret.py:29
#: authentication/serializers/connect_token_secret.py:72
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99
msgid "Protocols"
msgstr "协议组"

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

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

#: assets/serializers/asset/common.py:234
msgid "Platform not exist"
msgstr "平台不存在"

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

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

#: assets/serializers/asset/database.py:13
msgid "Default database"
msgstr "默认数据库"

#: assets/serializers/asset/database.py:28 common/db/fields.py:579
#: common/db/fields.py:584 common/serializers/fields.py:104
#: tickets/serializers/ticket/common.py:58
#: xpack/plugins/cloud/serializers/account_attrs.py:56
#: xpack/plugins/cloud/serializers/account_attrs.py:79
#: xpack/plugins/cloud/serializers/account_attrs.py:143
msgid "This field is required."
msgstr "该字段是必填项。"

#: assets/serializers/asset/gpt.py:20
msgid ""
"If the server cannot directly connect to the API address, you need set up an "
"HTTP proxy. e.g. http(s)://host:port"
msgstr ""
"如果服务器不能直接访问 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:299
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:112
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/cagegory.py:9
msgid "Constraints"
msgstr "约束"

#: assets/serializers/cagegory.py:15
msgid "Types"
msgstr "类型"

#: assets/serializers/gateway.py:23 common/validators.py:34
msgid "This field must be unique."
msgstr "字段必须唯一"

#: assets/serializers/label.py:12
msgid "Assets amount"
msgstr "资产数量"

#: assets/serializers/node.py:17
msgid "value"
msgstr "值"

#: assets/serializers/node.py:31
msgid "Can't contains: /"
msgstr "不能包含: /"

#: assets/serializers/platform.py:42
msgid "Gather accounts enabled"
msgstr "启用账号收集"

#: assets/serializers/platform.py:43
msgid "Gather accounts method"
msgstr "收集账号方式"

#: assets/serializers/platform.py:49
msgid "Port from addr"
msgstr "端口来自地址"

#: assets/serializers/platform.py:61
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:66
msgid "This protocol is required, and it must be set when adding assets."
msgstr "该协议是必填的，添加资产时必须设置"

#: assets/serializers/platform.py:69
msgid ""
"This protocol is default, when adding assets, it will be displayed by "
"default."
msgstr "该协议是默认的，添加资产时，将默认显示"

#: assets/serializers/platform.py:72
msgid "This protocol is public, asset will show this protocol to user"
msgstr "该协议是公开的，资产将向用户显示该协议并可以连接使用"

#: assets/serializers/platform.py:114
msgid "Help text"
msgstr "帮助"

#: assets/serializers/platform.py:115
msgid "Choices"
msgstr "选择"

#: assets/serializers/platform.py:130
msgid "Automation"
msgstr "自动化"

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

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

#: assets/serializers/platform.py:199
msgid "Protocols is required"
msgstr "协议是必填的"

#: assets/signal_handlers/asset.py:26 assets/tasks/ping.py:35
msgid "Test assets connectivity "
msgstr "测试资产可连接性"

#: assets/signal_handlers/asset.py:36
msgid "Gather asset hardware info"
msgstr "收集资产硬件信息"

#: assets/tasks/automation.py:24
msgid "Asset execute automation"
msgstr "资产执行自动化"

#: assets/tasks/gather_facts.py:21 assets/tasks/gather_facts.py:27
msgid "Gather assets facts"
msgstr "收集资产信息"

#: assets/tasks/gather_facts.py:39
msgid "Update assets hardware info: "
msgstr "更新资产硬件信息"

#: assets/tasks/gather_facts.py:47
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:28
msgid ""
"The task of self-checking is already running and cannot be started repeatedly"
msgstr "自检程序已经在运行，不能重复启动"

#: assets/tasks/nodes_amount.py:33
msgid "Periodic check the amount of assets under the node"
msgstr "周期性检查节点下资产数量"

#: assets/tasks/ping.py:20 assets/tasks/ping.py:26
msgid "Test assets connectivity"
msgstr "测试资产可连接性"

#: assets/tasks/ping.py:42
msgid "Test if the assets under the node are connectable "
msgstr "测试节点下资产是否可连接"

#: assets/tasks/ping_gateway.py:19 assets/tasks/ping_gateway.py:25
#: assets/tasks/ping_gateway.py:34
msgid "Test gateways connectivity"
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 "Audits"
msgstr "日志审计"

#: audits/backends/db.py:15
msgid "The text content is too long. Use Elasticsearch to store operation logs"
msgstr "文字内容太长。请使用 Elasticsearch 存储操作日志"

#: audits/backends/db.py:81
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
#: perms/const.py:17 rbac/tree.py:231
msgid "Delete"
msgstr "删除"

#: audits/const.py:15 perms/const.py:13
msgid "Upload"
msgstr "上传"

#: audits/const.py:16
msgid "Rename"
msgstr "重命名"

#: audits/const.py:17
msgid "Symlink"
msgstr "建立软链接"

#: audits/const.py:18 perms/const.py:14
msgid "Download"
msgstr "下载"

#: audits/const.py:19
msgid "Rename dir"
msgstr "映射目录"

#: audits/const.py:23 rbac/tree.py:229
#: terminal/templates/terminal/_msg_command_warning.html:18
msgid "View"
msgstr "查看"

#: audits/const.py:26
#: authentication/templates/authentication/_access_key_modal.html:22
#: rbac/tree.py:228
msgid "Create"
msgstr "创建"

#: audits/const.py:28 perms/const.py:12
msgid "Connect"
msgstr "连接"

#: audits/const.py:29 authentication/templates/authentication/login.html:240
#: authentication/templates/authentication/login.html:313
#: templates/_header_bar.html:89
msgid "Login"
msgstr "登录"

#: audits/const.py:30 ops/const.py:9
msgid "Change password"
msgstr "改密"

#: audits/const.py:35 settings/serializers/terminal.py:6
#: terminal/models/applet/host.py:25 terminal/models/component/terminal.py:163
#: terminal/serializers/session.py:46 terminal/serializers/session.py:55
msgid "Terminal"
msgstr "终端"

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

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

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

#: audits/const.py:43 terminal/models/applet/host.py:140
#: terminal/models/component/task.py:24
msgid "Task"
msgstr "任务"

#: audits/const.py:49
msgid "-"
msgstr "-"

#: audits/handler.py:117
msgid "Yes"
msgstr "是"

#: audits/handler.py:117
msgid "No"
msgstr "否"

#: audits/models.py:42
msgid "Job audit log"
msgstr "作业审计日志"

#: audits/models.py:51 audits/models.py:95 audits/models.py:166
#: terminal/models/session/session.py:38 terminal/models/session/sharing.py:99
msgid "Remote addr"
msgstr "远端地址"

#: audits/models.py:56 audits/serializers.py:34
msgid "Operate"
msgstr "操作"

#: audits/models.py:58
msgid "Filename"
msgstr "文件名"

#: audits/models.py:61 common/serializers/common.py:98
msgid "File"
msgstr "文件"

#: audits/models.py:62 terminal/backends/command/models.py:21
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18
#: terminal/models/session/sharing.py:81
#: terminal/templates/terminal/_msg_command_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:17
#: tickets/models/ticket/command_confirm.py:15
msgid "Session"
msgstr "会话"

#: audits/models.py:65
msgid "File transfer log"
msgstr "文件管理"

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

#: audits/models.py:90 audits/models.py:93 audits/models.py:139
#: audits/serializers.py:84
msgid "Resource"
msgstr "资源"

#: audits/models.py:96 audits/models.py:142 audits/models.py:168
#: terminal/serializers/command.py:75
msgid "Datetime"
msgstr "日期"

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

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

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

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

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

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

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

#: audits/models.py:183 tickets/models/ticket/login_confirm.py:10
msgid "Login IP"
msgstr "登录 IP"

#: audits/models.py:185
#: authentication/templates/authentication/_msg_different_city.html:11
#: tickets/models/ticket/login_confirm.py:11
msgid "Login city"
msgstr "登录城市"

#: audits/models.py:188 audits/serializers.py:64
msgid "User agent"
msgstr "用户代理"

#: audits/models.py:191 audits/serializers.py:48
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: users/forms/profile.py:65 users/models/user.py:776
#: users/serializers/profile.py:126
msgid "MFA"
msgstr "MFA"

#: audits/models.py:201
msgid "Date login"
msgstr "登录日期"

#: audits/models.py:203 audits/serializers.py:66
msgid "Authentication backend"
msgstr "认证方式"

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

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

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

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

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

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

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

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

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

#: audits/signal_handlers/login_log.py:31 authentication/notifications.py:73
#: authentication/views/login.py:75 authentication/views/wecom.py:159
#: notifications/backends/__init__.py:11 settings/serializers/auth/wecom.py:10
#: users/models/user.py:706 users/models/user.py:814
msgid "WeCom"
msgstr "企业微信"

#: audits/signal_handlers/login_log.py:32 authentication/views/feishu.py:122
#: authentication/views/login.py:87 notifications/backends/__init__.py:14
#: settings/serializers/auth/feishu.py:10
#: settings/serializers/auth/feishu.py:13 users/models/user.py:708
#: users/models/user.py:816
msgid "FeiShu"
msgstr "飞书"

#: audits/signal_handlers/login_log.py:33 authentication/views/dingtalk.py:159
#: authentication/views/login.py:81 notifications/backends/__init__.py:12
#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:707
#: users/models/user.py:815
msgid "DingTalk"
msgstr "钉钉"

#: audits/signal_handlers/login_log.py:34
#: authentication/models/temp_token.py:16
msgid "Temporary token"
msgstr "临时密码"

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

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

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

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

#: authentication/api/connection_token.py:301
msgid "Anonymous account is not supported for this asset"
msgstr "匿名账号不支持当前资产"

#: authentication/api/connection_token.py:323
msgid "Account not found"
msgstr "账号未找到"

#: authentication/api/connection_token.py:326
msgid "Permission expired"
msgstr "授权已过期"

#: authentication/api/connection_token.py:340
msgid "ACL action is reject: {}({})"
msgstr "ACL 动作是拒绝: {}({})"

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

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

#: authentication/api/password.py:32 terminal/api/session/session.py:259
#: users/views/profile/reset.py:44
msgid "User does not exist: {}"
msgstr "用户不存在: {}"

#: authentication/api/password.py:32 users/views/profile/reset.py:127
msgid "No user matched"
msgstr "没有匹配到用户"

#: authentication/api/password.py:36
msgid ""
"The user is from {}, please go to the corresponding system to change the "
"password"
msgstr "用户来自 {} 请去相应系统修改密码"

#: authentication/api/password.py:60
#: authentication/templates/authentication/login.html:305
#: users/templates/users/forgot_password.html:27
#: users/templates/users/forgot_password.html:28
#: users/templates/users/forgot_password_previewing.html:13
#: users/templates/users/forgot_password_previewing.html:14
msgid "Forgot password"
msgstr "忘记密码"

#: authentication/apps.py:7 settings/serializers/auth/base.py:10
msgid "Authentication"
msgstr "认证"

#: authentication/backends/custom.py:59
#: authentication/backends/oauth2/backends.py:170
msgid "User invalid, disabled or expired"
msgstr "用户无效，已禁用或已过期"

#: authentication/backends/drf.py:54
msgid "Invalid signature header. No credentials provided."
msgstr "不合法的签名头"

#: authentication/backends/drf.py:57
msgid "Invalid signature header. Signature string should not contain spaces."
msgstr "不合法的签名头"

#: authentication/backends/drf.py:64
msgid "Invalid signature header. Format like AccessKeyId:Signature"
msgstr "不合法的签名头"

#: authentication/backends/drf.py:68
msgid ""
"Invalid signature header. Signature string should not contain invalid "
"characters."
msgstr "不合法的签名头"

#: authentication/backends/drf.py:88 authentication/backends/drf.py:104
msgid "Invalid signature."
msgstr "签名无效"

#: authentication/backends/drf.py:95
msgid "HTTP header: Date not provide or not %a, %d %b %Y %H:%M:%S GMT"
msgstr "HTTP header not valid"

#: authentication/backends/drf.py:100
msgid "Expired, more than 15 minutes"
msgstr "已过期，超过15分钟"

#: authentication/backends/drf.py:107
msgid "User disabled."
msgstr "用户已禁用"

#: authentication/backends/drf.py:125
msgid "Invalid token header. No credentials provided."
msgstr "无效的令牌头。没有提供任何凭据。"

#: authentication/backends/drf.py:128
msgid "Invalid token header. Sign string should not contain spaces."
msgstr "无效的令牌头。符号字符串不应包含空格。"

#: authentication/backends/drf.py:135
msgid ""
"Invalid token header. Sign string should not contain invalid characters."
msgstr "无效的令牌头。符号字符串不应包含无效字符。"

#: authentication/backends/drf.py:146
msgid "Invalid token or cache refreshed."
msgstr "刷新的令牌或缓存无效。"

#: authentication/confirm/password.py:16
msgid "Authentication failed password incorrect"
msgstr "认证失败 (用户名或密码不正确)"

#: authentication/confirm/relogin.py:10
msgid "Login time has exceeded {} minutes, please login again"
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:23
msgid "Password expired"
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:145
msgid "Current IP and Time period is not allowed"
msgstr "当前 IP 和时间段不被允许登录"

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

#: authentication/errors/failed.py:155
msgid "Please enter SMS code"
msgstr "请输入短信验证码"

#: authentication/errors/failed.py:160 users/exceptions.py:15
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:61
msgid "WeCom is already bound"
msgstr "企业微信已经绑定"

#: authentication/errors/mfa.py:23 authentication/views/wecom.py:202
#: authentication/views/wecom.py:244
msgid "WeCom is not bound"
msgstr "没有绑定企业微信"

#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:209
#: authentication/views/dingtalk.py:251
msgid "DingTalk is not bound"
msgstr "钉钉没有绑定"

#: authentication/errors/mfa.py:33 authentication/views/feishu.py:166
msgid "FeiShu is not bound"
msgstr "没有绑定飞书"

#: authentication/errors/mfa.py:38
msgid "Your password is invalid"
msgstr "您的密码无效"

#: authentication/errors/redirect.py:85 authentication/mixins.py:318
msgid "Your password is too simple, please change it for security"
msgstr "你的密码过于简单，为了安全，请修改"

#: authentication/errors/redirect.py:93 authentication/mixins.py:325
msgid "You should to change your password before login"
msgstr "登录完成前，请先修改密码"

#: authentication/errors/redirect.py:101 authentication/mixins.py:332
msgid "Your password has expired, please reset before logging in"
msgstr "您的密码已过期，先修改再登录"

#: authentication/forms.py:45
msgid "{} days auto login"
msgstr "{} 天内自动登录"

#: authentication/forms.py:56
msgid "MFA Code"
msgstr "MFA 验证码"

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

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

#: authentication/forms.py:70 users/forms/profile.py:28
msgid "MFA code"
msgstr "MFA 验证码"

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

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

#: authentication/mfa/custom.py:20
msgid "MFA Custom code invalid"
msgstr "自定义 MFA 验证码校验失败"

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

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

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

#: authentication/mfa/otp.py:12
msgid "OTP"
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/radius.py:7
msgid "Radius verify code invalid"
msgstr "Radius 校验失败"

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

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

#: authentication/mfa/sms.py:7
msgid "SMS verify code invalid"
msgstr "短信验证码校验失败"

#: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16
#: authentication/serializers/password_mfa.py:24
#: settings/serializers/auth/sms.py:28 users/forms/profile.py:104
#: users/forms/profile.py:109 users/templates/users/forgot_password.html:112
#: users/views/profile/reset.py:79
msgid "SMS"
msgstr "短信"

#: authentication/mfa/sms.py:13
msgid "SMS verification code"
msgstr "短信验证码"

#: authentication/mfa/sms.py:57
msgid "Set phone number to enable"
msgstr "设置手机号码启用"

#: authentication/mfa/sms.py:61
msgid "Clear phone number to disable"
msgstr "清空手机号码禁用"

#: authentication/middleware.py:93 settings/utils/ldap.py:661
msgid "Authentication failed (before login check failed): {}"
msgstr "认证失败（登录前检查失败）: {}"

#: authentication/mixins.py:91
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:268
msgid "The MFA type ({}) is not enabled"
msgstr "该 MFA ({}) 方式没有启用"

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

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

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

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

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

#: authentication/models/connection_token.py:43
msgid "Connect options"
msgstr "连接项"

#: authentication/models/connection_token.py:44
#: rbac/serializers/rolebinding.py:21
msgid "User display"
msgstr "用户名称"

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

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

#: authentication/models/connection_token.py:47
#: authentication/models/temp_token.py:13 perms/models/asset_permission.py:74
#: tickets/models/ticket/apply_application.py:31
#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:797
msgid "Date expired"
msgstr "失效日期"

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

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

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

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

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

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

#: authentication/models/connection_token.py:122
msgid "No user or invalid user"
msgstr "没有用户或用户失效"

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

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

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

#: authentication/models/private_token.py:9
msgid "Private Token"
msgstr "私有令牌"

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

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

#: authentication/serializers/connect_token_secret.py:124
msgid "Component"
msgstr "组件"

#: authentication/serializers/connect_token_secret.py:135
msgid "Expired now"
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:71 perms/serializers/permission.py:36
#: perms/serializers/permission.py:56
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:18
msgid "Actions"
msgstr "动作"

#: authentication/serializers/connection_token.py:42
#: perms/serializers/permission.py:38 perms/serializers/permission.py:57
#: users/serializers/user.py:96 users/serializers/user.py:172
msgid "Is expired"
msgstr "已过期"

#: authentication/serializers/password_mfa.py:16
#: authentication/serializers/password_mfa.py:24
#: notifications/backends/__init__.py:10 settings/serializers/email.py:19
#: settings/serializers/email.py:50 users/forms/profile.py:102
#: users/forms/profile.py:109 users/models/user.py:755
#: users/templates/users/forgot_password.html:117
#: users/views/profile/reset.py:73
msgid "Email"
msgstr "邮箱"

#: authentication/serializers/password_mfa.py:29
#: users/templates/users/forgot_password.html:108
msgid "The {} cannot be empty"
msgstr "{} 不能为空"

#: authentication/serializers/token.py:79 perms/serializers/permission.py:37
#: perms/serializers/permission.py:58 users/serializers/user.py:97
#: users/serializers/user.py:170
msgid "Is valid"
msgstr "是否有效"

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

#: 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/security.py:39 users/models/user.py:601
#: users/serializers/profile.py:116
#: users/templates/users/user_verify_mfa.html:36
msgid "Disable"
msgstr "禁用"

#: authentication/templates/authentication/_access_key_modal.html:67
#: users/models/user.py:602 users/serializers/profile.py:117
#: users/templates/users/mfa_setting.html:26
#: users/templates/users/mfa_setting.html:68
msgid "Enable"
msgstr "启用"

#: authentication/templates/authentication/_access_key_modal.html:147
msgid "Delete success"
msgstr "删除成功"

#: authentication/templates/authentication/_access_key_modal.html:155
#: authentication/templates/authentication/_mfa_confirm_modal.html:53
#: templates/_modal.html:22 tickets/const.py:44
msgid "Close"
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_oauth_bind.html:3
#: authentication/templates/authentication/_msg_reset_password.html:3
#: authentication/templates/authentication/_msg_reset_password_code.html:9
#: authentication/templates/authentication/_msg_rest_password_success.html:2
#: authentication/templates/authentication/_msg_rest_public_key_success.html:2
#: jumpserver/conf.py:431
#: perms/templates/perms/_msg_item_permissions_expire.html:3
#: perms/templates/perms/_msg_permed_items_expire.html:3
#: tickets/templates/tickets/approve_check_password.html:33
#: users/templates/users/_msg_account_expire_reminder.html:4
#: users/templates/users/_msg_password_expire_reminder.html:4
#: users/templates/users/_msg_reset_mfa.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:10
msgid "Login time"
msgstr "登录日期"

#: authentication/templates/authentication/_msg_different_city.html:16
msgid ""
"If you suspect that the login behavior is abnormal, please modify the "
"account password in time."
msgstr "若怀疑此次登录行为异常，请及时修改账号密码"

#: authentication/templates/authentication/_msg_oauth_bind.html:6
msgid "Your account has just been bound to"
msgstr "您的帐户刚刚绑定到"

#: authentication/templates/authentication/_msg_oauth_bind.html: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:16
#: users/templates/users/_msg_user_created.html:22
msgid "This link is valid for 1 hour. After it expires"
msgstr "这个链接有效期1小时, 超过时间您可以"

#: authentication/templates/authentication/_msg_reset_password.html:17
#: users/templates/users/_msg_user_created.html:23
msgid "request new one"
msgstr "重新申请"

#: authentication/templates/authentication/_msg_reset_password_code.html:12
#: terminal/models/session/sharing.py:25 terminal/models/session/sharing.py:83
#: users/forms/profile.py:107 users/templates/users/forgot_password.html:66
msgid "Verify code"
msgstr "验证码"

#: authentication/templates/authentication/_msg_reset_password_code.html:15
msgid ""
"Copy the verification code to the Reset Password page to reset the password."
msgstr "将验证码复制到重置密码页面，重置密码。"

#: authentication/templates/authentication/_msg_reset_password_code.html:18
msgid "The validity period of the verification code is one minute"
msgstr "验证码有效期为 1 分钟"

#: 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:13
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:14
#: authentication/templates/authentication/_msg_rest_public_key_success.html:14
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:13
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:17
msgid "Cancel"
msgstr "取消"

#: authentication/templates/authentication/login.html:320
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:29
#: 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:41
msgid "Refresh"
msgstr "刷新"

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

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

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

#: authentication/utils.py:28 common/utils/ip/geoip/utils.py:24
#: xpack/plugins/cloud/const.py:29
msgid "LAN"
msgstr "局域网"

#: authentication/views/base.py:61
#: perms/templates/perms/_msg_permed_items_expire.html:21
msgid "If you have any question, please contact the administrator"
msgstr "如果有疑问或需求，请联系系统管理员"

#: authentication/views/dingtalk.py:41
msgid "DingTalk Error, Please contact your system administrator"
msgstr "钉钉错误，请联系系统管理员"

#: authentication/views/dingtalk.py:44 authentication/views/dingtalk.py:208
msgid "DingTalk Error"
msgstr "钉钉错误"

#: authentication/views/dingtalk.py:56 authentication/views/feishu.py:50
#: authentication/views/wecom.py:57
msgid ""
"The system configuration is incorrect. Please contact your administrator"
msgstr "企业配置错误，请联系系统管理员"

#: authentication/views/dingtalk.py:60
msgid "DingTalk is already bound"
msgstr "钉钉已经绑定"

#: authentication/views/dingtalk.py:128 authentication/views/wecom.py:129
msgid "Invalid user_id"
msgstr "无效的 user_id"

#: authentication/views/dingtalk.py:144
msgid "DingTalk query user failed"
msgstr "钉钉查询用户失败"

#: authentication/views/dingtalk.py:153
msgid "The DingTalk is already bound to another user"
msgstr "该钉钉已经绑定其他用户"

#: authentication/views/dingtalk.py:160
msgid "Binding DingTalk successfully"
msgstr "绑定 钉钉 成功"

#: authentication/views/dingtalk.py:210 authentication/views/dingtalk.py:245
msgid "Failed to get user from DingTalk"
msgstr "从钉钉获取用户失败"

#: authentication/views/dingtalk.py:252
msgid "Please login with a password and then bind the DingTalk"
msgstr "请使用密码登录，然后绑定钉钉"

#: authentication/views/feishu.py:38 authentication/views/feishu.py:165
msgid "FeiShu Error"
msgstr "飞书错误"

#: authentication/views/feishu.py:66
msgid "FeiShu is already bound"
msgstr "飞书已经绑定"

#: authentication/views/feishu.py:107
msgid "FeiShu query user failed"
msgstr "飞书查询用户失败"

#: authentication/views/feishu.py:116
msgid "The FeiShu is already bound to another user"
msgstr "该飞书已经绑定其他用户"

#: authentication/views/feishu.py:123
msgid "Binding FeiShu successfully"
msgstr "绑定 飞书 成功"

#: authentication/views/feishu.py:167
msgid "Failed to get user from FeiShu"
msgstr "从飞书获取用户失败"

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

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

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

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

#: authentication/views/login.py:328
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:333
msgid "No ticket found"
msgstr "没有发现工单"

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

#: authentication/views/login.py:370
msgid "Logout success, return login page"
msgstr "退出登录成功，返回到登录页面"

#: authentication/views/wecom.py:42
msgid "WeCom Error, Please contact your system administrator"
msgstr "企业微信错误，请联系系统管理员"

#: authentication/views/wecom.py:45 authentication/views/wecom.py:201
msgid "WeCom Error"
msgstr "企业微信错误"

#: authentication/views/wecom.py:144
msgid "WeCom query user failed"
msgstr "企业微信查询用户失败"

#: authentication/views/wecom.py:153
msgid "The WeCom is already bound to another user"
msgstr "该企业微信已经绑定其他用户"

#: authentication/views/wecom.py:160
msgid "Binding WeCom successfully"
msgstr "绑定 企业微信 成功"

#: authentication/views/wecom.py:203 authentication/views/wecom.py:238
msgid "Failed to get user from WeCom"
msgstr "从企业微信获取用户失败"

#: authentication/views/wecom.py:245
msgid "Please login with a password and then bind the WeCom"
msgstr "请使用密码登录，然后绑定企业微信"

#: common/api/action.py:51
msgid "Request file format may be wrong"
msgstr "上传的文件格式错误 或 其它类型资源的文件"

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

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

#: common/const/choices.py:15
msgid "Ready"
msgstr "准备"

#: common/const/choices.py:16 terminal/const.py:75 tickets/const.py:29
#: tickets/const.py:39
msgid "Pending"
msgstr "待定的"

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

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

#: common/const/common.py:5
#, 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:176
msgid "Encrypt field using Secret Key"
msgstr "加密的字段"

#: common/db/fields.py:567
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:574
msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\""
msgstr "无效类型，应为 all、ids 或 attrs"

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

#: common/db/fields.py:582 common/db/fields.py:587
msgid "Invalid attrs, should be a list of dict"
msgstr "无效的属性，应为dict列表"

#: common/db/fields.py:589
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.py:800
msgid "Updated by"
msgstr "最后更新者"

#: common/db/validators.py:9
msgid "Invalid port range, should be like and within {}-{}"
msgstr "无效的端口范围，应该在 {}-{} 之内"

#: common/drf/exc_handlers.py:26
msgid "Object"
msgstr "对象"

#: common/drf/metadata.py:127
msgid "Organization ID"
msgstr "组织 ID"

#: common/drf/parsers/base.py:21
msgid "The file content overflowed (The maximum length `{}` bytes)"
msgstr "文件内容太大 (最大长度 `{}` 字节)"

#: common/drf/parsers/base.py:195
msgid "Parse file error: {}"
msgstr "解析文件错误: {}"

#: common/drf/parsers/excel.py:14
msgid "Invalid excel file"
msgstr "无效的 excel 文件"

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

#: common/exceptions.py:15
#, 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:48
msgid "This action require confirm current user"
msgstr "此操作需要确认当前用户"

#: common/exceptions.py:56
msgid "Unexpect error occur"
msgstr "发生意外错误"

#: common/plugins/es.py:31
msgid "Invalid elasticsearch config"
msgstr "无效的 Elasticsearch 配置"

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

#: common/sdk/im/exceptions.py:23
msgid "Network error, please contact system administrator"
msgstr "网络错误，请联系系统管理员"

#: common/sdk/im/wecom/__init__.py:16
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/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:31
msgid "SMS provider not support: {}"
msgstr "短信服务商不支持：{}"

#: common/sdk/sms/endpoint.py:53
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:105
#, python-brace-format
msgid "Invalid pk \"{pk_value}\" - object does not exist."
msgstr "错误的 pk \"{pk_value}\" - 对象不存在"

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

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

#: common/serializers/fields.py:195
msgid "Invalid choice: {}"
msgstr "无效选项: {}"

#: common/tasks.py:20 common/utils/verify_code.py:16
msgid "Send email"
msgstr "发件邮件"

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

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

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

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

#: 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/mixins.py:74
msgid "Export all"
msgstr "导出所有"

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

#: common/views/mixins.py:81
#, python-format
msgid "Export filtered: %s"
msgstr "导出搜素: %s"

#: common/views/mixins.py:90
#, python-format
msgid "User %s view/export secret"
msgstr "用户 %s 查看/导出 了密码"

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

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

#: jumpserver/context_processor.py:12
msgid "JumpServer Open Source Bastion Host"
msgstr "JumpServer 开源堡垒机"

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

#: jumpserver/views/other.py:26
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:70
msgid "Websocket server run on port: {}, you should proxy it on nginx"
msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置"

#: jumpserver/views/other.py:84
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>"

#: notifications/apps.py:7
msgid "Notifications"
msgstr "通知"

#: notifications/backends/__init__.py:13
msgid "Site message"
msgstr "站内信"

#: notifications/models/notification.py:14
msgid "receive backend"
msgstr "消息后端"

#: notifications/models/notification.py:18
msgid "User message"
msgstr "用户消息"

#: notifications/models/notification.py:21
msgid "{} subscription"
msgstr "{} 订阅"

#: notifications/models/notification.py:34
msgid "System message"
msgstr "系统信息"

#: notifications/notifications.py:46
msgid "Publish the station message"
msgstr "发布站内消息"

#: ops/ansible/inventory.py:82
msgid "No account available"
msgstr "无可用账号"

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

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

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

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

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

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

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

#: ops/apps.py:9 ops/notifications.py:17 rbac/tree.py:55
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: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
msgid "Adhoc"
msgstr "命令"

#: ops/const.py:39 ops/models/job.py:103
msgid "Playbook"
msgstr "Playbook"

#: ops/const.py:43
msgid "Privileged Only"
msgstr "仅限特权账号"

#: ops/const.py:44
msgid "Privileged First"
msgstr "特权账号优先"

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

#: ops/const.py:51
msgid "Python"
msgstr "Python"

#: ops/const.py:57
msgid "Timeout"
msgstr "超时"

#: ops/exception.py:6
msgid "no valid program entry found."
msgstr "没有可用程序入口"

#: ops/mixin.py:26 ops/mixin.py:89 settings/serializers/auth/ldap.py:73
msgid "Cycle perform"
msgstr "周期执行"

#: ops/mixin.py:30 ops/mixin.py:87 ops/mixin.py:106
#: settings/serializers/auth/ldap.py:70
msgid "Regularly perform"
msgstr "定期执行"

#: ops/mixin.py:109
msgid "Interval"
msgstr "间隔"

#: ops/mixin.py:119
msgid "* Please enter a valid crontab expression"
msgstr "* 请输入有效的 crontab 表达式"

#: ops/mixin.py:126
msgid "Range {} to {}"
msgstr "输入在 {} - {} 范围之间"

#: ops/mixin.py:137
msgid "Require periodic or regularly perform setting"
msgstr "需要周期或定期设置"

#: ops/models/adhoc.py:21
msgid "Pattern"
msgstr "模式"

#: ops/models/adhoc.py:23 ops/models/job.py:98
msgid "Module"
msgstr "模块"

#: ops/models/adhoc.py:24 ops/models/celery.py:58 ops/models/job.py:97
#: terminal/models/component/task.py:16
msgid "Args"
msgstr "参数"

#: ops/models/adhoc.py:25 ops/models/base.py:16 ops/models/base.py:53
#: ops/models/job.py:106 ops/models/job.py:192 ops/models/playbook.py:25
#: terminal/models/session/sharing.py:23
msgid "Creator"
msgstr "创建者"

#: ops/models/base.py:19
msgid "Account policy"
msgstr "账号策略"

#: ops/models/base.py:20
msgid "Last execution"
msgstr "最后执行"

#: ops/models/base.py:22 ops/serializers/job.py:19
msgid "Date last run"
msgstr "最后运行日期"

#: ops/models/base.py:51 ops/models/job.py:190
#: xpack/plugins/cloud/models.py:162
msgid "Result"
msgstr "结果"

#: ops/models/base.py:52 ops/models/job.py:191
msgid "Summary"
msgstr "汇总"

#: ops/models/celery.py:16
msgid "Date last publish"
msgstr "发布日期"

#: ops/models/celery.py:47
msgid "Celery Task"
msgstr "Celery 任务"

#: ops/models/celery.py:50
msgid "Can view task monitor"
msgstr "可以查看任务监控"

#: ops/models/celery.py:59 terminal/models/component/task.py:17
msgid "Kwargs"
msgstr "其它参数"

#: ops/models/celery.py:61 terminal/models/session/sharing.py:114
#: tickets/const.py:25
msgid "Finished"
msgstr "结束"

#: ops/models/celery.py:62
msgid "Date published"
msgstr "发布日期"

#: ops/models/celery.py:86
msgid "Celery Task Execution"
msgstr "Celery 任务执行"

#: ops/models/job.py:100
msgid "Chdir"
msgstr "运行目录"

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

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

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

#: ops/models/job.py:110
msgid "Runas"
msgstr "运行用户"

#: ops/models/job.py:112
msgid "Runas policy"
msgstr "用户策略"

#: ops/models/job.py:174
msgid "Job"
msgstr "作业"

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

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

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

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

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

#: ops/notifications.py:18
msgid "Server performance"
msgstr "监控告警"

#: ops/notifications.py:24
msgid "Terminal health check warning"
msgstr "终端健康状况检查警告"

#: ops/notifications.py:69
#, python-brace-format
msgid "The terminal is offline: {name}"
msgstr "终端已离线: {name}"

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

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

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

#: ops/serializers/job.py:17
msgid "Run after save"
msgstr "保存后执行"

#: ops/serializers/job.py:54
msgid "Job type"
msgstr "任务类型"

#: ops/serializers/job.py:57 terminal/serializers/session.py:47
msgid "Is finished"
msgstr "是否完成"

#: ops/serializers/job.py:58
msgid "Time cost"
msgstr "花费时间"

#: ops/tasks.py:34
msgid "Run ansible task"
msgstr "运行 Ansible 任务"

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

#: ops/tasks.py:85
msgid "Clear celery periodic tasks"
msgstr "清理周期任务"

#: ops/tasks.py:106
msgid "Create or update periodic tasks"
msgstr "创建或更新周期任务"

#: ops/tasks.py:114
msgid "Periodic check service performance"
msgstr "周期检测服务性能"

#: ops/tasks.py:120
msgid "Clean up unexpected jobs"
msgstr "清理异常作业"

#: ops/templates/ops/celery_task_log.html:4
msgid "Task log"
msgstr "任务列表"

#: ops/templates/ops/celery_task_log.html:71
msgid "Task name"
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:62
msgid "The current organization ({}) cannot be deleted"
msgstr "当前组织 ({}) 不能被删除"

#: orgs/api.py:67
msgid ""
"LDAP synchronization is set to the current organization. Please switch to "
"another organization before deleting"
msgstr "LDAP 同步设置组织为当前组织，请切换其他组织后再进行删除操作"

#: orgs/api.py:77
msgid "The organization have resource ({}) cannot be deleted"
msgstr "组织存在资源 ({}) 不能被删除"

#: orgs/apps.py:7 rbac/tree.py:119
msgid "App organizations"
msgstr "组织管理"

#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89
#: rbac/const.py:7 rbac/models/rolebinding.py:56
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63
#: terminal/templates/terminal/_msg_command_warning.html:21
#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60
msgid "Organization"
msgstr "组织"

#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:23
msgid "Org name"
msgstr "组织名称"

#: orgs/models.py:13
msgid "GLOBAL"
msgstr "全局组织"

#: orgs/models.py:15
msgid "DEFAULT"
msgstr "默认组织"

#: orgs/models.py:17
msgid "SYSTEM"
msgstr "系统组织"

#: orgs/models.py:81 rbac/models/role.py:36 terminal/models/applet/applet.py:40
msgid "Builtin"
msgstr "内置的"

#: orgs/models.py:91
msgid "Can view root org"
msgstr "可以查看全局组织"

#: orgs/models.py:92
msgid "Can view all joined org"
msgstr "可以查看所有加入的组织"

#: orgs/tasks.py:9
msgid "Refresh organization cache"
msgstr "刷新组织缓存"

#: perms/apps.py:9
msgid "App permissions"
msgstr "授权管理"

#: perms/const.py:12
msgid "All protocols"
msgstr "所有协议"

#: perms/const.py:15
msgid "Copy"
msgstr "复制"

#: perms/const.py:16
msgid "Paste"
msgstr "粘贴"

#: perms/const.py:27
msgid "Transfer"
msgstr "文件传输"

#: perms/const.py:28
msgid "Clipboard"
msgstr "剪贴板"

#: perms/models/asset_permission.py:83
msgid "Asset permission"
msgstr "资产授权"

#: perms/models/perm_node.py:68
msgid "Ungrouped"
msgstr "未分组"

#: perms/models/perm_node.py:70
msgid "Favorite"
msgstr "收藏夹"

#: perms/models/perm_node.py:121
msgid "Permed asset"
msgstr "授权的资产"

#: perms/models/perm_node.py:123
msgid "Can view my assets"
msgstr "可以查看我的资产"

#: perms/models/perm_node.py:124
msgid "Can view user assets"
msgstr "可以查看用户授权的资产"

#: perms/models/perm_node.py:125
msgid "Can view usergroup assets"
msgstr "可以查看用户组授权的资产"

#: perms/models/perm_node.py:136
msgid "Permed account"
msgstr "授权账号"

#: perms/notifications.py:12 perms/notifications.py:44
msgid "today"
msgstr "今天"

#: perms/notifications.py:15
msgid "You permed assets 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/tasks.py:27
msgid "Check asset permission expired"
msgstr "校验资产授权规则已过期"

#: perms/tasks.py:40
msgid "Send asset permission expired notification"
msgstr "发送资产权限过期通知"

#: perms/templates/perms/_msg_item_permissions_expire.html:7
#: perms/templates/perms/_msg_permed_items_expire.html:7
#, python-format
msgid ""
"\n"
"        The following %(item_type)s will expire in %(count)s days\n"
"    "
msgstr ""
"\n"
"        以下 %(item_type)s 即将在 %(count)s 天后过期\n"
"    "

#: 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:87
msgid "Internal role, can't be update"
msgstr "内部角色，不能更新"

#: rbac/api/rolebinding.py:52
msgid "{} at least one system role"
msgstr "{} 至少有一个系统角色"

#: rbac/apps.py:7
msgid "RBAC"
msgstr "RBAC"

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

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

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

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

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

#: rbac/builtin.py:132
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/permission.py:27 rbac/models/role.py:34
msgid "Permissions"
msgstr "授权"

#: rbac/models/role.py:31 rbac/models/rolebinding.py:46
#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:36
msgid "Scope"
msgstr "范围"

#: rbac/models/role.py:46 rbac/models/rolebinding.py:52
#: users/models/user.py:763
msgid "Role"
msgstr "角色"

#: rbac/models/role.py:144
msgid "System role"
msgstr "系统角色"

#: rbac/models/role.py:152
msgid "Organization role"
msgstr "组织角色"

#: rbac/models/rolebinding.py:61
msgid "Role binding"
msgstr "角色绑定"

#: rbac/models/rolebinding.py:153
msgid "All organizations"
msgstr "所有组织"

#: rbac/models/rolebinding.py:182
msgid ""
"User last role in org, can not be delete, you can remove user from org "
"instead"
msgstr "用户最后一个角色，不能删除，你可以将用户从组织移除"

#: rbac/models/rolebinding.py:189
msgid "Organization role binding"
msgstr "组织角色绑定"

#: rbac/models/rolebinding.py:204
msgid "System role binding"
msgstr "系统角色绑定"

#: rbac/serializers/permission.py:25 users/serializers/profile.py:132
msgid "Perms"
msgstr "权限"

#: rbac/serializers/role.py:27 users/serializers/group.py:30
msgid "Users amount"
msgstr "用户数量"

#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:33
msgid "Display name"
msgstr "显示名称"

#: rbac/serializers/rolebinding.py:22
msgid "Role display"
msgstr "角色显示"

#: rbac/serializers/rolebinding.py:56
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:158
msgid "System setting"
msgstr "系统设置"

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

#: rbac/tree.py:47
msgid "Cloud import"
msgstr "云同步"

#: rbac/tree.py:48
msgid "Backup account"
msgstr "备份账号"

#: rbac/tree.py:49
msgid "Gather account"
msgstr "收集账号"

#: rbac/tree.py:51
msgid "Asset change auth"
msgstr "资产改密"

#: rbac/tree.py:52
msgid "Terminal setting"
msgstr "终端设置"

#: rbac/tree.py:53
msgid "Task Center"
msgstr "任务中心"

#: rbac/tree.py:54
msgid "My assets"
msgstr "我的资产"

#: rbac/tree.py:56 terminal/models/applet/applet.py:51
#: terminal/models/applet/applet.py:244 terminal/models/applet/host.py:28
#: terminal/serializers/applet.py:15
msgid "Applet"
msgstr "远程应用"

#: rbac/tree.py:120
msgid "Ticket comment"
msgstr "工单评论"

#: rbac/tree.py:121 tickets/models/ticket/general.py:307
msgid "Ticket"
msgstr "工单管理"

#: rbac/tree.py:122
msgid "Common setting"
msgstr "一般设置"

#: rbac/tree.py:123
msgid "View permission tree"
msgstr "查看授权树"

#: settings/api/dingtalk.py:31 settings/api/feishu.py:36
#: settings/api/sms.py:155 settings/api/wecom.py:37
msgid "Test success"
msgstr "测试成功"

#: settings/api/email.py:21
msgid "Test mail sent to {}, please check"
msgstr "邮件已经发送{}, 请检查"

#: settings/api/ldap.py:176
msgid "Synchronization start, please wait."
msgstr "同步开始，请稍等"

#: settings/api/ldap.py:180
msgid "Synchronization is running, please wait."
msgstr "同步正在运行，请稍等"

#: settings/api/ldap.py:185
msgid "Synchronization error: {}"
msgstr "同步错误: {}"

#: settings/api/ldap.py:223
msgid "Get ldap users is None"
msgstr "获取 LDAP 用户为 None"

#: settings/api/ldap.py:233
msgid "Imported {} users successfully (Organization: {})"
msgstr "成功导入 {} 个用户 ( 组织: {} )"

#: settings/api/sms.py:137
msgid "Invalid SMS platform"
msgstr "无效的短信平台"

#: settings/api/sms.py:143
msgid "test_phone is required"
msgstr "测试手机号 该字段是必填项。"

#: settings/apps.py:7
msgid "Settings"
msgstr "系统设置"

#: settings/models.py:35
msgid "Encrypted"
msgstr "加密的"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: settings/serializers/auth/base.py:16
msgid "FeiShu Auth"
msgstr "飞书 认证"

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

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

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

#: settings/serializers/auth/base.py:22 settings/serializers/basic.py:38
msgid "Forgot password url"
msgstr "忘记密码 URL"

#: settings/serializers/auth/base.py:28
msgid "Enable login redirect msg"
msgstr "启用登录跳转提示"

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

#: settings/serializers/auth/cas.py:12
msgid "Enable CAS Auth"
msgstr "启用 CAS 认证"

#: settings/serializers/auth/cas.py:13 settings/serializers/auth/oidc.py:54
msgid "Server url"
msgstr "服务端地址"

#: settings/serializers/auth/cas.py:16
msgid "Proxy server url"
msgstr "回调地址"

#: settings/serializers/auth/cas.py:18 settings/serializers/auth/oauth2.py:54
#: settings/serializers/auth/saml2.py:33
msgid "Logout completely"
msgstr "同步注销"

#: settings/serializers/auth/cas.py:23
msgid "Username attr"
msgstr "用户名属性"

#: settings/serializers/auth/cas.py:26
msgid "Enable attributes map"
msgstr "启用属性映射"

#: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32
msgid "Rename attr"
msgstr "映射属性"

#: settings/serializers/auth/cas.py:29
msgid "Create user if not"
msgstr "创建用户(如果不存在)"

#: settings/serializers/auth/dingtalk.py:15
msgid "Enable DingTalk Auth"
msgstr "启用钉钉认证"

#: settings/serializers/auth/feishu.py:16
msgid "Enable FeiShu Auth"
msgstr "启用飞书认证"

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

#: settings/serializers/auth/ldap.py:42
msgid "LDAP server"
msgstr "LDAP 地址"

#: settings/serializers/auth/ldap.py:43
msgid "eg: ldap://localhost:389"
msgstr "如: ldap://localhost:389"

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

#: settings/serializers/auth/ldap.py:50
msgid "User OU"
msgstr "用户 OU"

#: settings/serializers/auth/ldap.py:51
msgid "Use | split multi OUs"
msgstr "多个 OU 使用 | 分割"

#: settings/serializers/auth/ldap.py:54
msgid "User search filter"
msgstr "用户过滤器"

#: settings/serializers/auth/ldap.py:55
#, python-format
msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)"
msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)"

#: settings/serializers/auth/ldap.py:58 settings/serializers/auth/oauth2.py:56
#: settings/serializers/auth/oidc.py:37
msgid "User attr map"
msgstr "用户属性映射"

#: settings/serializers/auth/ldap.py:59
msgid ""
"User attr map present how to map LDAP user attr to jumpserver, username,name,"
"email is jumpserver attr"
msgstr ""
"用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上，username, name,"
"email 是jumpserver的用户需要属性"

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

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

#: settings/serializers/auth/ldap.py:81
msgid "Enable LDAP auth"
msgstr "启用 LDAP 认证"

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

#: settings/serializers/auth/oauth2.py:21
msgid "Enable OAuth2 Auth"
msgstr "启用 OAuth2 认证"

#: settings/serializers/auth/oauth2.py:24
msgid "Logo"
msgstr "图标"

#: settings/serializers/auth/oauth2.py:27
msgid "Service provider"
msgstr "服务提供商"

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

#: settings/serializers/auth/oauth2.py:33 settings/serializers/auth/oidc.py:22
#: xpack/plugins/cloud/serializers/account_attrs.py:38
msgid "Client Secret"
msgstr "客户端密钥"

#: settings/serializers/auth/oauth2.py:39 settings/serializers/auth/oidc.py:68
msgid "Provider auth endpoint"
msgstr "授权端点地址"

#: settings/serializers/auth/oauth2.py:42 settings/serializers/auth/oidc.py:71
msgid "Provider token endpoint"
msgstr "token 端点地址"

#: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30
msgid "Client authentication method"
msgstr "客户端认证方式"

#: settings/serializers/auth/oauth2.py:49 settings/serializers/auth/oidc.py:77
msgid "Provider userinfo endpoint"
msgstr "用户信息端点地址"

#: settings/serializers/auth/oauth2.py:52 settings/serializers/auth/oidc.py:80
msgid "Provider end session endpoint"
msgstr "注销会话端点地址"

#: settings/serializers/auth/oauth2.py:59 settings/serializers/auth/oidc.py:98
#: settings/serializers/auth/saml2.py:34
msgid "Always update user"
msgstr "总是更新用户信息"

#: settings/serializers/auth/oidc.py:12
msgid "OIDC"
msgstr "OIDC"

#: settings/serializers/auth/oidc.py:16
msgid "Base site url"
msgstr "JumpServer 地址"

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

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

#: settings/serializers/auth/oidc.py:38
msgid ""
"User attr map present how to map OpenID user attr to jumpserver, username,"
"name,email is jumpserver attr"
msgstr ""
"用户属性映射代表怎样将OpenID中用户属性映射到jumpserver用户上，username, name,"
"email 是jumpserver的用户需要属性"

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

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

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

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

#: settings/serializers/auth/oidc.py:63
msgid "Enable OPENID Auth"
msgstr "启用 OIDC 认证"

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

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

#: settings/serializers/auth/oidc.py:83
msgid "Provider sign alg"
msgstr "签名算法"

#: settings/serializers/auth/oidc.py:86
msgid "Provider sign key"
msgstr "签名 Key"

#: settings/serializers/auth/oidc.py:88
msgid "Scopes"
msgstr "连接范围"

#: settings/serializers/auth/oidc.py:90
msgid "Id token max age (s)"
msgstr "令牌有效时间 (秒)"

#: settings/serializers/auth/oidc.py:93
msgid "Id token include claims"
msgstr "声明"

#: settings/serializers/auth/oidc.py:95
msgid "Use state"
msgstr "使用状态"

#: settings/serializers/auth/oidc.py:96
msgid "Use nonce"
msgstr "临时使用"

#: settings/serializers/auth/radius.py:13
msgid "Radius"
msgstr "Radius"

#: settings/serializers/auth/radius.py:15
msgid "Enable Radius Auth"
msgstr "启用 Radius 认证"

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

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

#: settings/serializers/auth/saml2.py:13
msgid "Enable SAML2 Auth"
msgstr "启用 SAML2 认证"

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

#: settings/serializers/auth/saml2.py:19
msgid "IDP metadata XML"
msgstr "IDP metadata XML"

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

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

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

#: settings/serializers/auth/sms.py:16
msgid "Enable SMS"
msgstr "启用 SMS"

#: settings/serializers/auth/sms.py:18
msgid "SMS provider / Protocol"
msgstr "短信服务商 / 协议"

#: settings/serializers/auth/sms.py:23 settings/serializers/auth/sms.py:45
#: settings/serializers/auth/sms.py:53 settings/serializers/auth/sms.py:62
#: settings/serializers/auth/sms.py:73 settings/serializers/email.py:69
msgid "Signature"
msgstr "签名"

#: settings/serializers/auth/sms.py:24 settings/serializers/auth/sms.py:46
#: settings/serializers/auth/sms.py:54 settings/serializers/auth/sms.py:63
msgid "Template code"
msgstr "模板"

#: settings/serializers/auth/sms.py:31
msgid "Test phone"
msgstr "测试手机号"

#: settings/serializers/auth/sms.py:60
msgid "App Access Address"
msgstr "应用地址"

#: settings/serializers/auth/sms.py:61
msgid "Signature channel number"
msgstr "签名通道号"

#: settings/serializers/auth/sms.py:69
msgid "Enterprise code(SP id)"
msgstr "企业代码(SP id)"

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

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

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

#: settings/serializers/auth/sms.py:76
#, 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:85
#, python-brace-format
msgid "The template needs to contain {code}"
msgstr "模板需要包含 {code}"

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

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

#: settings/serializers/auth/sms.py:102
msgid "Request method"
msgstr "请求方式"

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

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

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

#: settings/serializers/auth/sso.py:17
msgid "SSO auth key TTL"
msgstr "令牌有效期"

#: settings/serializers/auth/sso.py:17
#: xpack/plugins/cloud/serializers/account_attrs.py:193
msgid "Unit: second"
msgstr "单位: 秒"

#: settings/serializers/auth/wecom.py:15
msgid "Enable WeCom Auth"
msgstr "启用企业微信认证"

#: settings/serializers/basic.py:9
msgid "Subject"
msgstr "主题"

#: settings/serializers/basic.py:13
msgid "More url"
msgstr "更多信息 URL"

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

#: settings/serializers/basic.py:31
msgid "eg: http://dev.jumpserver.org:8080"
msgstr "如: http://dev.jumpserver.org:8080"

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

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

#: settings/serializers/basic.py:39
msgid ""
"The forgot password url on login page, If you use ldap or cas external "
"authentication, you can set it"
msgstr ""
"登录页面忘记密码URL, 如果使用了 LDAP, OPENID 等外部认证系统，可以自定义用户重"
"置密码访问的地址"

#: settings/serializers/basic.py:43
msgid "Global organization name"
msgstr "全局组织名"

#: settings/serializers/basic.py:44
msgid "The name of global organization to display"
msgstr "全局组织的显示名称，默认为 全局组织"

#: settings/serializers/basic.py:46
msgid "Enable announcement"
msgstr "启用公告"

#: settings/serializers/basic.py:47
msgid "Announcement"
msgstr "公告"

#: settings/serializers/basic.py:48
msgid "Enable tickets"
msgstr "启用工单"

#: settings/serializers/cleaning.py:8
msgid "Period clean"
msgstr "定時清掃"

#: settings/serializers/cleaning.py:12
msgid "Login log keep days (day)"
msgstr "登录日志（天）"

#: settings/serializers/cleaning.py:16
msgid "Task log keep days (day)"
msgstr "任务日志（天）"

#: settings/serializers/cleaning.py:20
msgid "Operate log keep days (day)"
msgstr "操作日志（天）"

#: settings/serializers/cleaning.py:24
msgid "FTP log keep days (day)"
msgstr "上传下载（天）"

#: settings/serializers/cleaning.py:28
msgid "Cloud sync record keep days (day)"
msgstr "云同步记录（天）"

#: settings/serializers/cleaning.py:31
msgid "Session keep duration (day)"
msgstr "会话日志（天）"

#: settings/serializers/cleaning.py:33
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:37
msgid "Activity log keep days (day)"
msgstr "活动记录（天）"

#: settings/serializers/email.py:21
msgid "SMTP host"
msgstr "SMTP 主机"

#: settings/serializers/email.py:22
msgid "SMTP port"
msgstr "SMTP 端口"

#: settings/serializers/email.py:23
msgid "SMTP account"
msgstr "SMTP 账号"

#: settings/serializers/email.py:25
msgid "SMTP password"
msgstr "SMTP 密码"

#: settings/serializers/email.py:26
msgid "Tips: Some provider use token except password"
msgstr "提示：一些邮件提供商需要输入的是授权码"

#: settings/serializers/email.py:29
msgid "Send user"
msgstr "发件人"

#: settings/serializers/email.py:30
msgid "Tips: Send mail account, default SMTP account as the send account"
msgstr "提示：发送邮件账号，默认使用 SMTP 账号作为发送账号"

#: settings/serializers/email.py:33
msgid "Test recipient"
msgstr "测试收件人"

#: settings/serializers/email.py:34
msgid "Tips: Used only as a test mail recipient"
msgstr "提示：仅用来作为测试邮件收件人"

#: settings/serializers/email.py:38
msgid "If SMTP port is 465, may be select"
msgstr "如果SMTP端口是465，通常需要启用 SSL"

#: settings/serializers/email.py:41
msgid "Use TLS"
msgstr "使用 TLS"

#: settings/serializers/email.py:42
msgid "If SMTP port is 587, may be select"
msgstr "如果SMTP端口是587，通常需要启用 TLS"

#: settings/serializers/email.py:45
msgid "Subject prefix"
msgstr "主题前缀"

#: settings/serializers/email.py:54
msgid "Create user email subject"
msgstr "邮件主题"

#: settings/serializers/email.py:55
msgid ""
"Tips: When creating a user, send the subject of the email (eg:Create account "
"successfully)"
msgstr "提示: 创建用户时，发送设置密码邮件的主题 (例如: 创建用户成功)"

#: settings/serializers/email.py:59
msgid "Create user honorific"
msgstr "邮件问候语"

#: settings/serializers/email.py:60
msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)"
msgstr "提示: 创建用户时，发送设置密码邮件的敬语 (例如: 你好)"

#: settings/serializers/email.py:64
msgid "Create user email content"
msgstr "邮件的内容"

#: settings/serializers/email.py:66
#, 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/email.py:70
msgid "Tips: Email signature (eg:jumpserver)"
msgstr "邮件署名 (如:jumpserver)"

#: settings/serializers/other.py:6
msgid "More..."
msgstr "更多..."

#: settings/serializers/other.py:9
msgid "Email suffix"
msgstr "邮件后缀"

#: settings/serializers/other.py:10
msgid ""
"This is used by default if no email is returned during SSO authentication"
msgstr "SSO认证时，如果没有返回邮件地址，将使用该后缀"

#: settings/serializers/other.py:14
msgid "OTP issuer name"
msgstr "OTP 扫描后的名称"

#: settings/serializers/other.py:18
msgid "OTP valid window"
msgstr "OTP 延迟有效次数"

#: settings/serializers/other.py:22
msgid "Perm ungroup node"
msgstr "显示未分组节点"

#: settings/serializers/other.py:23
msgid "Perm single to ungroup node"
msgstr ""
"放置单独授权的资产到未分组节点, 避免能看到资产所在节点，但该节点未被授权的问"
"题"

#: settings/serializers/other.py:28
msgid "Ticket authorize default time"
msgstr "默认工单授权时间"

#: settings/serializers/other.py:31
msgid "day"
msgstr "天"

#: settings/serializers/other.py:31
msgid "hour"
msgstr "时"

#: settings/serializers/other.py:32
msgid "Ticket authorize default time unit"
msgstr "默认工单授权时间单位"

#: settings/serializers/other.py:35
msgid "Help Docs URL"
msgstr "文档链接"

#: settings/serializers/other.py:36
msgid "default: http://docs.jumpserver.org"
msgstr "默认: http://dev.jumpserver.org:8080"

#: settings/serializers/other.py:40
msgid "Help Support URL"
msgstr "支持链接"

#: settings/serializers/other.py:41
msgid "default: http://www.jumpserver.org/support/"
msgstr "默认: http://www.jumpserver.org/support/"

#: settings/serializers/security.py:10
msgid "Password minimum length"
msgstr "密码最小长度"

#: settings/serializers/security.py:14
msgid "Admin user password minimum length"
msgstr "管理员密码最小长度"

#: settings/serializers/security.py:17
msgid "Must contain capital"
msgstr "必须包含大写字符"

#: settings/serializers/security.py:20
msgid "Must contain lowercase"
msgstr "必须包含小写字符"

#: settings/serializers/security.py:23
msgid "Must contain numeric"
msgstr "必须包含数字"

#: settings/serializers/security.py:26
msgid "Must contain special"
msgstr "必须包含特殊字符"

#: settings/serializers/security.py:31
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:40
msgid "All users"
msgstr "所有用户"

#: settings/serializers/security.py:41
msgid "Only admin users"
msgstr "仅管理员"

#: settings/serializers/security.py:43
msgid "Global MFA auth"
msgstr "全局启用 MFA 认证"

#: settings/serializers/security.py:47
msgid "Third-party login users perform MFA authentication"
msgstr "第三方登录用户进行MFA认证"

#: settings/serializers/security.py:48
msgid "The third-party login modes include OIDC, CAS, and SAML2"
msgstr "第三方登录方式包括: OIDC、CAS、SAML2"

#: settings/serializers/security.py:52
msgid "Limit the number of user login failures"
msgstr "限制用户登录失败次数"

#: settings/serializers/security.py:56
msgid "Block user login interval (minute)"
msgstr "禁止用户登录时间间隔（分）"

#: settings/serializers/security.py:61
msgid "Limit the number of IP login failures"
msgstr "限制 IP 登录失败次数"

#: settings/serializers/security.py:65
msgid "Block IP login interval (minute)"
msgstr "禁止 IP 登录时间间隔（分）"

#: settings/serializers/security.py:69
msgid "Login IP White List"
msgstr "IP 登录白名单"

#: settings/serializers/security.py:74
msgid "Login IP Black List"
msgstr "IP 登录黑名单"

#: settings/serializers/security.py:80
msgid "User password expiration (day)"
msgstr "用户密码过期时间（天）"

#: settings/serializers/security.py:82
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:89
msgid "Number of repeated historical passwords"
msgstr "不能设置近几次密码"

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

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

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

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

#: settings/serializers/security.py:102
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:105
msgid "Only from source login"
msgstr "仅从用户来源登录"

#: settings/serializers/security.py:107
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:111
msgid "MFA verify TTL (secend)"
msgstr "MFA 校验有效期（秒）"

#: settings/serializers/security.py:113
msgid ""
"The verification MFA takes effect only when you view the account password"
msgstr "目前仅在查看账号密码校验 MFA 时生效"

#: settings/serializers/security.py:118
msgid "Verify code TTL"
msgstr "验证码有效时间"

#: settings/serializers/security.py:119
msgid "Unit: second, reset password and send SMS code expiration time"
msgstr "重置密码的验证码及发送短信的验证码过期时间"

#: settings/serializers/security.py:123
msgid "Enable Login dynamic code"
msgstr "启用登录附加码"

#: settings/serializers/security.py:124
msgid ""
"The password and additional code are sent to a third party authentication "
"system for verification"
msgstr ""
"密码和附加码一并发送给第三方认证系统进行校验, 如：有的第三方认证系统，需要 密"
"码+6位数字 完成认证"

#: settings/serializers/security.py:129
msgid "MFA in login page"
msgstr "MFA 在登录页面输入"

#: settings/serializers/security.py:130
msgid "Eu security regulations(GDPR) require MFA to be on the login page"
msgstr "欧盟数据安全法规(GDPR) 要求 MFA 在登录页面，来确保系统登录安全"

#: settings/serializers/security.py:133
msgid "Enable Login captcha"
msgstr "启用登录验证码"

#: settings/serializers/security.py:134
msgid "Enable captcha to prevent robot authentication"
msgstr "开启验证码，防止机器人登录"

#: settings/serializers/security.py:156
msgid "Enable terminal register"
msgstr "终端注册"

#: settings/serializers/security.py:158
msgid ""
"Allow terminal register, after all terminal setup, you should disable this "
"for security"
msgstr "是否允许终端注册，当所有终端启动后，为了安全应该关闭"

#: settings/serializers/security.py:162
msgid "Enable watermark"
msgstr "开启水印"

#: settings/serializers/security.py:163
msgid "Enabled, the web session and replay contains watermark information"
msgstr "启用后，Web 会话和录像将包含水印信息"

#: settings/serializers/security.py:167
msgid "Connection max idle time (minute)"
msgstr "连接最大空闲时间（分）"

#: settings/serializers/security.py:168
msgid "If idle time more than it, disconnect connection."
msgstr "提示：如果超过该配置没有操作，连接会被断开"

#: settings/serializers/security.py:171
msgid "Remember manual auth"
msgstr "保存手动输入密码"

#: settings/serializers/security.py:174
msgid "Insecure command alert"
msgstr "危险命令告警"

#: settings/serializers/security.py:177
msgid "Email recipient"
msgstr "邮件收件人"

#: settings/serializers/security.py:178
msgid "Multiple user using , split"
msgstr "多个用户，使用 , 分割"

#: settings/serializers/security.py:181
msgid "Operation center"
msgstr "作业中心"

#: settings/serializers/security.py:182
msgid "Allow user run batch command or not using ansible"
msgstr "是否允许用户使用 ansible 执行批量命令"

#: settings/serializers/security.py:186
msgid "Operation center command blacklist"
msgstr "作业中心命令黑名单"

#: settings/serializers/security.py:187
msgid "Commands that are not allowed execute."
msgstr "不允许执行的命令"

#: settings/serializers/security.py:190
msgid "Session share"
msgstr "会话分享"

#: settings/serializers/security.py:191
msgid "Enabled, Allows user active session to be shared with other users"
msgstr "开启后允许用户分享已连接的资产会话给他人，协同工作"

#: settings/serializers/security.py:194
msgid "Remote Login Protection"
msgstr "异地登录保护"

#: settings/serializers/security.py:196
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/settings.py:70
#, python-format
msgid "[%s] %s"
msgstr "[%s] %s"

#: settings/serializers/terminal.py:9
msgid "Hostname"
msgstr "主机名"

#: settings/serializers/terminal.py:15
msgid "Auto"
msgstr "自动"

#: settings/serializers/terminal.py:21
msgid "Password auth"
msgstr "密码认证"

#: settings/serializers/terminal.py:23
msgid "Public key auth"
msgstr "密钥认证"

#: settings/serializers/terminal.py:24
msgid ""
"Tips: If use other auth method, like AD/LDAP, you should disable this to "
"avoid being able to log in after deleting"
msgstr ""
"提示：如果你使用其它认证方式，如 AD/LDAP，你应该禁用此项，以避免第三方系统删"
"除后，还可以登录"

#: settings/serializers/terminal.py:28
msgid "List sort by"
msgstr "资产列表排序"

#: settings/serializers/terminal.py:31
msgid "List page size"
msgstr "资产列表每页数量"

#: settings/serializers/terminal.py:34
msgid "Telnet login regex"
msgstr "Telnet 成功正则表达式"

#: settings/serializers/terminal.py:35
msgid ""
"Tips: The login success message varies with devices. if you cannot log in to "
"the device through Telnet, set this parameter"
msgstr ""
"提示: 不同设备登录成功提示不一样，所以如果 telnet 不能正常登录，可以这里设置"

#: settings/serializers/terminal.py:38
msgid "Enable database proxy"
msgstr "启用数据库组件"

#: settings/serializers/terminal.py:39
msgid "Enable Razor"
msgstr "启用 Razor 服务"

#: settings/serializers/terminal.py:40
msgid "Enable SSH Client"
msgstr "启用 SSH Client"

#: settings/serializers/terminal.py:51
msgid "Default graphics resolution"
msgstr "默认图形化分辨率"

#: settings/serializers/terminal.py:52
msgid ""
"Tip: Default resolution to use when connecting graphical assets in Luna pages"
msgstr "提示：在Luna 页面中连接图形化资产时默认使用的分辨率"

#: settings/tasks/ldap.py:24
msgid "Periodic import ldap user"
msgstr "周期导入 LDAP 用户"

#: settings/tasks/ldap.py:45
msgid "Registration periodic import ldap user task"
msgstr "注册周期导入 LDAP 用户 任务"

#: settings/utils/ldap.py:476
msgid "ldap:// or ldaps:// protocol is used."
msgstr "使用 ldap:// 或 ldaps:// 协议"

#: settings/utils/ldap.py:487
msgid "Host or port is disconnected: {}"
msgstr "主机或端口不可连接: {}"

#: settings/utils/ldap.py:489
msgid "The port is not the port of the LDAP service: {}"
msgstr "端口不是LDAP服务端口: {}"

#: settings/utils/ldap.py:491
msgid "Please add certificate: {}"
msgstr "请添加证书"

#: settings/utils/ldap.py:495 settings/utils/ldap.py:522
#: settings/utils/ldap.py:552 settings/utils/ldap.py:580
msgid "Unknown error: {}"
msgstr "未知错误: {}"

#: settings/utils/ldap.py:509
msgid "Bind DN or Password incorrect"
msgstr "绑定DN或密码错误"

#: settings/utils/ldap.py:516
msgid "Please enter Bind DN: {}"
msgstr "请输入绑定DN: {}"

#: settings/utils/ldap.py:518
msgid "Please enter Password: {}"
msgstr "请输入密码: {}"

#: settings/utils/ldap.py:520
msgid "Please enter correct Bind DN and Password: {}"
msgstr "请输入正确的绑定DN和密码: {}"

#: settings/utils/ldap.py:538
msgid "Invalid User OU or User search filter: {}"
msgstr "不合法的用户OU或用户过滤器: {}"

#: settings/utils/ldap.py:569
msgid "LDAP User attr map not include: {}"
msgstr "LDAP属性映射没有包含: {}"

#: settings/utils/ldap.py:576
msgid "LDAP User attr map is not dict"
msgstr "LDAP属性映射不合法"

#: settings/utils/ldap.py:595
msgid "LDAP authentication is not enabled"
msgstr "LDAP认证没有启用"

#: settings/utils/ldap.py:613
msgid "Error (Invalid LDAP server): {}"
msgstr "错误 （不合法的LDAP服务器地址）: {}"

#: settings/utils/ldap.py:615
msgid "Error (Invalid Bind DN): {}"
msgstr "错误（不合法的绑定DN）: {}"

#: settings/utils/ldap.py:617
msgid "Error (Invalid LDAP User attr map): {}"
msgstr "错误（不合法的LDAP属性映射）: {}"

#: settings/utils/ldap.py:619
msgid "Error (Invalid User OU or User search filter): {}"
msgstr "错误（不合法的用户OU或用户过滤器）: {}"

#: settings/utils/ldap.py:621
msgid "Error (Not enabled LDAP authentication): {}"
msgstr "错误（没有启用LDAP认证）: {}"

#: settings/utils/ldap.py:623
msgid "Error (Unknown): {}"
msgstr "错误（未知）: {}"

#: settings/utils/ldap.py:626
msgid "Succeed: Match {} s user"
msgstr "成功匹配 {} 个用户"

#: settings/utils/ldap.py:659
msgid "Authentication failed (configuration incorrect): {}"
msgstr "认证失败（配置错误）: {}"

#: settings/utils/ldap.py:663
msgid "Authentication failed (username or password incorrect): {}"
msgstr "认证失败 (用户名或密码不正确): {}"

#: settings/utils/ldap.py:665
msgid "Authentication failed (Unknown): {}"
msgstr "认证失败: (未知): {}"

#: settings/utils/ldap.py:668
msgid "Authentication success: {}"
msgstr "认证成功: {}"

#: templates/_csv_import_export.html:8
msgid "Export"
msgstr "导出"

#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5
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:25
msgid "Commercial support"
msgstr "商业支持"

#: templates/_header_bar.html:76 users/forms/profile.py:44
msgid "Profile"
msgstr "个人信息"

#: templates/_header_bar.html:79
msgid "Admin page"
msgstr "管理页面"

#: templates/_header_bar.html:81
msgid "User page"
msgstr "用户页面"

#: templates/_header_bar.html:84
msgid "API Key"
msgstr "API Key"

#: templates/_header_bar.html:85
msgid "Logout"
msgstr "注销登录"

#: templates/_message.html:6
msgid ""
"\n"
"                Your account has expired, please contact the administrator.\n"
"            "
msgstr ""
"\n"
"                您的账号已经过期，请联系管理员。            "

#: templates/_message.html:13
msgid "Your account will at"
msgstr "您的账号将于"

#: templates/_message.html:13 templates/_message.html:30
msgid "expired. "
msgstr "过期。"

#: templates/_message.html:23
#, python-format
msgid ""
"\n"
"                Your password has expired, please click <a "
"href=\"%(user_password_update_url)s\"> this link </a> update password.\n"
"            "
msgstr ""
"\n"
"                您的密码已经过期，请点击 <a "
"href=\"%(user_password_update_url)s\"> 链接 </a> 更新密码\n"
"        "

#: templates/_message.html:30
msgid "Your password will at"
msgstr "您的密码将于"

#: templates/_message.html:31
#, python-format
msgid ""
"\n"
"                please click <a href=\"%(user_password_update_url)s\"> this "
"link </a> to update your password.\n"
"            "
msgstr ""
"\n"
"                请点击 <a href=\"%(user_password_update_url)s\"> 链接 </a> 更"
"新密码\n"
"        "

#: templates/_message.html:43
#, python-format
msgid ""
"\n"
"        Your information was incomplete. Please click <a "
"href=\"%(first_login_url)s\"> this link </a>to complete your information.\n"
"        "
msgstr ""
"\n"
"                你的信息不完整,请点击 <a href=\"%(first_login_url)s\"> 链接 "
"</a> 补充完整\n"
"                "

#: templates/_message.html:56
#, python-format
msgid ""
"\n"
"        Your ssh public key not set or expired. Please click <a "
"href=\"%(user_pubkey_update)s\"> this link </a>to update\n"
"        "
msgstr ""
"\n"
"                您的SSH密钥没有设置或已失效，请点击 <a "
"href=\"%(user_pubkey_update)s\"> 链接 </a> 更新\n"
"        "

#: templates/_mfa_login_field.html:28
msgid "Send verification code"
msgstr "发送验证码"

#: templates/_mfa_login_field.html:106
#: users/templates/users/forgot_password.html:130
msgid "Wait: "
msgstr "等待："

#: templates/_mfa_login_field.html:116
#: users/templates/users/forgot_password.html:146
msgid "The verification code has been sent"
msgstr "验证码已发送"

#: templates/_without_nav_base.html:26
msgid "Home page"
msgstr "首页"

#: templates/resource_download.html:18 templates/resource_download.html:32
msgid "Client"
msgstr "客户端"

#: templates/resource_download.html:20
msgid ""
"JumpServer Client, currently used to launch the client, now only support "
"launch RDP SSH client, The Telnet client will next"
msgstr ""
"JumpServer 客户端，目前用来唤起 特定客户端程序 连接资产, 目前仅支持 RDP SSH "
"客户端，Telnet 会在未来支持"

#: templates/resource_download.html:32
msgid "Microsoft"
msgstr "微软"

#: templates/resource_download.html:32
msgid "Official"
msgstr "官方"

#: templates/resource_download.html:34
msgid ""
"macOS needs to download the client to connect RDP asset, which comes with "
"Windows"
msgstr "macOS 需要下载客户端来连接 RDP 资产，Windows 系统默认安装了该程序"

#: templates/resource_download.html:43
msgid "Windows Remote application publisher tools"
msgstr "Windows 远程应用发布服务器工具"

#: templates/resource_download.html:44
msgid ""
"OpenSSH is a program used to connect remote applications in the Windows "
"Remote Application Publisher"
msgstr "OpenSSH 是在 windows 远程应用发布服务器中用来连接远程应用的程序"

#: templates/resource_download.html:52
msgid "Offline video player"
msgstr "离线录像播放器"

#: terminal/api/applet/applet.py:48 terminal/api/applet/applet.py:51
msgid "Invalid zip file"
msgstr "无效的 zip 文件"

#: terminal/api/component/endpoint.py:32
msgid "Not found protocol query params"
msgstr "未发现 protocol 查询参数"

#: terminal/api/component/storage.py:28
msgid "Deleting the default storage is not allowed"
msgstr "不允许删除默认存储配置"

#: terminal/api/component/storage.py:31
msgid "Cannot delete storage that is being used"
msgstr "不允许删除正在使用的存储配置"

#: terminal/api/component/storage.py:72 terminal/api/component/storage.py:73
msgid "Command storages"
msgstr "命令存储"

#: terminal/api/component/storage.py:79
msgid "Invalid"
msgstr "无效"

#: terminal/api/component/storage.py:119 terminal/tasks.py:140
msgid "Test failure: {}"
msgstr "测试失败: {}"

#: terminal/api/component/storage.py:122
msgid "Test successful"
msgstr "测试成功"

#: terminal/api/component/storage.py:124 terminal/notifications.py:240
#: terminal/tasks.py:144
msgid "Test failure: Account invalid"
msgstr "测试失败: 账号无效"

#: terminal/api/component/terminal.py:55
msgid "Have online sessions"
msgstr "有在线会话"

#: terminal/api/session/session.py:251
msgid "Session does not exist: {}"
msgstr "会话不存在: {}"

#: terminal/api/session/session.py:254
msgid "Session is finished or the protocol not supported"
msgstr "会话已经完成或协议不支持"

#: terminal/api/session/session.py:267
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 "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:34
msgid "DB Client"
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:44
msgid "Critical"
msgstr "严重"

#: terminal/const.py:45
msgid "High"
msgstr "较高"

#: terminal/const.py:46 terminal/const.py:82
#: users/templates/users/reset_password.html:50
msgid "Normal"
msgstr "正常"

#: terminal/const.py:47
msgid "Offline"
msgstr "离线"

#: terminal/const.py:78
msgid "Mismatch"
msgstr "未匹配"

#: terminal/const.py:83
msgid "Tunnel"
msgstr "隧道"

#: terminal/const.py:85
msgid "SFTP"
msgstr "SFTP"

#: terminal/const.py:89
msgid "Read Only"
msgstr "只读"

#: terminal/const.py:90
msgid "Writable"
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:29
msgid "Community"
msgstr "社区版"

#: terminal/models/applet/applet.py:30
msgid "Enterprise"
msgstr "企业版"

#: terminal/models/applet/applet.py:35
msgid "Author"
msgstr "作者"

#: terminal/models/applet/applet.py:37 terminal/serializers/applet.py:30
msgid "Edition"
msgstr "版本"

#: terminal/models/applet/applet.py:42
msgid "Can concurrent"
msgstr "可以并发"

#: terminal/models/applet/applet.py:43
msgid "Tags"
msgstr "标签"

#: terminal/models/applet/applet.py:47 terminal/serializers/storage.py:159
msgid "Hosts"
msgstr "主机"

#: terminal/models/applet/applet.py:92
msgid "Applet pkg not valid, Missing file {}"
msgstr "Applet pkg 无效，缺少文件 {}"

#: terminal/models/applet/applet.py:111
msgid "Load platform.yml failed: {}"
msgstr "加载 platform.yml 失败: {}"

#: terminal/models/applet/applet.py:114
msgid "Only support custom platform"
msgstr "只支持自定义平台"

#: terminal/models/applet/applet.py:119
msgid "Missing type in platform.yml"
msgstr "在 platform.yml 中缺少类型"

#: terminal/models/applet/applet.py:246 terminal/models/applet/host.py:34
#: terminal/models/applet/host.py:134
msgid "Hosting"
msgstr "宿主机"

#: terminal/models/applet/host.py:19 terminal/serializers/applet_host.py:57
msgid "Deploy options"
msgstr "部署参数"

#: terminal/models/applet/host.py:20
msgid "Inited"
msgstr "已初始化"

#: terminal/models/applet/host.py:21
msgid "Date inited"
msgstr "初始化日期"

#: terminal/models/applet/host.py:22
msgid "Date synced"
msgstr "同步日期"

#: terminal/models/applet/host.py:135
msgid "Initial"
msgstr "初始化"

#: terminal/models/component/endpoint.py:15
msgid "HTTPS port"
msgstr "HTTPS 端口"

#: terminal/models/component/endpoint.py:16
msgid "HTTP port"
msgstr "HTTP 端口"

#: terminal/models/component/endpoint.py:17
msgid "SSH port"
msgstr "SSH 端口"

#: terminal/models/component/endpoint.py:18
msgid "RDP port"
msgstr "RDP 端口"

#: terminal/models/component/endpoint.py:19
msgid "MySQL port"
msgstr "MySQL 端口"

#: terminal/models/component/endpoint.py:20
msgid "MariaDB port"
msgstr "MariaDB 端口"

#: terminal/models/component/endpoint.py:21
msgid "PostgreSQL port"
msgstr "PostgreSQL 端口"

#: terminal/models/component/endpoint.py:22
msgid "Redis port"
msgstr "Redis 端口"

#: terminal/models/component/endpoint.py:29
#: terminal/models/component/endpoint.py:100
#: terminal/serializers/endpoint.py:73 terminal/serializers/storage.py:40
#: terminal/serializers/storage.py:52 terminal/serializers/storage.py:82
#: terminal/serializers/storage.py:92 terminal/serializers/storage.py:100
msgid "Endpoint"
msgstr "端点"

#: terminal/models/component/endpoint.py:93
msgid "IP group"
msgstr "IP 组"

#: terminal/models/component/endpoint.py:106
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:28
msgid "Default storage"
msgstr "默认存储"

#: terminal/models/component/storage.py:140
#: terminal/models/component/terminal.py:90
msgid "Command storage"
msgstr "命令存储"

#: terminal/models/component/storage.py:200
#: terminal/models/component/terminal.py:91
msgid "Replay storage"
msgstr "录像存储"

#: terminal/models/component/terminal.py:87
msgid "type"
msgstr "类型"

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

#: terminal/models/component/terminal.py:92
msgid "Application User"
msgstr "应用用户"

#: terminal/models/component/terminal.py:165
msgid "Can view terminal config"
msgstr "可以查看终端配置"

#: terminal/models/session/command.py:66
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:34
msgid "Account id"
msgstr "账号 ID"

#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:104
msgid "Login from"
msgstr "登录来源"

#: terminal/models/session/session.py:41
msgid "Replay"
msgstr "回放"

#: terminal/models/session/session.py:45
msgid "Date end"
msgstr "结束日期"

#: terminal/models/session/session.py:240
msgid "Session record"
msgstr "会话记录"

#: terminal/models/session/session.py:242
msgid "Can monitor session"
msgstr "可以监控会话"

#: terminal/models/session/session.py:243
msgid "Can share session"
msgstr "可以分享会话"

#: terminal/models/session/session.py:244
msgid "Can terminate session"
msgstr "可以终断会话"

#: terminal/models/session/session.py:245
msgid "Can validate session action perm"
msgstr "可以验证会话动作权限"

#: terminal/models/session/sharing.py:30
msgid "Expired time (min)"
msgstr "过期时间 (分)"

#: terminal/models/session/sharing.py:35 terminal/serializers/sharing.py:20
#: terminal/serializers/sharing.py:52
msgid "Action permission"
msgstr "操作权限"

#: terminal/models/session/sharing.py:40 terminal/models/session/sharing.py:86
msgid "Session sharing"
msgstr "会话分享"

#: terminal/models/session/sharing.py:42
msgid "Can add super session sharing"
msgstr "可以创建超级会话分享"

#: terminal/models/session/sharing.py:69
msgid "Link not active"
msgstr "链接失效"

#: terminal/models/session/sharing.py:71
msgid "Link expired"
msgstr "链接过期"

#: terminal/models/session/sharing.py:73
msgid "User not allowed to join"
msgstr "该用户无权加入会话"

#: terminal/models/session/sharing.py:90 terminal/serializers/sharing.py:71
msgid "Joiner"
msgstr "加入者"

#: terminal/models/session/sharing.py:93
msgid "Date joined"
msgstr "加入日期"

#: terminal/models/session/sharing.py:96
msgid "Date left"
msgstr "结束日期"

#: terminal/models/session/sharing.py:119
msgid "Session join record"
msgstr "会话加入记录"

#: terminal/models/session/sharing.py:135
msgid "Invalid verification code"
msgstr "验证码不正确"

#: terminal/models/session/sharing.py:142
msgid "You have already joined this session"
msgstr "您已经加入过此会话"

#: terminal/notifications.py:25
msgid "Sessions"
msgstr "会话管理"

#: terminal/notifications.py:72
msgid "Command warning"
msgstr "命令告警"

#: terminal/notifications.py:130
msgid "Command reject"
msgstr "命令拒绝"

#: terminal/notifications.py:157 terminal/notifications.py:206
msgid "Level"
msgstr "级别"

#: terminal/notifications.py:175
msgid "Batch danger command alert"
msgstr "批量危险命令告警"

#: terminal/notifications.py:224
msgid "Command and replay storage"
msgstr "命令及录像存储"

#: terminal/notifications.py:225
msgid "Connectivity alarm"
msgstr "可连接性告警"

#: terminal/notifications.py:250
#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4
msgid "Invalid storage"
msgstr "无效的存储"

#: terminal/serializers/applet.py:28
msgid "Icon"
msgstr "图标"

#: terminal/serializers/applet_host.py:24
msgid "Per Session"
msgstr "每用户"

#: terminal/serializers/applet_host.py:25
msgid "Per Device"
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 ""
"提示：应用发布机和 Core 服务进行通信使用，如果发布机和 Core 服务在同一网段，"
"建议填写内网地址，否则填写当前站点 URL<br>例如：https://172.16.10.110 or "
"https://dev.jumpserver.com"

#: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:170
msgid "Ignore Certificate Verification"
msgstr "忽略证书认证"

#: terminal/serializers/applet_host.py:47
msgid "Existing RDS license"
msgstr "已有 RDS 许可证"

#: terminal/serializers/applet_host.py:48
msgid "RDS License Server"
msgstr "RDS 许可服务器"

#: terminal/serializers/applet_host.py:49
msgid "RDS Licensing Mode"
msgstr "RDS 授权模式"

#: terminal/serializers/applet_host.py:51
msgid "RDS Single Session Per User"
msgstr "RDS 单用户单会话"

#: terminal/serializers/applet_host.py:52
msgid "RDS Max Disconnection Time"
msgstr "RDS 最大断开时间"

#: terminal/serializers/applet_host.py:53
msgid "RDS Remote App Logoff Time Limit"
msgstr "RDS 远程应用注销时间限制"

#: terminal/serializers/applet_host.py:59 terminal/serializers/terminal.py:47
msgid "Load status"
msgstr "负载状态"

#: terminal/serializers/command.py:19
msgid "Session 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:72
msgid "Account "
msgstr "账号"

#: terminal/serializers/command.py:74
msgid "Timestamp"
msgstr "时间戳"

#: terminal/serializers/endpoint.py:15
msgid "Oracle port"
msgstr "Oracle 端口"

#: terminal/serializers/endpoint.py:18
msgid "Oracle port range"
msgstr "Oracle 端口范围"

#: terminal/serializers/endpoint.py:20
msgid ""
"Oracle proxy server listen port is dynamic, Each additional Oracle database "
"instance adds a port listener"
msgstr ""
"Oracle 代理服务器监听端口是动态的，每增加一个 Oracle 数据库实例，就会增加一个"
"端口监听"

#: terminal/serializers/endpoint.py:38
msgid ""
"The host address accessed when connecting to assets, if it is empty, the "
"access address of the current browser will be used (the default endpoint "
"does not allow modification of the host)"
msgstr ""
"连接资产时访问的主机地址，如果为空则使用当前浏览器的访问地址（默认端点不允许"
"修改主机）"

#: terminal/serializers/endpoint.py:64
msgid ""
"The assets within this IP range, the following endpoint will be used for the "
"connection"
msgstr "该 IP 范围内的资产，将使用下面的端点进行连接"

#: terminal/serializers/endpoint.py:65
msgid ""
"If asset IP addresses under different endpoints conflict, use asset labels"
msgstr "如果不同端点下的资产 IP 有冲突，使用资产标签实现"

#: terminal/serializers/endpoint.py:69
msgid "Asset IP"
msgstr "资产 IP"

#: terminal/serializers/session.py:22 terminal/serializers/session.py:44
msgid "Can replay"
msgstr "是否可重放"

#: terminal/serializers/session.py:23 terminal/serializers/session.py:45
msgid "Can join"
msgstr "是否可加入"

#: terminal/serializers/session.py:24 terminal/serializers/session.py:48
msgid "Can terminate"
msgstr "是否可中断"

#: terminal/serializers/session.py:40
msgid "User ID"
msgstr "用户 ID"

#: terminal/serializers/session.py:41
msgid "Asset ID"
msgstr "资产 ID"

#: terminal/serializers/session.py:42
msgid "Login from display"
msgstr "登录来源名称"

#: terminal/serializers/session.py:49
msgid "Terminal display"
msgstr "终端显示"

#: terminal/serializers/session.py:54
msgid "Command amount"
msgstr "命令数量"

#: terminal/serializers/storage.py:22
msgid "Endpoint invalid: remove path `{}`"
msgstr "端点无效: 移除路径 `{}`"

#: terminal/serializers/storage.py:28
msgid "Bucket"
msgstr "桶名称"

#: terminal/serializers/storage.py:32
#: xpack/plugins/cloud/serializers/account_attrs.py:17
msgid "Access key id"
msgstr "Access key ID(AK)"

#: terminal/serializers/storage.py:36
#: xpack/plugins/cloud/serializers/account_attrs.py:20
msgid "Access key secret"
msgstr "Access key secret(SK)"

#: terminal/serializers/storage.py:67 xpack/plugins/cloud/models.py:209
msgid "Region"
msgstr "地域"

#: terminal/serializers/storage.py:111
msgid "Container name"
msgstr "容器名称"

#: terminal/serializers/storage.py:114
msgid "Account key"
msgstr "账号密钥"

#: terminal/serializers/storage.py:117
msgid "Endpoint suffix"
msgstr "端点后缀"

#: terminal/serializers/storage.py:137
msgid "The address format is incorrect"
msgstr "地址格式不正确"

#: terminal/serializers/storage.py:144
msgid "Host invalid"
msgstr "主机无效"

#: terminal/serializers/storage.py:147
msgid "Port invalid"
msgstr "端口无效"

#: terminal/serializers/storage.py:162
msgid "Index by date"
msgstr "按日期建索引"

#: terminal/serializers/storage.py:163
msgid "Whether to create an index by date"
msgstr "是否根据日期动态建立索引"

#: terminal/serializers/storage.py:166
msgid "Index"
msgstr "索引"

#: terminal/serializers/storage.py:168
msgid "Doc type"
msgstr "文档类型"

#: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91
msgid "Not found"
msgstr "没有发现"

#: terminal/tasks.py:33
msgid "Periodic delete terminal status"
msgstr "周期清理终端状态"

#: terminal/tasks.py:42
msgid "Clean orphan session"
msgstr "清除离线会话"

#: terminal/tasks.py:61
msgid "Upload session replay to external storage"
msgstr "上传会话录像到外部存储"

#: terminal/tasks.py:90
msgid "Run applet host deployment"
msgstr "运行应用机部署"

#: terminal/tasks.py:100
msgid "Install applet"
msgstr "安装应用"

#: terminal/tasks.py:110
msgid "Generate applet host accounts"
msgstr "收集远程应用上的账号"

#: terminal/tasks.py:122
msgid "Check command replay storage connectivity"
msgstr "检查命令及录像存储可连接性 "

#: terminal/templates/terminal/_msg_command_alert.html:10
msgid "view"
msgstr "查看"

#: terminal/utils/db_port_mapper.py:85
msgid ""
"No available port is matched. The number of databases may have exceeded the "
"number of ports open to the database agent service, Contact the "
"administrator to open more ports."
msgstr ""
"未匹配到可用端口，数据库的数量可能已经超过数据库代理服务开放的端口数量，请联"
"系管理员开放更多端口。"

#: terminal/utils/db_port_mapper.py:113
msgid ""
"No ports can be used, check and modify the limit on the number of ports that "
"Magnus listens on in the configuration file."
msgstr "没有端口可以使用，检查并修改配置文件中 Magnus 监听的端口数量限制。"

#: terminal/utils/db_port_mapper.py:115
msgid "All available port count: {}, Already use port count: {}"
msgstr "所有可用端口数量：{}，已使用端口数量：{}"

#: tickets/apps.py:7
msgid "Tickets"
msgstr "工单管理"

#: tickets/const.py:9
msgid "Apply for asset"
msgstr "申请资产"

#: tickets/const.py:16 tickets/const.py:24 tickets/const.py:43
msgid "Open"
msgstr "打开"

#: tickets/const.py:18 tickets/const.py:31
msgid "Reopen"
msgstr "重新打开"

#: tickets/const.py:19 tickets/const.py:32
msgid "Approved"
msgstr "已同意"

#: tickets/const.py:20 tickets/const.py:33
msgid "Rejected"
msgstr "已拒绝"

#: tickets/const.py:30 tickets/const.py:38
msgid "Closed"
msgstr "关闭的"

#: tickets/const.py:46
msgid "Approve"
msgstr "同意"

#: tickets/const.py:50
msgid "One level"
msgstr "1 级"

#: tickets/const.py:51
msgid "Two level"
msgstr "2 级"

#: tickets/const.py:55
msgid "Org admin"
msgstr "组织管理员"

#: tickets/const.py:56
msgid "Custom user"
msgstr "自定义用户"

#: tickets/const.py:57
msgid "Super admin"
msgstr "超级管理员"

#: tickets/const.py:58
msgid "Super admin and org admin"
msgstr "组织管理员或超级管理员"

#: tickets/errors.py:9
msgid "Ticket already closed"
msgstr "工单已经关闭"

#: tickets/handlers/apply_asset.py:36
msgid ""
"Created by the ticket ticket title: {} ticket applicant: {} ticket "
"processor: {} ticket ID: {}"
msgstr ""
"通过工单创建, 工单标题: {}, 工单申请人: {}, 工单处理人: {}, 工单 ID: {}"

#: tickets/handlers/base.py:85
msgid "Change field"
msgstr "变更字段"

#: tickets/handlers/base.py:85
msgid "Before change"
msgstr "变更前"

#: tickets/handlers/base.py:85
msgid "After change"
msgstr "变更后"

#: tickets/handlers/base.py:97
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:19 tickets/models/flow.py:61
#: tickets/models/ticket/general.py:41
msgid "Approve level"
msgstr "审批级别"

#: tickets/models/flow.py:24 tickets/serializers/flow.py:17
msgid "Approve strategy"
msgstr "审批策略"

#: tickets/models/flow.py:29 tickets/serializers/flow.py:19
msgid "Assignees"
msgstr "受理人"

#: tickets/models/flow.py:33
msgid "Ticket flow approval rule"
msgstr "工单批准信息"

#: tickets/models/flow.py:66
msgid "Ticket flow"
msgstr "工单流程"

#: tickets/models/relation.py:12
msgid "Ticket session relation"
msgstr "工单会话"

#: tickets/models/ticket/apply_application.py:10
#: tickets/models/ticket/apply_asset.py:13
msgid "Permission name"
msgstr "授权规则名称"

#: tickets/models/ticket/apply_application.py:19
msgid "Apply applications"
msgstr "申请应用"

#: tickets/models/ticket/apply_application.py:22
msgid "Apply system users"
msgstr "申请的系统用户"

#: tickets/models/ticket/apply_asset.py:9
#: tickets/serializers/ticket/apply_asset.py:14
msgid "Select at least one asset or node"
msgstr "资产或者节点至少选择一项"

#: tickets/models/ticket/apply_asset.py:17
msgid "Apply accounts"
msgstr "申请账号"

#: tickets/models/ticket/apply_asset.py:26
msgid "Apply Asset Ticket"
msgstr "申请资产"

#: tickets/models/ticket/command_confirm.py:9
msgid "Run user"
msgstr "运行的用户"

#: tickets/models/ticket/command_confirm.py:11
msgid "Run asset"
msgstr "运行的资产"

#: tickets/models/ticket/command_confirm.py:12
msgid "Run command"
msgstr "运行的命令"

#: tickets/models/ticket/command_confirm.py:19
msgid "Command filter acl"
msgstr "命令过滤器"

#: tickets/models/ticket/general.py:76
msgid "Ticket step"
msgstr "工单步骤"

#: tickets/models/ticket/general.py:94
msgid "Ticket assignee"
msgstr "工单受理人"

#: tickets/models/ticket/general.py:272
msgid "Title"
msgstr "标题"

#: tickets/models/ticket/general.py:288
msgid "Applicant"
msgstr "申请人"

#: tickets/models/ticket/general.py:292
msgid "TicketFlow"
msgstr "工单流程"

#: tickets/models/ticket/general.py:295
msgid "Approval step"
msgstr "审批步骤"

#: tickets/models/ticket/general.py:298
msgid "Relation snapshot"
msgstr "工单快照"

#: tickets/models/ticket/general.py:401
msgid "Please try again"
msgstr "请再次尝试"

#: tickets/models/ticket/general.py:470
msgid "Super ticket"
msgstr "超级工单"

#: tickets/models/ticket/login_asset_confirm.py:11
msgid "Login user"
msgstr "登录用户"

#: tickets/models/ticket/login_asset_confirm.py:14
msgid "Login asset"
msgstr "登录资产"

#: tickets/models/ticket/login_asset_confirm.py:17
msgid "Login account"
msgstr "登录账号"

#: tickets/models/ticket/login_confirm.py:12
msgid "Login datetime"
msgstr "登录日期"

#: tickets/notifications.py:63
msgid "Ticket basic info"
msgstr "工单基本信息"

#: tickets/notifications.py:64
msgid "Ticket applied info"
msgstr "工单申请信息"

#: tickets/notifications.py:109
msgid "Your has a new ticket, applicant - {}"
msgstr "你有一个新的工单, 申请人 - {}"

#: tickets/notifications.py:113
msgid "{}: New Ticket - {} ({})"
msgstr "新工单 - {} ({})"

#: tickets/notifications.py:157
msgid "Your ticket has been processed, processor - {}"
msgstr "你的工单已被处理, 处理人 - {}"

#: tickets/notifications.py:161
msgid "Ticket has processed - {} ({})"
msgstr "你的工单已被处理, 处理人 - {} ({})"

#: tickets/serializers/flow.py:20
msgid "Assignees display"
msgstr "受理人名称"

#: tickets/serializers/flow.py:46
msgid "Please select the Assignees"
msgstr "请选择受理人"

#: tickets/serializers/flow.py:74
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:75
msgid "Created by ticket ({}-{})"
msgstr "通过工单创建 ({}-{})"

#: tickets/serializers/ticket/common.py:67
msgid "The expiration date should be greater than the start date"
msgstr "过期时间要大于开始时间"

#: tickets/serializers/ticket/common.py:82
msgid "Permission named `{}` already exists"
msgstr "授权名称 `{}` 已存在"

#: tickets/serializers/ticket/ticket.py:89
msgid "The ticket flow `{}` does not exist"
msgstr "工单流程 `{}` 不存在"

#: tickets/templates/tickets/_msg_ticket.html:20
msgid "View details"
msgstr "查看详情"

#: tickets/templates/tickets/_msg_ticket.html:25
msgid "Direct approval"
msgstr "直接批准"

#: tickets/templates/tickets/approve_check_password.html:11
msgid "Ticket information"
msgstr "工单信息"

#: tickets/templates/tickets/approve_check_password.html:29
#: tickets/views/approve.py:39
msgid "Ticket approval"
msgstr "工单审批"

#: tickets/templates/tickets/approve_check_password.html:45
msgid "Approval"
msgstr "同意"

#: tickets/templates/tickets/approve_check_password.html:54
msgid "Go Login"
msgstr "去登录"

#: tickets/views/approve.py:40
msgid ""
"This ticket does not exist, the process has ended, or this link has expired"
msgstr "工单不存在，或者工单流程已经结束，或者此链接已经过期"

#: tickets/views/approve.py:69
msgid "Click the button below to approve or reject"
msgstr "点击下方按钮同意或者拒绝"

#: tickets/views/approve.py:71
msgid "After successful authentication, this ticket can be approved directly"
msgstr "认证成功后，工单可直接审批"

#: tickets/views/approve.py:93
msgid "Illegal approval action"
msgstr "无效的审批动作"

#: tickets/views/approve.py:106
msgid "This user is not authorized to approve this ticket"
msgstr "此用户无权审批此工单"

#: users/api/user.py:190
msgid "Could not reset self otp, use profile reset instead"
msgstr "不能在该页面重置 MFA 多因子认证, 请去个人信息页面重置"

#: 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/exceptions.py:10
msgid "MFA not enabled"
msgstr "MFA 多因子认证没有开启"

#: users/exceptions.py:20
msgid "Unable to delete all users"
msgstr "无法删除全部用户"

#: users/forms/profile.py:50
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:61
msgid "* Enable MFA to make the account more secure."
msgstr "* 启用 MFA 多因子认证，使账号更加安全。"

#: users/forms/profile.py:70
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:77
msgid "Finish"
msgstr "完成"

#: users/forms/profile.py:84
msgid "New password"
msgstr "新密码"

#: users/forms/profile.py:89
msgid "Confirm password"
msgstr "确认密码"

#: users/forms/profile.py:97
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:121
msgid "Old password"
msgstr "原来密码"

#: users/forms/profile.py:131
msgid "Old password error"
msgstr "原来密码错误"

#: users/forms/profile.py:141
msgid "Automatically configure and download the SSH key"
msgstr "自动配置并下载SSH密钥"

#: users/forms/profile.py:143
msgid "ssh public key"
msgstr "SSH公钥"

#: users/forms/profile.py:144
msgid "ssh-rsa AAAA..."
msgstr "ssh-rsa AAAA..."

#: users/forms/profile.py:145
msgid "Paste your id_rsa.pub here."
msgstr "复制你的公钥到这里"

#: users/forms/profile.py:158
msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同"

#: users/forms/profile.py:162 users/serializers/profile.py:100
#: users/serializers/profile.py:183 users/serializers/profile.py:210
msgid "Not a valid ssh public key"
msgstr "SSH密钥不合法"

#: users/forms/profile.py:173 users/models/user.py:786
#: xpack/plugins/cloud/serializers/account_attrs.py:206
msgid "Public key"
msgstr "SSH公钥"

#: users/models/user.py:603 users/serializers/profile.py:118
msgid "Force enable"
msgstr "强制启用"

#: users/models/user.py:765 users/serializers/user.py:171
msgid "Is service account"
msgstr "服务账号"

#: users/models/user.py:767
msgid "Avatar"
msgstr "头像"

#: users/models/user.py:770
msgid "Wechat"
msgstr "微信"

#: users/models/user.py:773 users/serializers/user.py:108
msgid "Phone"
msgstr "手机"

#: users/models/user.py:779
msgid "OTP secret key"
msgstr "OTP 密钥"

#: users/models/user.py:783
#: xpack/plugins/cloud/serializers/account_attrs.py:209
msgid "Private key"
msgstr "ssh私钥"

#: users/models/user.py:789
msgid "Secret key"
msgstr "Secret key"

#: users/models/user.py:794 users/serializers/profile.py:149
#: users/serializers/user.py:168
msgid "Is first login"
msgstr "首次登录"

#: users/models/user.py:808
msgid "Date password last updated"
msgstr "最后更新密码日期"

#: users/models/user.py:811
msgid "Need update password"
msgstr "需要更新密码"

#: users/models/user.py:954
msgid "Can invite user"
msgstr "可以邀请用户"

#: users/models/user.py:955
msgid "Can remove user"
msgstr "可以移除用户"

#: users/models/user.py:956
msgid "Can match user"
msgstr "可以匹配用户"

#: users/models/user.py:965
msgid "Administrator"
msgstr "管理员"

#: users/models/user.py:968
msgid "Administrator is the super user of system"
msgstr "Administrator是初始的超级管理员"

#: users/models/user.py:993
msgid "User password history"
msgstr "用户密码历史"

#: users/notifications.py:55
#: users/templates/users/_msg_password_expire_reminder.html:17
#: 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:194
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/profile.py:29
msgid "The old password is incorrect"
msgstr "旧密码错误"

#: users/serializers/profile.py:36 users/serializers/profile.py:197
msgid "Password does not match security rules"
msgstr "密码不满足安全规则"

#: users/serializers/profile.py:40
msgid "The new password cannot be the last {} passwords"
msgstr "新密码不能是最近 {} 次的密码"

#: users/serializers/profile.py:48 users/serializers/profile.py:71
msgid "The newly set password is inconsistent"
msgstr "两次密码不一致"

#: users/serializers/user.py:42
msgid "System roles"
msgstr "系统角色"

#: users/serializers/user.py:46
msgid "Org roles"
msgstr "组织角色"

#: users/serializers/user.py:89
msgid "Password strategy"
msgstr "密码策略"

#: users/serializers/user.py:91
msgid "MFA enabled"
msgstr "MFA 已启用"

#: users/serializers/user.py:93
msgid "MFA force enabled"
msgstr "强制 MFA"

#: users/serializers/user.py:95
msgid "Login blocked"
msgstr "登录被锁定"

#: users/serializers/user.py:98 users/serializers/user.py:176
msgid "Is OTP bound"
msgstr "是否绑定了虚拟 MFA"

#: users/serializers/user.py:100
msgid "Can public key authentication"
msgstr "可以使用公钥认证"

#: users/serializers/user.py:173
msgid "Avatar url"
msgstr "头像路径"

#: users/serializers/user.py:177
msgid "MFA level"
msgstr "MFA 级别"

#: users/serializers/user.py:283
msgid "Select users"
msgstr "选择用户"

#: users/serializers/user.py:284
msgid "For security, only list several users"
msgstr "为了安全，仅列出几个用户"

#: users/serializers/user.py:317
msgid "name not unique"
msgstr "名称重复"

#: users/signal_handlers.py:27
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/tasks.py:21
msgid "Check password expired"
msgstr "校验密码已过期"

#: users/tasks.py:35
msgid "Periodic check password expired"
msgstr "周期校验密码过期"

#: users/tasks.py:49
msgid "Check user expired"
msgstr "校验用户已过期"

#: users/tasks.py:66
msgid "Periodic check user expired"
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:16
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:32
msgid "Input your email account, that will send a email to your"
msgstr "输入您的邮箱, 将会发一封重置邮件到您的邮箱中"

#: users/templates/users/forgot_password.html:35
msgid ""
"Enter your mobile number and a verification code will be sent to your phone"
msgstr "输入您的手机号码，验证码将发送到您的手机"

#: users/templates/users/forgot_password.html:57
msgid "Email account"
msgstr "邮箱账号"

#: users/templates/users/forgot_password.html:61
msgid "Mobile number"
msgstr "手机号码"

#: users/templates/users/forgot_password.html:69
msgid "Send"
msgstr "发送"

#: users/templates/users/forgot_password.html:73
#: 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:24
msgid "Enable MFA"
msgstr "启用 MFA 多因子认证"

#: users/templates/users/mfa_setting.html:30
msgid "MFA force enable, cannot disable"
msgstr "MFA 已强制启用，无法禁用"

#: users/templates/users/mfa_setting.html:48
msgid "MFA setting"
msgstr "设置 MFA 多因子认证"

#: users/templates/users/mfa_setting.html:61
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:48
msgid "Very weak"
msgstr "很弱"

#: users/templates/users/reset_password.html:49
msgid "Weak"
msgstr "弱"

#: users/templates/users/reset_password.html:51
msgid "Medium"
msgstr "一般"

#: users/templates/users/reset_password.html:52
msgid "Strong"
msgstr "强"

#: users/templates/users/reset_password.html:53
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:26
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/views/profile/otp.py:85
msgid "Already bound"
msgstr "已经绑定"

#: users/views/profile/otp.py:86
msgid "MFA already bound, disable first, then bound"
msgstr "MFA(OTP) 已经绑定，请先禁用，再绑定"

#: users/views/profile/otp.py:113
msgid "OTP enable success"
msgstr "MFA(OTP) 启用成功"

#: users/views/profile/otp.py:114
msgid "OTP enable success, return login page"
msgstr "MFA(OTP) 启用成功，返回到登录页面"

#: users/views/profile/otp.py:156
msgid "Disable OTP"
msgstr "禁用虚拟 MFA(OTP)"

#: users/views/profile/otp.py:162
msgid "OTP disable success"
msgstr "MFA(OTP) 禁用成功"

#: users/views/profile/otp.py:163
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:47
msgid ""
"Non-local users can log in only from third-party platforms and cannot change "
"their passwords: {}"
msgstr "非本地用户仅允许从第三方平台登录，不支持修改密码: {}"

#: users/views/profile/reset.py:149 users/views/profile/reset.py:160
msgid "Token invalid or expired"
msgstr "令牌错误或失效"

#: users/views/profile/reset.py:165
msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码"

#: users/views/profile/reset.py:172
msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求"

#: users/views/profile/reset.py:178
msgid "* The new password cannot be the last {} passwords"
msgstr "* 新密码不能是最近 {} 次的密码"

#: users/views/profile/reset.py:195
msgid "Reset password success, return to login page"
msgstr "重置密码成功，返回到登录页面"

#: xpack/apps.py:8
msgid "XPACK"
msgstr "XPack"

#: xpack/plugins/cloud/api.py:38
msgid "Test connection successful"
msgstr "测试成功"

#: xpack/plugins/cloud/api.py:40
msgid "Test connection failed: {}"
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:22
msgid "VMware"
msgstr "VMware"

#: xpack/plugins/cloud/const.py:23 xpack/plugins/cloud/providers/nutanix.py:15
msgid "Nutanix"
msgstr "Nutanix"

#: xpack/plugins/cloud/const.py:24
msgid "Huawei Private Cloud"
msgstr "华为私有云"

#: xpack/plugins/cloud/const.py:25
msgid "Qingyun Private Cloud"
msgstr "青云私有云"

#: xpack/plugins/cloud/const.py:26
msgid "CTYun Private Cloud"
msgstr "天翼私有云"

#: xpack/plugins/cloud/const.py:27
msgid "OpenStack"
msgstr "OpenStack"

#: xpack/plugins/cloud/const.py:28
msgid "Fusion Compute"
msgstr "融合计算"

#: xpack/plugins/cloud/const.py:33
msgid "Private IP"
msgstr "私有IP"

#: xpack/plugins/cloud/const.py:34
msgid "Public IP"
msgstr "公网IP"

#: xpack/plugins/cloud/const.py:38
msgid "Instance name"
msgstr "实例名称"

#: xpack/plugins/cloud/const.py:39
msgid "Instance name and Partial IP"
msgstr "实例名称和部分IP"

#: xpack/plugins/cloud/const.py:44
msgid "Succeed"
msgstr "成功"

#: xpack/plugins/cloud/const.py:48
msgid "Unsync"
msgstr "未同步"

#: xpack/plugins/cloud/const.py:49
msgid "New Sync"
msgstr "新同步"

#: xpack/plugins/cloud/const.py:50
msgid "Synced"
msgstr "已同步"

#: xpack/plugins/cloud/const.py:51
msgid "Released"
msgstr "已释放"

#: xpack/plugins/cloud/meta.py:9
msgid "Cloud center"
msgstr "云管中心"

#: xpack/plugins/cloud/models.py:30
msgid "Provider"
msgstr "云服务商"

#: xpack/plugins/cloud/models.py:34
msgid "Validity"
msgstr "有效"

#: xpack/plugins/cloud/models.py:39
msgid "Cloud account"
msgstr "云账号"

#: xpack/plugins/cloud/models.py:41
msgid "Test cloud account"
msgstr "测试云账号"

#: xpack/plugins/cloud/models.py:88 xpack/plugins/cloud/serializers/task.py:36
msgid "Regions"
msgstr "地域"

#: xpack/plugins/cloud/models.py:91
msgid "Hostname strategy"
msgstr "主机名策略"

#: xpack/plugins/cloud/models.py:102 xpack/plugins/cloud/serializers/task.py:39
msgid "IP network segment group"
msgstr "IP网段组"

#: xpack/plugins/cloud/models.py:105 xpack/plugins/cloud/serializers/task.py:44
msgid "Sync IP type"
msgstr "同步IP类型"

#: xpack/plugins/cloud/models.py:108 xpack/plugins/cloud/serializers/task.py:61
msgid "Always update"
msgstr "总是更新"

#: xpack/plugins/cloud/models.py:114
msgid "Date last sync"
msgstr "最后同步日期"

#: xpack/plugins/cloud/models.py:119 xpack/plugins/cloud/models.py:160
msgid "Sync instance task"
msgstr "同步实例任务"

#: xpack/plugins/cloud/models.py:171 xpack/plugins/cloud/models.py:219
msgid "Date sync"
msgstr "同步日期"

#: xpack/plugins/cloud/models.py:175
msgid "Sync instance task execution"
msgstr "同步实例任务执行"

#: xpack/plugins/cloud/models.py:199
msgid "Sync task"
msgstr "同步任务"

#: xpack/plugins/cloud/models.py:203
msgid "Sync instance task history"
msgstr "同步实例任务历史"

#: xpack/plugins/cloud/models.py:206
msgid "Instance"
msgstr "实例"

#: xpack/plugins/cloud/models.py:223
msgid "Sync instance detail"
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:54
#: xpack/plugins/cloud/providers/jdcloud.py:125
msgid "CN North-Beijing"
msgstr "华北-北京"

#: xpack/plugins/cloud/providers/baiducloud.py:55
#: xpack/plugins/cloud/providers/huaweicloud.py:42
#: xpack/plugins/cloud/providers/jdcloud.py:128
msgid "CN South-Guangzhou"
msgstr "华南-广州"

#: xpack/plugins/cloud/providers/baiducloud.py:56
msgid "CN East-Suzhou"
msgstr "华东-苏州"

#: xpack/plugins/cloud/providers/baiducloud.py:57
#: xpack/plugins/cloud/providers/huaweicloud.py:50
msgid "CN-Hong Kong"
msgstr "中国-香港"

#: xpack/plugins/cloud/providers/baiducloud.py:58
msgid "CN Center-Wuhan"
msgstr "华中-武汉"

#: xpack/plugins/cloud/providers/baiducloud.py:59
msgid "CN North-Baoding"
msgstr "华北-保定"

#: xpack/plugins/cloud/providers/baiducloud.py:60
#: xpack/plugins/cloud/providers/jdcloud.py:127
msgid "CN East-Shanghai"
msgstr "华东-上海"

#: xpack/plugins/cloud/providers/baiducloud.py:61
#: xpack/plugins/cloud/providers/huaweicloud.py:49
msgid "AP-Singapore"
msgstr "亚太-新加坡"

#: xpack/plugins/cloud/providers/huaweicloud.py:37
msgid "AF-Johannesburg"
msgstr "非洲-约翰内斯堡"

#: xpack/plugins/cloud/providers/huaweicloud.py:38
msgid "CN North-Beijing4"
msgstr "华北-北京4"

#: xpack/plugins/cloud/providers/huaweicloud.py:39
msgid "CN North-Beijing1"
msgstr "华北-北京1"

#: xpack/plugins/cloud/providers/huaweicloud.py:40
msgid "CN East-Shanghai2"
msgstr "华东-上海2"

#: xpack/plugins/cloud/providers/huaweicloud.py:41
msgid "CN East-Shanghai1"
msgstr "华东-上海1"

#: xpack/plugins/cloud/providers/huaweicloud.py:43
msgid "LA-Mexico City1"
msgstr "拉美-墨西哥城一"

#: xpack/plugins/cloud/providers/huaweicloud.py:44
msgid "LA-Santiago"
msgstr "拉美-圣地亚哥"

#: xpack/plugins/cloud/providers/huaweicloud.py:45
msgid "LA-Sao Paulo1"
msgstr "拉美-圣保罗一"

#: xpack/plugins/cloud/providers/huaweicloud.py:46
msgid "EU-Paris"
msgstr "欧洲-巴黎"

#: xpack/plugins/cloud/providers/huaweicloud.py:47
msgid "CN Southwest-Guiyang1"
msgstr "西南-贵阳1"

#: xpack/plugins/cloud/providers/huaweicloud.py:48
msgid "AP-Bangkok"
msgstr "亚太-曼谷"

#: xpack/plugins/cloud/providers/huaweicloud.py:52
msgid "CN Northeast-Dalian"
msgstr "华北-大连"

#: xpack/plugins/cloud/providers/huaweicloud.py:53
msgid "CN North-Ulanqab1"
msgstr "华北-乌兰察布一"

#: xpack/plugins/cloud/providers/huaweicloud.py:54
msgid "CN South-Guangzhou-InvitationOnly"
msgstr "华南-广州-友好用户环境"

#: xpack/plugins/cloud/providers/jdcloud.py:126
msgid "CN East-Suqian"
msgstr "华东-宿迁"

#: xpack/plugins/cloud/serializers/account.py:64
msgid "Validity display"
msgstr "有效性显示"

#: xpack/plugins/cloud/serializers/account.py:65
msgid "Provider display"
msgstr "服务商显示"

#: xpack/plugins/cloud/serializers/account_attrs.py:35
msgid "Client ID"
msgstr "客户端 ID"

#: xpack/plugins/cloud/serializers/account_attrs.py:41
msgid "Tenant ID"
msgstr "租户 ID"

#: xpack/plugins/cloud/serializers/account_attrs.py:44
msgid "Subscription ID"
msgstr "订阅 ID"

#: xpack/plugins/cloud/serializers/account_attrs.py:98
#: xpack/plugins/cloud/serializers/account_attrs.py:103
#: xpack/plugins/cloud/serializers/account_attrs.py:119
#: xpack/plugins/cloud/serializers/account_attrs.py:149
#: xpack/plugins/cloud/serializers/account_attrs.py:202
msgid "API Endpoint"
msgstr "API 端点"

#: xpack/plugins/cloud/serializers/account_attrs.py:109
msgid "Auth url"
msgstr "认证地址"

#: xpack/plugins/cloud/serializers/account_attrs.py:110
msgid "eg: http://openstack.example.com:5000/v3"
msgstr "如: http://openstack.example.com:5000/v3"

#: xpack/plugins/cloud/serializers/account_attrs.py:113
msgid "User domain"
msgstr "用户域"

#: xpack/plugins/cloud/serializers/account_attrs.py:120
msgid "Cert File"
msgstr "证书文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:121
msgid "Key File"
msgstr "密钥文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:137
msgid "Service account key"
msgstr "服务账号密钥"

#: xpack/plugins/cloud/serializers/account_attrs.py:138
msgid "The file is in JSON format"
msgstr "JSON 格式的文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:156
msgid "IP address invalid `{}`, {}"
msgstr "IP 地址无效: `{}`, {}"

#: xpack/plugins/cloud/serializers/account_attrs.py:172
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:175
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:183
msgid "Hostname prefix"
msgstr "主机名前缀"

#: xpack/plugins/cloud/serializers/account_attrs.py:186
msgid "IP segment"
msgstr "IP 网段"

#: xpack/plugins/cloud/serializers/account_attrs.py:190
msgid "Test port"
msgstr "测试端口"

#: xpack/plugins/cloud/serializers/account_attrs.py:193
msgid "Test timeout"
msgstr "测试超时时间"

#: xpack/plugins/cloud/serializers/account_attrs.py:212
msgid "Project"
msgstr "project"

#: xpack/plugins/cloud/serializers/task.py:28
msgid ""
"Only instances matching the IP range will be synced. <br>If the instance "
"contains multiple IP addresses, the first IP address that matches will be "
"used as the IP for the created asset. <br>The default value of * means sync "
"all instances and randomly match IP addresses. <br>Such as: 192.168.1.0/24, "
"10.1.1.1-10.1.1.20"
msgstr ""
"只有匹配到 IP 段的实例会被同步。<br>如果实例包含多个 IP 地址，那么第一个匹配"
"到的 IP 地址将被用作创建的资产的 IP。<br>默认值 * 表示同步所有实例和随机匹配 "
"IP 地址。<br> 例如: 192.168.1.0/24,10.1.1.1-10.1.1.20。"

#: xpack/plugins/cloud/serializers/task.py:34
msgid "History count"
msgstr "执行次数"

#: xpack/plugins/cloud/serializers/task.py:35
msgid "Instance count"
msgstr "实例个数"

#: xpack/plugins/cloud/tasks.py:27
msgid "Run sync instance task"
msgstr "执行同步实例任务"

#: xpack/plugins/cloud/tasks.py:41
msgid "Period clean sync instance task execution"
msgstr "定期清除同步实例任务执行记录"

#: xpack/plugins/cloud/utils.py:68
msgid "Account unavailable"
msgstr "账号无效"

#: xpack/plugins/interface/api.py:52
msgid "Restore default successfully."
msgstr "恢复默认成功！"

#: xpack/plugins/interface/meta.py:9
msgid "Interface settings"
msgstr "界面设置"

#: xpack/plugins/interface/models.py:23
msgid "Title of login page"
msgstr "登录页面标题"

#: xpack/plugins/interface/models.py:27
msgid "Image of login page"
msgstr "登录页面图片"

#: xpack/plugins/interface/models.py:31
msgid "Website icon"
msgstr "网站图标"

#: xpack/plugins/interface/models.py:35
msgid "Logo of management page"
msgstr "管理页面logo"

#: xpack/plugins/interface/models.py:39
msgid "Logo of logout page"
msgstr "退出页面logo"

#: xpack/plugins/interface/models.py:41
msgid "Theme"
msgstr "主题"

#: xpack/plugins/interface/models.py:44 xpack/plugins/interface/models.py:85
msgid "Interface setting"
msgstr "界面设置"

#: xpack/plugins/license/api.py:52
msgid "License import successfully"
msgstr "许可证导入成功"

#: xpack/plugins/license/api.py:53
msgid "License is invalid"
msgstr "无效的许可证"

#: xpack/plugins/license/meta.py:10 xpack/plugins/license/models.py:138
msgid "License"
msgstr "许可证"

#: xpack/plugins/license/models.py:80
msgid "Standard edition"
msgstr "标准版"

#: xpack/plugins/license/models.py:82
msgid "Enterprise edition"
msgstr "企业版"

#: xpack/plugins/license/models.py:84
msgid "Ultimate edition"
msgstr "旗舰版"

#: xpack/plugins/license/models.py:86
msgid "Community edition"
msgstr "社区版"

#~ msgid "Item"
#~ msgstr "项目"

#~ msgid "Url"
#~ msgstr "链接"

#~ msgid "Danger command alert"
#~ msgstr "危险命令告警"
