# 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: 2024-08-20 14:54+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 tickets/api/ticket.py:132
msgid "The parameter 'action' must be [{}]"
msgstr "参数 'action' 必须是 [{}]"

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

#: accounts/const/account.py:6
#: accounts/serializers/automations/change_secret.py:34
#: assets/models/_user.py:24 audits/signal_handlers/login_log.py:34
#: authentication/confirm/password.py:9 authentication/confirm/password.py:24
#: authentication/confirm/password.py:26 authentication/forms.py:28
#: authentication/templates/authentication/login.html:330
#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47
#: settings/serializers/msg.py:35 terminal/serializers/storage.py:123
#: terminal/serializers/storage.py:142 users/forms/profile.py:21
#: users/serializers/user.py:111
#: users/templates/users/_msg_user_created.html:13
#: users/templates/users/user_password_verify.html:18
#: xpack/plugins/cloud/serializers/account_attrs.py:28
msgid "Password"
msgstr "密码"

#: accounts/const/account.py:7
#: accounts/serializers/automations/change_secret.py:35
#: terminal/serializers/storage.py:124
msgid "SSH key"
msgstr "SSH 密钥"

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

#: accounts/const/account.py:9 assets/models/_user.py:48
#: authentication/backends/passkey/models.py:16
#: authentication/models/sso_token.py:14 settings/serializers/feature.py:52
msgid "Token"
msgstr "Token"

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

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

#: accounts/const/account.py:15 accounts/models/virtual.py:26
msgid "Manual input"
msgstr "手动输入"

#: accounts/const/account.py:16
msgid "Dynamic user"
msgstr "同名账号"

#: accounts/const/account.py:17
msgid "Anonymous account"
msgstr "匿名账号"

#: accounts/const/account.py:18
msgid "Specified account"
msgstr "指定账号"

#: accounts/const/account.py:26 users/models/user.py:753
msgid "Local"
msgstr "数据库"

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

#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: settings/serializers/auth/sms.py:79
msgid "Template"
msgstr "模板"

#: accounts/const/account.py:32 ops/const.py:46
msgid "Skip"
msgstr "跳过"

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

#: accounts/const/account.py:34 accounts/const/automation.py:109
#: accounts/serializers/automations/change_secret.py:164 audits/const.py:65
#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19
#: ops/const.py:76 terminal/const.py:79 xpack/plugins/cloud/const.py:47
msgid "Failed"
msgstr "失败"

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

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

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

#: accounts/const/automation.py:27 accounts/tasks/remove_account.py:24
#: accounts/tasks/remove_account.py:33
msgid "Remove account"
msgstr "移除账号"

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

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

#: accounts/const/automation.py:47
msgid "Specific secret"
msgstr "指定"

#: accounts/const/automation.py:48
msgid "Random generate"
msgstr "随机生成"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: accounts/const/automation.py:103
#: authentication/serializers/password_mfa.py:16
#: authentication/serializers/password_mfa.py:24
#: notifications/backends/__init__.py:10 settings/serializers/msg.py:22
#: settings/serializers/msg.py:64 users/forms/profile.py:100
#: users/forms/profile.py:108 users/models/user.py:817
#: users/templates/users/forgot_password.html:162
#: users/views/profile/reset.py:94
msgid "Email"
msgstr "邮箱"

#: accounts/const/automation.py:105 terminal/const.py:87
msgid "SFTP"
msgstr "SFTP"

#: accounts/const/automation.py:110
#: accounts/serializers/automations/change_secret.py:163 audits/const.py:64
#: audits/models.py:64 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:74 ops/serializers/celery.py:46
#: terminal/const.py:78 terminal/models/session/sharing.py:121
#: tickets/views/approve.py:128
msgid "Success"
msgstr "成功"

#: accounts/const/automation.py:111 common/const/choices.py:16
#: terminal/const.py:77 tickets/const.py:29 tickets/const.py:38
msgid "Pending"
msgstr "待定的"

#: accounts/const/vault.py:8 assets/const/category.py:12
#: assets/models/asset/database.py:9 assets/models/asset/database.py:24
msgid "Database"
msgstr "数据库"

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

#: accounts/mixins.py:35
msgid "Export all"
msgstr "导出所有"

#: accounts/mixins.py:37
msgid "Export only selected items"
msgstr "仅导出选择项"

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

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

#: accounts/models/account.py:49
#: accounts/models/automations/gather_account.py:16
#: accounts/serializers/account/account.py:224
#: accounts/serializers/account/account.py:269
#: accounts/serializers/account/gathered_account.py:10
#: accounts/serializers/automations/change_secret.py:108
#: accounts/serializers/automations/change_secret.py:140
#: accounts/templates/accounts/asset_account_change_info.html:7
#: accounts/templates/accounts/change_secret_failed_info.html:11
#: acls/serializers/base.py:123 assets/models/asset/common.py:95
#: assets/models/asset/common.py:350 assets/models/cmd_filter.py:36
#: audits/models.py:58 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:69 perms/serializers/permission.py:35
#: terminal/backends/command/models.py:17 terminal/models/session/session.py:32
#: terminal/notifications.py:155 terminal/serializers/command.py:17
#: terminal/serializers/session.py:28
#: terminal/templates/terminal/_msg_command_warning.html:4
#: terminal/templates/terminal/_msg_session_sharing.html:4
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:261
msgid "Asset"
msgstr "资产"

#: accounts/models/account.py:53 accounts/models/template.py:16
#: accounts/serializers/account/account.py:231
#: accounts/serializers/account/account.py:279
#: accounts/serializers/account/template.py:27
#: authentication/serializers/connect_token_secret.py:50
msgid "Su from"
msgstr "切换自"

#: accounts/models/account.py:55 assets/const/protocol.py:178
#: settings/serializers/auth/cas.py:20 terminal/models/applet/applet.py:36
#: terminal/models/virtualapp/virtualapp.py:21
msgid "Version"
msgstr "版本"

#: accounts/models/account.py:57
msgid "historical Account"
msgstr "账号历史"

#: accounts/models/account.py:58 accounts/serializers/account/account.py:226
#: users/models/user.py:860
msgid "Source"
msgstr "来源"

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

#: accounts/models/account.py:62
#: accounts/serializers/automations/change_secret.py:110
#: accounts/serializers/automations/change_secret.py:141
#: accounts/templates/accounts/change_secret_failed_info.html:12
#: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7
#: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28
#: audits/models.py:59 authentication/api/connection_token.py:411
#: ops/models/base.py:18 perms/models/asset_permission.py:75
#: perms/serializers/permission.py:40 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:34
#: terminal/templates/terminal/_msg_command_warning.html:8
#: terminal/templates/terminal/_msg_session_sharing.html:8
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:86
msgid "Account"
msgstr "账号"

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

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

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

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

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

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

#: accounts/models/automations/backup_account.py:27
msgid "Backup Type"
msgstr "备份类型"

#: accounts/models/automations/backup_account.py:28
#: accounts/models/automations/backup_account.py:29
msgid "Is Password Divided"
msgstr "密钥是否拆分成前后两部分"

#: accounts/models/automations/backup_account.py:32
msgid "Recipient part one"
msgstr "收件人部分一"

#: accounts/models/automations/backup_account.py:36
msgid "Recipient part two"
msgstr "收件人部分二"

#: accounts/models/automations/backup_account.py:40
msgid "Object Storage Recipient part one"
msgstr "接收服务器一"

#: accounts/models/automations/backup_account.py:44
msgid "Object Storage Recipient part two"
msgstr "接收服务器二"

#: accounts/models/automations/backup_account.py:47
#: accounts/serializers/account/backup.py:20
msgid "Zip Encrypt Password"
msgstr "文件加密密码"

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

#: accounts/models/automations/backup_account.py:119
#: assets/models/automations/base.py:115 audits/models.py:65
#: ops/models/base.py:55 ops/models/celery.py:88 ops/models/job.py:242
#: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:78
#: settings/templates/ldap/_msg_import_ldap_user.html:5
#: terminal/models/applet/host.py:141 terminal/models/session/session.py:45
#: tickets/models/ticket/apply_application.py:30
#: tickets/models/ticket/apply_asset.py:19
msgid "Date start"
msgstr "开始日期"

#: accounts/models/automations/backup_account.py:122
#: authentication/templates/authentication/_msg_oauth_bind.html:11
#: notifications/notifications.py:186
#: settings/templates/ldap/_msg_import_ldap_user.html:3
msgid "Time"
msgstr "时间"

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

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

#: accounts/models/automations/backup_account.py:133 audits/models.py:203
#: terminal/models/session/sharing.py:125 xpack/plugins/cloud/models.py:213
msgid "Reason"
msgstr "原因"

#: accounts/models/automations/backup_account.py:135
#: accounts/serializers/automations/change_secret.py:107
#: accounts/serializers/automations/change_secret.py:142
#: ops/serializers/job.py:71 terminal/serializers/session.py:52
msgid "Is success"
msgstr "是否成功"

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

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

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

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

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

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

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

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

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

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

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

#: accounts/models/automations/change_secret.py:15
#: accounts/models/automations/gather_account.py:58
#: accounts/serializers/account/backup.py:41
#: accounts/serializers/automations/change_secret.py:58
#: settings/serializers/auth/ldap.py:91
msgid "Recipient"
msgstr "收件人"

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

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

#: accounts/models/automations/change_secret.py:40
msgid "New secret"
msgstr "新密钥"

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

#: accounts/models/automations/change_secret.py:42
#: assets/models/automations/base.py:116 ops/models/base.py:56
#: ops/models/celery.py:89 ops/models/job.py:243
#: terminal/models/applet/host.py:142
msgid "Date finished"
msgstr "结束日期"

#: accounts/models/automations/change_secret.py:44
#: assets/models/automations/base.py:113 audits/models.py:208
#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:234
#: terminal/models/applet/applet.py:331 terminal/models/applet/host.py:140
#: terminal/models/component/status.py:30
#: terminal/models/virtualapp/virtualapp.py:99
#: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:136
#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:284
#: tickets/serializers/super_ticket.py:13
#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:209
#: xpack/plugins/cloud/models.py:265
msgid "Status"
msgstr "状态"

#: accounts/models/automations/change_secret.py:47
#: accounts/serializers/account/account.py:271
#: accounts/templates/accounts/change_secret_failed_info.html:13
#: assets/const/automation.py:8
#: authentication/templates/authentication/passkey.html:173
#: authentication/views/base.py:42 authentication/views/base.py:43
#: authentication/views/base.py:44 common/const/choices.py:20
#: settings/templates/ldap/_msg_import_ldap_user.html:26
msgid "Error"
msgstr "错误"

#: accounts/models/automations/change_secret.py:51
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:65
#: accounts/serializers/account/virtual.py:21 acls/serializers/base.py:19
#: acls/serializers/base.py:50 assets/models/_user.py:23 audits/models.py:188
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:9
#: authentication/templates/authentication/_msg_different_city.html:9
#: authentication/templates/authentication/_msg_oauth_bind.html:9
#: terminal/serializers/storage.py:136 users/forms/profile.py:31
#: users/forms/profile.py:114 users/models/user.py:813
#: 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:75
#: 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:92 audits/serializers.py:84
#: authentication/serializers/connect_token_secret.py:119
#: authentication/templates/authentication/_access_key_modal.html:34
#: tickets/serializers/ticket/ticket.py:21
msgid "Action"
msgstr "动作"

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

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

#: accounts/models/base.py:37 accounts/models/base.py:67
#: accounts/serializers/account/account.py:461
#: accounts/serializers/account/base.py:17
#: accounts/serializers/automations/change_secret.py:47
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:51
#: terminal/serializers/storage.py:140
msgid "Secret type"
msgstr "密文类型"

#: accounts/models/base.py:39 accounts/models/mixins/vault.py:49
#: accounts/serializers/account/base.py:20
#: authentication/models/temp_token.py:10
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:19
msgid "Secret"
msgstr "密钥"

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

#: accounts/models/base.py:44 accounts/serializers/account/template.py:24
#: accounts/serializers/automations/change_secret.py:46
msgid "Password rules"
msgstr "密码规则"

#: accounts/models/base.py:64 accounts/serializers/account/virtual.py:20
#: acls/models/base.py:35 acls/models/base.py:96 acls/models/command_acl.py:21
#: acls/serializers/base.py:35 applications/models.py:9
#: assets/models/_user.py:22 assets/models/asset/common.py:93
#: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21
#: assets/models/domain.py:19 assets/models/group.py:17
#: assets/models/label.py:18 assets/models/platform.py:15
#: assets/models/platform.py:94 assets/serializers/asset/common.py:149
#: assets/serializers/platform.py:118 assets/serializers/platform.py:221
#: authentication/backends/passkey/models.py:10
#: authentication/serializers/connect_token_secret.py:113
#: authentication/serializers/connect_token_secret.py:169 labels/models.py:11
#: ops/mixin.py:21 ops/models/adhoc.py:20 ops/models/celery.py:15
#: ops/models/celery.py:80 ops/models/job.py:142 ops/models/playbook.py:28
#: ops/serializers/job.py:18 orgs/models.py:82
#: perms/models/asset_permission.py:61 rbac/models/role.py:29
#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89
#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:12
#: terminal/models/component/endpoint.py:109
#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13
#: terminal/models/component/terminal.py:85
#: terminal/models/virtualapp/provider.py:10
#: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87
#: users/forms/profile.py:32 users/models/group.py:13
#: users/models/preference.py:11 users/models/user.py:815
#: xpack/plugins/cloud/models.py:33 xpack/plugins/cloud/models.py:281
#: xpack/plugins/cloud/serializers/task.py:70
msgid "Name"
msgstr "名称"

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

#: accounts/models/base.py:70 assets/models/asset/common.py:166
#: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39
#: assets/models/label.py:22
#: authentication/serializers/connect_token_secret.py:117
#: terminal/models/applet/applet.py:41
#: terminal/models/component/endpoint.py:120
#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:175
msgid "Is active"
msgstr "激活"

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

#: accounts/models/template.py:21
msgid "Platforms"
msgstr "系统平台"

#: accounts/models/template.py:23
msgid "Push params"
msgstr "账号推送参数"

#: accounts/models/template.py:26 xpack/plugins/cloud/models.py:338
msgid "Account template"
msgstr "账号模板"

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

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

# msgid "Can view asset account template secret"
# msgstr "可以查看资产账号模板密码"
# msgid "Can change asset account template secret"
# msgstr "可以更改资产账号模板密码"
#: accounts/models/virtual.py:13
msgid "Alias"
msgstr "别名"

#: accounts/models/virtual.py:14
msgid "Secret from login"
msgstr "与用户登录时相同"

#: accounts/models/virtual.py:27
msgid "Same with user"
msgstr "用户名与用户相同"

#: accounts/models/virtual.py:36
msgid "Non-asset account, Input username/password on connect"
msgstr "登录时手动输入 用户名/密码 来连接的账号"

#: accounts/models/virtual.py:37
msgid "The account username name same with user on connect"
msgstr "登录资产时，账号用户名与使用者用户名相同的账号"

#: accounts/models/virtual.py:38
msgid ""
"Connect asset without using a username and password, and it only supports "
"web-based and custom-type assets"
msgstr ""
"连接资产时不使用用户名和密码的账号，仅支持 web类型 和 自定义类型 的资产"

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

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

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

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

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

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

#: accounts/notifications.py:83
#: accounts/templates/accounts/asset_account_change_info.html:3
msgid "Gather account change information"
msgstr "账号变更信息"

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

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

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

#: accounts/serializers/account/account.py:204 applications/models.py:11
#: assets/models/label.py:21 assets/models/platform.py:95
#: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12
#: assets/serializers/platform.py:133 assets/serializers/platform.py:222
#: perms/serializers/user_permission.py:26 settings/models.py:35
#: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12
msgid "Category"
msgstr "类别"

#: accounts/serializers/account/account.py:205
#: accounts/serializers/automations/base.py:55 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 applications/models.py:14
#: assets/models/_user.py:50 assets/models/automations/base.py:20
#: assets/models/cmd_filter.py:74 assets/models/platform.py:96
#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120
#: assets/serializers/platform.py:132 audits/serializers.py:53
#: audits/serializers.py:170
#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:150
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:40
#: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
#: terminal/serializers/session.py:23 terminal/serializers/storage.py:271
#: terminal/serializers/storage.py:283 tickets/models/comment.py:26
#: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16
#: tickets/models/ticket/general.py:276 tickets/serializers/flow.py:53
#: tickets/serializers/ticket/ticket.py:19
msgid "Type"
msgstr "类型"

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

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

#: accounts/serializers/account/account.py:270 ops/models/celery.py:83
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/serializers/super_ticket.py:14
msgid "State"
msgstr "状态"

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

#: accounts/serializers/account/account.py:282
#: accounts/serializers/automations/base.py:22 acls/models/base.py:97
#: acls/templates/acls/asset_login_reminder.html:6
#: assets/models/automations/base.py:19
#: assets/serializers/automations/base.py:20
#: authentication/api/connection_token.py:410 ops/models/base.py:17
#: ops/models/job.py:152 ops/serializers/job.py:19
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
msgid "Assets"
msgstr "资产"

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

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

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

#: accounts/serializers/account/account.py:456
#: accounts/serializers/account/template.py:72
#: assets/serializers/asset/common.py:387
msgid "Spec info"
msgstr "特殊信息"

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

#: accounts/serializers/account/account.py:472 acls/serializers/base.py:116
#: acls/templates/acls/asset_login_reminder.html:5
#: acls/templates/acls/user_login_reminder.html:5
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54
#: audits/models.py:90 audits/models.py:172 audits/models.py:271
#: audits/serializers.py:171 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:63
#: perms/serializers/permission.py:31 rbac/builtin.py:124
#: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17
#: terminal/backends/command/models.py:16 terminal/models/session/session.py:30
#: terminal/models/session/sharing.py:34 terminal/notifications.py:156
#: terminal/notifications.py:205 terminal/serializers/command.py:16
#: terminal/templates/terminal/_msg_command_warning.html:6
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1020
#: users/models/user.py:1058 users/serializers/group.py:21
msgid "User"
msgstr "用户"

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

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

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

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

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

