perf: Translate var_name help_text

pull/14771/head
wangruidong 2025-01-06 11:18:17 +08:00 committed by Bryan
parent 923f40e523
commit 6217018427
3 changed files with 79 additions and 65 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-19 15:10+0800\n"
"POT-Creation-Date: 2025-01-06 11:10+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"
@ -44,6 +44,10 @@ msgstr "花费时间"
msgid "Backup file creation completed"
msgstr "创建备份文件完成"
#: accounts/automations/backup_account/handlers.py:167
msgid "Start sending backup emails"
msgstr "发送备份邮件"
#: accounts/automations/backup_account/handlers.py:179
msgid "Email sent to"
msgstr "邮件已发送至"
@ -135,6 +139,8 @@ msgstr ">>> 开始执行测试网关账号可连接性任务"
#: users/templates/users/_msg_user_created.html:13
#: users/templates/users/user_password_verify.html:18
#: xpack/plugins/cloud/serializers/account_attrs.py:28
#: xpack/plugins/cloud/serializers/account_attrs.py:89
#: xpack/plugins/cloud/serializers/account_attrs.py:96
msgid "Password"
msgstr "密码"
@ -364,7 +370,7 @@ msgstr "用户 %s 查看/导出 了密码"
#: accounts/serializers/automations/change_secret.py:150
#: 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:102
#: acls/serializers/base.py:130 assets/models/asset/common.py:102
#: assets/models/asset/common.py:362 assets/models/cmd_filter.py:36
#: audits/models.py:58 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:69 terminal/backends/command/models.py:17
@ -407,7 +413,7 @@ msgstr "来源 ID"
#: accounts/serializers/automations/change_secret.py:120
#: accounts/serializers/automations/change_secret.py:151
#: accounts/templates/accounts/change_secret_failed_info.html:12
#: acls/serializers/base.py:124
#: acls/serializers/base.py:131
#: acls/templates/acls/asset_login_reminder.html:10
#: assets/serializers/gateway.py:33 audits/models.py:59
#: authentication/api/connection_token.py:459 ops/models/base.py:18
@ -649,6 +655,8 @@ msgstr "最后登录日期"
#: users/forms/profile.py:117 users/models/user/__init__.py:63
#: users/templates/users/_msg_user_created.html:12
#: xpack/plugins/cloud/serializers/account_attrs.py:26
#: xpack/plugins/cloud/serializers/account_attrs.py:87
#: xpack/plugins/cloud/serializers/account_attrs.py:94
msgid "Username"
msgstr "用户名"
@ -964,7 +972,7 @@ msgstr "特殊信息"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:475 acls/serializers/base.py:116
#: accounts/serializers/account/account.py:475 acls/serializers/base.py:123
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54
@ -1512,22 +1520,22 @@ msgid ""
"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 (支持网域)"
"* 表示匹配所有。例如: 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
#: acls/serializers/base.py:98
msgid "Recipients"
msgstr "接收人"
#: acls/serializers/base.py:103 tickets/serializers/ticket/ticket.py:77
#: acls/serializers/base.py:110 tickets/serializers/ticket/ticket.py:77
msgid "The organization `{}` does not exist"
msgstr "组织 `{}` 不存在"
#: acls/serializers/base.py:109
#: acls/serializers/base.py:116
msgid "None of the reviewers belong to Organization `{}`"
msgstr "所有复核人都不属于组织 `{}`"
@ -1541,8 +1549,8 @@ 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"
"* 表示匹配所有。例如: 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
@ -1761,7 +1769,8 @@ msgstr "云服务"
msgid "Web"
msgstr "Web"
#: assets/const/category.py:15 common/sdk/sms/endpoint.py:20
#: assets/const/category.py:15 common/sdk/sms/custom_file.py:47
#: common/sdk/sms/endpoint.py:20
msgid "Custom type"
msgstr "自定义"
@ -2404,7 +2413,7 @@ msgstr "端口超出范围 (0-65535)"
msgid "Protocol is required: {}"
msgstr "协议是必填的: {}"
#: assets/serializers/asset/common.py:347
#: assets/serializers/asset/common.py:347 labels/api.py:107
msgid "Invalid data"
msgstr "无效的数据"
@ -3181,7 +3190,7 @@ msgid "No available face feature"
msgstr "没有可用的人脸特征"
#: authentication/api/face.py:100 authentication/mfa/face.py:21
#: authentication/mfa/face.py:23
#: authentication/mfa/face.py:23 users/views/profile/face.py:72
msgid "Facial comparison failed"
msgstr "人脸比对失败"
@ -3500,11 +3509,11 @@ msgstr "自定义 MFA 全局开启,无法被禁用"
msgid "Face Recognition"
msgstr "人脸识别"
#: authentication/mfa/face.py:54
#: authentication/mfa/face.py:55
msgid "Bind face to enable"
msgstr "绑定人脸特征以启用"
#: authentication/mfa/face.py:58
#: authentication/mfa/face.py:59
msgid "Unbind face to disable"
msgstr "解绑人脸特征以禁用"
@ -4130,15 +4139,15 @@ msgstr "跳转中"
msgid "Redirecting to {} authentication"
msgstr "正在跳转到 {} 认证"
#: authentication/views/login.py:243
#: authentication/views/login.py:247
msgid "Login timeout, please try again."
msgstr "登录超时,请重新登录"
#: authentication/views/login.py:288
#: authentication/views/login.py:292
msgid "User email already exists ({})"
msgstr "用户邮箱已存在 ({})"
#: authentication/views/login.py:366
#: authentication/views/login.py:370
msgid ""
"Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
" Don't close this page"
@ -4146,15 +4155,15 @@ msgstr ""
"等待 <b>{}</b> 确认, 你也可以复制链接发给他/她 <br/>\n"
" 不要关闭本页面"
#: authentication/views/login.py:371
#: authentication/views/login.py:375
msgid "No ticket found"
msgstr "没有发现工单"
#: authentication/views/login.py:407
#: authentication/views/login.py:411
msgid "Logout success"
msgstr "退出登录成功"
#: authentication/views/login.py:408
#: authentication/views/login.py:412
msgid "Logout success, return login page"
msgstr "退出登录成功,返回到登录页面"
@ -4503,6 +4512,10 @@ msgstr "自定义短信文件无效"
msgid "SMS sending failed[%s]: %s"
msgstr "短信发送失败[%s]: %s"
#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98
msgid "File"
msgstr "文件"
#: common/sdk/sms/endpoint.py:16
msgid "Alibaba cloud"
msgstr "阿里云"
@ -4547,10 +4560,6 @@ msgstr "请在 {} 秒后发送"
msgid "Children"
msgstr "节点"
#: common/serializers/common.py:98
msgid "File"
msgstr "文件"
#: common/serializers/fields.py:137
msgid "Invalid data type"
msgstr "无效的数据"
@ -4671,6 +4680,10 @@ msgstr "你的账号已创建成功"
msgid "JumpServer - An open-source PAM"
msgstr "JumpServer 开源堡垒机"
#: jumpserver/context_processor.py:28
msgid "FIT2CLOUD"
msgstr ""
#: jumpserver/views/celery_flower.py:22
msgid "<h1>Flower service unavailable, check it</h1>"
msgstr "Flower 服务不可用,请检查"
@ -5134,12 +5147,13 @@ msgstr "变量名"
#: ops/models/variable.py:12 ops/serializers/variable.py:23
msgid ""
"The variable name used in the script has a fixed prefix 'jms_' followed by "
"the input variable name. For example, if the variable name is 'name,' the "
"final generated environment variable will be 'jms_name'."
"The variable name used in the script will have a fixed prefix jms_ added to "
"the input variable name. For example, if the input variable name is name, "
"the resulting environment variable will be jms_name, and it can be "
"referenced in the script using {{ jms_name }}"
msgstr ""
"在脚本使用的变量名称,固定前缀 jms_ + 输入的变量名例如变量名name则最终生"
"成环境变量为 jms_name"
"成环境变量为 jms_name,在脚本中引用时使用 {{ jms_name }}"
#: ops/models/variable.py:16 ops/serializers/variable.py:31
msgid "Default Value"
@ -5225,11 +5239,11 @@ msgid ""
"is the value."
msgstr "每项单独一行,每行可以用英文冒号分割前边是显示的内容后边是值"
#: ops/tasks.py:53
#: ops/tasks.py:54
msgid "Run ansible task"
msgstr "运行 Ansible 任务"
#: ops/tasks.py:56
#: ops/tasks.py:57
msgid ""
"Execute scheduled adhoc and playbooks, periodically invoking the task for "
"execution"
@ -5243,19 +5257,19 @@ msgstr "开始执行 Ansible 任务"
msgid "Execute the task when manually adhoc or playbooks"
msgstr "手动执行快捷命令playbook时执行该任务"
#: ops/tasks.py:107
#: ops/tasks.py:106
msgid "Clear celery periodic tasks"
msgstr "清理周期任务"
#: ops/tasks.py:109
#: ops/tasks.py:108
msgid "At system startup, clean up celery tasks that no longer exist"
msgstr "系统启动时清理已经不存在的celery任务"
#: ops/tasks.py:133
#: ops/tasks.py:132
msgid "Create or update periodic tasks"
msgstr "创建或更新周期任务"
#: ops/tasks.py:135
#: ops/tasks.py:134
msgid ""
"With version iterations, new tasks may be added, or task names and execution "
"times may \n"
@ -5266,11 +5280,11 @@ msgstr ""
"随着版本迭代,可能会新增任务或者修改任务的名称,执行时间,所以在系统启动时,"
"将会注册任务或者更新定时任务参数"
#: ops/tasks.py:148
#: ops/tasks.py:147
msgid "Periodic check service performance"
msgstr "周期检测服务性能"
#: ops/tasks.py:150
#: ops/tasks.py:149
msgid ""
"Check every hour whether each component is offline and whether the CPU, "
"memory, \n"
@ -5280,11 +5294,11 @@ msgstr ""
"每小时检测各组件是否离线cpu内存硬盘使用率是否超过阈值向管理员发送消息"
"预警"
#: ops/tasks.py:160
#: ops/tasks.py:159
msgid "Clean up unexpected jobs"
msgstr "清理异常作业"
#: ops/tasks.py:162
#: ops/tasks.py:161
msgid ""
"Due to exceptions caused by executing adhoc and playbooks in the Job "
"Center, \n"
@ -5297,11 +5311,11 @@ msgstr ""
"由于作业中心执行快捷命令playbook会产生异常任务状态未更新完成系统将每小"
"时执行清理超3小时未完成的异常作业并将任务标记失败"
#: ops/tasks.py:175
#: ops/tasks.py:174
msgid "Clean job_execution db record"
msgstr "清理作业中心执行历史"
#: ops/tasks.py:177
#: ops/tasks.py:176
msgid ""
"Due to the execution of adhoc and playbooks in the Job Center, execution "
"records will \n"
@ -5798,7 +5812,7 @@ msgid "Appearance"
msgstr "界面"
#: rbac/tree.py:65 xpack/plugins/license/meta.py:10
#: xpack/plugins/license/models.py:151
#: xpack/plugins/license/models.py:153
msgid "License"
msgstr "许可证"
@ -6706,7 +6720,7 @@ msgstr "租户 ID"
#: settings/serializers/feature.py:109 terminal/serializers/storage.py:68
#: xpack/plugins/cloud/manager.py:107 xpack/plugins/cloud/manager.py:112
#: xpack/plugins/cloud/models.py:287
#: xpack/plugins/cloud/manager.py:149 xpack/plugins/cloud/models.py:287
msgid "Region"
msgstr "地域"
@ -7672,7 +7686,7 @@ msgstr "会话不存在: {}"
msgid "Session is finished or the protocol not supported"
msgstr "会话已经完成或协议不支持"
#: terminal/api/session/session.py:345
#: terminal/api/session/session.py:345 tickets/api/ticket.py:140
msgid "User does not have permission"
msgstr "用户没有权限"
@ -8225,9 +8239,9 @@ msgid ""
"days. <a href=\"https://learn.microsoft.com/en-us/windows-server/remote/"
"remote-desktop-services/rds-client-access-license\">Detail</a>"
msgstr ""
"如果不存在RDS 将处于试用模式,试用期为 120 天。<a href='https://learn."
"microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-client-"
"access-license'>详情</a>"
"如果不存在RDS 将处于试用模式,试用期为 120 天。<a href='https://"
"learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-"
"client-access-license'>详情</a>"
#: terminal/serializers/applet_host.py:55
msgid "RDS License Server"
@ -8461,8 +8475,8 @@ msgid ""
"If there are multiple hosts, use a comma (,) to separate them. <br>(For "
"example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)"
msgstr ""
"如果有多个主机,请用逗号 (,) 分隔它们。<br>例如http://www.jumpserver.a."
"com:9100http://www.jumpserver.b.com:9100"
"如果有多个主机,请用逗号 (,) 分隔它们。<br>例如http://"
"www.jumpserver.a.com:9100http://www.jumpserver.b.com:9100"
#: terminal/serializers/storage.py:199
msgid "Index by date"
@ -9809,7 +9823,7 @@ msgstr "重定向到 JumpServer 客户端"
msgid "Face binding successful"
msgstr "绑定人脸特征成功"
#: users/views/profile/face.py:80 users/views/profile/face.py:81
#: users/views/profile/face.py:82 users/views/profile/face.py:83
msgid "Face unbinding successful"
msgstr "解绑人脸特征成功"
@ -10075,6 +10089,10 @@ msgstr "同步地区"
msgid "Get instances of region \"%s\" error, error: %s"
msgstr "获取区域 \"%s\" 的实例错误,错误:%s"
#: xpack/plugins/cloud/manager.py:149 xpack/plugins/cloud/models.py:284
msgid "Instance"
msgstr "实例"
#: xpack/plugins/cloud/manager.py:175
#, python-format
msgid "Failed to synchronize the instance \"%s\""
@ -10212,10 +10230,6 @@ msgstr "同步任务"
msgid "Sync instance task history"
msgstr "同步实例任务历史"
#: xpack/plugins/cloud/models.py:284
msgid "Instance"
msgstr "实例"
#: xpack/plugins/cloud/models.py:301
msgid "Sync instance detail"
msgstr "同步实例详情"
@ -10516,6 +10530,10 @@ msgstr "Access key id"
msgid "Subscription ID"
msgstr "订阅 ID"
#: xpack/plugins/cloud/serializers/account_attrs.py:92
msgid "domain_name"
msgstr "域名"
#: xpack/plugins/cloud/serializers/account_attrs.py:98
#: xpack/plugins/cloud/serializers/account_attrs.py:102
#: xpack/plugins/cloud/serializers/account_attrs.py:126
@ -10678,7 +10696,3 @@ msgstr "许可证导入成功"
#: xpack/plugins/license/api.py:53
msgid "Invalid license"
msgstr "许可证无效"
#: xpack/plugins/cloud/serializers/account_attrs.py:74
msgid "Auto node classification"
msgstr "自动节点分类 "

