diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index c3ebe4823..9db7fefbc 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: JumpServer team\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 {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -4146,15 +4155,15 @@ msgstr "" "等待 {} 确认, 你也可以复制链接发给他/她
\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 "

Flower service unavailable, check it

" 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. Detail" msgstr "" -"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" +"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" #: 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.
(For " "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" msgstr "" -"如果有多个主机,请用逗号 (,) 分隔它们。
(例如:http://www.jumpserver.a." -"com:9100,http://www.jumpserver.b.com:9100)" +"如果有多个主机,请用逗号 (,) 分隔它们。
(例如:http://" +"www.jumpserver.a.com:9100,http://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 "自动节点分类 " diff --git a/apps/ops/models/variable.py b/apps/ops/models/variable.py index 55044d758..6d0b51072 100644 --- a/apps/ops/models/variable.py +++ b/apps/ops/models/variable.py @@ -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) diff --git a/apps/ops/serializers/variable.py b/apps/ops/serializers/variable.py index 7134655f2..6fd25df2c 100644 --- a/apps/ops/serializers/variable.py +++ b/apps/ops/serializers/variable.py @@ -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(