#: accounts/serializers/account/base.py:25 terminal/serializers/storage.py:149
msgid "Key password"
msgstr "密钥密码"

#: accounts/serializers/account/base.py:79
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/account/template.py:13
msgid "Password length"
msgstr "密码长度"

#: accounts/serializers/account/template.py:14
msgid "Lowercase"
msgstr "小写字母"

#: accounts/serializers/account/template.py:15
msgid "Uppercase"
msgstr "大写字母"

#: accounts/serializers/account/template.py:16
msgid "Digit"
msgstr "数字"

#: accounts/serializers/account/template.py:17
msgid "Special symbol"
msgstr "特殊字符"

#: accounts/serializers/account/template.py:19
msgid "Exclude symbol"
msgstr "排除字符"

#: accounts/serializers/account/template.py:39
msgid "Secret generation strategy for account creation"
msgstr "密码生成策略，用于账号创建时，设置密码"

#: accounts/serializers/account/template.py:40
msgid "Whether to automatically push the account to the asset"
msgstr "是否自动推送账号到资产"

#: accounts/serializers/account/template.py:43
msgid ""
"Associated platform, you can configure push parameters. If not associated, "
"default parameters will be used"
msgstr "关联平台，可配置推送参数，如果不关联，将使用默认参数"

#: accounts/serializers/account/virtual.py:19 assets/models/_user.py:27
#: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88
#: assets/models/group.py:20 common/db/models.py:36 ops/models/adhoc.py:26
#: ops/models/job.py:158 ops/models/playbook.py:31 rbac/models/role.py:37
#: settings/models.py:38 terminal/models/applet/applet.py:46
#: terminal/models/applet/applet.py:332 terminal/models/applet/host.py:143
#: terminal/models/component/endpoint.py:25
#: terminal/models/component/endpoint.py:119
#: terminal/models/session/session.py:47
#: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32
#: tickets/models/ticket/general.py:298 users/models/user.py:851
#: xpack/plugins/cloud/models.py:40 xpack/plugins/cloud/models.py:108
msgid "Comment"
msgstr "备注"

#: accounts/serializers/account/virtual.py:24
msgid ""
"Current only support login from AD/LDAP. Secret priority: Same account in "
"asset secret > Login secret > Manual input. <br/ >For security, please set "
"config CACHE_LOGIN_PASSWORD_ENABLED to true"
msgstr ""
"当前仅支持 AD/LDAP 登录方式用户。 同名账号密码生效顺序: 资产上存在的同名账号"
"密码 > 登录密码 > 手动输入 <br/> 为了安全起见，请设置配置项 "
"CACHE_LOGIN_PASSWORD_ENABLED=true，重启服务才能开启"

#: accounts/serializers/automations/base.py:23
#: assets/serializers/automations/base.py:21
msgid "Nodes"
msgstr "节点"

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

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

#: accounts/serializers/automations/change_secret.py:44
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:114
#: assets/models/automations/base.py:127
msgid "Automation task execution"
msgstr "自动化任务执行历史"

#: accounts/signal_handlers.py:48
#, python-format
msgid "Push related accounts to assets: %s, by system"
msgstr "推送账号到资产: %s, 由系统执行"

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

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

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

#: accounts/tasks/automation.py:51 accounts/tasks/automation.py:56
msgid "Execute automation record"
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/remove_account.py:44
msgid "Clean historical accounts"
msgstr "清理历史账号"

#: accounts/tasks/remove_account.py:76
msgid "Remove historical accounts that are out of range."
msgstr "删除超出范围的历史帐户。"

#: accounts/tasks/template.py:11
msgid "Template sync info to related accounts"
msgstr "同步信息到关联的账号"

#: accounts/tasks/vault.py:31
msgid "Sync secret to vault"
msgstr "同步密文到 vault"

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

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

#: accounts/templates/accounts/asset_account_change_info.html:8
msgid "Added account"
msgstr "新增账号"

#: accounts/templates/accounts/asset_account_change_info.html:9
msgid "Deleted account"
msgstr "删除账号"

#: accounts/templates/accounts/change_secret_failed_info.html:3
#: ops/templates/ops/celery_task_log.html:71 terminal/serializers/task.py:10
msgid "Task name"
msgstr "任务名称"

#: accounts/templates/accounts/change_secret_failed_info.html:4
msgid "Task execution id"
msgstr "任务执行 ID"

#: accounts/templates/accounts/change_secret_failed_info.html:5
#: acls/templates/acls/asset_login_reminder.html:3
#: acls/templates/acls/user_login_reminder.html:3
msgid "Respectful"
msgstr "尊敬的"

#: accounts/templates/accounts/change_secret_failed_info.html:6
msgid ""
"Hello! The following is the failure of changing the password of your assets "
"or pushing the account. Please check and handle it in time."
msgstr "你好！ 以下是资产改密或推送账户失败的情况。 请及时检查并处理。"

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

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

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

#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:44
#: tickets/templates/tickets/approve_check_password.html:47
msgid "Reject"
msgstr "拒绝"

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

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

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

#: acls/const.py:10 audits/const.py:35 notifications/apps.py:7
msgid "Notifications"
msgstr "通知"

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

#: acls/models/base.py:38 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:113
#: xpack/plugins/cloud/models.py:288
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:91
msgid "Reviewers"
msgstr "审批人"

#: acls/models/base.py:43 authentication/models/access_key.py:25
#: authentication/models/connection_token.py:53
#: authentication/templates/authentication/_access_key_modal.html:32
#: perms/models/asset_permission.py:82 terminal/models/session/sharing.py:29
#: tickets/const.py:36
msgid "Active"
msgstr "激活中"

#: acls/models/base.py:81 users/apps.py:9 users/models/preference.py:16
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:386
#: perms/serializers/user_permission.py:75 rbac/tree.py:35
msgid "Accounts"
msgstr "账号管理"

#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60
#: ops/serializers/job.py:70 terminal/const.py:86
#: terminal/models/session/session.py:43 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:23
msgid "Command"
msgstr "命令"

#: acls/models/command_acl.py:17 assets/models/cmd_filter.py:59
#: xpack/plugins/cloud/models.py:304
msgid "Regex"
msgstr "正则表达式"

#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79
#: settings/models.py:182 settings/serializers/feature.py:19
#: 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:97
#: acls/serializers/command_acl.py:29
#: authentication/serializers/connect_token_secret.py:88
#: terminal/templates/terminal/_msg_command_warning.html:14
msgid "Command group"
msgstr "命令组"

#: acls/models/command_acl.py:86
msgid "The generated regular expression is incorrect: {}"
msgstr "生成的正则表达式有误"

#: acls/models/command_acl.py:103
#: terminal/templates/terminal/_msg_command_warning.html:12
msgid "Command acl"
msgstr "命令过滤"

#: acls/models/command_acl.py:112 tickets/const.py:12
msgid "Command confirm"
msgstr "命令复核"

#: acls/models/connect_method.py:10
msgid "Connect methods"
msgstr "连接方式"

#: acls/models/connect_method.py:13
msgid "Connect method acl"
msgstr "连接方式控制"

#: acls/models/login_acl.py:11 acls/models/login_asset_acl.py:9
#: acls/serializers/login_acl.py: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:11
msgid "Login confirm"
msgstr "登录复核"

#: acls/models/login_asset_acl.py:12
msgid "Login asset acl"
msgstr "登录资产访问控制"

#: acls/models/login_asset_acl.py:22 tickets/const.py:13
msgid "Login asset confirm"
msgstr "登录资产复核"

#: acls/notifications.py:12
msgid "User login reminder"
msgstr "用户登录提醒"

#: acls/notifications.py:42
msgid "Asset login reminder"
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:145
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 "时段"

#: acls/templates/acls/asset_login_reminder.html:10
msgid ""
"The user has just logged in to the asset. Please ensure that this is an "
"authorized operation. If you suspect that this is an unauthorized access, "
"please take appropriate measures immediately."
msgstr ""
"用户刚刚在登录资产。请确保这是授权的操作。如果您怀疑这是一个未经授权的访问，"
"请立即采取适当的措施。"

#: acls/templates/acls/asset_login_reminder.html:12
#: acls/templates/acls/user_login_reminder.html:13
msgid "Thank you"
msgstr "谢谢"

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

#: acls/templates/acls/user_login_reminder.html:8 audits/models.py:197
#: audits/models.py:266 audits/serializers.py:68
msgid "User agent"
msgstr "用户代理"

#: acls/templates/acls/user_login_reminder.html:11
msgid ""
"The user has just successfully logged into the system. Please ensure that "
"this is an authorized operation. If you suspect that this is an unauthorized "
"access, please take appropriate measures immediately."
msgstr ""
"用户刚刚成功登录到系统。请确保这是授权的操作。如果您怀疑这是一个未经授权的访"
"问，请立即采取适当的措施。"

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

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

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

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

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

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

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

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

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

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

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

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

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

#: assets/automations/ping_gateway/manager.py:33
#: authentication/models/connection_token.py:131
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:93 xpack/plugins/cloud/providers/fc.py:47
msgid "Authentication failed"
msgstr "认证失败"

#: assets/automations/ping_gateway/manager.py:60
#: assets/automations/ping_gateway/manager.py:86 terminal/const.py:102
msgid "Connect failed"
msgstr "连接失败"

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

#: assets/const/automation.py:7
msgid "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:32 audits/const.py:58
#: terminal/serializers/applet_host.py:32
msgid "Disabled"
msgstr "禁用"

#: assets/const/base.py:33 settings/serializers/basic.py:8
#: users/serializers/preference/koko.py:19
#: users/serializers/preference/lina.py:39
#: users/serializers/preference/luna.py:77
msgid "Basic"
msgstr "基本"

#: assets/const/base.py:34 assets/const/protocol.py:281
#: 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:71
#: settings/serializers/feature.py:49 settings/serializers/msg.py:31
#: 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:13
msgid "Cloud service"
msgstr "云服务"

#: assets/const/category.py:14 assets/models/asset/gpt.py:11
#: assets/models/asset/web.py:16 audits/const.py:45
#: terminal/models/applet/applet.py:28 users/const.py:64
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:27
#: tickets/const.py:9
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:46
msgid "Old SSH version"
msgstr "Old SSH version"

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

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

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

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

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

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

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

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

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

#: assets/const/protocol.py:104
msgid "Username prompt"
msgstr "用户名提示"

#: assets/const/protocol.py:105
msgid "We will send username when we see this prompt"
msgstr "当我们看到这个提示时，我们将发送用户名"

#: assets/const/protocol.py:110
msgid "Password prompt"
msgstr "密码提示"

#: assets/const/protocol.py:111
msgid "We will send password when we see this prompt"
msgstr "当我们看到这个提示时，我们将发送密码"

#: assets/const/protocol.py:116
msgid "Success prompt"
msgstr "成功提示"

#: assets/const/protocol.py:117
msgid "We will consider login success when we see this prompt"
msgstr "当我们看到这个提示时，我们将认为登录成功"

#: assets/const/protocol.py:128 assets/models/asset/database.py:10
#: settings/serializers/msg.py:47
msgid "Use SSL"
msgstr "使用 SSL"

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

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

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

#: assets/const/protocol.py:209
msgid "Auth source"
msgstr "认证数据库"

#: assets/const/protocol.py:210
msgid "The database to authenticate against"
msgstr "要进行身份验证的数据库"

#: assets/const/protocol.py:215
msgid "Connection options"
msgstr "连接选项"

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

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

#: assets/const/protocol.py:251
msgid "Safe mode"
msgstr "安全模式"

#: assets/const/protocol.py:253
msgid ""
"When safe mode is enabled, some operations will be disabled, such as: New "
"tab, right click, visit other website, etc."
msgstr ""
"当安全模式启用时，一些操作将被禁用，例如：新建标签页、右键、访问其它网站 等"

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

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

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

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

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

#: assets/const/types.py:248
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公钥"

# 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
#: audits/models.py:269 common/db/models.py:34 ops/models/base.py:54
#: ops/models/job.py:241 users/models/user.py:1059
msgid "Date created"
msgstr "创建日期"

#: assets/models/_user.py:29 assets/models/cmd_filter.py:42
#: common/db/models.py:35 users/models/user.py:869
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:858
#: users/serializers/group.py:32
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:114
#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:43
#: terminal/models/virtualapp/virtualapp.py:24
#: terminal/serializers/session.py:21 terminal/serializers/session.py:48
#: terminal/serializers/storage.py:71
msgid "Protocol"
msgstr "协议"

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

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

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

#: assets/models/_user.py:57 terminal/serializers/storage.py:152
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:94 assets/models/platform.py:16
#: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72
#: settings/serializers/msg.py:32 terminal/serializers/storage.py:133
#: xpack/plugins/cloud/serializers/account_attrs.py:73
msgid "Port"
msgstr "端口"

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

#: assets/models/asset/common.py:161 assets/models/platform.py:145
#: authentication/backends/passkey/models.py:12
#: authentication/serializers/connect_token_secret.py:118
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:334
msgid "Platform"
msgstr "系统平台"

#: assets/models/asset/common.py:163 assets/models/domain.py:22
#: authentication/serializers/connect_token_secret.py:136
#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:336
msgid "Domain"
msgstr "网域"

#: assets/models/asset/common.py:165 assets/models/automations/base.py:18
#: assets/models/cmd_filter.py:32 assets/models/node.py:553
#: perms/models/asset_permission.py:72 perms/serializers/permission.py:36
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:335
msgid "Node"
msgstr "节点"

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

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

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

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

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

#: assets/models/asset/common.py:356
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 settings/serializers/feature.py:86
msgid "Proxy"
msgstr "代理"

#: assets/models/automations/base.py:22 ops/models/job.py:237
#: settings/serializers/auth/sms.py:103
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/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:66
#: perms/serializers/permission.py:33 users/models/group.py:25
#: users/models/user.py:821
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:19
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:121
#: xpack/plugins/cloud/providers/nutanix.py:30
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:1044
msgid "System"
msgstr "系统"

#: assets/models/label.py:19 assets/models/node.py:539
#: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18
#: assets/serializers/cagegory.py:24
#: authentication/models/connection_token.py:29
#: authentication/serializers/connect_token_secret.py:125
#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:34
#: users/models/preference.py:13
msgid "Value"
msgstr "值"

#: assets/models/label.py:40 assets/serializers/cagegory.py:10
#: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23
#: assets/serializers/platform.py:119
#: authentication/serializers/connect_token_secret.py:124
#: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33
#: labels/serializers.py:45 settings/serializers/msg.py:90
msgid "Label"
msgstr "标签"

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

#: assets/models/node.py:467 audits/backends/db.py:68 audits/backends/db.py:69
msgid "empty"
msgstr "空"

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

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

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

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

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

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

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

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

#: assets/models/platform.py:38 audits/const.py:59
#: authentication/backends/passkey/models.py:11 settings/models.py:37
#: 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:33
msgid "Ping enabled"
msgstr "启用资产探活"

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

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

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

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

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

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

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

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

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

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

#: assets/models/platform.py:75
msgid "Remove account enabled"
msgstr "开启账号移除"

#: assets/models/platform.py:77
msgid "Remove account method"
msgstr "账号移除方式"

#: assets/models/platform.py:79
msgid "Remove account params"
msgstr "账号移除参数"

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

#: assets/models/platform.py:98 labels/models.py:13
msgid "Internal"
msgstr "内置"

#: assets/models/platform.py:102 assets/serializers/platform.py:131
msgid "Charset"
msgstr "编码"

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

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

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

#: assets/models/platform.py:108 assets/serializers/platform.py:140
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:127 assets/serializers/platform.py:134
#: authentication/serializers/connect_token_secret.py:30
#: authentication/serializers/connect_token_secret.py:75
#: perms/models/asset_permission.py:76 perms/serializers/permission.py:41
#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:337
#: xpack/plugins/cloud/serializers/task.py:33
msgid "Protocols"
msgstr "协议组"

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

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

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

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

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

#: assets/serializers/asset/common.py:316
msgid "Invalid data"
msgstr "无效的数据"

#: assets/serializers/asset/database.py:13
msgid "Default database"
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:300
msgid "Serial number"
msgstr "序列号"

#: assets/serializers/asset/info/gathered.py:9
msgid "CPU model"
msgstr "CPU型号"

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

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

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

#: assets/serializers/asset/info/gathered.py:13
msgid "Memory"
msgstr "内存"

#: assets/serializers/asset/info/gathered.py:14
msgid "Disk total"
msgstr "硬盘大小"

#: assets/serializers/asset/info/gathered.py:16
#: authentication/serializers/connect_token_secret.py:115
msgid "OS"
msgstr "操作系统"

#: assets/serializers/asset/info/gathered.py:17
msgid "OS version"
msgstr "系统版本"

#: assets/serializers/asset/info/gathered.py:18
msgid "OS arch"
msgstr "系统架构"

#: assets/serializers/cagegory.py:13
msgid "Constraints"
msgstr "约束"

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

#: assets/serializers/domain.py:62 perms/serializers/permission.py:178
msgid "Assets amount"
msgstr "资产数量"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: assets/serializers/platform.py:197
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:16
msgid "The text content is too long. Use Elasticsearch to store operation logs"
msgstr "文字内容太长。请使用 Elasticsearch 存储操作日志"

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

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

#: audits/backends/db.py:94
msgid "Tips"
msgstr "提示"

#: audits/const.py:12
msgid "Mkdir"
msgstr "创建目录"

#: audits/const.py:13
msgid "Rmdir"
msgstr "删除目录"

#: audits/const.py:14 audits/const.py:25
#: authentication/templates/authentication/_access_key_modal.html:65
#: rbac/tree.py:240
msgid "Delete"
msgstr "删除"

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

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

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

#: audits/const.py:18 audits/const.py:28 terminal/api/session/session.py:149
msgid "Download"
msgstr "下载"

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