View File

@ -9,9 +9,9 @@ class Variable(JMSBaseModel):
name = models.CharField(max_length=1024, verbose_name=_('Name'), null=True)
var_name = models.CharField(
max_length=1024, null=True, verbose_name=_('Variable name'),
help_text=_("The variable name used in the script has a fixed prefix 'jms_' followed by the input variable "
"name. For example, if the variable name is 'name,' the final generated environment variable will "
"be 'jms_name'.")
help_text=_("The variable name used in the script will have a fixed prefix jms_ added to the input variable "
"name. For example, if the input variable name is name, the resulting environment variable will "
"be jms_name, and it can be referenced in the script using {{ jms_name }}")
)
default_value = models.CharField(max_length=2048, verbose_name=_('Default Value'), null=True)
creator = models.ForeignKey('users.User', verbose_name=_("Creator"), on_delete=models.SET_NULL, null=True)

View File

@ -20,9 +20,9 @@ class VariableSerializer(CommonBulkModelSerializer):
name = serializers.CharField(max_length=1024, label=_('Name'), required=True)
var_name = serializers.CharField(
max_length=1024, required=True, label=_('Variable name'),
help_text=_("The variable name used in the script has a fixed prefix 'jms_' followed by the input variable "
"name. For example, if the variable name is 'name,' the final generated environment variable will "
"be 'jms_name'.")
help_text=_("The variable name used in the script will have a fixed prefix jms_ added to the input variable "
"name. For example, if the input variable name is name, the resulting environment variable will "
"be jms_name, and it can be referenced in the script using {{ jms_name }}")
)
creator = ReadableHiddenField(default=serializers.CurrentUserDefault())
type = LabeledChoiceField(