#: audits/const.py:23 rbac/tree.py:238 terminal/api/session/session.py:277
#: terminal/templates/terminal/_msg_command_warning.html:18
#: terminal/templates/terminal/_msg_session_sharing.html:10
msgid "View"
msgstr "查看"

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

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

#: audits/const.py:30 authentication/templates/authentication/login.html:296
#: authentication/templates/authentication/login.html:369
#: templates/_header_bar.html:101
msgid "Login"
msgstr "登录"

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

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

#: audits/const.py:38
#: authentication/templates/authentication/_access_key_modal.html:155
#: authentication/templates/authentication/_mfa_confirm_modal.html:53
#: templates/_modal.html:22 tickets/const.py:43
msgid "Close"
msgstr "关闭"

#: audits/const.py:41 ops/models/celery.py:84
#: terminal/models/session/sharing.py:128 tickets/const.py:25
msgid "Finished"
msgstr "结束"

#: audits/const.py:46 settings/serializers/terminal.py:6
#: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:175
#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:55
#: terminal/serializers/session.py:69
msgid "Terminal"
msgstr "终端"

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

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

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

#: audits/const.py:54 terminal/models/applet/host.py:144
#: terminal/models/component/task.py:22
msgid "Task"
msgstr "任务"

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

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

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

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

#: audits/models.py:56 audits/models.py:100 audits/models.py:175
#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:113
msgid "Remote addr"
msgstr "远端地址"

#: audits/models.py:61 audits/serializers.py:38
msgid "Operate"
msgstr "操作"

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

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

#: audits/models.py:67 terminal/backends/command/models.py:21
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:20
#: terminal/models/session/sharing.py:95
#: terminal/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:70
msgid "File transfer log"
msgstr "文件管理"

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

#: audits/models.py:95 audits/models.py:98 audits/models.py:144
#: audits/serializers.py:85 labels/serializers.py:46
msgid "Resource"
msgstr "资源"

#: audits/models.py:101 audits/models.py:147 audits/models.py:177
#: terminal/serializers/command.py:75
msgid "Datetime"
msgstr "日期"

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

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

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

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

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

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

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

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

#: audits/models.py:200 audits/serializers.py:52
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: users/forms/profile.py:63 users/models/user.py:838
#: users/serializers/profile.py:102
msgid "MFA"
msgstr "MFA"

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

#: audits/models.py:212 audits/models.py:268 audits/serializers.py:70
#: audits/serializers.py:184
msgid "Authentication backend"
msgstr "认证方式"

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

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

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

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

#: audits/serializers.py:33 ops/models/adhoc.py:25 ops/models/base.py:16
#: ops/models/base.py:53 ops/models/celery.py:86 ops/models/job.py:151
#: ops/models/job.py:240 ops/models/playbook.py:30
#: terminal/models/session/sharing.py:25
msgid "Creator"
msgstr "创建者"

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

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

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

#: 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:33
msgid "SSH Key"
msgstr "SSH 密钥"

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

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

#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73
#: authentication/views/login.py:77 notifications/backends/__init__.py:11
#: settings/serializers/auth/wecom.py:10 users/models/user.py:760
#: users/models/user.py:870
msgid "WeCom"
msgstr "企业微信"

#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:97
#: authentication/views/login.py:89 notifications/backends/__init__.py:14
#: settings/serializers/auth/feishu.py:10 users/models/user.py:762
#: users/models/user.py:872
msgid "FeiShu"
msgstr "飞书"

#: audits/signal_handlers/login_log.py:40 authentication/views/login.py:101
#: authentication/views/slack.py:79 notifications/backends/__init__.py:16
#: settings/serializers/auth/slack.py:10 users/models/user.py:764
#: users/models/user.py:874
msgid "Slack"
msgstr ""

#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:153
#: authentication/views/login.py:83 notifications/backends/__init__.py:12
#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:761
#: users/models/user.py:871
msgid "DingTalk"
msgstr "钉钉"

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

#: audits/signal_handlers/login_log.py:43 authentication/views/login.py:107
#: settings/serializers/auth/passkey.py:8
msgid "Passkey"
msgstr "Passkey"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: authentication/api/password.py:65
#: authentication/templates/authentication/login.html:361
#: users/templates/users/forgot_password.html:41
#: users/templates/users/forgot_password.html:42
#: users/templates/users/forgot_password_previewing.html:13
#: users/templates/users/forgot_password_previewing.html:14
msgid "Forgot password"
msgstr "忘记密码"

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

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

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

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

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

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

#: authentication/backends/passkey/api.py:37
msgid "Only register passkey for local user"
msgstr "仅为本地用户注册密钥"

#: authentication/backends/passkey/api.py:65
msgid "Auth failed"
msgstr "认证失败"

#: authentication/backends/passkey/fido.py:148
msgid "This key is not registered"
msgstr "此密钥未注册"

#: authentication/backends/passkey/models.py:13
msgid "Added on"
msgstr "附加"

#: authentication/backends/passkey/models.py:14
#: authentication/models/access_key.py:26
#: authentication/models/private_token.py:8
msgid "Date last used"
msgstr "最后使用日期"

#: authentication/backends/passkey/models.py:15
msgid "Credential ID"
msgstr "凭证 ID"

#: 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:149
msgid "Current IP and Time period is not allowed"
msgstr "当前 IP 和时间段不被允许登录"

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

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

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

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

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

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

#: authentication/errors/mfa.py:38 authentication/views/lark.py:48
msgid "Lark is not bound"
msgstr "Lark 没有绑定"

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

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

#: authentication/errors/mfa.py:53
#, python-format
msgid "Please wait for %s seconds before retry"
msgstr "请在 %s 秒后重试"

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

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

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

#: authentication/forms.py:39
msgid "Auto login"
msgstr "自动登录"

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

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

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

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

#: authentication/forms.py:68
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:32 users/forms/profile.py:103
#: users/forms/profile.py:108 users/templates/users/forgot_password.html:157
#: users/views/profile/reset.py:100
msgid "SMS"
msgstr "短信"

#: 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:94 settings/utils/ldap.py:679
msgid "Authentication failed (before login check failed): {}"
msgstr "认证失败 (登录前检查失败): {}"

#: authentication/mixins.py:82
msgid "User is invalid"
msgstr "无效的用户"

#: authentication/mixins.py:97
msgid ""
"The administrator has enabled 'Only allow login from user source'. \n"
"            The current user source is {}. Please contact the administrator."
msgstr "管理员已开启'仅允许从用户来源登录'，当前用户来源为{}，请联系管理员。"

#: authentication/mixins.py:273
msgid "The MFA type ({}) is not enabled"
msgstr "该 MFA ({}) 方式没有启用"

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

#: authentication/models/access_key.py:22
#: terminal/models/component/endpoint.py:110
msgid "IP group"
msgstr "IPグループ"

#: authentication/models/connection_token.py:38
#: terminal/serializers/storage.py:114
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
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:51
#: perms/models/asset_permission.py:83
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:118
msgid "Connection token inactive"
msgstr "连接令牌未激活"

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

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

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

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

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

#: authentication/models/private_token.py:11
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:116
msgid "Is builtin"
msgstr "内置的"

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

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

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

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

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

#: authentication/serializers/connect_token_secret.py:172
#: terminal/models/virtualapp/virtualapp.py:26
msgid "Image protocol"
msgstr "镜像协议"

#: authentication/serializers/connection_token.py:16
msgid "Expired time"
msgstr "过期时间"

#: authentication/serializers/connection_token.py:20
msgid "Ticket info"
msgstr "工单信息"

#: authentication/serializers/connection_token.py:21
#: perms/models/asset_permission.py:77 perms/serializers/permission.py:37
#: perms/serializers/permission.py:58
#: 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:39 perms/serializers/permission.py:59
#: users/serializers/user.py:102 users/serializers/user.py:179
msgid "Is expired"
msgstr "已过期"

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

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

#: authentication/serializers/token.py:92 perms/serializers/permission.py:38
#: perms/serializers/permission.py:60 users/serializers/user.py:103
#: users/serializers/user.py:176
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
#: users/const.py:42 users/models/user.py:655 users/serializers/profile.py:92
#: users/templates/users/user_verify_mfa.html:36
msgid "Disable"
msgstr "禁用"

#: authentication/templates/authentication/_access_key_modal.html:67
#: users/const.py:43 users/models/user.py:656 users/serializers/profile.py:93
#: 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/_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:465
#: perms/templates/perms/_msg_item_permissions_expire.html:3
#: perms/templates/perms/_msg_permed_items_expire.html:3
#: tickets/templates/tickets/approve_check_password.html:32
#: 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:27 terminal/models/session/sharing.py:97
#: terminal/templates/terminal/_msg_session_sharing.html:12
#: users/forms/profile.py:106 users/templates/users/forgot_password.html:98
msgid "Verify code"
msgstr "验证码"

#: 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:18
msgid "Cancel"
msgstr "取消"

#: authentication/templates/authentication/login.html:276
msgid ""
"Configuration file has problems and cannot be logged in. Please contact the "
"administrator or view latest docs"
msgstr "配置文件有问题，无法登录，请联系管理员或查看最新文档"

#: authentication/templates/authentication/login.html:277
msgid "If you are administrator, you can update the config resolve it, set"
msgstr "如果你是管理员，可以更新配置文件解决，设置配置项"

#: authentication/templates/authentication/login.html:376
msgid "More login options"
msgstr "其他方式登录"

#: authentication/templates/authentication/login_mfa.html:6
msgid "MFA Auth"
msgstr "MFA 多因子认证"

#: authentication/templates/authentication/login_mfa.html:19
#: users/templates/users/user_otp_check_password.html:12
#: users/templates/users/user_otp_enable_bind.html:24
#: users/templates/users/user_otp_enable_install_app.html:31
#: users/templates/users/user_verify_mfa.html:30
msgid "Next"
msgstr "下一步"

#: authentication/templates/authentication/login_mfa.html:22
msgid "Can't provide security? Please contact the administrator!"
msgstr "如果不能提供 MFA 验证码，请联系管理员!"

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

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

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

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

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

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

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

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

#: authentication/views/base.py:140
#, python-format
msgid "%s query user failed"
msgstr "%s 查询用户失败"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: authentication/views/lark.py:19 authentication/views/lark.py:47
msgid "Lark Error"
msgstr "Lark 错误"

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

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

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

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

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

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

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

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

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

#: authentication/views/mixins.py:39
msgid ""
"For your safety, automatic redirection login is not supported on the client. "
"If you need to open it in the client, please log in again"
msgstr ""
"为了您的安全，客户端不支持自动跳转登录。如果需要在客户端中打开，请重新登录"

#: authentication/views/slack.py:35 authentication/views/slack.py:118
msgid "Slack Error"
msgstr "Slack 错误"

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

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

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

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

#: authentication/views/wecom.py:110
msgid "Wecom"
msgstr ""

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

#: authentication/views/wecom.py:194
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:17 ops/const.py:73
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:167
msgid "Encrypt field using Secret Key"
msgstr "加密的字段"

#: common/db/fields.py:582
msgid ""
"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or "
"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', "
"'match': 'exact', 'value': '1.1.1.1'}}"
msgstr ""
"JSON 多对多字段无效，应为 {'type': 'all'} 或 {'type': 'ids', 'ids': []} 或 "
"{'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': "
"'1.1.1.1'}}"

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

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

#: common/db/fields.py:594 common/db/fields.py:599
#: common/serializers/fields.py:133 tickets/serializers/ticket/common.py:58
#: xpack/plugins/cloud/serializers/account_attrs.py:56
#: xpack/plugins/cloud/serializers/account_attrs.py:79
#: xpack/plugins/cloud/serializers/account_attrs.py:150
msgid "This field is required."
msgstr "该字段是必填项。"

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

#: common/db/fields.py:604
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:859
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:199
msgid "Parse file error: {}"
msgstr "解析文件错误: {}"

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

#: common/drf/renders/base.py:208
msgid ""
"{} - The encryption password has not been set - please go to personal "
"information -> file encryption password to set the encryption password"
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:51
msgid "This action require confirm current user"
msgstr "此操作需要确认当前用户"

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

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

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

#: common/plugins/es.py:46
msgid ""
"Connection failed: Self-signed certificate used. Please check server "
"certificate configuration"
msgstr "连接失败：使用了自签名证书，请检查服务器证书配置"

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

#: common/sdk/im/slack/__init__.py:77
msgid "Unknown error occur"
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/custom_file.py:41
msgid "The custom sms file is invalid"
msgstr "自定义短信文件无效"

#: common/sdk/sms/custom_file.py:47
#, python-format
msgid "SMS sending failed[%s]: %s"
msgstr "短信发送失败[%s]: %s"

#: common/sdk/sms/endpoint.py:16
msgid "Alibaba cloud"
msgstr "阿里云"

#: common/sdk/sms/endpoint.py:17
msgid "Tencent cloud"
msgstr "腾讯云"

#: common/sdk/sms/endpoint.py:18 xpack/plugins/cloud/const.py:13
msgid "Huawei Cloud"
msgstr "华为云"

#: common/sdk/sms/endpoint.py:19
msgid "CMPP v2.0"
msgstr "CMPP v2.0"

#: common/sdk/sms/endpoint.py:21
msgid "Custom type (File)"
msgstr "自定义 (文件)"

#: common/sdk/sms/endpoint.py:32
msgid "SMS provider not support: {}"
msgstr "短信服务商不支持：{}"

#: common/sdk/sms/endpoint.py:54
msgid "SMS verification code signature or template invalid"
msgstr "短信验证码签名或模板无效"

#: common/sdk/sms/exceptions.py:8
msgid "The verification code has expired. Please resend it"
msgstr "验证码已过期，请重新发送"

#: common/sdk/sms/exceptions.py:13
msgid "The verification code is incorrect"
msgstr "验证码错误"

#: common/sdk/sms/exceptions.py:18
msgid "Please wait {} seconds before sending"
msgstr "请在 {} 秒后发送"

#: common/serializers/common.py:90
msgid "Children"
msgstr "节点"

#: common/serializers/fields.py:134
#, python-brace-format
msgid "Invalid pk \"{pk_value}\" - object does not exist."
msgstr "错误的 pk \"{pk_value}\" - 对象不存在"

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

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

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

#: common/serializers/mixin.py:417 labels/apps.py:8
msgid "Labels"
msgstr "标签管理"

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

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

#: common/tasks.py:80 terminal/tasks.py:58
msgid "Upload session replay to external storage"
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:46
#, python-format
msgid "Hello %s"
msgstr "你好 %s"

#: common/utils/verify_code.py:16
msgid "Send SMS code"
msgstr "请输入短信验证码"

#: common/validators.py:16
msgid "Special char not allowed"
msgstr "不能包含特殊字符"

#: common/validators.py:42
msgid "Should not contains special characters"
msgstr "不能包含特殊字符"

#: common/validators.py:47
msgid "The mobile phone number format is incorrect"
msgstr "手机号格式不正确"

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

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

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

#: jumpserver/context_processor.py:14
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>"

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

#: labels/models.py:41
msgid "Labeled resource"
msgstr "关联的资源"

#: labels/serializers.py:22
msgid "Resource count"
msgstr "资源数量"

#: labels/serializers.py:28
msgid "Cannot contain \":,\""
msgstr "不能包含\"：，\""

#: labels/serializers.py:43
msgid "Resource type"
msgstr "资源类型"

#: notifications/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:106 ops/models/job.py:65
msgid "No account available"
msgstr "无可用账号"

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

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

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

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

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

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

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

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

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

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

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

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

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

#: ops/api/playbook.py:98 ops/api/playbook.py:144 ops/api/playbook.py:192
msgid "Invalid file path"
msgstr "无效的文件路径"

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

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

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

#: ops/api/playbook.py:210
msgid "This file can not be delete"
msgstr "无法删除此文件"

#: ops/apps.py:9 ops/notifications.py:18 rbac/tree.py:57
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:149
msgid "Playbook"
msgstr "Playbook"

#: ops/const.py:40
msgid "Upload File"
msgstr "上传"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: ops/models/adhoc.py:24 ops/models/celery.py:81 ops/models/job.py:144
#: terminal/models/component/task.py:14
msgid "Args"
msgstr "参数"

# 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:17
msgid "Date last run"
msgstr "最后运行日期"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: ops/serializers/job.py:73
#: settings/templates/ldap/_msg_import_ldap_user.html:7
msgid "Time cost"
msgstr "花费时间"

#: ops/serializers/job.py:87
msgid "You do not have permission for the current job."
msgstr "你没有当前作业的权限。"

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

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

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

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

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

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

#: ops/tasks.py:131
msgid "Clean job_execution db record"
msgstr "清理作业中心执行历史"

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

#: ops/variables.py:24
msgid "The current user`s username of JumpServer"
msgstr "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:61
msgid "The current organization ({}) cannot be deleted"
msgstr "当前组织 ({}) 不能被删除"

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

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

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

#: orgs/mixins/models.py:48 orgs/mixins/models.py:73
msgid "Please save in a org"
msgstr "请选择一个组织后再保存"

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

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

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

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

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

#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183
#: terminal/models/applet/applet.py:42
msgid "Builtin"
msgstr "内置的"

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

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

#: orgs/models.py:236
msgid "Can not delete virtual org"
msgstr "无法删除虚拟组织"

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

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

#: perms/const.py:12
msgid "Connect (All protocols)"
msgstr "连接 (所有协议)"

#: perms/const.py:13
msgid "Upload (RDP, SFTP)"
msgstr "上传 (RDP, SFTP)"

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

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

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

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

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

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

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

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

#: perms/models/perm_node.py: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:12 perms/notifications.py:44
#: settings/serializers/feature.py:103
msgid "day"
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/serializers/permission.py:176 rbac/serializers/role.py:27
#: users/serializers/group.py:54 users/serializers/group.py:60
msgid "Users amount"
msgstr "用户数量"

#: perms/serializers/permission.py:177
msgid "User groups amount"
msgstr "用户组数量"

#: perms/serializers/permission.py:179
msgid "Nodes amount"
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\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:105
msgid "Internal role, can't be update"
msgstr "内部角色，不能更新"

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

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

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

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

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

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

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

#: rbac/builtin.py:133
msgid "OrgUser"
msgstr "组织用户"

#: rbac/models/menu.py:13
msgid "Menu permission"
msgstr "菜单授权"

#: rbac/models/menu.py:15
msgid "Can view console view"
msgstr "可以显示控制台"

#: rbac/models/menu.py:16
msgid "Can view audit view"
msgstr "可以显示审计台"

#: rbac/models/menu.py:17
msgid "Can view workbench view"
msgstr "可以显示工作台"

#: rbac/models/menu.py:18
msgid "Can view web terminal"
msgstr "Web终端"

#: rbac/models/menu.py:19
msgid "Can view file manager"
msgstr "文件管理"

#: rbac/models/menu.py:20
msgid "Can view System Tools"
msgstr "可以查看系统工具"

#: rbac/models/permission.py:78 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:825
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:62
msgid "Role binding"
msgstr "角色绑定"

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

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

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

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

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

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

#: rbac/serializers/rolebinding.py:60
msgid "Has bound this role"
msgstr "已经绑定"

#: rbac/tree.py:17 rbac/tree.py:18
msgid "All permissions"
msgstr "所有权限"

#: rbac/tree.py:24
msgid "Console view"
msgstr "控制台"

#: rbac/tree.py:25
msgid "Workbench view"
msgstr "工作台"

#: rbac/tree.py:26
msgid "Audit view"
msgstr "审计台"

#: rbac/tree.py:27 settings/models.py:159
msgid "System setting"
msgstr "系统设置"

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

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

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

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

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

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

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

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

#: rbac/tree.py:58 terminal/models/applet/applet.py:53
#: terminal/models/applet/applet.py:328 terminal/models/applet/host.py:30
#: terminal/serializers/applet.py:15
msgid "Applet"
msgstr "远程应用"

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

#: rbac/tree.py:130 settings/serializers/feature.py:94
#: tickets/models/ticket/general.py:308
msgid "Ticket"
msgstr "工单管理"

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

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

#: settings/api/chat.py:40
msgid "Chat AI is not enabled"
msgstr "聊天 AI 没有开启"

#: settings/api/chat.py:79 settings/api/dingtalk.py:31
#: settings/api/feishu.py:36 settings/api/slack.py:34 settings/api/sms.py:160
#: settings/api/vault.py:40 settings/api/wecom.py:37
msgid "Test success"
msgstr "测试成功"

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

#: settings/api/ldap.py:89
msgid ""
"Users are not synchronized, please click the user synchronization button"
msgstr "用户未同步，请点击同步用户按钮"

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

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

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

#: settings/models.py:36 users/models/preference.py:14
msgid "Encrypted"
msgstr "加密的"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: settings/serializers/auth/base.py:20
msgid "Lark Auth"
msgstr "Lark 认证"

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

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

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

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

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

#: settings/serializers/auth/base.py:30
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:12
msgid "Enable FeiShu Auth"
msgstr "启用飞书认证"

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

#: 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:82
msgid "User DN cache timeout (s)"
msgstr "User DN 缓存超时时间 (秒)"

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

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

#: settings/serializers/auth/ldap.py:94
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/passkey.py:11
msgid "Enable passkey Auth"
msgstr "启用 Passkey 认证"

#: settings/serializers/auth/passkey.py:12
msgid "Only SSL domain can use passkey auth"
msgstr "只有 SSL 域名可以使用 Passkey(通行密钥)认证"

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

#: settings/serializers/auth/passkey.py:17
msgid ""
"The hostname can using passkey auth, If not set, will use request host and "
"the request host in DOMAINS, If multiple domains, use comma to separate"
msgstr ""
"可以使用 Passkey 认证的域名，如果不设置，将使用请求主机(主机名在可信域 "
"DOMAINS中), 如果有多个域名，使用逗号分隔, 不需要端口号"

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

#: settings/serializers/auth/radius.py: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/slack.py:12
msgid "Enable Slack Auth"
msgstr "启用 Slack 认证"

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

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

#: settings/serializers/auth/sms.py:22
msgid "SMS code length"
msgstr "验证码长度"

#: settings/serializers/auth/sms.py:27 settings/serializers/auth/sms.py:49
#: settings/serializers/auth/sms.py:57 settings/serializers/auth/sms.py:66
#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:83
msgid "Signature"
msgstr "签名"

#: settings/serializers/auth/sms.py:28 settings/serializers/auth/sms.py:50
#: settings/serializers/auth/sms.py:58 settings/serializers/auth/sms.py:67
msgid "Template code"
msgstr "模板"

#: settings/serializers/auth/sms.py:35
msgid "Test phone"
msgstr "测试手机号"

#: settings/serializers/auth/sms.py:64
msgid "App Access Address"
msgstr "应用地址"

#: settings/serializers/auth/sms.py:65
msgid "Signature channel number"
msgstr "签名通道号"

#: settings/serializers/auth/sms.py:73
msgid "Enterprise code(SP id)"
msgstr "企业代码(SP id)"

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

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

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

#: settings/serializers/auth/sms.py:80
#, 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:89
#, python-brace-format
msgid "The template needs to contain {code}"
msgstr "模板需要包含 {code}"

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

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

#: settings/serializers/auth/sms.py:106
msgid "Request method"
msgstr "请求方式"

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

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

#: settings/serializers/auth/sso.py:20
msgid "SSO auth key TTL"
msgstr "令牌有效期"

#: settings/serializers/auth/sso.py:20
#: xpack/plugins/cloud/serializers/account_attrs.py:200
msgid "Unit: second"
msgstr "单位: 秒"

#: settings/serializers/auth/wecom.py:15
msgid "Enable WeCom Auth"
msgstr "启用企业微信认证"

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

#: settings/serializers/basic.py:13
msgid ""
"External URL, email links or other system callbacks are used to access it, "
"eg: http://dev.jumpserver.org:8080"
msgstr ""
"外部可访问的 URL, 用于邮件链接或其它系统回调, 例如: http://dev.jumpserver."
"org:8080"

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

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

#: settings/serializers/basic.py:22
msgid "Global organization name"
msgstr "全局组织名"

#: settings/serializers/basic.py:23
msgid "The name of global organization to display"
msgstr "全局组织的显示名称，默认为 全局组织"

#: settings/serializers/basic.py:26
msgid "Help Docs URL"
msgstr "文档链接"

#: settings/serializers/basic.py:27
msgid "default: http://docs.jumpserver.org"
msgstr "默认: http://dev.jumpserver.org:8080"

#: settings/serializers/basic.py:30
msgid "Help Support URL"
msgstr "支持链接"

#: settings/serializers/basic.py:31
msgid "default: http://www.jumpserver.org/support/"
msgstr "默认: http://www.jumpserver.org/support/"

#: settings/serializers/basic.py:44
msgid "Organization name already exists"
msgstr "组织名称已存在"

#: settings/serializers/cleaning.py:11
msgid "Period clean"
msgstr "定時清掃"

#: settings/serializers/cleaning.py:15
msgid "Login log keep days (day)"
msgstr "登录日志 (天)"

#: settings/serializers/cleaning.py:19
msgid "Task log keep days (day)"
msgstr "任务日志 (天)"

#: settings/serializers/cleaning.py:23
msgid "Operate log keep days (day)"
msgstr "操作日志 (天)"

#: settings/serializers/cleaning.py:27
msgid "password change log keep days (day)"
msgstr "改密日志 (天)"

#: settings/serializers/cleaning.py:31
msgid "FTP log keep days (day)"
msgstr "上传下载 (天)"

#: settings/serializers/cleaning.py:35
msgid "Cloud sync record keep days (day)"
msgstr "云同步记录 (天)"

#: settings/serializers/cleaning.py:39
msgid "job execution keep days (day)"
msgstr "作业中心执行历史 (天)"

#: settings/serializers/cleaning.py:43
msgid "Activity log keep days (day)"
msgstr "活动记录 (天)"

#: settings/serializers/cleaning.py:46
msgid "Session keep duration (day)"
msgstr "会话日志 (天)"

#: settings/serializers/cleaning.py:48
msgid ""
"Session, record, command will be delete if more than duration, only in "
"database, OSS will not be affected."
msgstr ""
"会话、录像，命令记录超过该时长将会被清除 (影响数据库存储，OSS 等不受影响)"

#: settings/serializers/feature.py:18
msgid "Subject"
msgstr "主题"

#: settings/serializers/feature.py:22
msgid "More url"
msgstr "更多信息 URL"

#: settings/serializers/feature.py:36 settings/serializers/feature.py:39
msgid "Announcement"
msgstr "公告"

#: settings/serializers/feature.py:38
msgid "Enable announcement"
msgstr "启用公告"

#: settings/serializers/feature.py:46
msgid "Enable Vault"
msgstr "启用 Vault"

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

#: settings/serializers/feature.py:60
msgid "Historical accounts retained count"
msgstr "历史账号保留数量"

#: settings/serializers/feature.py:62
msgid ""
"If the specific value is less than 999, the system will automatically "
"perform a task every night: check and delete historical accounts that exceed "
"the predetermined number. If the value reaches or exceeds 999, no historical "
"account deletion will be performed."
msgstr ""
"若特定数值小于999，系统将在每日晚间自动执行任务：检查并删除超出预定数量的历史"
"账号。如果该数值达到或超过999，则不进行任何历史账号的删除操作。"

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

#: settings/serializers/feature.py:77
msgid "Enable Chat AI"
msgstr "启动聊天 AI"

#: settings/serializers/feature.py:80
msgid "Base Url"
msgstr "基本地址"

#: settings/serializers/feature.py:83 templates/_header_bar.html:96
msgid "API Key"
msgstr "API Key"

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

#: settings/serializers/feature.py:96
msgid "Enable tickets"
msgstr "启用工单"

#: settings/serializers/feature.py:97
msgid "No login approval"
msgstr "免登录审批"

#: settings/serializers/feature.py:100
msgid "Ticket authorize default time"
msgstr "默认工单授权时间"

#: settings/serializers/feature.py:103
msgid "hour"
msgstr "时"

#: settings/serializers/feature.py:104
msgid "Ticket authorize default time unit"
msgstr "默认工单授权时间单位"

#: settings/serializers/feature.py:109
msgid "Feature"
msgstr "功能"

#: settings/serializers/feature.py:112
msgid "Operation center"
msgstr "作业中心"

#: settings/serializers/feature.py:113
msgid "Allow user run batch command or not using ansible"
msgstr "是否允许用户使用 ansible 执行批量命令"

#: settings/serializers/feature.py:117
msgid "Operation center command blacklist"
msgstr "作业中心命令黑名单"

#: settings/serializers/feature.py:118
msgid "Commands that are not allowed execute."
msgstr "不允许执行的命令"

#: settings/serializers/feature.py:123
#: terminal/models/virtualapp/provider.py:17
#: terminal/models/virtualapp/virtualapp.py:36
#: terminal/models/virtualapp/virtualapp.py:97
#: terminal/serializers/virtualapp.py:32
msgid "Virtual app"
msgstr "虚拟应用"

#: settings/serializers/feature.py:126
msgid "Enable virtual app"
msgstr "启用虚拟应用"

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

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

#: settings/serializers/msg.py:36
msgid "Tips: Some provider use token except password"
msgstr "提示：一些邮件提供商需要输入的是授权码"

#: settings/serializers/msg.py:39
msgid "Send user"
msgstr "发件人"

#: settings/serializers/msg.py:40
msgid "Tips: Send mail account, default SMTP account as the send account"
msgstr "提示：发送邮件账号，默认使用 SMTP 账号作为发送账号"

#: settings/serializers/msg.py:43
msgid "Test recipient"
msgstr "测试收件人"

#: settings/serializers/msg.py:44
msgid "Tips: Used only as a test mail recipient"
msgstr "提示：仅用来作为测试邮件收件人"

#: settings/serializers/msg.py:48
msgid "If SMTP port is 465, may be select"
msgstr "如果SMTP端口是465，通常需要启用 SSL"

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

#: settings/serializers/msg.py:52
msgid "If SMTP port is 587, may be select"
msgstr "如果SMTP端口是587，通常需要启用 TLS"

#: settings/serializers/msg.py:55
msgid "Subject prefix"
msgstr "主题前缀"

#: settings/serializers/msg.py:58
msgid "Email suffix"
msgstr "邮件后缀"

#: settings/serializers/msg.py:59
msgid ""
"This is used by default if no email is returned during SSO authentication"
msgstr "SSO认证时，如果没有返回邮件地址，将使用该后缀"

#: settings/serializers/msg.py:68
msgid "Create user email subject"
msgstr "邮件主题"

#: settings/serializers/msg.py:69
msgid ""
"Tips: When creating a user, send the subject of the email (eg:Create account "
"successfully)"
msgstr "提示: 创建用户时，发送设置密码邮件的主题 (例如: 创建用户成功)"

#: settings/serializers/msg.py:73
msgid "Create user honorific"
msgstr "邮件问候语"

#: settings/serializers/msg.py:74
msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)"
msgstr "提示: 创建用户时，发送设置密码邮件的敬语 (例如: 你好)"

#: settings/serializers/msg.py:78
msgid "Create user email content"
msgstr "邮件的内容"

#: settings/serializers/msg.py:80
#, python-brace-format
msgid ""
"Tips: When creating a user, send the content of the email, support "
"{username} {name} {email} label"
msgstr ""
"提示: 创建用户时，发送设置密码邮件的内容, 支持 {username} {name} {email} 标签"

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

#: settings/serializers/other.py:8
msgid "More..."
msgstr "更多..."

#: settings/serializers/other.py:11
msgid "Perm ungroup node"
msgstr "显示未分组节点"

#: settings/serializers/other.py:12
msgid "Perm single to ungroup node"
msgstr ""
"放置单独授权的资产到未分组节点, 避免能看到资产所在节点，但该节点未被授权的问"
"题"

#: settings/serializers/security.py:17
msgid "User password expiration (day)"
msgstr "用户密码过期时间 (天)"

#: settings/serializers/security.py:19
msgid ""
"If the user does not update the password during the time, the user password "
"will expire failure;The password expiration reminder mail will be automatic "
"sent to the user by system within 5 days (daily) before the password expires"
msgstr ""
"如果用户在此期间没有更新密码，用户密码将过期失效； 密码过期提醒邮件将在密码过"
"期前5天内由系统 (每天)自动发送给用户"

#: settings/serializers/security.py:26
msgid "Number of repeated historical passwords"
msgstr "不能设置近几次密码"

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

#: settings/serializers/security.py:34
msgid "Password minimum length"
msgstr "密码最小长度"

#: settings/serializers/security.py:38
msgid "Admin user password minimum length"
msgstr "管理员密码最小长度"

#: settings/serializers/security.py:41
msgid "Must contain capital"
msgstr "必须包含大写字符"

#: settings/serializers/security.py:44
msgid "Must contain lowercase"
msgstr "必须包含小写字符"

#: settings/serializers/security.py:47
msgid "Must contain numeric"
msgstr "必须包含数字"

#: settings/serializers/security.py:50
msgid "Must contain special"
msgstr "必须包含特殊字符"

#: settings/serializers/security.py:55
msgid ""
"If the user has failed to log in for a limited number of times, no login is "
"allowed during this time interval."
msgstr "当用户登录失败次数达到限制后，那么在此间隔内禁止登录"

#: settings/serializers/security.py:63
msgid "Limit the number of user login failures"
msgstr "限制用户登录失败次数"

#: settings/serializers/security.py:67
msgid "Block user login interval (minute)"
msgstr "禁止用户登录间隔 (分)"

#: settings/serializers/security.py:73
msgid "Limit the number of IP login failures"
msgstr "限制 IP 登录失败次数"

#: settings/serializers/security.py:77
msgid "Block IP login interval (minute)"
msgstr "禁止 IP 登录间隔 (分)"

#: settings/serializers/security.py:81
msgid "Login IP White List"
msgstr "IP 登录白名单"

#: settings/serializers/security.py:86
msgid "Login IP Black List"
msgstr "IP 登录黑名单"

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

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

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

#: settings/serializers/security.py:97
msgid ""
"If enabled, non-existent users will not be allowed to log in; if disabled, "
"users of other authentication methods except local authentication methods "
"are allowed to log in and automatically create users (if the user does not "
"exist)"
msgstr ""
"如果开启，不存在的用户将不被允许登录；如果关闭，除本地认证方式外，其他认证方"
"式的用户都允许登录并自动创建用户 (如果用户不存在)"

#: settings/serializers/security.py:103
msgid "Only from source login"
msgstr "仅从用户来源登录"

#: settings/serializers/security.py:105
msgid ""
"If it is enabled, the user will only authenticate to the source when logging "
"in; if it is disabled, the user will authenticate all the enabled "
"authentication methods in a certain order when logging in, and as long as "
"one of the authentication methods is successful, they can log in directly"
msgstr ""
"如果开启，用户登录时仅会向来源端进行认证；如果关闭，用户登录时会按照一定的顺"
"序对所有已开启的认证方式进行顺序认证，只要有一个认证成功就可以直接登录"

#: settings/serializers/security.py:116
msgid "Not enabled"
msgstr "未启用"

#: settings/serializers/security.py:117
msgid "All users"
msgstr "所有用户"

#: settings/serializers/security.py:118
msgid "Only admin users"
msgstr "仅管理员"

#: settings/serializers/security.py:120
msgid "Global MFA auth"
msgstr "全局启用 MFA 认证"

#: settings/serializers/security.py:124
msgid "Third-party login users perform MFA authentication"
msgstr "第三方认证开启 MFA"

#: settings/serializers/security.py:125
msgid "The third-party login modes include OIDC, CAS, and SAML2"
msgstr "第三方登录方式包括: OIDC、CAS、SAML2"

#: settings/serializers/security.py:128
msgid "OTP issuer name"
msgstr "OTP 扫描后的名称"

#: settings/serializers/security.py:132
msgid "OTP valid window"
msgstr "OTP 延迟有效次数"

#: settings/serializers/security.py:136
msgid "MFA verify TTL"
msgstr "MFA 校验有效期"

#: settings/serializers/security.py:138
msgid ""
"Unit: second, The verification MFA takes effect only when you view the "
"account password"
msgstr "单位：秒，目前仅在查看账号密码校验 MFA 时生效"

#: settings/serializers/security.py:143
msgid "MFA in login page"
msgstr "MFA 在登录页面输入"

#: settings/serializers/security.py:144
msgid "Eu security regulations(GDPR) require MFA to be on the login page"
msgstr "欧盟数据安全法规(GDPR) 要求 MFA 在登录页面，来确保系统登录安全"

#: settings/serializers/security.py:148
msgid "Verify code TTL (second)"
msgstr "验证码有效时间 (分)"

#: settings/serializers/security.py:149
msgid "Reset password and send SMS code expiration time"
msgstr "重置密码的验证码及发送短信的验证码过期时间"

#: settings/serializers/security.py:153
msgid "Enable Login dynamic code"
msgstr "启用登录附加码"

#: settings/serializers/security.py:154
msgid ""
"The password and additional code are sent to a third party authentication "
"system for verification"
msgstr ""
"密码和附加码一并发送给第三方认证系统进行校验, 如：有的第三方认证系统，需要 密"
"码+6位数字 完成认证"

#: settings/serializers/security.py:158
msgid "Enable Login captcha"
msgstr "启用登录验证码"

#: settings/serializers/security.py:159
msgid "Enable captcha to prevent robot authentication"
msgstr "开启验证码，防止机器人登录"

#: settings/serializers/security.py:162
msgid "Remote Login Protection"
msgstr "异地登录通知"

#: settings/serializers/security.py:164
msgid ""
"The system determines whether the login IP address belongs to a common login "
"city. If the account is logged in from a common login city, the system sends "
"a remote login reminder"
msgstr ""
"根据登录 IP 是否所属常用登录城市进行判断，若账号在非常用城市登录，会发送异地"
"登录提醒"

#: settings/serializers/security.py:170
msgid "Unused user timeout (day)"
msgstr "不活跃用户自动禁用 (天)"

#: settings/serializers/security.py:171
msgid ""
"Detect infrequent users daily and disable them if they exceed the "
"predetermined time limit."
msgstr "每天检测一次，超过预设时间的用户自动禁用"

#: settings/serializers/security.py:191
msgid "Enable watermark"
msgstr "开启水印"

#: settings/serializers/security.py:192
msgid "Enabled, the web session and replay contains watermark information"
msgstr "启用后，Web 会话和录像将包含水印信息"

#: settings/serializers/security.py:196
msgid "Connection max idle time (minute)"
msgstr "连接最大空闲时间 (分)"

#: settings/serializers/security.py:197
msgid "If idle time more than it, disconnect connection."
msgstr "提示：如果超过该配置没有操作，连接会被断开"

#: settings/serializers/security.py:200
msgid "Session expire at browser closed"
msgstr "会话在浏览器关闭时过期"

#: settings/serializers/security.py:201
msgid "Whether to expire the session when the user closes their browser."
msgstr "当用户关闭浏览器时是否使会话过期。"

#: settings/serializers/security.py:205
msgid "Session max connection time (hour)"
msgstr "会话连接最大时间 (时)"

#: settings/serializers/security.py:206
msgid "If session connection time more than it, disconnect connection."
msgstr "提示：如果会话连接超过该配置，连接会被断开"

#: settings/serializers/security.py:209
msgid "Remember manual auth"
msgstr "保存手动输入密码"

#: settings/serializers/security.py:212
#: terminal/templates/terminal/_msg_session_sharing.html:10
msgid "Session share"
msgstr "会话分享"

#: settings/serializers/security.py:213
msgid "Enabled, Allows user active session to be shared with other users"
msgstr "开启后允许用户分享已连接的资产会话给他人，协同工作"

#: settings/serializers/security.py:219
msgid "Insecure command alert"
msgstr "危险命令告警"

#: settings/serializers/security.py:222
msgid "Email recipient"
msgstr "邮件收件人"

#: settings/serializers/security.py:223
msgid "Multiple user using , split"
msgstr "多个用户，使用 , 分割"

#: settings/serializers/settings.py:66
#, python-format
msgid "[%s] %s"
msgstr "[%s] %s"

#: settings/serializers/terminal.py:9 terminal/models/virtualapp/provider.py:11
msgid "Hostname"
msgstr "主机名"

#: settings/serializers/terminal.py:15
msgid "Auto"
msgstr "自动"

#: settings/serializers/terminal.py:22
msgid "Enable terminal register"
msgstr "组件注册"

#: settings/serializers/terminal.py:24
msgid ""
"Allow terminal register, after all terminal setup, you should disable this "
"for security"
msgstr "是否允许组件注册，当所有终端启动后，为了安全应该关闭"

#: settings/serializers/terminal.py:27
msgid "Password auth"
msgstr "密码认证"

#: settings/serializers/terminal.py:29
msgid "Public key auth"
msgstr "密钥认证"

#: settings/serializers/terminal.py:30
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:34
msgid "List sort by"
msgstr "资产列表排序"

#: settings/serializers/terminal.py:37
msgid "List page size"
msgstr "资产列表每页数量"

#: settings/serializers/terminal.py:39
msgid "Enable database proxy"
msgstr "启用数据库组件"

#: settings/serializers/terminal.py:40
msgid "Enable Razor"
msgstr "启用 Razor 服务"

#: settings/serializers/terminal.py:41
msgid "Enable SSH Client"
msgstr "启用 SSH Client"

#: settings/tasks/ldap.py:28
msgid "Periodic import ldap user"
msgstr "周期导入 LDAP 用户"

#: settings/tasks/ldap.py:66
msgid "Registration periodic import ldap user task"
msgstr "注册周期导入 LDAP 用户 任务"

#: settings/templates/ldap/_msg_import_ldap_user.html:2
msgid "Sync task Finish"
msgstr "同步任务完成"

#: settings/templates/ldap/_msg_import_ldap_user.html:6
#: terminal/models/session/session.py:46
msgid "Date end"
msgstr "结束日期"

#: settings/templates/ldap/_msg_import_ldap_user.html:9
msgid "Synced Organization"
msgstr "已同步组织"

#: settings/templates/ldap/_msg_import_ldap_user.html:15
msgid "Synced User"
msgstr "已同步用户"

#: settings/templates/ldap/_msg_import_ldap_user.html:22
msgid "No user synchronization required"
msgstr "没有用户需要同步"

#: settings/utils/ldap.py:494
msgid "ldap:// or ldaps:// protocol is used."
msgstr "使用 ldap:// 或 ldaps:// 协议"

#: settings/utils/ldap.py:505
msgid "Host or port is disconnected: {}"
msgstr "主机或端口不可连接: {}"

#: settings/utils/ldap.py:507
msgid "The port is not the port of the LDAP service: {}"
msgstr "端口不是LDAP服务端口: {}"

#: settings/utils/ldap.py:509
msgid "Please add certificate: {}"
msgstr "请添加证书"

#: settings/utils/ldap.py:513 settings/utils/ldap.py:540
#: settings/utils/ldap.py:570 settings/utils/ldap.py:598
msgid "Unknown error: {}"
msgstr "未知错误: {}"

#: settings/utils/ldap.py:527
msgid "Bind DN or Password incorrect"
msgstr "绑定DN或密码错误"

#: settings/utils/ldap.py:534
msgid "Please enter Bind DN: {}"
msgstr "请输入绑定DN: {}"

#: settings/utils/ldap.py:536
msgid "Please enter Password: {}"
msgstr "请输入密码: {}"

#: settings/utils/ldap.py:538
msgid "Please enter correct Bind DN and Password: {}"
msgstr "请输入正确的绑定DN和密码: {}"

#: settings/utils/ldap.py:556
msgid "Invalid User OU or User search filter: {}"
msgstr "不合法的用户OU或用户过滤器: {}"

#: settings/utils/ldap.py:587
msgid "LDAP User attr map not include: {}"
msgstr "LDAP属性映射没有包含: {}"

#: settings/utils/ldap.py:594
msgid "LDAP User attr map is not dict"
msgstr "LDAP属性映射不合法"

#: settings/utils/ldap.py:613
msgid "LDAP authentication is not enabled"
msgstr "LDAP认证没有启用"

#: settings/utils/ldap.py:631
msgid "Error (Invalid LDAP server): {}"
msgstr "错误  (不合法的LDAP服务器地址): {}"

#: settings/utils/ldap.py:633
msgid "Error (Invalid Bind DN): {}"
msgstr "错误 (不合法的绑定DN): {}"

#: settings/utils/ldap.py:635
msgid "Error (Invalid LDAP User attr map): {}"
msgstr "错误 (不合法的LDAP属性映射): {}"

#: settings/utils/ldap.py:637
msgid "Error (Invalid User OU or User search filter): {}"
msgstr "错误 (不合法的用户OU或用户过滤器): {}"

#: settings/utils/ldap.py:639
msgid "Error (Not enabled LDAP authentication): {}"
msgstr "错误 (没有启用LDAP认证): {}"

#: settings/utils/ldap.py:641
msgid "Error (Unknown): {}"
msgstr "错误 (未知): {}"

#: settings/utils/ldap.py:644
msgid "Succeed: Match {} s user"
msgstr "成功匹配 {} 个用户"

#: settings/utils/ldap.py:677
msgid "Authentication failed (configuration incorrect): {}"
msgstr "认证失败 (配置错误): {}"

#: settings/utils/ldap.py:681
msgid "Authentication failed (username or password incorrect): {}"
msgstr "认证失败 (用户名或密码不正确): {}"

#: settings/utils/ldap.py:683
msgid "Authentication failed (Unknown): {}"
msgstr "认证失败: (未知): {}"

#: settings/utils/ldap.py:686
msgid "Authentication success: {}"
msgstr "认证成功: {}"

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

#: settings/ws.py:205
msgid "Imported {} users successfully (Organization: {})"
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:27
msgid "Commercial support"
msgstr "商业支持"

#: templates/_header_bar.html:85 users/forms/profile.py:43
msgid "Profile"
msgstr "个人信息"

#: templates/_header_bar.html:89
msgid "Admin page"
msgstr "管理页面"

#: templates/_header_bar.html:92
msgid "User page"
msgstr "用户页面"

#: templates/_header_bar.html:97
msgid "Logout"
msgstr "注销登录"

#: templates/_message.html:6
msgid ""
"\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:107
#: users/templates/users/forgot_password.html:176
msgid "Wait: "
msgstr "等待："

#: templates/_mfa_login_field.html:117
#: users/templates/users/forgot_password.html:192
msgid "The verification code has been sent"
msgstr "验证码已发送"

#: templates/_without_nav_base.html:26
msgid "Home page"
msgstr "首页"

#: templates/resource_download.html:18 templates/resource_download.html:33
#: users/const.py:65
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:33
msgid "Microsoft"
msgstr "微软"

#: templates/resource_download.html:33
msgid "Official"
msgstr "官方"

#: templates/resource_download.html:35
msgid ""
"macOS needs to download the client to connect RDP asset, which comes with "
"Windows"
msgstr "macOS 需要下载客户端来连接 RDP 资产，Windows 系统默认安装了该程序"

#: templates/resource_download.html:44
msgid "Windows Remote application publisher tools"
msgstr "Windows 远程应用发布服务器工具"

#: templates/resource_download.html:45
msgid ""
"OpenSSH is a program used to connect remote applications in the Windows "
"Remote Application Publisher"
msgstr "OpenSSH 是在 windows 远程应用发布服务器中用来连接远程应用的程序"

#: templates/resource_download.html:53
msgid "Offline video player"
msgstr "离线录像播放器"

#: terminal/api/applet/applet.py:52 terminal/api/applet/applet.py:55
#: terminal/api/virtualapp/virtualapp.py:43
#: terminal/api/virtualapp/virtualapp.py:46
msgid "Invalid zip file"
msgstr "无效的 zip 文件"

#: terminal/api/applet/applet.py:74
msgid "This is enterprise edition applet"
msgstr "企业版远程应用，在社区版中不能使用"

#: terminal/api/component/endpoint.py:32
msgid "Not found protocol query params"
msgstr "未发现 protocol 查询参数"

#: terminal/api/component/storage.py:31
msgid "Deleting the default storage is not allowed"
msgstr "不允许删除默认存储配置"

#: terminal/api/component/storage.py:34
msgid "Cannot delete storage that is being used"
msgstr "不允许删除正在使用的存储配置"

#: terminal/api/component/storage.py:75 terminal/api/component/storage.py:76
msgid "Command storages"
msgstr "命令存储"

#: terminal/api/component/storage.py:82
msgid "Invalid"
msgstr "无效"

#: terminal/api/component/storage.py:130 terminal/tasks.py:149
msgid "Test failure: {}"
msgstr "测试失败: {}"

#: terminal/api/component/storage.py:133
msgid "Test successful"
msgstr "测试成功"

#: terminal/api/component/storage.py:135
msgid "Test failure: Please check configuration"
msgstr "测试失败：请检查配置"

#: terminal/api/component/terminal.py:55
msgid "Have online sessions"
msgstr "有在线会话"

#: terminal/api/session/session.py:48
#, python-format
msgid "User %s %s session %s replay"
msgstr "用户 %s %s 了会话 %s 的录像"

#: terminal/api/session/session.py:317
msgid "Session does not exist: {}"
msgstr "会话不存在: {}"

#: terminal/api/session/session.py:320
msgid "Session is finished or the protocol not supported"
msgstr "会话已经完成或协议不支持"

#: terminal/api/session/session.py:333
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:29
msgid "SSH Client"
msgstr "SSH 客户端"

#: terminal/connect_methods.py:30
msgid "SSH Guide"
msgstr "SSH 向导"

#: terminal/connect_methods.py:31
msgid "SFTP Client"
msgstr "SFTP 客户端"

#: terminal/connect_methods.py:33
msgid "DB Guide"
msgstr "DB 连接向导"

#: terminal/connect_methods.py:34
msgid "DB Client"
msgstr "数据库客户端"

#: terminal/connect_methods.py:36
msgid "Remote Desktop"
msgstr "远程桌面客户端"

#: terminal/connect_methods.py:37
msgid "RDP Guide"
msgstr "RDP 连接向导"

#: terminal/const.py:12
msgid "Review & Reject"
msgstr "审批 & 拒绝"

#: terminal/const.py:13
msgid "Review & Accept"
msgstr "审批 & 接受"

#: terminal/const.py:14
msgid "Review & Cancel"
msgstr "审批 & 取消"

#: terminal/const.py:45
msgid "Critical"
msgstr "严重"

#: terminal/const.py:46
msgid "High"
msgstr "较高"

#: terminal/const.py:47 terminal/const.py:84
#: users/templates/users/reset_password.html:53
msgid "Normal"
msgstr "正常"

#: terminal/const.py:48
msgid "Offline"
msgstr "离线"

#: terminal/const.py:80
msgid "Mismatch"
msgstr "未匹配"

#: terminal/const.py:85
msgid "Tunnel"
msgstr "隧道"

#: terminal/const.py:91
msgid "Read only"
msgstr "只读"

#: terminal/const.py:92
msgid "Writable"
msgstr "读写"

#: terminal/const.py:96
msgid "Kill session"
msgstr "终断会话"

#: terminal/const.py:97
msgid "Lock session"
msgstr "锁定会话"

#: terminal/const.py:98
msgid "Unlock session"
msgstr "解锁会话"

#: terminal/const.py:103
msgid "Replay create failed"
msgstr "录像创建失败"

#: terminal/const.py:104
msgid "Replay upload failed"
msgstr "录像上传失败"

#: terminal/const.py:105
msgid "Replay convert failed"
msgstr "录像转码失败"

#: terminal/const.py:106
msgid "Replay unsupported"
msgstr "不支持录像"

#: terminal/exceptions.py:8
msgid "Bulk create not support"
msgstr "不支持批量创建"

#: terminal/exceptions.py:13
msgid "Storage is invalid"
msgstr "存储无效"

#: terminal/models/applet/applet.py:31 xpack/plugins/license/models.py:88
msgid "Community edition"
msgstr "社区版"

#: terminal/models/applet/applet.py:32
msgid "Enterprise"
msgstr "企业版"

#: terminal/models/applet/applet.py:37
#: terminal/models/virtualapp/virtualapp.py:22
msgid "Author"
msgstr "作者"

#: terminal/models/applet/applet.py:39 terminal/serializers/applet.py:31
msgid "Edition"
msgstr "版本"

#: terminal/models/applet/applet.py:44
msgid "Can concurrent"
msgstr "可以并发"

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

#: terminal/models/applet/applet.py:49 terminal/serializers/applet_host.py:167
#: terminal/serializers/storage.py:197
msgid "Hosts"
msgstr "主机"

#: terminal/models/applet/applet.py:94
#: terminal/models/virtualapp/virtualapp.py:66
msgid "Applet pkg not valid, Missing file {}"
msgstr "Applet pkg 无效，缺少文件 {}"

#: terminal/models/applet/applet.py:113
msgid "Load platform.yml failed: {}"
msgstr "加载 platform.yml 失败: {}"

#: terminal/models/applet/applet.py:116
msgid "Only support custom platform"
msgstr "只支持自定义平台"

#: terminal/models/applet/applet.py:121
msgid "Missing type in platform.yml"
msgstr "在 platform.yml 中缺少类型"

#: terminal/models/applet/applet.py:330 terminal/models/applet/host.py:36
#: terminal/models/applet/host.py:138
msgid "Hosting"
msgstr "宿主机"

#: terminal/models/applet/applet.py:336
msgid "Applet publication"
msgstr "应用发布"

#: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:69
msgid "Deploy options"
msgstr "部署参数"

#: terminal/models/applet/host.py:19
msgid "Auto create accounts"
msgstr "自动创建账号"

#: terminal/models/applet/host.py:20
msgid "Accounts create amount"
msgstr "创建账号数量"

#: terminal/models/applet/host.py:21
msgid "Inited"
msgstr "已初始化"

#: terminal/models/applet/host.py:22
msgid "Date inited"
msgstr "初始化日期"

#: terminal/models/applet/host.py:23
msgid "Date synced"
msgstr "同步日期"

#: terminal/models/applet/host.py:28
msgid "Using same account"
msgstr "使用同名账号"

#: terminal/models/applet/host.py:139
msgid "Initial"
msgstr "初始化"

#: terminal/models/applet/host.py:148
msgid "Applet host deployment"
msgstr "应用部署"

#: terminal/models/component/endpoint.py: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:23
msgid "SQLServer port"
msgstr "SQLServer 端口"

#: terminal/models/component/endpoint.py:30
#: terminal/models/component/endpoint.py:117
#: terminal/serializers/endpoint.py:73 terminal/serializers/storage.py:41
#: terminal/serializers/storage.py:53 terminal/serializers/storage.py:83
#: terminal/serializers/storage.py:93 terminal/serializers/storage.py:101
msgid "Endpoint"
msgstr "端点"

#: terminal/models/component/endpoint.py:123
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:91
msgid "Command storage"
msgstr "命令存储"

#: terminal/models/component/storage.py:204
#: terminal/models/component/terminal.py:92
msgid "Replay storage"
msgstr "录像存储"

#: terminal/models/component/terminal.py:88
msgid "type"
msgstr "类型"

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

#: terminal/models/component/terminal.py:93
msgid "Application User"
msgstr "应用用户"

#: terminal/models/component/terminal.py:177
msgid "Can view terminal config"
msgstr "可以查看终端配置"

#: terminal/models/session/command.py:76
msgid "Command record"
msgstr "命令记录"

#: terminal/models/session/replay.py:12
msgid "Session replay"
msgstr "会话录像"

#: terminal/models/session/replay.py:14
msgid "Can upload session replay"
msgstr "可以上传会话录像"

#: terminal/models/session/replay.py:15
msgid "Can download session replay"
msgstr "可以下载会话录像"

#: terminal/models/session/session.py:35
msgid "Account id"
msgstr "账号 ID"

#: terminal/models/session/session.py:37 terminal/models/session/sharing.py:118
msgid "Login from"
msgstr "登录来源"

#: terminal/models/session/session.py:42
msgid "Replay"
msgstr "回放"

#: terminal/models/session/session.py:48 terminal/serializers/session.py:68
msgid "Command amount"
msgstr "命令数量"

#: terminal/models/session/session.py:49 terminal/serializers/session.py:30
msgid "Error reason"
msgstr "错误原因"

#: terminal/models/session/session.py:290
msgid "Session record"
msgstr "会话记录"

#: terminal/models/session/session.py:292
msgid "Can monitor session"
msgstr "可以监控会话"

#: terminal/models/session/session.py:293
msgid "Can share session"
msgstr "可以分享会话"

#: terminal/models/session/session.py:294
msgid "Can terminate session"
msgstr "可以终断会话"

#: terminal/models/session/session.py:295
msgid "Can validate session action perm"
msgstr "可以验证会话动作权限"

#: terminal/models/session/sharing.py:32
msgid "Expired time (min)"
msgstr "过期时间 (分)"

#: terminal/models/session/sharing.py:36 terminal/serializers/sharing.py:20
#: terminal/serializers/sharing.py:52
msgid "Action permission"
msgstr "操作权限"

#: terminal/models/session/sharing.py:38
msgid "Origin"
msgstr "来源"

#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100
#: terminal/notifications.py:261
msgid "Session sharing"
msgstr "会话分享"

#: terminal/models/session/sharing.py:44
msgid "Can add super session sharing"
msgstr "可以创建超级会话分享"

#: terminal/models/session/sharing.py:83
msgid "Link not active"
msgstr "链接失效"

#: terminal/models/session/sharing.py:85
msgid "Link expired"
msgstr "链接过期"

#: terminal/models/session/sharing.py:87
msgid "User not allowed to join"
msgstr "该用户无权加入会话"

#: terminal/models/session/sharing.py:104 terminal/serializers/sharing.py:71
msgid "Joiner"
msgstr "加入者"

#: terminal/models/session/sharing.py:107
msgid "Date joined"
msgstr "加入日期"

#: terminal/models/session/sharing.py:110
msgid "Date left"
msgstr "结束日期"

#: terminal/models/session/sharing.py:133
msgid "Session join record"
msgstr "会话加入记录"

#: terminal/models/session/sharing.py:149
msgid "Invalid verification code"
msgstr "验证码不正确"

#: terminal/models/session/sharing.py:156
msgid "You have already joined this session"
msgstr "您已经加入过此会话"

#: terminal/models/virtualapp/virtualapp.py:32
msgid "Providers"
msgstr "提供商"

#: terminal/models/virtualapp/virtualapp.py:94
#: terminal/serializers/virtualapp.py:34
msgid "App Provider"
msgstr "应用提供商"

#: terminal/models/virtualapp/virtualapp.py:102
msgid "Virtual app publication"
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:240 terminal/tasks.py:153
msgid "Test failure: Account invalid"
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 terminal/serializers/virtualapp.py:15
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:208
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:53
msgid "RDS Max Disconnection Time (ms)"
msgstr "RDS 最大断开时间（毫秒）"

#: terminal/serializers/applet_host.py:55
msgid ""
"Tips: Set the maximum duration for keeping a disconnected session active on "
"the server (log off the session after 60000 milliseconds)."
msgstr ""
"提示：设置某个已断开连接的会话在服务器上能保持活动状态的最长时间（60000 毫秒"
"后注销会话）"

#: terminal/serializers/applet_host.py:60
msgid "RDS Remote App Logoff Time Limit (ms)"
msgstr "RDS 远程应用注销时间限制（毫秒）"

#: terminal/serializers/applet_host.py:62
msgid ""
"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp "
"programs (0 milliseconds, log off the session immediately)."
msgstr ""
"提示：关闭所有 RemoteApp 程序之后设置 RemoteAPP 会话的注销时间（0 毫秒，立即"
"注销会话）"

#: terminal/serializers/applet_host.py:71 terminal/serializers/terminal.py:47
#: terminal/serializers/virtualapp_provider.py:13
msgid "Load status"
msgstr "负载状态"

#: terminal/serializers/applet_host.py:85
msgid ""
"These accounts are used to connect to the published application, the account "
"is now divided into two types, one is dedicated to each account, each user "
"has a private account, the other is public, when the application does not "
"support multiple open and the special has been used, the public account will "
"be used to connect"
msgstr ""
"这些账号用于连接发布的应用，账号现在分为两种类型: <br/ >一种是专用的，每个用"
"户都有一个专用账号。 另一种是公共的，当应用不支持多开且专用的已经被使用时，会"
"使用公共账号连接; <br />注意: 如果不开启自动创建账号, 当前发布机仅能被指定标"
"签的资产调度到，默认不会放到调度池中，且需要手动维护账号"

#: terminal/serializers/applet_host.py:92
msgid "The number of public accounts created automatically"
msgstr "公用账号自动创建的数量"

#: terminal/serializers/applet_host.py:95
msgid ""
"Connect to the host using the same account first. For security reasons, "
"please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and "
"restart the service to enable it."
msgstr ""
"优先使用同名账号连接发布机。为了安全，需配置文件中开启配置 "
"CACHE_LOGIN_PASSWORD_ENABLED=true， 修改后重启服务"

#: terminal/serializers/applet_host.py:137
msgid "Install applets"
msgstr "安装应用"

#: terminal/serializers/applet_host.py:167
msgid "Host ID"
msgstr "主机 ID"

#: terminal/serializers/applet_host.py:168
msgid "Applet ID"
msgstr "远程应用 ID"

#: 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:25 terminal/serializers/session.py:53
msgid "Can replay"
msgstr "是否可重放"

#: terminal/serializers/session.py:26 terminal/serializers/session.py:54
msgid "Can join"
msgstr "是否可加入"

#: terminal/serializers/session.py:27 terminal/serializers/session.py:57
msgid "Can terminate"
msgstr "是否可中断"

#: terminal/serializers/session.py:47
msgid "Duration"
msgstr "时长"

#: terminal/serializers/session.py:49
msgid "User ID"
msgstr "用户 ID"

#: terminal/serializers/session.py:50
msgid "Asset ID"
msgstr "资产 ID"

#: terminal/serializers/session.py:51
msgid "Login from display"
msgstr "登录来源名称"

#: terminal/serializers/session.py:58
msgid "Terminal display"
msgstr "终端显示"

#: terminal/serializers/storage.py:23
msgid "Endpoint invalid: remove path `{}`"
msgstr "端点无效: 移除路径 `{}`"

#: terminal/serializers/storage.py:29
msgid "Bucket"
msgstr "桶名称"

#: terminal/serializers/storage.py:33
#: xpack/plugins/cloud/serializers/account_attrs.py:17
msgid "Access key id"
msgstr "Access key ID(AK)"

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

#: terminal/serializers/storage.py:68 xpack/plugins/cloud/models.py:258
msgid "Region"
msgstr "地域"

#: terminal/serializers/storage.py:112
msgid "Container name"
msgstr "容器名称"

#: terminal/serializers/storage.py:115
msgid "Account key"
msgstr "账号密钥"

#: terminal/serializers/storage.py:118
msgid "Endpoint suffix"
msgstr "端点后缀"

#: terminal/serializers/storage.py:129
msgid "HOST"
msgstr "主机"

#: terminal/serializers/storage.py:146 users/models/user.py:845
#: xpack/plugins/cloud/serializers/account_attrs.py:213
msgid "Private key"
msgstr "ssh私钥"

#: terminal/serializers/storage.py:173
msgid "The address cannot contain the special character `#`"
msgstr "地址中不能包含特殊字符 `#`"

#: terminal/serializers/storage.py:175
msgid "The address format is incorrect"
msgstr "地址格式不正确"

#: terminal/serializers/storage.py:182
msgid "Host invalid"
msgstr "主机无效"

#: terminal/serializers/storage.py:185
msgid "Port invalid"
msgstr "端口无效"

#: terminal/serializers/storage.py:200
msgid "Index by date"
msgstr "按日期建索引"

#: terminal/serializers/storage.py:201
msgid "Whether to create an index by date"
msgstr "是否根据日期动态建立索引"

#: terminal/serializers/storage.py:204
msgid "Index"
msgstr "索引"

#: terminal/serializers/storage.py:206
msgid "Doc type"
msgstr "文档类型"

#: terminal/serializers/task.py:9
msgid "Session id"
msgstr "会话 ID"

#: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91
msgid "Not found"
msgstr "没有发现"

#: terminal/serializers/virtualapp_provider.py:26
msgid "Container ID"
msgstr "容器 ID"

#: terminal/serializers/virtualapp_provider.py:27
msgid "Container Image"
msgstr "容器镜像"

#: terminal/serializers/virtualapp_provider.py:28
msgid "Container Name"
msgstr "容器名称"

#: terminal/serializers/virtualapp_provider.py:29
msgid "Container Status"
msgstr "容器状态"

#: terminal/serializers/virtualapp_provider.py:30
msgid "Container Ports"
msgstr "容器端口"

#: terminal/session_lifecycle.py:30
#, python-format
msgid "Connect to asset %s success"
msgstr "连接资产 %s 成功"

#: terminal/session_lifecycle.py:38
#, python-format
msgid "Connect to asset %s finished: %s"
msgstr "连接资产 %s 结束: %s"

#: terminal/session_lifecycle.py:48
#, python-format
msgid "User %s create share link"
msgstr "用户 %s 创建分享链接"

#: terminal/session_lifecycle.py:57
#, python-format
msgid "User %s join session"
msgstr "用户 %s 加入会话"

#: terminal/session_lifecycle.py:69
#, python-format
msgid "User %s leave session"
msgstr "用户 %s 离开会话"

#: terminal/session_lifecycle.py:81
#, python-format
msgid "User %s join to monitor session"
msgstr "用户 %s 监控会话"

#: terminal/session_lifecycle.py:93
#, python-format
msgid "User %s exit to monitor session"
msgstr "用户 %s 离开监控会话"

#: terminal/session_lifecycle.py:105
msgid "Replay start to convert"
msgstr "录像开始转化"

#: terminal/session_lifecycle.py:113
msgid "Replay successfully converted to MP4 format"
msgstr "录像成功转换成 MP4 格式"

#: terminal/session_lifecycle.py:121
#, python-format
msgid "Replay failed to convert to MP4 format: %s"
msgstr "录像转换成 MP4 格式失败: %s"

#: terminal/session_lifecycle.py:129
msgid "Replay start to upload"
msgstr "录像开始上传"

#: terminal/session_lifecycle.py:137
msgid "Replay successfully uploaded"
msgstr "录像成功上传"

#: terminal/session_lifecycle.py:145
#, python-format
msgid "Replay failed to upload: %s"
msgstr "录像上传失败：%s"

#: terminal/session_lifecycle.py:152
msgid "connect failed"
msgstr "连接失败"

#: terminal/session_lifecycle.py:153
msgid "connection disconnect"
msgstr "连接断开"

#: terminal/session_lifecycle.py:154
msgid "user closed"
msgstr "用户关闭"

#: terminal/session_lifecycle.py:155
msgid "idle disconnect"
msgstr "空闲断开"

#: terminal/session_lifecycle.py:156
msgid "admin terminated"
msgstr "管理员终断连接"

#: terminal/session_lifecycle.py:157
msgid "maximum session time has been reached"
msgstr "超过会话最大连接时间"

#: terminal/session_lifecycle.py:158
msgid "permission has expired"
msgstr "授权已过期"

#: terminal/session_lifecycle.py:159
msgid "storage is null"
msgstr "存储为空"

#: terminal/tasks.py:31
msgid "Periodic delete terminal status"
msgstr "周期清理终端状态"

#: terminal/tasks.py:39
msgid "Clean orphan session"
msgstr "清除离线会话"

#: terminal/tasks.py:87
msgid "Run applet host deployment"
msgstr "运行应用机部署"

#: terminal/tasks.py:97
msgid "Install applet"
msgstr "安装应用"

#: terminal/tasks.py:108
msgid "Uninstall applet"
msgstr "卸载应用"

#: terminal/tasks.py:119
msgid "Generate applet host accounts"
msgstr "收集远程应用上的账号"

#: terminal/tasks.py:131
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/api/ticket.py:88 tickets/models/ticket/general.py:289
msgid "Applicant"
msgstr "申请人"

#: tickets/apps.py:7
msgid "Tickets"
msgstr "工单管理"

#: tickets/const.py:10
msgid "Apply for asset"
msgstr "申请资产"

#: tickets/const.py:17 tickets/const.py:24 tickets/const.py:42
msgid "Open"
msgstr "打开"

#: tickets/const.py:19 tickets/const.py:31
msgid "Approved"
msgstr "已同意"

#: tickets/const.py:20 tickets/const.py:32
msgid "Rejected"
msgstr "已拒绝"

#: tickets/const.py:30 tickets/const.py:37
msgid "Closed"
msgstr "关闭的"

#: tickets/const.py:49
msgid "One level"
msgstr "1 级"

#: tickets/const.py:50
msgid "Two level"
msgstr "2 级"

#: tickets/const.py:54
msgid "Org admin"
msgstr "组织管理员"

#: tickets/const.py:55
msgid "Custom user"
msgstr "自定义用户"

#: tickets/const.py:56
msgid "Super admin"
msgstr "超级管理员"

#: tickets/const.py:57
msgid "Super admin and org admin"
msgstr "组织管理员或超级管理员"

#: tickets/const.py:61
msgid "All assets"
msgstr "所有资产"

#: tickets/const.py:62
msgid "Permed assets"
msgstr "授权的资产"

#: tickets/const.py:63
msgid "Permed valid assets"
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:45
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/command_confirm.py:23
msgid "Apply Command Ticket"
msgstr "命令复核工单"

#: tickets/models/ticket/general.py:80
msgid "Ticket step"
msgstr "工单步骤"

#: tickets/models/ticket/general.py:98
msgid "Ticket assignee"
msgstr "工单受理人"

#: tickets/models/ticket/general.py:273
msgid "Title"
msgstr "标题"

#: tickets/models/ticket/general.py:293
msgid "TicketFlow"
msgstr "工单流程"

#: tickets/models/ticket/general.py:296
msgid "Approval step"
msgstr "审批步骤"

#: tickets/models/ticket/general.py:299
msgid "Relation snapshot"
msgstr "工单快照"

#: tickets/models/ticket/general.py:405
msgid "Please try again"
msgstr "请再次尝试"

#: tickets/models/ticket/general.py:481
msgid "Super ticket"
msgstr "超级工单"

#: tickets/models/ticket/login_asset_confirm.py:11
msgid "Login user"
msgstr "登录用户"

#: tickets/models/ticket/login_asset_confirm.py:14
msgid "Login asset"
msgstr "登录资产"

#: tickets/models/ticket/login_asset_confirm.py:17
msgid "Login account"
msgstr "登录账号"

#: tickets/models/ticket/login_asset_confirm.py:27
msgid "Apply Login Asset Ticket"
msgstr "资产登录复核工单"

#: tickets/models/ticket/login_confirm.py:12
msgid "Login datetime"
msgstr "登录日期"

#: tickets/models/ticket/login_confirm.py:15
msgid "Apply Login Ticket"
msgstr "用户登录复核工单"

#: tickets/notifications.py:63
msgid "Ticket basic info"
msgstr "工单基本信息"

#: tickets/notifications.py:64
msgid "Ticket applied info"
msgstr "工单申请信息"

#: tickets/notifications.py:105
msgid "Your has a new ticket, applicant - {}"
msgstr "你有一个新的工单, 申请人 - {}"

#: tickets/notifications.py:109
msgid "{}: New Ticket - {} ({})"
msgstr "新工单 - {} ({})"

#: tickets/notifications.py:155
msgid "Your ticket has been processed, processor - {}"
msgstr "你的工单已被处理, 处理人 - {}"

#: tickets/notifications.py:159
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:21
msgid "View details"
msgstr "查看详情"

#: tickets/templates/tickets/_msg_ticket.html:26
msgid "Direct approval"
msgstr "直接批准"

#: tickets/templates/tickets/approve_check_password.html:11
msgid "Ticket information"
msgstr "工单信息"

#: tickets/templates/tickets/approve_check_password.html:28
#: tickets/views/approve.py:43 tickets/views/approve.py:80
msgid "Ticket approval"
msgstr "工单审批"

#: tickets/templates/tickets/approve_check_password.html:43
msgid "Approval"
msgstr "同意"

#: tickets/views/approve.py:44
msgid ""
"This ticket does not exist, the process has ended, or this link has expired"
msgstr "工单不存在，或者工单流程已经结束，或者此链接已经过期"

#: tickets/views/approve.py:72
msgid "Click the button below to approve or reject"
msgstr "点击下方按钮同意或者拒绝"

#: tickets/views/approve.py:81
msgid "After successful authentication, this ticket can be approved directly"
msgstr "认证成功后，工单可直接审批"

#: tickets/views/approve.py:105
msgid "Illegal approval action"
msgstr "无效的审批动作"

#: tickets/views/approve.py:119
msgid "This user is not authorized to approve this ticket"
msgstr "此用户无权审批此工单"

#: users/api/user.py:155
msgid "Can not invite self"
msgstr "不能邀请自己"

#: users/api/user.py:208
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/const.py:23
msgid "AUTO"
msgstr "自动"

#: users/const.py:31
msgid "Full screen"
msgstr "全屏"

#: users/const.py:32
msgid "Multi screen"
msgstr "多屏显示"

#: users/const.py:33
msgid "Drives redirect"
msgstr "磁盘挂载"

#: users/const.py:37
msgid "Current window"
msgstr "当前窗口"

#: users/const.py:38
msgid "New window"
msgstr "新窗口"

#: users/const.py:47
msgid "High（32 bit）"
msgstr "高（32 bit）"

#: users/const.py:48
msgid "Medium（16 bit）"
msgstr "中（16 bit）"

#: users/const.py:69
msgid "Replace"
msgstr "替换"

#: users/const.py:70
msgid "Suffix"
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:48
msgid ""
"When enabled, you will enter the MFA binding process the next time you log "
"in. you can also directly bind in \"personal information -> quick "
"modification -> change MFA Settings\"!"
msgstr ""
"启用之后您将会在下次登录时进入多因子认证绑定流程；您也可以在 (个人信息->快速"
"修改->设置 MFA 多因子认证)中直接绑定！"

#: users/forms/profile.py:59
msgid "* Enable MFA to make the account more secure."
msgstr "* 启用 MFA 多因子认证，使账号更加安全。"

#: users/forms/profile.py:68
msgid ""
"In order to protect you and your company, please keep your account, password "
"and key sensitive information properly. (for example: setting complex "
"password, enabling MFA)"
msgstr ""
"为了保护您和公司的安全，请妥善保管您的账号、密码和密钥等重要敏感信息； (如："
"设置复杂密码，并启用 MFA 多因子认证)"

#: users/forms/profile.py:75
msgid "Finish"
msgstr "完成"

#: users/forms/profile.py:82
msgid "New password"
msgstr "新密码"

#: users/forms/profile.py:87
msgid "Confirm password"
msgstr "确认密码"

#: users/forms/profile.py:95
msgid "Password does not match"
msgstr "密码不一致"

#: users/forms/profile.py:104
msgid "The phone number must contain an area code, for example, +86"
msgstr "手机号码必须包含区号，例如 +86"

#: users/forms/profile.py:120
msgid "Old password"
msgstr "原来密码"

#: users/forms/profile.py:130
msgid "Old password error"
msgstr "原来密码错误"

#: users/forms/profile.py:140
msgid "Automatically configure and download the SSH key"
msgstr "自动配置并下载SSH密钥"

#: users/forms/profile.py:142
msgid "ssh public key"
msgstr "SSH公钥"

#: users/forms/profile.py:143
msgid "ssh-rsa AAAA..."
msgstr "ssh-rsa AAAA..."

#: users/forms/profile.py:144
msgid "Paste your id_rsa.pub here."
msgstr "复制你的公钥到这里"

#: users/forms/profile.py:157
msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同"

#: users/forms/profile.py:161 users/serializers/profile.py:76
#: users/serializers/profile.py:164 users/serializers/profile.py:191
msgid "Not a valid ssh public key"
msgstr "SSH密钥不合法"

#: users/forms/profile.py:172 users/models/user.py:848
#: xpack/plugins/cloud/serializers/account_attrs.py:210
msgid "Public key"
msgstr "SSH公钥"

#: users/models/preference.py:38 users/serializers/preference/preference.py:19
msgid "Preference"
msgstr "用户设置"

#: users/models/user.py:657 users/serializers/profile.py:94
msgid "Force enable"
msgstr "强制启用"

#: users/models/user.py:763
msgid "Lark"
msgstr ""

#: users/models/user.py:827 users/serializers/user.py:177
msgid "Is service account"
msgstr "服务账号"

#: users/models/user.py:829
msgid "Avatar"
msgstr "头像"

#: users/models/user.py:832
msgid "Wechat"
msgstr "微信"

#: users/models/user.py:835 users/serializers/user.py:113
msgid "Phone"
msgstr "手机"

#: users/models/user.py:841
msgid "OTP secret key"
msgstr "OTP 密钥"

# msgid "Private key"
# msgstr "ssh私钥"
#: users/models/user.py:853 users/serializers/profile.py:128
#: users/serializers/user.py:174
msgid "Is first login"
msgstr "首次登录"

#: users/models/user.py:863
msgid "Date password last updated"
msgstr "最后更新密码日期"

#: users/models/user.py:866
msgid "Need update password"
msgstr "需要更新密码"

#: users/models/user.py:868
msgid "Date api key used"
msgstr "Api key 最后使用日期"

#: users/models/user.py:1001
msgid "Can not delete admin user"
msgstr "无法删除管理员用户"

#: users/models/user.py:1029
msgid "Can invite user"
msgstr "可以邀请用户"

#: users/models/user.py:1030
msgid "Can remove user"
msgstr "可以移除用户"

#: users/models/user.py:1031
msgid "Can match user"
msgstr "可以匹配用户"

#: users/models/user.py:1040
msgid "Administrator"
msgstr "管理员"

#: users/models/user.py:1043
msgid "Administrator is the super user of system"
msgstr "Administrator是初始的超级管理员"

#: users/models/user.py:1068
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:233
msgid "Reset password success"
msgstr "重置密码成功"

#: users/notifications.py:117
msgid "Reset public key success"
msgstr "重置公钥成功"

#: users/notifications.py:143
msgid "Password is about expire"
msgstr "密码即将过期"

#: users/notifications.py:171
msgid "Account is about expire"
msgstr "账号即将过期"

#: users/notifications.py:193
msgid "Reset SSH Key"
msgstr "重置 SSH 密钥"

#: users/notifications.py:214
msgid "Reset MFA"
msgstr "重置 MFA"

#: users/serializers/preference/koko.py:10
msgid "File name conflict resolution"
msgstr "文件名冲突解决方案"

#: users/serializers/preference/koko.py:14
msgid "Terminal theme name"
msgstr "终端主题名称"

#: users/serializers/preference/lina.py:13
msgid "New file encryption password"
msgstr "文件加密密码"

#: users/serializers/preference/lina.py:18
msgid "Confirm file encryption password"
msgstr "确认文件加密密码"

#: users/serializers/preference/lina.py:31 users/serializers/profile.py:48
msgid "The newly set password is inconsistent"
msgstr "两次密码不一致"

#: users/serializers/preference/luna.py:26
msgid "Async loading of asset tree"
msgstr "异步加载资产树"

#: users/serializers/preference/luna.py:30
msgid "Connect default open method"
msgstr "连接默认打开方式"

#: users/serializers/preference/luna.py:37
msgid "RDP resolution"
msgstr "RDP 分辨率"

#: users/serializers/preference/luna.py:41
msgid "Keyboard layout"
msgstr "键盘布局"

#: users/serializers/preference/luna.py:45
msgid "RDP client option"
msgstr "RDP 客户端选项"

#: users/serializers/preference/luna.py:49
msgid "RDP color quality"
msgstr "RDP 颜色质量"

#: users/serializers/preference/luna.py:53
msgid "RDP smart size"
msgstr "RDP 智能尺寸"

# msgid "Rdp smart size"
# msgstr "RDP 智能大小"
#: users/serializers/preference/luna.py:54
msgid ""
"Determines whether the client computer should scale the content on the "
"remote computer to fit the window size of the client computer when the "
"window is resized."
msgstr ""
"确定调整窗口大小时客户端计算机是否应缩放远程计算机上的内容以适应客户端计算机"
"的窗口大小"

#: users/serializers/preference/luna.py:59
msgid "Remote application connection method"
msgstr "远程应用连接方式"

#: users/serializers/preference/luna.py:66
msgid "Character terminal font size"
msgstr "字符终端字体大小"

#: users/serializers/preference/luna.py:69
msgid "Backspace as Ctrl+H"
msgstr "字符终端Backspace As Ctrl+H"

#: users/serializers/preference/luna.py:72
msgid "Right click quickly paste"
msgstr "右键快速粘贴"

#: users/serializers/preference/luna.py:78
msgid "Graphics"
msgstr "图形化"

#: users/serializers/preference/luna.py:79
msgid "Command line"
msgstr "命令行"

#: users/serializers/profile.py:29
msgid "The old password is incorrect"
msgstr "旧密码错误"

#: users/serializers/profile.py:36 users/serializers/profile.py:178
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/user.py:46
msgid "System roles"
msgstr "系统角色"

#: users/serializers/user.py:50
msgid "Org roles"
msgstr "组织角色"

#: users/serializers/user.py:53
msgid "Organizations and roles"
msgstr "组织和角色"

#: users/serializers/user.py:95
msgid "Password strategy"
msgstr "密码策略"

#: users/serializers/user.py:97
msgid "MFA enabled"
msgstr "MFA 已启用"

#: users/serializers/user.py:99
msgid "MFA force enabled"
msgstr "强制 MFA"

#: users/serializers/user.py:101
msgid "Login blocked"
msgstr "登录被锁定"

#: users/serializers/user.py:104 users/serializers/user.py:183
msgid "Is OTP bound"
msgstr "是否绑定了虚拟 MFA"

#: users/serializers/user.py:105
msgid "Super Administrator"
msgstr "超级管理员"

#: users/serializers/user.py:106
msgid "Organization Administrator"
msgstr "组织管理员"

#: users/serializers/user.py:108
msgid "Can public key authentication"
msgstr "可以使用公钥认证"

#: users/serializers/user.py:178
msgid "Is org admin"
msgstr "组织管理员"

#: users/serializers/user.py:180
msgid "Avatar url"
msgstr "头像路径"

#: users/serializers/user.py:184
msgid "MFA level"
msgstr "MFA 级别"

#: users/serializers/user.py:310
msgid "Select users"
msgstr "选择用户"

#: users/serializers/user.py:311
msgid "For security, only list several users"
msgstr "为了安全，仅列出几个用户"

#: users/serializers/user.py:344
msgid "name not unique"
msgstr "名称重复"

#: users/signal_handlers.py:33
msgid ""
"The administrator has enabled \"Only allow existing users to log in\", \n"
"            and the current user is not in the user list. Please contact the "
"administrator."
msgstr ""
"管理员已开启'仅允许已存在用户登录'，当前用户不在用户列表中，请联系管理员。"

#: users/signal_handlers.py:166
msgid "Clean up expired user sessions"
msgstr "清除过期的用户会话"

#: users/tasks.py:25
msgid "Check password expired"
msgstr "校验密码已过期"

#: users/tasks.py:39
msgid "Periodic check password expired"
msgstr "周期校验密码过期"

#: users/tasks.py:53
msgid "Check user expired"
msgstr "校验用户已过期"

#: users/tasks.py:70
msgid "Periodic check user expired"
msgstr "周期检测用户过期"

#: users/tasks.py:84
msgid "Check unused users"
msgstr "检查未使用的用户"

#: users/tasks.py:123
msgid "The user has not logged in recently and has been disabled."
msgstr "该用户最近未登录，已被禁用。"

#: users/templates/users/_msg_account_expire_reminder.html:7
msgid "Your account will expire in"
msgstr "您的账号即将过期"

#: users/templates/users/_msg_account_expire_reminder.html:8
msgid ""
"In order not to affect your normal work, please contact the administrator "
"for confirmation."
msgstr ""
"为了不影响您正常工作，请联系管理员确认。\n"
"           "

#: users/templates/users/_msg_password_expire_reminder.html:7
msgid "Your password will expire in"
msgstr "您的密码将过期"

#: users/templates/users/_msg_password_expire_reminder.html:8
msgid ""
"For your account security, please click on the link below to update your "
"password in time"
msgstr "为了您的账号安全，请点击下面的链接及时更新密码"

#: users/templates/users/_msg_password_expire_reminder.html:11
msgid "Click here update password"
msgstr "点击这里更新密码"

#: users/templates/users/_msg_password_expire_reminder.html: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:46
msgid "Input your email account, that will send a email to your"
msgstr "输入您的邮箱, 将会发一封重置邮件到您的邮箱中"

#: users/templates/users/forgot_password.html:49
msgid ""
"Enter your mobile number and a verification code will be sent to your phone"
msgstr "输入您的手机号码，验证码将发送到您的手机"

#: users/templates/users/forgot_password.html:71
msgid "Email account"
msgstr "邮箱账号"

#: users/templates/users/forgot_password.html:93
msgid "Mobile number"
msgstr "手机号码"

#: users/templates/users/forgot_password.html:101
msgid "Send"
msgstr "发送"

#: users/templates/users/forgot_password.html:105
#: users/templates/users/forgot_password_previewing.html:30
msgid "Submit"
msgstr "提交"

#: users/templates/users/forgot_password_previewing.html:21
msgid "Please enter the username for which you want to retrieve the password"
msgstr "请输入您需要找回密码的用户名"

#: users/templates/users/mfa_setting.html: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:51
msgid "Very weak"
msgstr "很弱"

#: users/templates/users/reset_password.html:52
msgid "Weak"
msgstr "弱"

#: users/templates/users/reset_password.html:54
msgid "Medium"
msgstr "一般"

#: users/templates/users/reset_password.html:55
msgid "Strong"
msgstr "强"

#: users/templates/users/reset_password.html:56
msgid "Very strong"
msgstr "很强"

#: users/templates/users/user_otp_check_password.html:6
msgid "Enable OTP"
msgstr "启用 MFA(OTP)"

#: users/templates/users/user_otp_enable_bind.html:6
msgid "Bind one-time password authenticator"
msgstr "绑定MFA验证器"

#: users/templates/users/user_otp_enable_bind.html:13
msgid ""
"Use the MFA Authenticator application to scan the following qr code for a 6-"
"bit verification code"
msgstr "使用 MFA 验证器应用扫描以下二维码，获取6位验证码"

#: users/templates/users/user_otp_enable_bind.html:22
#: users/templates/users/user_verify_mfa.html:27
msgid "Six figures"
msgstr "6 位数字"

#: users/templates/users/user_otp_enable_install_app.html:6
msgid "Install app"
msgstr "安装应用"

#: users/templates/users/user_otp_enable_install_app.html:13
msgid ""
"Download and install the MFA Authenticator application on your phone or "
"applet of WeChat"
msgstr "请在手机端或微信小程序下载并安装 MFA 验证器应用"

#: users/templates/users/user_otp_enable_install_app.html:18
msgid "Android downloads"
msgstr "Android手机下载"

#: users/templates/users/user_otp_enable_install_app.html:23
msgid "iPhone downloads"
msgstr "iPhone手机下载"

#: users/templates/users/user_otp_enable_install_app.html:27
msgid ""
"After installation, click the next step to enter the binding page (if "
"installed, go to the next step directly)."
msgstr "安装完成后点击下一步进入绑定页面 (如已安装，直接进入下一步)"

#: users/templates/users/user_password_verify.html:8
#: users/templates/users/user_password_verify.html:9
msgid "Verify password"
msgstr "校验密码"

#: users/templates/users/user_verify_mfa.html:9
msgid "Authenticate"
msgstr "验证身份"

#: users/templates/users/user_verify_mfa.html:15
msgid ""
"The account protection has been opened, please complete the following "
"operations according to the prompts"
msgstr "账号保护已开启，请根据提示完成以下操作"

#: users/templates/users/user_verify_mfa.html:17
msgid "Open MFA Authenticator and enter the 6-bit dynamic code"
msgstr "请打开 MFA 验证器，输入 6 位动态码"

#: users/views/profile/otp.py:106
msgid "Already bound"
msgstr "已经绑定"

#: users/views/profile/otp.py:107
msgid "MFA already bound, disable first, then bound"
msgstr "MFA(OTP) 已经绑定，请先禁用，再绑定"

#: users/views/profile/otp.py:134
msgid "OTP enable success"
msgstr "MFA(OTP) 启用成功"

#: users/views/profile/otp.py:135
msgid "OTP enable success, return login page"
msgstr "MFA(OTP) 启用成功，返回到登录页面"

#: users/views/profile/otp.py:177
msgid "Disable OTP"
msgstr "禁用虚拟 MFA(OTP)"

#: users/views/profile/otp.py:183
msgid "OTP disable success"
msgstr "MFA(OTP) 禁用成功"

#: users/views/profile/otp.py:184
msgid "OTP disable success, return login page"
msgstr "MFA(OTP) 禁用成功，返回登录页面"

#: users/views/profile/password.py:33 users/views/profile/password.py:38
msgid "Password invalid"
msgstr "用户名或密码无效"

#: users/views/profile/reset.py:66
msgid ""
"Non-local users can log in only from third-party platforms and cannot change "
"their passwords: {}"
msgstr "非本地用户仅允许从第三方平台登录，不支持修改密码: {}"

#: users/views/profile/reset.py:188 users/views/profile/reset.py:199
msgid "Token invalid or expired"
msgstr "令牌错误或失效"

#: users/views/profile/reset.py:204
msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码"

#: users/views/profile/reset.py:211
msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求"

#: users/views/profile/reset.py:217
msgid "* The new password cannot be the last {} passwords"
msgstr "* 新密码不能是最近 {} 次的密码"

#: users/views/profile/reset.py:234
msgid "Reset password success, return to login page"
msgstr "重置密码成功，返回到登录页面"

#: xpack/apps.py:8
msgid "XPACK"
msgstr "XPack"

#: xpack/exceptions.py:7
msgid ""
"The current task is not synchronized with unmatched policy assets, skipping"
msgstr ""

#: xpack/plugins/cloud/api.py:60
msgid "Test connection successful"
msgstr "测试成功"

#: xpack/plugins/cloud/api.py:62
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:21
msgid "Volcengine"
msgstr "火山引擎"

#: xpack/plugins/cloud/const.py:23
msgid "VMware"
msgstr "VMware"

#: xpack/plugins/cloud/const.py:24 xpack/plugins/cloud/providers/nutanix.py:15
msgid "Nutanix"
msgstr "Nutanix"

#: xpack/plugins/cloud/const.py:25
msgid "Huawei Private Cloud"
msgstr "华为私有云"

#: xpack/plugins/cloud/const.py:26
msgid "Qingyun Private Cloud"
msgstr "青云私有云"

#: xpack/plugins/cloud/const.py:27
msgid "CTYun Private Cloud"
msgstr "天翼私有云"

#: xpack/plugins/cloud/const.py:28
msgid "OpenStack"
msgstr "OpenStack"

#: xpack/plugins/cloud/const.py:29 xpack/plugins/cloud/providers/zstack.py:21
msgid "ZStack"
msgstr "ZStack"

#: xpack/plugins/cloud/const.py:30
msgid "Fusion Compute"
msgstr "融合计算"

#: xpack/plugins/cloud/const.py:31
msgid "SCP"
msgstr "深信服SCP"

#: xpack/plugins/cloud/const.py:32
msgid "Apsara Stack"
msgstr "阿里云专有云"

#: xpack/plugins/cloud/const.py:37
msgid "Private IP"
msgstr "私有IP"

#: xpack/plugins/cloud/const.py:38
msgid "Public IP"
msgstr "公网IP"

#: xpack/plugins/cloud/const.py:42 xpack/plugins/cloud/models.py:308
msgid "Instance name"
msgstr "实例名称"

#: xpack/plugins/cloud/const.py:43
msgid "Instance name and Partial IP"
msgstr "实例名称和部分IP"

#: xpack/plugins/cloud/const.py:48
msgid "Succeed"
msgstr "成功"

#: xpack/plugins/cloud/const.py:52
msgid "Unsync"
msgstr "未同步"

#: xpack/plugins/cloud/const.py:53
msgid "New Sync"
msgstr "新同步"

#: xpack/plugins/cloud/const.py:54
msgid "Synced"
msgstr "已同步"

#: xpack/plugins/cloud/const.py:55
msgid "Released"
msgstr "已释放"

#: xpack/plugins/cloud/const.py:59
msgid "And"
msgstr "与"

#: xpack/plugins/cloud/const.py:60
msgid "Or"
msgstr "或"

#: xpack/plugins/cloud/manager.py:55 xpack/plugins/cloud/providers/gcp.py:64
#: xpack/plugins/cloud/providers/huaweicloud.py:34
msgid "Account unavailable"
msgstr "账号无效"

#: xpack/plugins/cloud/meta.py:9
msgid "Cloud center"
msgstr "云管中心"

#: xpack/plugins/cloud/models.py:35
msgid "Provider"
msgstr "云服务商"

#: xpack/plugins/cloud/models.py:39
msgid "Validity"
msgstr "有效"

#: xpack/plugins/cloud/models.py:44
msgid "Cloud account"
msgstr "云账号"

#: xpack/plugins/cloud/models.py:46
msgid "Test cloud account"
msgstr "测试云账号"

#: xpack/plugins/cloud/models.py:89 xpack/plugins/cloud/serializers/task.py:159
msgid "Regions"
msgstr "地域"

#: xpack/plugins/cloud/models.py:92
msgid "Hostname strategy"
msgstr "主机名策略"

#: xpack/plugins/cloud/models.py:97 xpack/plugins/cloud/serializers/task.py:162
msgid "IP network segment group"
msgstr "IP网段组"

#: xpack/plugins/cloud/models.py:100
#: xpack/plugins/cloud/serializers/task.py:167
msgid "Sync IP type"
msgstr "同步IP类型"

#: xpack/plugins/cloud/models.py:103
#: xpack/plugins/cloud/serializers/task.py:185
msgid "Always update"
msgstr "总是更新"

#: xpack/plugins/cloud/models.py:105
msgid "Fully synchronous"
msgstr "完全同步"

#: xpack/plugins/cloud/models.py:106
#, fuzzy
#| msgid "permed assets"
msgid "Release assets"
msgstr "授权的资产"

#: xpack/plugins/cloud/models.py:111
msgid "Date last sync"
msgstr "最后同步日期"

#: xpack/plugins/cloud/models.py:114 xpack/plugins/cloud/models.py:326
#: xpack/plugins/cloud/models.py:350
msgid "Strategy"
msgstr "策略"

#: xpack/plugins/cloud/models.py:119 xpack/plugins/cloud/models.py:205
msgid "Sync instance task"
msgstr "同步实例任务"

#: xpack/plugins/cloud/models.py:216 xpack/plugins/cloud/models.py:268
msgid "Date sync"
msgstr "同步日期"

#: xpack/plugins/cloud/models.py:220
msgid "Sync instance snapshot"
msgstr "同步实例快照"

#: xpack/plugins/cloud/models.py:224
msgid "Sync instance task execution"
msgstr "同步实例任务执行"

#: xpack/plugins/cloud/models.py:248
msgid "Sync task"
msgstr "同步任务"

#: xpack/plugins/cloud/models.py:252
msgid "Sync instance task history"
msgstr "同步实例任务历史"

#: xpack/plugins/cloud/models.py:255
msgid "Instance"
msgstr "实例"

#: xpack/plugins/cloud/models.py:272
msgid "Sync instance detail"
msgstr "同步实例详情"

#: xpack/plugins/cloud/models.py:284 xpack/plugins/cloud/serializers/task.py:72
msgid "Rule relation"
msgstr "条件关系"

#: xpack/plugins/cloud/models.py:293
msgid "Task strategy"
msgstr "任务策略"

#: xpack/plugins/cloud/models.py:297
msgid "Equal"
msgstr "等于"

#: xpack/plugins/cloud/models.py:298
msgid "Not Equal"
msgstr "不等于"

#: xpack/plugins/cloud/models.py:299
msgid "In"
msgstr "在...中"

#: xpack/plugins/cloud/models.py:300
msgid "Contains"
msgstr "包含"

#: xpack/plugins/cloud/models.py:301
msgid "Exclude"
msgstr "排除"

#: xpack/plugins/cloud/models.py:302
msgid "Startswith"
msgstr "以...开头"

#: xpack/plugins/cloud/models.py:303
msgid "Endswith"
msgstr "以...结尾"

#: xpack/plugins/cloud/models.py:309
msgid "Instance platform"
msgstr "实例平台"

#: xpack/plugins/cloud/models.py:310
msgid "Instance address"
msgstr "实例地址"

#: xpack/plugins/cloud/models.py:317
msgid "Rule attr"
msgstr "规则属性"

#: xpack/plugins/cloud/models.py:321
msgid "Rule match"
msgstr "规则匹配"

#: xpack/plugins/cloud/models.py:323
msgid "Rule value"
msgstr "规则值"

#: xpack/plugins/cloud/models.py:330 xpack/plugins/cloud/serializers/task.py:75
msgid "Strategy rule"
msgstr "条件"

#: xpack/plugins/cloud/models.py:345
msgid "Action attr"
msgstr "动作属性"

#: xpack/plugins/cloud/models.py:347
msgid "Action value"
msgstr "动作值"

#: xpack/plugins/cloud/models.py:354 xpack/plugins/cloud/serializers/task.py:78
msgid "Strategy action"
msgstr "动作"

#: xpack/plugins/cloud/providers/aws_international.py:18
msgid "China (Beijing)"
msgstr "中国 (北京)"

#: xpack/plugins/cloud/providers/aws_international.py:19
msgid "China (Ningxia)"
msgstr "中国 (宁夏)"

#: xpack/plugins/cloud/providers/aws_international.py:22
msgid "US East (Ohio)"
msgstr "美国东部 (俄亥俄州)"

#: xpack/plugins/cloud/providers/aws_international.py:23
msgid "US East (N. Virginia)"
msgstr "美国东部 (弗吉尼亚北部)"

#: xpack/plugins/cloud/providers/aws_international.py:24
msgid "US West (N. California)"
msgstr "美国西部 (加利福尼亚北部)"

#: xpack/plugins/cloud/providers/aws_international.py:25
msgid "US West (Oregon)"
msgstr "美国西部 (俄勒冈)"

#: xpack/plugins/cloud/providers/aws_international.py:26
msgid "Africa (Cape Town)"
msgstr "非洲 (开普敦)"

#: xpack/plugins/cloud/providers/aws_international.py:27
msgid "Asia Pacific (Hong Kong)"
msgstr "亚太地区 (香港)"

#: xpack/plugins/cloud/providers/aws_international.py:28
msgid "Asia Pacific (Mumbai)"
msgstr "亚太地区 (孟买)"

#: xpack/plugins/cloud/providers/aws_international.py:29
msgid "Asia Pacific (Osaka-Local)"
msgstr "亚太区域 (大阪当地)"

#: xpack/plugins/cloud/providers/aws_international.py:30
msgid "Asia Pacific (Seoul)"
msgstr "亚太区域 (首尔)"

#: xpack/plugins/cloud/providers/aws_international.py:31
msgid "Asia Pacific (Singapore)"
msgstr "亚太区域 (新加坡)"

#: xpack/plugins/cloud/providers/aws_international.py:32
msgid "Asia Pacific (Sydney)"
msgstr "亚太区域 (悉尼)"

#: xpack/plugins/cloud/providers/aws_international.py:33
msgid "Asia Pacific (Tokyo)"
msgstr "亚太区域 (东京)"

#: xpack/plugins/cloud/providers/aws_international.py:34
msgid "Canada (Central)"
msgstr "加拿大 (中部)"

#: xpack/plugins/cloud/providers/aws_international.py:35
msgid "Europe (Frankfurt)"
msgstr "欧洲 (法兰克福)"

#: xpack/plugins/cloud/providers/aws_international.py:36
msgid "Europe (Ireland)"
msgstr "欧洲 (爱尔兰)"

#: xpack/plugins/cloud/providers/aws_international.py:37
msgid "Europe (London)"
msgstr "欧洲 (伦敦)"

#: xpack/plugins/cloud/providers/aws_international.py:38
msgid "Europe (Milan)"
msgstr "欧洲 (米兰)"

#: xpack/plugins/cloud/providers/aws_international.py:39
msgid "Europe (Paris)"
msgstr "欧洲 (巴黎)"

#: xpack/plugins/cloud/providers/aws_international.py:40
msgid "Europe (Stockholm)"
msgstr "欧洲 (斯德哥尔摩)"

#: xpack/plugins/cloud/providers/aws_international.py:41
msgid "Middle East (Bahrain)"
msgstr "中东 (巴林)"

#: xpack/plugins/cloud/providers/aws_international.py:42
msgid "South America (São Paulo)"
msgstr "南美洲 (圣保罗)"

#: xpack/plugins/cloud/providers/baiducloud.py:56
#: xpack/plugins/cloud/providers/jdcloud.py:125
msgid "CN North-Beijing"
msgstr "华北-北京"

#: xpack/plugins/cloud/providers/baiducloud.py:57
#: xpack/plugins/cloud/providers/huaweicloud.py:47
#: xpack/plugins/cloud/providers/jdcloud.py:128
msgid "CN South-Guangzhou"
msgstr "华南-广州"

#: xpack/plugins/cloud/providers/baiducloud.py:58
msgid "CN East-Suzhou"
msgstr "华东-苏州"

#: xpack/plugins/cloud/providers/baiducloud.py:59
#: xpack/plugins/cloud/providers/huaweicloud.py:54
msgid "CN-Hong Kong"
msgstr "中国-香港"

#: xpack/plugins/cloud/providers/baiducloud.py:60
msgid "CN Center-Wuhan"
msgstr "华中-武汉"

#: xpack/plugins/cloud/providers/baiducloud.py:61
msgid "CN North-Baoding"
msgstr "华北-保定"

#: xpack/plugins/cloud/providers/baiducloud.py:62
#: xpack/plugins/cloud/providers/jdcloud.py:127
msgid "CN East-Shanghai"
msgstr "华东-上海"

#: xpack/plugins/cloud/providers/baiducloud.py:63
#: xpack/plugins/cloud/providers/huaweicloud.py:56
msgid "AP-Singapore"
msgstr "亚太-新加坡"

#: xpack/plugins/cloud/providers/huaweicloud.py:44
msgid "CN North-Beijing1"
msgstr "华北-北京1"

#: xpack/plugins/cloud/providers/huaweicloud.py:45
msgid "CN North-Beijing4"
msgstr "华北-北京4"

#: xpack/plugins/cloud/providers/huaweicloud.py:46
msgid "CN North-Ulanqab1"
msgstr "华北-乌兰察布一"

#: xpack/plugins/cloud/providers/huaweicloud.py:48
msgid "CN South-Shenzhen"
msgstr "华南-广州"

#: xpack/plugins/cloud/providers/huaweicloud.py:49
msgid "CN South-Guangzhou-InvitationOnly"
msgstr "华南-广州-友好用户环境"

#: xpack/plugins/cloud/providers/huaweicloud.py:50
msgid "CN East-Shanghai2"
msgstr "华东-上海2"

#: xpack/plugins/cloud/providers/huaweicloud.py:51
msgid "CN East-Shanghai1"
msgstr "华东-上海1"

#: xpack/plugins/cloud/providers/huaweicloud.py:53
msgid "CN Southwest-Guiyang1"
msgstr "西南-贵阳1"

#: xpack/plugins/cloud/providers/huaweicloud.py:55
msgid "AP-Bangkok"
msgstr "亚太-曼谷"

#: xpack/plugins/cloud/providers/huaweicloud.py:58
msgid "AF-Johannesburg"
msgstr "非洲-约翰内斯堡"

#: xpack/plugins/cloud/providers/huaweicloud.py:59
msgid "LA-Mexico City1"
msgstr "拉美-墨西哥城一"

#: xpack/plugins/cloud/providers/huaweicloud.py:60
msgid "LA-Santiago"
msgstr "拉美-圣地亚哥"

#: xpack/plugins/cloud/providers/huaweicloud.py:61
msgid "LA-Sao Paulo1"
msgstr "拉美-圣保罗一"

#: xpack/plugins/cloud/providers/huaweicloud.py:63
msgid "TR-Istanbul"
msgstr "TR-Istanbul"

#: xpack/plugins/cloud/providers/jdcloud.py:126
msgid "CN East-Suqian"
msgstr "华东-宿迁"

#: xpack/plugins/cloud/serializers/account.py:69
msgid "Validity display"
msgstr "有效性显示"

#: xpack/plugins/cloud/serializers/account.py:70
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:102
#: xpack/plugins/cloud/serializers/account_attrs.py:126
#: xpack/plugins/cloud/serializers/account_attrs.py:156
#: xpack/plugins/cloud/serializers/account_attrs.py:206
msgid "API Endpoint"
msgstr "API 端点"

#: xpack/plugins/cloud/serializers/account_attrs.py:108
msgid "Auth url"
msgstr "认证地址"

#: xpack/plugins/cloud/serializers/account_attrs.py:109
msgid "eg: http://openstack.example.com:5000/v3"
msgstr "如: http://openstack.example.com:5000/v3"

#: xpack/plugins/cloud/serializers/account_attrs.py:112
msgid "User domain"
msgstr "用户域"

#: xpack/plugins/cloud/serializers/account_attrs.py:127
msgid "Cert File"
msgstr "证书文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:128
msgid "Key File"
msgstr "密钥文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:144
msgid "Service account key"
msgstr "服务账号密钥"

#: xpack/plugins/cloud/serializers/account_attrs.py:145
msgid "The file is in JSON format"
msgstr "JSON 格式的文件"

#: xpack/plugins/cloud/serializers/account_attrs.py:163
msgid "IP address invalid `{}`, {}"
msgstr "IP 地址无效: `{}`, {}"

#: xpack/plugins/cloud/serializers/account_attrs.py:179
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:182
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:190
msgid "Hostname prefix"
msgstr "主机名前缀"

#: xpack/plugins/cloud/serializers/account_attrs.py:193
msgid "IP segment"
msgstr "IP 网段"

#: xpack/plugins/cloud/serializers/account_attrs.py:197
msgid "Test port"
msgstr "测试端口"

#: xpack/plugins/cloud/serializers/account_attrs.py:200
msgid "Test timeout"
msgstr "测试超时时间"

#: xpack/plugins/cloud/serializers/account_attrs.py:216
msgid "Project"
msgstr "project"

#: xpack/plugins/cloud/serializers/task.py:151
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:157
msgid "History count"
msgstr "执行次数"

#: xpack/plugins/cloud/serializers/task.py:158
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/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:42
msgid "Footer content"
msgstr "页脚内容"

#: xpack/plugins/interface/models.py:45 xpack/plugins/interface/models.py:86
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:144
msgid "License"
msgstr "许可证"

#: xpack/plugins/license/models.py:80
msgid "Basic edition"
msgstr "企业基础版"

#: xpack/plugins/license/models.py:82
msgid "Standard edition"
msgstr "企业标准版"

#: xpack/plugins/license/models.py:84
msgid "Professional edition"
msgstr "企业专业版"

#: xpack/plugins/license/models.py:86
msgid "Ultimate edition"
msgstr "企业旗舰版"

#~ msgid "Account history"
#~ msgstr "账号历史"
