From f01510e7b8f0ac6e81858d599864eb02033479ce Mon Sep 17 00:00:00 2001 From: fulai Date: Wed, 19 Oct 2022 15:32:26 +0800 Subject: [PATCH 1/2] Update locale.constant-zh_CN.json --- .../assets/locale/locale.constant-zh_CN.json | 1218 +++++++++++------ 1 file changed, 814 insertions(+), 404 deletions(-) diff --git a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json index b7c519f7ef..6db66d1806 100644 --- a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json +++ b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json @@ -80,18 +80,18 @@ "mail-from": "邮件来自", "mail-from-required": "邮件发件人必填。", "max-failed-login-attempts": "登录失败之前的最大登录尝试次数", - "minimum-digits": "最小位数", - "minimum-digits-range": "最小位数不能为负数", - "minimum-lowercase-letters": "最小小写字母数", - "minimum-lowercase-letters-range": "小写字母的最小数目不能为负数", + "minimum-digits": "最少数字位数", + "minimum-digits-range": "最少数字位数不能为负数", + "minimum-lowercase-letters": "最少小写字母位数", + "minimum-lowercase-letters-range": "最少小写字母位数不能为负数", "minimum-max-failed-login-attempts-range": "登录失败次数不能为负数", "minimum-password-length": "最小密码长度", "minimum-password-length-range": "最小密码长度应在5到50之间", "minimum-password-length-required": "最小密码长度必填", - "minimum-special-characters": "最小特殊字符数", - "minimum-special-characters-range": "特殊字符的最小数目不能为负数", - "minimum-uppercase-letters": "最小大写字母数", - "minimum-uppercase-letters-range": "大写字母的最小数目不能为负数", + "minimum-special-characters": "最少特殊字符位数", + "minimum-special-characters-range": "最少特殊字符位数不能为负数", + "minimum-uppercase-letters": "最少大写字母位数", + "minimum-uppercase-letters-range": "最少大写字母位数不能为负数", "number-from": "发送方电话号码", "number-from-required": "发送方电话号码必填。", "number-to": "电话号码至", @@ -116,11 +116,11 @@ "customer-name-pattern": "客户名称模式", "default-dashboard-name": "默认仪表板名称", "delete-domain": "删除域", - "delete-domain-text": "请注意:确认后域和所有 provider data 将不可用。", - "delete-domain-title": "确实要删除域 '{{domainName}}' 的设置吗?", + "delete-domain-text": "请注意:确认后,域和所有 provider data 将不可恢复。", + "delete-domain-title": "确定要删除域 '{{domainName}}' 的设置吗?", "delete-provider": "删除 Provider", - "delete-registration-text": "请注意:确认后 provider data 将不可用。", - "delete-registration-title": "确实要删除 provider '{{name}}' 吗?", + "delete-registration-text": "请注意:确认后 provider data 将不可恢复。", + "delete-registration-title": "确定要删除 provider '{{name}}' 吗?", "domain-schema-http": "HTTP", "domain-schema-https": "HTTPS", "domain-schema-mixed": "HTTP+HTTPS", @@ -199,14 +199,79 @@ "test-mail-sent": "测试邮件发送成功!", "test-sms-sent": "测试短信发送成功!", "timeout-invalid": "这看起来不像有效的超时值。", - "timeout-msec": "超时(ms)", + "timeout-msec": "超时时间(毫秒)", "timeout-required": "超时必填。", "tls-version": "TLS版本", "twilio-account-sid": "Twilio帐户SID", "twilio-account-sid-required": "Twilio 帐户的 SID 必填", "twilio-account-token": "Twilio帐户令牌", "twilio-account-token-required": "Twilio 帐户令牌必填", - "user-lockout-notification-email": "如果用户帐户锁定,请发送通知到电子邮件" + "user-lockout-notification-email": "如果用户帐户锁定,请发送通知到电子邮件", + "queue-select-name": "选择队列名称", + "queue-name": "名称", + "queue-name-required": "队列名称必填。", + "queues": "队列", + "queue-partitions": "分区", + "queue-submit-strategy": "提交策略", + "queue-processing-strategy": "处理策略", + "queue-configuration": "队列配置", + "repository-settings": "仓库设置", + "repository-url": "仓库 URL", + "repository-url-required": "仓库 URL 必填。", + "default-branch": "默认分支名称", + "authentication-settings": "身份验证设置", + "auth-method": "身份验证方法", + "auth-method-username-password": "密码/访问令牌", + "auth-method-private-key": "私钥", + "password-access-token": "密码/访问令牌", + "change-password-access-token": "更改密码/访问令牌", + "private-key": "私钥", + "drop-private-key-file-or": "拖放私钥文件或", + "passphrase": "口令", + "enter-passphrase": "输入口令", + "change-passphrase": "更改口令", + "check-access": "检查访问权限", + "check-repository-access-success": "已成功验证仓库访问!", + "delete-repository-settings-title": "确定要删除仓库设置吗?", + "delete-repository-settings-text": "请注意:确认后,仓库设置将被删除,版本控制功能将不可用。", + "auto-commit-settings": "自动提交设置", + "auto-commit-entities": "自动提交实体", + "no-auto-commit-entities-prompt": "没有设置自动提交的实体", + "delete-auto-commit-settings-title": "确定要删除自动提交设置吗?", + "delete-auto-commit-settings-text": "请注意:确认后,自动提交设置将被删除,所有实体的自动提交将被禁用。", + "2fa": { + "2fa": "双因素身份验证", + "available-providers": "可用选项", + "issuer-name": "发行者名称", + "issuer-name-required": "发行者名称必填。", + "max-verification-failures-before-user-lockout": "用户锁定前最大验证失败次数", + "max-verification-failures-before-user-lockout-pattern": "最大验证失败次数必须为正整数。", + "number-of-checking-attempts": "检查尝试次数", + "number-of-checking-attempts-pattern": "检查尝试次数必须为正整数。", + "number-of-checking-attempts-required": "检查尝试次数必填。", + "number-of-codes": "验证码数量", + "number-of-codes-pattern": "验证码数量必须为正整数。", + "number-of-codes-required": "验证码数量必填。", + "provider": "Provider", + "retry-verification-code-period": "重试验证码周期(秒)", + "retry-verification-code-period-pattern": "最短时间为5秒", + "retry-verification-code-period-required": "重试验证代码周期必填。", + "total-allowed-time-for-verification": "总允许验证时间(秒)", + "total-allowed-time-for-verification-pattern": "总允许验证最小时间为60秒", + "total-allowed-time-for-verification-required": "总允许验证时间必填。", + "use-system-two-factor-auth-settings": "使用系统双因素身份验证设置", + "verification-code-check-rate-limit": "验证码检查速率限制", + "verification-code-lifetime": "验证码生存期(秒)", + "verification-code-lifetime-pattern": "验证码生存期必须为正整数。", + "verification-code-lifetime-required": "验证码生存期必填。", + "verification-message-template": "验证消息模板", + "verification-limitations": "验证限制", + "verification-message-template-pattern": "验证消息需要包含模板:${code}", + "verification-message-template-required": "验证消息模板必填。", + "within-time": "在时间内 (秒)", + "within-time-pattern": "时间必须是正整数。", + "within-time-required": "时间必填。" + } }, "aggregation": { "aggregation": "聚合", @@ -214,37 +279,37 @@ "count": "计数", "function": "数据聚合功能", "group-interval": "分组间隔", - "limit": "最大值", + "limit": "限制数", "max": "最大值", - "min": "最少值", - "none": "空", + "min": "最小值", + "none": "无", "sum": "求和" }, "alarm": { "ack-time": "确认时间", "acknowledge": "应答", - "aknowledge-alarm-text": "确定要确认报警吗?", - "aknowledge-alarm-title": "确认报警", - "aknowledge-alarms-text": "确定要确认 { count, plural, 1 {# 个警告} other {# 个警告} }?", - "aknowledge-alarms-title": "确认 { count, plural, 1 {# 个警告} other {# 个警告} }", - "alarm": "警告", - "alarm-details": "报警详细信息", - "alarm-filter": "报警筛选器", - "alarm-required": "警告必填", + "aknowledge-alarm-text": "确定要确认告警吗?", + "aknowledge-alarm-title": "确认告警", + "aknowledge-alarms-text": "确定要确认 { count, plural, 1 {# 个告警} other {# 个告警} }吗?", + "aknowledge-alarms-title": "确认 { count, plural, 1 {# 个告警} other {# 个告警} }", + "alarm": "告警", + "alarm-details": "告警详细信息", + "alarm-filter": "告警筛选器", + "alarm-required": "告警必填", "alarm-severity-list": "警报严重性列表", - "alarm-status": "警告状态", - "alarm-status-filter": "报警状态筛选器", - "alarm-status-list": "报警状态列表", - "alarm-type-list": "报警类型列表", - "alarms": "警告", + "alarm-status": "告警状态", + "alarm-status-filter": "告警状态筛选器", + "alarm-status-list": "告警状态列表", + "alarm-type-list": "告警类型列表", + "alarms": "告警", "any-severity": "任何严重程度", "any-status": "任何状态", "any-type": "任何类型", "clear": "清除", "clear-alarm-text": "确定要清除警报吗?", "clear-alarm-title": "清除警报", - "clear-alarms-text": "确定要清除 { count, plural, 1 {# 个警告} other {# 个警告} }?", - "clear-alarms-title": "清除 { count, plural, 1 {# 个警告} other {# 个警告} }", + "clear-alarms-text": "确定要清除 { count, plural, 1 {# 个告警} other {# 个告警} }?", + "clear-alarms-title": "清除 { count, plural, 1 {# 个告警} other {# 个告警} }", "clear-time": "清除时间", "created-time": "创建时间", "details": "详情", @@ -258,18 +323,18 @@ "fetch-size": "获取大小", "fetch-size-error-min": "最小值为10。", "fetch-size-required": "Fetch size 必填。", - "max-count-load": "要加载的最大报警数(0-无限制)", + "max-count-load": "要加载的最大告警数(0-无限制)", "max-count-load-error-min": "最小值为0。", - "max-count-load-required": "加载的最大报警数必填。", + "max-count-load-required": "加载的最大告警数必填。", "min-polling-interval-message": "轮询间隔至少是1秒。", - "no-alarms-matching": "没有找到匹配 '{{entity}}' 的警告", - "no-alarms-prompt": "未发现警告", + "no-alarms-matching": "未找到匹配 '{{entity}}' 的告警", + "no-alarms-prompt": "未发现告警", "no-data": "无数据显示", "originator": "发起者", "originator-type": "发起者类型", - "polling-interval": "警告轮询间隔(秒)", - "polling-interval-required": "警告轮询间隔必填。", - "search": "查找警告", + "polling-interval": "告警轮询间隔(秒)", + "polling-interval-required": "告警轮询间隔必填。", + "search": "查找告警", "search-propagated-alarms": "检索已传递的警报", "search-status": { "ACK": "已确认", @@ -278,8 +343,8 @@ "CLEARED": "已清除", "UNACK": "未确认" }, - "select-alarm": "选择警告", - "selected-alarms": "已选择 { count, plural, 1 {# 个警告} other {# 个警告} }", + "select-alarm": "选择告警", + "selected-alarms": "已选择 { count, plural, 1 {# 个告警} other {# 个告警} }", "severity": "严重程度", "severity-critical": "危险", "severity-indeterminate": "不确定", @@ -299,7 +364,7 @@ "duplicate-alias": "别名已经存在。", "edit": "编辑别名", "entity-filter": "实体筛选器", - "entity-filter-no-entity-matched": "未找到符合指定筛选条件的实体。", + "entity-filter-no-entity-matched": "未找到匹配指定筛选条件的实体。", "filter-type": "筛选器类型", "filter-type-apiUsageState": "Api使用状态", "filter-type-asset-search-query": "资产搜索查询", @@ -328,14 +393,14 @@ "filter-type-relations-query-description": "具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的 {{entities}} ", "filter-type-required": "筛选器类型必填。", "filter-type-single-entity": "单个实体", - "filter-type-state-entity": "仪表板实体状态", + "filter-type-state-entity": "仪表板状态实体", "filter-type-state-entity-description": "仪表板实体令牌状态参数", "last-level-relation": "仅获取最后一级关联", "max-relation-level": "最大关联层级", "name": "别名", "name-required": "别名必填", "no-entity-filter-specified": "没有指定实体筛选器", - "resolve-multiple": "解决为多实体", + "resolve-multiple": "解析为多实体", "root-entity": "根实体", "root-state-entity": "使用仪表板状态实体作为根实体", "state-entity": "仪表板状态实体", @@ -345,7 +410,7 @@ "api-usage": { "api-usage": "Api 使用统计", "data-points": "数据点", - "data-points-storage-days": "日存储数据点数", + "data-points-storage-days": "存储点天", "email": "Email", "email-messages": "Email messages", "email-messages-daily-activity": "Email messages daily activity", @@ -394,8 +459,8 @@ "transport-monthly-activity": "Transport monthly activity", "view-details": "查看详细信息", "view-statistics": "查看统计信息", - "alarm":"警告", - "alarms-created": "创建警告数", + "alarm":"告警", + "alarms-created": "创建告警数", "notifications": "通知" }, "asset": { @@ -424,12 +489,12 @@ "assignedToCustomer": "分配客户", "copyId": "复制资产ID", "delete": "删除资产", - "delete-asset-text": "请注意:确认后资产及其所有相关数据将不可恢复。", - "delete-asset-title": "确定要删除资产 '{{assetName}}'?", + "delete-asset-text": "请注意:确认后,资产及其所有相关数据将不可恢复。", + "delete-asset-title": "确定要删除资产 '{{assetName}}'吗?", "delete-assets": "删除资产", "delete-assets-action-title": "删除 { count, plural, 1 {# 个资产} other {# 个资产} }", - "delete-assets-text": "请注意:确认后,所有选定的资产将被删除,所有相关的数据将变得不可恢复。", - "delete-assets-title": "确定要删除 { count, plural, 1 {# 个资产} other {# 个资产} }?", + "delete-assets-text": "请注意:确认后,所有选定的资产将被删除,所有相关的数据将不可恢复。", + "delete-assets-title": "确定要删除 { count, plural, 1 {# 个资产} other {# 个资产} }吗?", "description": "说明", "details": "详情", "enter-asset-type": "输入资产类型", @@ -439,16 +504,16 @@ "label": "标签", "make-private": "资产设为私有", "make-private-asset-text": "确认后,资产及其所有数据将被私有化,无法被他人访问。", - "make-private-asset-title": "你确定你想创建私有 '{{assetName}}' 资产?", + "make-private-asset-title": "确定要将资产 '{{assetName}}' 设为私有吗?", "make-public": "资产设为公开", "make-public-asset-text": "确认后,资产及其所有数据将被公开并被他人访问。", - "make-public-asset-title": "你确定你想创建公开'{{assetName}}'资产?", + "make-public-asset-title": "确定要将资产 '{{assetName}}' 设为公开吗?", "management": "资产管理", "name": "名称", "name-required": "名称必填。", "name-starts-with": "资产名称以此开头", - "no-asset-types-matching": "没有找到匹配 '{{entitySubtype}}' 的资产类型。", - "no-assets-matching": "没有找到匹配 '{{entity}}' 的资产。", + "no-asset-types-matching": "未找到匹配 '{{entitySubtype}}' 的资产类型。", + "no-assets-matching": "未找到匹配 '{{entity}}' 的资产。", "no-assets-text": "未找到资产", "public": "公开", "search": "查找资产", @@ -460,17 +525,17 @@ "unassign-asset": "未分配资产", "unassign-asset-from-edge": "取消分配边缘", "unassign-asset-from-edge-text": "确认后,所有选定的资产将被分配,边缘无法访问。", - "unassign-asset-from-edge-title": "您确定要取消对'{{assetName}}'资产的分配吗?", + "unassign-asset-from-edge-title": "确定要取消对'{{assetName}}'资产的分配吗?", "unassign-asset-text": "确认后,资产将未分配,客户无法访问。", - "unassign-asset-title": "您确定要取消对'{{assetName}}'资产的分配吗?", + "unassign-asset-title": "确定要取消对'{{assetName}}'资产的分配吗?", "unassign-assets": "取消分配资产", "unassign-assets-action-title": "从客户处取消分配 { count, plural, 1 {# 个资产} other {# 个资产} }", "unassign-assets-text": "确认后,所有选定的资产将被分配,客户无法访问。", - "unassign-assets-title": "您确定要取消分配 { count, plural, 1 {# 个资产} other {# 个资产} }吗?", + "unassign-assets-title": "确定要取消分配 { count, plural, 1 {# 个资产} other {# 个资产} }吗?", "unassign-from-customer": "取消分配客户", "unassign-assets-from-edge": "取消分配边缘", "unassign-assets-from-edge-text": "确认后,所有选定的资产将被分配,边缘无法访问。", - "unassign-assets-from-edge-title": "您确定要取消分配 { count, plural, 1 {1 资产} other {# 个资产} }吗?", + "unassign-assets-from-edge-title": "确定要取消分配 { count, plural, 1 {1 资产} other {# 个资产} }吗?", "view-assets": "查看资产" }, "attribute": { @@ -481,14 +546,14 @@ "attributes-scope": "设备属性范围", "delete-attributes": "删除属性", "delete-attributes-text": "注意,确认后所有选中的属性都会被删除。", - "delete-attributes-title": "您确定要删除 { count, plural, 1 {# 个属性} other {# 个属性} }吗?", + "delete-attributes-title": "确定要删除 { count, plural, 1 {# 个属性} other {# 个属性} }吗?", "enter-attribute-value": "输入属性值", "key": "键名", "key-required": "属性键必填。", "last-update-time": "最后更新时间", "latest-telemetry": "最新遥测数据", "next-widget": "下一个部件", - "no-attributes-text": "找不到属性", + "no-attributes-text": "未找到属性", "no-telemetry-text": "未找到遥测数据", "prev-widget": "上一个部件", "scope-client": "客户端属性", @@ -498,7 +563,7 @@ "selected-attributes": "已选择{ count, plural, 1 {# 个属性} other {# 个属性} }", "selected-telemetry": "已选择 { count, plural, 1 {# telemetry unit} other {# telemetry units} }", "show-on-widget": "在部件上显示", - "value": "价值", + "value": "数值", "value-required": "属性值必填。", "widget-mode": "部件模式" }, @@ -512,7 +577,7 @@ "entity-name": "实体名称", "entity-type": "实体类型", "failure-details": "失败详情", - "no-audit-logs-prompt": "找不到日志", + "no-audit-logs-prompt": "未找到日志", "search": "查找审计日志", "status": "状态", "status-failure": "失败", @@ -530,8 +595,8 @@ "type-attributes-deleted": "删除属性", "type-attributes-read": "读取属性", "type-attributes-updated": "更新属性", - "type-credentials-read": "读取凭证", - "type-credentials-updated": "更新凭证", + "type-credentials-read": "读取凭据", + "type-credentials-updated": "更新凭据", "type-deleted": "删除", "type-lockout": "锁定", "type-login": "登录", @@ -562,8 +627,8 @@ "open-details-page": "打开详情页" }, "confirm-on-exit": { - "html-message": "您有未保存的更改。
确定要离开此页面吗?", - "message": "您有未保存的更改。确定要离开此页吗?", + "html-message": "有未保存的更改。
确定要离开此页面吗?", + "message": "有未保存的更改,确定要离开此页吗?", "title": "未保存的更改" }, "contact": { @@ -611,10 +676,10 @@ "default-customer-required": "为了调试租户级别上的仪表板,需要默认客户。", "delete": "删除此客户", "delete-customer-text": "请注意:确认后,客户及其所有相关数据将不可恢复。", - "delete-customer-title": "您确定要删除客户'{{customerTitle}}'吗?", + "delete-customer-title": "确定要删除客户'{{customerTitle}}'吗?", "delete-customers-action-title": "删除 { count, plural, 1 {# 个客户} other {# 个客户} }", "delete-customers-text": "请注意:确认后,所有选定的客户将被删除,所有相关数据将不可恢复。", - "delete-customers-title": "您确定要删除 { count, plural, 1 {# 个客户} other {# 个客户} }吗?", + "delete-customers-title": "确定要删除 { count, plural, 1 {# 个客户} other {# 个客户} }吗?", "description": "说明", "details": "详情", "devices": "客户设备", @@ -637,8 +702,8 @@ "manage-public-edges": "管理公共边缘", "manage-users": "管理用户", "management": "客户管理", - "no-customers-matching": "没有找到匹配 '{{entity}}' 的客户。", - "no-customers-text": "没有找到客户", + "no-customers-matching": "未找到匹配 '{{entity}}' 的客户。", + "no-customers-text": "未找到客户", "public-assets": "公共资产", "public-dashboards": "公共仪表板", "public-devices": "公共设备", @@ -693,14 +758,14 @@ "dashboard-required": "仪表板必填。", "dashboards": "仪表板库", "delete": "删除仪表板", - "delete-dashboard-text": "请注意:确认后仪表板及其所有相关数据将不可恢复。", - "delete-dashboard-title": "您确定要删除仪表板 '{{dashboardTitle}}'吗?", + "delete-dashboard-text": "请注意:确认后,仪表板及其所有相关数据将不可恢复。", + "delete-dashboard-title": "确定要删除仪表板 '{{dashboardTitle}}'吗?", "delete-dashboards": "删除仪表板", "delete-dashboards-action-title": "删除 { count, plural, 1 {# 个仪表板} other {# 个仪表板} }", - "delete-dashboards-text": "请注意:确认后所有选定的仪表板将被删除,所有相关数据将不可恢复。", + "delete-dashboards-text": "请注意:确认后,所有选定的仪表板将被删除,所有相关数据将不可恢复。", "delete-dashboards-title": "确定要删除 { count, plural, 1 {# 个仪表板} other {# 个仪表板} }吗?", "delete-state": "删除仪表板状态", - "delete-state-text": "确定要删除仪表板状态 '{{stateName}}' 吗?", + "delete-state-text": "确定要删除仪表板状态 '{{stateName}}' 吗?", "delete-state-title": "删除仪表板状态", "description": "说明", "details": "详情", @@ -730,7 +795,7 @@ "make-private": "仪表板设为私有", "make-private-dashboard": "仪表板设为私有", "make-private-dashboard-text": "确认后,仪表板将被设为私有,不能被其他人访问。", - "make-private-dashboard-title": "您确定要将仪表板 '{{dashboardTitle}}' 设为私有吗?", + "make-private-dashboard-title": "确定要将仪表板 '{{dashboardTitle}}' 设为私有吗?", "make-public": "仪表板设为公开", "manage-assigned-customers": "管理已分配的客户", "manage-states": "仪表板状态管理", @@ -750,16 +815,16 @@ "mobile-row-height": "移动端行高距(px)", "mobile-row-height-required": "移动端行高距必填。", "new-dashboard-title": "新仪表板标题", - "no-dashboards-matching": "找不到符合 '{{entity}}' 的仪表板。", - "no-dashboards-text": "没有找到仪表板", + "no-dashboards-matching": "未找到匹配 '{{entity}}' 的仪表板。", + "no-dashboards-text": "未找到仪表板", "no-image": "无图像选择", - "no-states-text": "找不到状态", + "no-states-text": "未找到状态", "no-widgets": "没有配置部件", "open-dashboard": "打开仪表板", "open-toolbar": "打开仪表板工具栏", "public": "公开", "public-dashboard-notice": "提示: 不要忘记将相关设备公开以访问其数据。", - "public-dashboard-text": "你的仪表板 {{dashboardTitle}} 已被公开,可通过如下 链接访问:", + "public-dashboard-text": "仪表板 {{dashboardTitle}} 已被公开,可通过如下 链接访问:", "public-dashboard-title": "仪表板现已公开", "public-link": "公共链接", "public-link-copied-message": "仪表板的公共链接已被复制到剪贴板", @@ -789,16 +854,16 @@ "states": "仪表板状态", "title": "标题", "image": "仪表板图片", - "mobile-app-settings": "移动应用设置", - "mobile-order": "移动应用中的仪表板订单", - "mobile-hide": "在移动应用中隐藏仪表板", + "mobile-app-settings": "移动端应用设置", + "mobile-order": "移动端应用中的仪表板排序", + "mobile-hide": "在移动端应用中隐藏仪表板", "title-color": "标题颜色", "title-required": "标题必填。", "toolbar-always-open": "工具栏常驻", "unassign-dashboard": "取消分配仪表板", "unassign-dashboard-from-edge-text": "确认后,所有选定的仪表板将被取消分配,边缘将无法访问。", "unassign-dashboard-text": "确认后,面板将被取消分配,客户将无法访问。", - "unassign-dashboard-title": "您确定要取消分配仪表板 '{{dashboardTitle}}'吗?", + "unassign-dashboard-title": "确定要取消分配仪表板 '{{dashboardTitle}}'吗?", "unassign-dashboards": "取消分配仪表板", "unassign-dashboards-action-text": "取消分配 { count, plural, 1 {# 个仪表板} other {# 个仪表板} } 给客户", "unassign-dashboards-action-title": "取消分配此客户 { count, plural, 1 {# 个仪表板} other {# 个仪表板} }", @@ -818,9 +883,9 @@ }, "datakey": { "advanced": "高级", - "alarm": "报警字段", - "alarm-fields-required": "警告字段必填。", - "alarm-fields-timeseries-or-attributes-required": "报警字段或实体 Timeseries/属性必填。", + "alarm": "告警字段", + "alarm-fields-required": "告警字段必填。", + "alarm-fields-timeseries-or-attributes-required": "告警字段或实体 Timeseries/属性必填。", "attributes": "属性", "color": "颜色", "configuration": "数据键配置", @@ -862,31 +927,74 @@ "edit-mode": "编辑模式", "toggle-edit-mode": "切换编辑模式" }, + "asset-profile": { + "asset-profile": "资产配置", + "asset-profiles": "资产配置", + "all-asset-profiles": "全部", + "add": "添加资产配置", + "edit": "编辑资产配置", + "asset-profile-details": "资产配置详情", + "no-asset-profiles-text": "未找到资产配置", + "search": "搜索资产配置", + "selected-asset-profiles": "已选择 { count, plural, 1 {1 个资产配置} other {# 个资产配置} }", + "no-asset-profiles-matching": "未找到与 '{{entity}}' 匹配的资产配置。", + "asset-profile-required": "资产配置必填", + "idCopiedMessage": "资产配置ID已复制到剪贴板", + "set-default": "设为默认资产配置", + "delete": "删除资产配置", + "copyId": "复制资产配置ID", + "name-max-length": "名称长度必须少于256个字符", + "new-device-profile-name": "资产配置名称", + "new-device-profile-name-required": "资产配置名称必填。", + "name": "名称", + "name-required": "名称必填。", + "image": "资产配置图片", + "description": "说明", + "default": "默认", + "default-rule-chain": "默认规则链", + "mobile-dashboard": "移动端仪表板", + "mobile-dashboard-hint": "被移动端应用用作资产详情仪表板", + "select-queue-hint": "从下拉列表中选择。", + "delete-asset-profile-title": "确定要删除 '{{assetProfileName}}' 资产配置吗?", + "delete-asset-profile-text": "请注意:确认后,资产配置和所有相关数据将不可恢复。", + "delete-asset-profiles-title": "确定要删除 { count, plural, 1 {1 个资产配置} other {# 个资产配置} }吗?", + "delete-asset-profiles-text": "请注意:确认后,所有选定的资产配置将被删除,所有相关数据将不可恢复。", + "set-default-asset-profile-title": "确定要将 '{{assetProfileName}}' 设为默认资产配置吗?", + "set-default-asset-profile-text": "确认后,资产配置将被标记为默认,并将用于未指定配置的新资产。", + "no-asset-profiles-found": "未不到资产配置。", + "create-new-asset-profile": "创建一个新的!", + "create-asset-profile": "创建资产配置", + "import": "导入资产配置", + "export": "导出资产配置", + "export-failed-error": "无法导出资产配置: {{error}}", + "asset-profile-file": "资产配置文件", + "invalid-asset-profile-file-error": "无法导入资产配置:无效的资产配置数据结构。" + }, "device-profile": { "add": "添加设备配置", - "add-alarm-rule": "添加报警规则", + "add-alarm-rule": "添加告警规则", "add-alarm-rule-details": "详情模板:", "add-clear-alarm-rule": "添加清除条件", "add-create-alarm-rule": "添加创建条件", - "add-create-alarm-rule-prompt": "请添加创建报警规则", + "add-create-alarm-rule-prompt": "请添加创建告警规则", "advanced-settings": "高级设置", - "alarm-details": "报警详细信息", - "alarm-rule-condition": "报警规则条件", + "alarm-details": "告警详细信息", + "alarm-rule-condition": "告警规则条件", "alarm-rule-details": "详情", "alarm-rule-relation-types-list": "要传递的关联类型", - "alarm-rule-relation-types-list-hint": "如果未选择传递关联类型,则将不按关联类型过滤而传递报警。", - "alarm-rules": "报警规则", - "alarm-rules-with-count": "报警规则 ({{count}})", - "alarm-severity-required": "报警严重级别必填。", - "alarm-type": "报警类型", - "alarm-type-required": "报警类型必填。", + "alarm-rule-relation-types-list-hint": "如果未选择传递关联类型,则将不按关联类型过滤而传递告警。", + "alarm-rules": "告警规则", + "alarm-rules-with-count": "告警规则 ({{count}})", + "alarm-severity-required": "告警严重级别必填。", + "alarm-type": "告警类型", + "alarm-type-required": "告警类型必填。", "alarm-type-unique": "警报类型在设备配置警报规则中必须唯一。", "all-device-profiles": "全部", "attributes-proto-schema": "Attributes proto schema", "attributes-proto-schema-required": "Attributes proto schema 必填。", "attributes-topic-filter": "Attributes topic filter", "attributes-topic-filter-required": "Attributes topic 筛选器必填。", - "clear-alarm-rule": "清除报警规则", + "clear-alarm-rule": "清除告警规则", "coap-device-payload-type": "CoAP 设备消息 Payload", "coap-device-type": "CoAP 设备类型", "coap-device-type-default": "默认", @@ -914,19 +1022,19 @@ "copy-provision-key": "复制预配置密钥名", "copy-provision-secret": "复制预配置密钥", "copyId": "复制设备配置 ID", - "create-alarm-pattern": "创建 {{alarmType}} 报警", - "create-alarm-rules": "创建报警规则", + "create-alarm-pattern": "创建 {{alarmType}} 告警", + "create-alarm-rules": "创建告警规则", "create-device-profile": "创建设备配置", "create-new-device-profile": "创建一个新的!", "default": "默认", "default-rule-chain": "默认规则链", - "mobile-dashboard": "移动仪表板", - "mobile-dashboard-hint": "被移动应用用作设备详情仪表板", + "mobile-dashboard": "移动端仪表板", + "mobile-dashboard-hint": "被移动端应用用作设备详情仪表板", "delete": "删除设备配置", - "delete-device-profile-text": "请注意:确认后设备配置和所有相关数据将不可恢复。", - "delete-device-profile-title": "是否确实要删除设备配置 '{{deviceProfileName}}'?", + "delete-device-profile-text": "请注意:确认后,设备配置和所有相关数据将不可恢复。", + "delete-device-profile-title": "确定要删除 '{{deviceProfileName}}' 设备配置吗?", "delete-device-profiles-text": "请注意:确认后,所有选定的设备配置将被删除,所有相关数据将不可恢复。", - "delete-device-profiles-title": "确定要删除 { count, plural, 1 {# 个设备配置} other {# 个设备配置} }?", + "delete-device-profiles-title": "确定要删除 { count, plural, 1 {# 个设备配置} other {# 个设备配置} }吗?", "description": "说明", "device-profile": "设备配置", "device-profile-details": "设备配置详情", @@ -935,15 +1043,15 @@ "device-profiles": "设备配置", "device-provisioning": "设备预配置", "edit": "编辑设备配置", - "edit-alarm-rule": "编辑报警规则", - "edit-alarm-rule-condition": "编辑报警规则条件", - "edit-schedule": "编辑报警日程表", - "enter-alarm-rule-condition-prompt": "请添加报警规则条件", + "edit-alarm-rule": "编辑告警规则", + "edit-alarm-rule-condition": "编辑告警规则条件", + "edit-schedule": "编辑告警日程表", + "enter-alarm-rule-condition-prompt": "请添加告警规则条件", "export": "导出设备配置", "export-failed-error": "无法导出设备配置文件: {{error}}", "idCopiedMessage": "设备配置 ID 已复制到剪贴板", "import": "导入设备配置", - "invalid-device-profile-file-error": "无法导入设备配置文件:无效的设备配置文件数据结构。", + "invalid-device-profile-file-error": "无法导入设备配置:无效的设备配置数据结构。", "mqtt-device-payload-type": "MQTT 设备 Payload", "mqtt-device-payload-type-json": "JSON", "mqtt-device-payload-type-proto": "Protobuf", @@ -955,12 +1063,12 @@ "name-required": "名称是必需的。", "new-device-profile-name": "设备配置名称", "new-device-profile-name-required": "设备配置名称必填。", - "no-alarm-rules": "未配置报警规则", + "no-alarm-rules": "未配置告警规则", "no-clear-alarm-rule": "未配置明确条件", "no-create-alarm-rules": "未配置创建条件", - "no-device-profiles-found": "找不到设备配置。", - "no-device-profiles-matching": "找不到与 '{{entity}}' 匹配的设备配置。", - "no-device-profiles-text": "找不到设备配置", + "no-device-profiles-found": "未找到设备配置。", + "no-device-profiles-matching": "未找到与 '{{entity}}' 匹配的设备配置。", + "no-device-profiles-text": "未找到设备配置", "not-valid-multi-character": "多级通配符的使用无效", "not-valid-pattern-topic-filter": "无效的 Topic 筛选器模式", "not-valid-single-character": "单级通配符的使用无效", @@ -1005,12 +1113,12 @@ "schedule-type": "计划程序类型", "schedule-type-required": "计划类型必填。", "search": "查找设备配置", - "select-alarm-severity": "选择报警严重性", + "select-alarm-severity": "选择告警严重性", "select-queue-hint": "从下拉列表中选择或添加自定义名称。", "selected-device-profiles": "已选择 { count, plural, 1 {# 个设备配置} other {# 个设备配置} }", "set-default": "设为默认设备配置", "set-default-device-profile-text": "确认后,设备配置将被标记为默认,并将用于未指定配置的新设备。", - "set-default-device-profile-title": "确实要将设备配置 '{{deviceProfileName}}' 设为默认值吗?", + "set-default-device-profile-title": "确定要将设备配置 '{{deviceProfileName}}' 设为默认值吗?", "single-level-wildcards-hint": "[+] is suitable for any topic filter level。例如:v1/devices/+/telemetry or +/devices/+/attributes。", "support-level-wildcards": "支持单[+]和多级[#]通配符。", "telemetry-proto-schema": "遥测数据 proto schema", @@ -1067,11 +1175,11 @@ "credentials": "凭据", "credentials-type": "凭据类型", "delete": "删除设备", - "delete-device-text": "请注意:确认后设备及其所有相关数据将不可恢复。", - "delete-device-title": "您确定要删除设备的{{deviceName}}吗?", + "delete-device-text": "请注意:确认后,设备及其所有相关数据将不可恢复。", + "delete-device-title": "确定要删除设备的{{deviceName}}吗?", "delete-devices": "删除设备", "delete-devices-action-title": "删除 {count,plural,1 {# 个设备} other {# 个设备} }", - "delete-devices-text": "请注意:确认后所有选定的设备将被删除,所有相关数据将不可恢复。", + "delete-devices-text": "请注意:确认后,所有选定的设备将被删除,所有相关数据将不可恢复。", "delete-devices-title": "确定要删除{count,plural,1 {# 个设备} other {# 个设备} } 吗?", "description": "说明", "details": "详情", @@ -1083,7 +1191,7 @@ "device-file": "设备文件", "device-list": "设备列表", "device-list-empty": "没有被选中的设备", - "device-name-filter-no-device-matched": "找不到以'{{device}}' 开头的设备。", + "device-name-filter-no-device-matched": "未找到以'{{device}}' 开头的设备。", "device-name-filter-required": "设备名称筛选器必填。", "device-public": "设备公开", "device-required": "设备必填", @@ -1101,23 +1209,23 @@ "label": "标签", "make-private": "私有", "make-private-device-text": "确认后,设备及其所有数据将被设为私有,不被其他人访问。", - "make-private-device-title": "您确定要将设备 '{{deviceName}}' 设为私有吗?", + "make-private-device-title": "确定要将设备 '{{deviceName}}' 设为私有吗?", "make-public": "公开", "make-public-device-text": "确认后,设备及其所有数据将被设为公开并可被其他人访问。", - "make-public-device-title": "您确定要将设备 '{{deviceName}}' 设为公开吗?", + "make-public-device-title": "确定要将设备 '{{deviceName}}' 设为公开吗?", "manage-credentials": "管理凭据", "management": "设备管理", "mqtt-authentication-copied-message": "设备MQTT身份验证已复制到剪贴板", "name": "名称", "name-required": "名称必填。", "name-starts-with": "名称前缀", - "no-alias-matching": "'{{alias}}' 没有找到。", - "no-aliases-found": "找不到别名。", - "no-device-types-matching": "没有找到符合 '{{entitySubtype}}' 的设备类型。", - "no-devices-matching": "找不到与 '{{entity}}' 匹配的设备。", - "no-devices-text": "找不到设备", - "no-key-matching": "'{{key}}' 没有找到。", - "no-keys-found": "找不到密钥。", + "no-alias-matching": "'{{alias}}' 未找到。", + "no-aliases-found": "未找到别名。", + "no-device-types-matching": "未找到匹配 '{{entitySubtype}}' 的设备类型。", + "no-devices-matching": "未找到与 '{{entity}}' 匹配的设备。", + "no-devices-text": "未找到设备", + "no-key-matching": "'{{key}}' 未找到。", + "no-keys-found": "未找到密钥。", "overwrite-activity-time": "覆盖已连接设备的活动时间", "password": "密码", "public": "公开", @@ -1132,15 +1240,15 @@ "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用:
{{widgetsList}}", "unable-delete-device-alias-title": "无法删除设备别名", "unassign-device": "取消分配设备", - "unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。", - "unassign-device-title": "您确定要取消分配设备 '{{deviceName}}'?", + "unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。", + "unassign-device-title": "确定要取消分配设备 '{{deviceName}}' 吗?", "unassign-device-from-edge-text": "确认后,设备将被取消分配,边缘将无法访问。", - "unassign-device-from-edge-title": "您确定要取消分配设备 '{{deviceName}}'?", + "unassign-device-from-edge-title": "确定要取消分配设备 '{{deviceName}}' 吗?", "unassign-devices": "取消分配设备", "unassign-devices-action-title": "取消分配此客户 {count,plural,1 {# 个设备} other {# 个设备} }", "unassign-devices-from-edge": "取消分配边缘", "unassign-devices-from-edge-text": "确认后,设备将被取消分配,边缘将无法访问。", - "unassign-devices-from-edge-title": "您确定要取消分配 { count, plural, 1 {1个 设备} other {# 个设备} } 吗?", + "unassign-devices-from-edge-title": "确定要取消分配 { count, plural, 1 {1 个设备} other {# 个设备} } 吗?", "unassign-devices-text": "确认后,所有选定的设备将被取消分配,并且客户将无法访问。", "unassign-devices-title": "确定要取消分配 {count,plural,1 {# 个设备} other {# 个设备} } 吗?", "unassign-from-customer": "取消分配客户", @@ -1185,11 +1293,11 @@ "dashboards": "边缘仪表板", "delete": "删除边缘", "delete-edge-text": "当心, 确认后,边缘以及所有关联数据将不可恢复。", - "delete-edge-title": "您确定删除边缘 '{{edgeName}}'?", + "delete-edge-title": "确定删除边缘 '{{edgeName}}'吗?", "delete-edges-text": "当心, 确认后,选定的边缘以及所有关联数据将不可恢复。", - "delete-edges-title": "您确认删除边缘 { count, plural, 1 {1 个边缘} other {# 个边缘} }?", + "delete-edges-title": "确定删除 { count, plural, 1 {1 个边缘} other {# 个边缘} }吗?", "deployed": "已部署", - "description": "描述", + "description": "说明", "details": "详情", "devices": "边缘设备", "downlinks": "下行", @@ -1224,10 +1332,10 @@ "load-entity-error": "加载数据失败,实体已经被删除。", "make-private": "私有", "make-private-edge-text": "确认后,边缘及其所有数据将被设为私有,不被其他人访问。", - "make-private-edge-title": "您确定要将边缘 '{{edgeName}}' 设为私有?", + "make-private-edge-title": "确定要将边缘 '{{edgeName}}' 设为私有吗?", "make-public": "公开", "make-public-edge-text": "确认后,边缘及其所有数据将被设为公开并可被其他人访问。", - "make-public-edge-title": "您确定要将边缘 '{{edgeName}}' 设为公开吗?", + "make-public-edge-title": "确定要将边缘 '{{edgeName}}' 设为公开吗?", "management": "边缘管理", "missing-related-rule-chains-text": "分配给边缘的规则链使用规则节点将消息转发给未分配给当前边缘的规则链。

缺少的规则链列表:
{{missingRuleChains}}", "missing-related-rule-chains-title": "边缘缺少关联规则链", @@ -1235,10 +1343,10 @@ "name-max-length": "名称长度必须少于256个字符", "name-required": "名称必填。", "name-starts-with": "边缘名称前缀", - "no-downlinks-prompt": "没有找到下行", - "no-edge-types-matching": "没有找到匹配的边缘类型 '{{entitySubtype}}'。", - "no-edges-matching": "没有找到匹配的边缘 '{{entity}}'。", - "no-edges-text": "没有找到边缘", + "no-downlinks-prompt": "未找到下行", + "no-edge-types-matching": "未找到匹配的边缘类型 '{{entitySubtype}}'。", + "no-edges-matching": "未找到匹配的边缘 '{{entity}}'。", + "no-edges-text": "未找到边缘", "pending": "待定", "public": "公开", "rulechain-templates": "规则链模版", @@ -1250,17 +1358,17 @@ "sync-process-started-successfully": "同步处理开始成功!", "type-max-length": "类型长度必须少于256个字符", "unassign-edge-text": "确定后,边缘将被取消分配,并且客户将无法访问。", - "unassign-edge-title": "您确定取消分配边缘 '{{edgeName}}'?", + "unassign-edge-title": "确定取消分配边缘 '{{edgeName}}' 吗?", "unassign-edges-text": "确定后,所有选定的边缘将被取消分配,并且客户将无法访问。", - "unassign-edges-title": "您确定要取消分配 {count,plural,1 {1 个边缘} other {# 个边缘} } 吗?", + "unassign-edges-title": "确定要取消分配 {count,plural,1 {1 个边缘} other {# 个边缘} } 吗?", "unassign-from-customer": "取消分配客户", "unassign-from-edge": "取消分配边缘", "widget-datasource-error": "组件只支持边缘实体数据源" }, "edge-event": { "action-type-added": "增加", - "action-type-alarm-ack": "警告确认", - "action-type-alarm-clear": "警告清除", + "action-type-alarm-ack": "告警确认", + "action-type-alarm-clear": "告警清除", "action-type-assigned-to-customer": "分配给客户", "action-type-assigned-to-edge": "分配给边缘", "action-type-attributes-deleted": "属性删除", @@ -1295,14 +1403,14 @@ }, "entity-field": { "address": "地址", - "address2": "地址2", + "address2": "地址二", "city": "城市", "country": "国家", "created-time": "创建时间", "email": "电子邮件", "first-name": "名字", "label": "标签", - "last-name": "姓", + "last-name": "姓氏", "name": "名称", "phone": "电话", "state": "省/州", @@ -1341,11 +1449,11 @@ "date-limits": "日期限制", "delete": "删除实体视图", "delete-entity-view-text": "请注意:确认后实体视图及其所有相关数据将不可恢复。", - "delete-entity-view-title": "确定要删除实体视图 '{{entityViewName}}'?", + "delete-entity-view-title": "确定要删除实体视图 '{{entityViewName}}'吗?", "delete-entity-views": "删除实体视图", "delete-entity-views-action-title": "删除 { count, plural, 1 {# 个实体视图} other {# 个实体视图} }", - "delete-entity-views-text": "请注意:确认后,所有选定的实体视图将被删除,所有相关的数据将变得不可恢复。", - "delete-entity-views-title": "确定要删除 { count, plural, 1 {# 实体视图} other {# 实体视图} }?", + "delete-entity-views-text": "请注意:确认后,所有选定的实体视图将被删除,所有相关的数据将不可恢复。", + "delete-entity-views-title": "确定要删除 { count, plural, 1 {# 实体视图} other {# 实体视图} }吗?", "description": "说明", "details": "详情", "duplicate-alias-error": "找到重复别名 '{{alias}}'。
实体视图别名必须是唯一的。", @@ -1357,7 +1465,7 @@ "entity-view-details": "实体视图详细信息", "entity-view-list": "实体视图列表", "entity-view-list-empty": "没有被选中的实体视图", - "entity-view-name-filter-no-entity-view-matched": "找不到以'{{entityView}}' 开头的实体视图。", + "entity-view-name-filter-no-entity-view-matched": "未找到以'{{entityView}}' 开头的实体视图。", "entity-view-name-filter-required": "实体视图名称筛选器必填。", "entity-view-public": "实体视图是公共的", "entity-view-required": "实体视图必填。", @@ -1367,24 +1475,24 @@ "entity-view-types": "实体视图类型", "entity-views": "实体视图", "events": "事件", - "idCopiedMessage": "实体视图Id已复制到剪贴板", + "idCopiedMessage": "实体视图ID已复制到剪贴板", "make-private": "实体视图设为私有", "make-private-entity-view-text": "确认后,实体视图及其所有数据将被私有化,无法被他人访问。", - "make-private-entity-view-title": "你确定你想创建私有 '{{entityViewName}}' 实体视图?", + "make-private-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为私有吗?", "make-public": "实体视图设为公开", - "make-public-entity-view-text": "确认后,实体视图 及其所有数据将被公开并被他人访问。", - "make-public-entity-view-title": "你确定你想创建公开 '{{entityViewName}}' 实体视图?", + "make-public-entity-view-text": "确认后,实体视图及其所有数据将被公开并被他人访问。", + "make-public-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为公开吗?", "management": "实体视图管理", "name": "名称", "name-required": "名称必填。", "name-starts-with": "名称前缀", - "no-alias-matching": "'{{alias}}' 没有找到。", - "no-aliases-found": "找不到别名。", - "no-entity-view-types-matching": "没有找到匹配 '{{entitySubtype}}' 的实体视图类型。", - "no-entity-views-matching": "找不到与 '{{entity}}' 匹配的实体视图。", - "no-entity-views-text": "找不到实体视图", - "no-key-matching": "'{{key}}' 没有找到。", - "no-keys-found": "找不到密钥。", + "no-alias-matching": "未找到匹配 '{{alias}}' 的别名。", + "no-aliases-found": "未找到别名。", + "no-entity-view-types-matching": "未找到匹配 '{{entitySubtype}}' 的实体视图类型。", + "no-entity-views-matching": "未找到与 '{{entity}}' 匹配的实体视图。", + "no-entity-views-text": "未找到实体视图", + "no-key-matching": "'{{key}}' 未找到。", + "no-keys-found": "未找到密钥。", "public": "公开", "remove-alias": "删除实体视图别名", "search": "查找实体视图", @@ -1406,24 +1514,24 @@ "unable-entity-view-device-alias-title": "无法删除实体视图别名", "unassign-entity-view": "未分配实体视图", "unassign-entity-view-text": "确认后,实体视图将未分配,客户无法访问。", - "unassign-entity-view-title": "您确定要取消对 '{{entityViewName}}'实体视图的分配吗?", + "unassign-entity-view-title": "确定要取消对 '{{entityViewName}}' 实体视图的分配吗?", "unassign-entity-view-from-edge": "未分配实体视图", "unassign-entity-view-from-edge-text": "确认后,实体视图将未分配,边缘无法访问。", - "unassign-entity-view-from-edge-title": "您确定要取消对 '{{entityViewName}}'实体视图的分配吗?", + "unassign-entity-view-from-edge-title": "确定要取消对 '{{entityViewName}}' 实体视图的分配吗?", "unassign-entity-views": "取消分配实体视图", "unassign-entity-views-action-title": "从客户处取消分配{count,plural,1 {# 实体视图} other {# 实体视图} }", "unassign-entity-views-from-edge-action-title": "从边缘处取消分配{count,plural,1 {# 实体视图} other {# 实体视图} }", "unassign-entity-views-from-edge-text": "确认后,所有选定的实体视图将被分配,边缘无法访问。", - "unassign-entity-views-from-edge-title": "确定要取消分配 { count, plural, 1 {# 个实体视图} other {# 个实体视图} }吗?", + "unassign-entity-views-from-edge-title": "确定要取消分配 { count, plural, 1 {# 个实体视图} other {# 个实体视图} } 吗?", "unassign-entity-views-text": "确认后,所有选定的实体视图将被分配,客户无法访问。", - "unassign-entity-views-title": "确定要取消分配 { count, plural, 1 {# 个实体视图} other {# 个实体视图} }吗?", + "unassign-entity-views-title": "确定要取消分配 { count, plural, 1 {# 个实体视图} other {# 个实体视图} } 吗?", "unassign-from-customer": "取消分配客户", "use-entity-view-name-filter": "使用筛选器", "view-entity-views": "查看实体视图" }, "entity": { "add-alias": "添加实体别名", - "alarm-name-starts-with": "以 '{{prefix}}' 开头的警告", + "alarm-name-starts-with": "以 '{{prefix}}' 开头的告警", "alias": "别名", "alias-required": "实体别名必填。", "aliases": "实体别名", @@ -1449,7 +1557,7 @@ "entity-list": "实体列表", "entity-list-empty": "没有选择实体。", "entity-name": "实体名", - "entity-name-filter-no-entity-matched": "没有找到以 '{{entity}}' 开头的实体", + "entity-name-filter-no-entity-matched": "未找到以 '{{entity}}' 开头的实体", "entity-name-filter-required": "实体名筛选器必填。", "entity-type": "实体类型", "entity-type-list": "实体类型列表", @@ -1457,31 +1565,31 @@ "entity-types": "实体类型", "entity-view-name-starts-with": "以 '{{prefix}}' 开头的实体视图", "key": "键名", - "key-name": "Key name", - "list-of-alarms": "{ count, plural, 1 {个警告} other {# 个警告} }", - "list-of-assets": "{ count, plural, 1 {个资产} other {# 个资产} }", - "list-of-customers": "{ count, plural, 1 {个客户} other {# 个客户} }", - "list-of-dashboards": "{ count, plural, 1 {个仪表板} other {# 个仪表板} }", - "list-of-device-profiles": "{ count, plural, 1 {个设备配置} other {# 个设备配置} }", - "list-of-devices": "{ count, plural, 1 {个设备} other {# 个设备} }", - "list-of-entity-views": "{ count, plural, 1 {个实体视图} other {# 个实体视图} }", - "list-of-plugins": "{ count, plural, 1 {个插件} other {# 个插件} }", - "list-of-rulechains": "{ count, plural, 1 {个规则链} other {# 个规则链} }", - "list-of-rulenodes": "{ count, plural, 1 {个规则节点} other {# 个规则节点} }", - "list-of-rules": "{ count, plural, 1 {个规则} other {# 个规则} }", - "list-of-tenant-profiles": "{ count, plural, 1 {个租户配置} other {# 个租户配置} }", - "list-of-tenants": "{ count, plural, 1 {个租户} other {# 个租户} }", - "list-of-users": "{ count, plural, 1 {个用户} other {# 个用户} }", + "key-name": "键名", + "list-of-alarms": "{ count, plural, 1 {1 个告警} other {# 个告警} }", + "list-of-assets": "{ count, plural, 1 {1 个资产} other {# 个资产} }", + "list-of-customers": "{ count, plural, 1 {1 个客户} other {# 个客户} }", + "list-of-dashboards": "{ count, plural, 1 {1 个仪表板} other {# 个仪表板} }", + "list-of-device-profiles": "{ count, plural, 1 {1 个设备配置} other {# 个设备配置} }", + "list-of-devices": "{ count, plural, 1 {1 个设备} other {# 个设备} }", + "list-of-entity-views": "{ count, plural, 1 {1 个实体视图} other {# 个实体视图} }", + "list-of-plugins": "{ count, plural, 1 {1 个插件} other {# 个插件} }", + "list-of-rulechains": "{ count, plural, 1 {1 个规则链} other {# 个规则链} }", + "list-of-rulenodes": "{ count, plural, 1 {1 个规则节点} other {# 个规则节点} }", + "list-of-rules": "{ count, plural, 1 {1 个规则} other {# 个规则} }", + "list-of-tenant-profiles": "{ count, plural, 1 {1 个租户配置} other {# 个租户配置} }", + "list-of-tenants": "{ count, plural, 1 {1 个租户} other {# 个租户} }", + "list-of-users": "{ count, plural, 1 {1 个用户} other {# 个用户} }", "missing-entity-filter-error": "别名 '{{alias}}' 缺少筛选器", "name-starts-with": "名称开始于", - "no-alias-matching": "没有找到 '{{alias}}'", - "no-aliases-found": "没有找到别名", + "no-alias-matching": "未找到 '{{alias}}'", + "no-aliases-found": "未找到别名", "no-data": "无数据", - "no-entities-matching": "没有找到符合 '{{entity}}' 的实体。", - "no-entities-prompt": "没有找到实体", - "no-entity-types-matching": "没有找到符合 '{{entityType}}' 类型的实体。", - "no-key-matching": "没有找到键 '{{key}}'", - "no-keys-found": "没有找到键", + "no-entities-matching": "未找到匹配 '{{entity}}' 的实体。", + "no-entities-prompt": "未找到实体", + "no-entity-types-matching": "未找到匹配 '{{entityType}}' 类型的实体。", + "no-key-matching": "未找到键名 '{{key}}'", + "no-keys-found": "未找到键名", "plugin-name-starts-with": "以 '{{prefix}}' 开头的插件", "remove-alias": "移除实体别名", "rule-name-starts-with": "以 '{{prefix}}' 开头的规则", @@ -1493,8 +1601,8 @@ "tenant-name-starts-with": "以 '{{prefix}}' 开头的租户", "tenant-profile-name-starts-with": "名称以 '{{prefix}}' 开头的租户配置", "type": "类型", - "type-alarm": "警告", - "type-alarms": "警告", + "type-alarm": "告警", + "type-alarms": "告警", "type-api-usage-state": "Api使用状态", "type-asset": "资产", "type-assets": "资产", @@ -1527,6 +1635,8 @@ "type-tenants": "租户", "type-user": "用户", "type-users": "用户", + "type-asset-profile": "资产配置", + "type-asset-profiles": "资产配置", "unable-delete-entity-alias-text": "实体别名 '{{entityAlias}}' 被以下部件使用不能删除:
{{widgetsList}}", "unable-delete-entity-alias-title": "无法删除实体别名", "use-entity-name-filter": "用户筛选器", @@ -1542,7 +1652,7 @@ "unknown-error": "未知错误" }, "event": { - "alarm": "报警", + "alarm": "告警", "body": "整体", "data": "数据", "data-type": "数据类型", @@ -1560,7 +1670,7 @@ "messages-processed": "消息处理", "metadata": "元数据", "method": "方法", - "no-events-prompt": "找不到事件", + "no-events-prompt": "未找到事件", "relation-type": "关联类型", "server": "服务器", "status": "状态", @@ -1613,10 +1723,10 @@ "credentials": "证书", "custom": "定制", "delete": "删除扩展", - "delete-extension-text": "请注意:确认后,扩展和所有相关数据将变得不可恢复。", - "delete-extension-title": "确实要删除扩展名'{{extensionId}}'吗?", - "delete-extensions-text": "请注意:确认后,所有选定的扩展将被删除。", - "delete-extensions-title": "确定要删除 { count, plural, 1 {# 个扩展} other {# 个扩展} }吗?", + "delete-extension-text": "请注意:确认后,扩展和所有相关数据将不可恢复。", + "delete-extension-title": "确定要删除扩展 '{{extensionId}}'吗?", + "delete-extensions-text": "请注意:确认后,所有选定的扩展将被删除,所有相关数据将不可恢复。", + "delete-extensions-title": "确定要删除 { count, plural, 1 {# 个扩展} other {# 个扩展} }吗?", "device-name-expression": "设备名称表达式", "device-name-filter": "设备名称筛选器", "device-type-expression": "设备类型表达式", @@ -1646,7 +1756,7 @@ "method-filter": "方法筛选器", "modbus-add-server": "添加 server/slave", "modbus-add-server-prompt": "请添加 server/slave", - "modbus-attributes-poll-period": "轮询属性周期 (ms)", + "modbus-attributes-poll-period": "轮询属性周期 (毫秒)", "modbus-baudrate": "波特率", "modbus-byte-order": "字节顺序", "modbus-databits": "数据位", @@ -1655,7 +1765,7 @@ "modbus-encoding": "编码", "modbus-function": "函数", "modbus-parity": "奇偶性", - "modbus-poll-period": "轮询周期 (ms)", + "modbus-poll-period": "轮询周期 (毫秒)", "modbus-poll-period-range": "轮询周期应为正值。", "modbus-port-name": "串口名称", "modbus-register-address": "寄存器地址", @@ -1670,7 +1780,7 @@ "modbus-stopbits-range": "停止位应该在1到2的范围内。", "modbus-tag": "标签", "modbus-tcp-reconnect": "自动重新连接", - "modbus-timeseries-poll-period": "Timeseries 轮询周期 (ms)", + "modbus-timeseries-poll-period": "Timeseries 轮询周期 (毫秒)", "modbus-transport": "Transport", "modbus-unit-id": "单位编号", "modbus-unit-id-range": "单位ID应该在1到247的范围内", @@ -1701,12 +1811,12 @@ "request-id-json-expression": "请求ID JSON表达式", "request-id-topic-expression": "请求ID主题表达式", "request-topic-expression": "请求主题表达式", - "response-timeout": "毫秒内响应超时", + "response-timeout": "响应超时(毫秒)", "response-topic-expression": "响应主题表达式", - "retry-interval": "以毫秒为单位的重试间隔", + "retry-interval": "重试间隔(毫秒)", "selected-extensions": "已选择 { count, plural, 1 {# 个扩展} other {# 个扩展} }", "server-side-rpc": "服务端RPC", - "ssl": "Ssl", + "ssl": "SSL", "sync": { "last-sync-time": "最后同步时间", "not-available": "无法使用", @@ -1714,7 +1824,7 @@ "status": "状态", "sync": "同步" }, - "timeout": "毫秒超时", + "timeout": "超时时间(毫秒)", "timeseries": "Timeseries", "to-double": "加倍", "token": "安全令牌", @@ -1773,15 +1883,15 @@ "timeseries": "Timeseries" }, "key-value-type-change-message": "如果您确认新的值类型,所有输入的键过滤器将被删除。", - "key-value-type-change-title": "是否确实要更改键值类型?", + "key-value-type-change-title": "确定要更改键值类型吗?", "missing-key-filters-error": "筛选器 '{{filter}}' 的键名筛选条件缺失。", "name": "筛选器名称", "name-required": "筛选器名称必填。", "no-dynamic-value": "无动态值", - "no-filter-matching": "找不到 '{{filter}}' 。", + "no-filter-matching": "未找到 '{{filter}}' 。", "no-filter-text": "未指定筛选器", "no-filters": "未配置筛选器", - "no-filters-found": "找不到筛选器。", + "no-filters-found": "未找到筛选器。", "no-key-filters": "未配置键名筛选器", "operation": { "and": "和", @@ -1819,51 +1929,6 @@ "value-type": "值类型" } }, - "firmware": { - "add": "添加固件", - "checksum": "校验和", - "checksum-algorithm": "校验和算法", - "checksum-copied-message": "固件校验和已复制到剪贴板", - "checksum-required": "校验和为必填项。", - "content-type": "Content type", - "copy-checksum": "复制校验和", - "copyId": "复制固件ID", - "delete": "删除固件", - "delete-firmware-text": "请注意:确认后固件将无法恢复。", - "delete-firmware-title": "确定要删除固件'{{firmwareTitle}}'?", - "delete-firmwares-action-title": "Delete { count, plural, 1 {# 个固件} other {# 个固件} }", - "delete-firmwares-text": "请注意:确认后所有选定的资源都将被删除。", - "delete-firmwares-title": "确定要删除固件 { count, plural, 1 {# 个固件} other {# 个固件} }?", - "description": "描述", - "download": "下载固件", - "drop-file": "拖拽固件文件或单击以选择要上传的文件。", - "empty": "固件为空", - "file-name": "文件名", - "file-size": "文件大小", - "file-size-bytes": "文件大小(字节)", - "firmware": "固件", - "firmware-details": "固件详情", - "firmware-required": "固件为必选项。", - "idCopiedMessage": "固件ID已复制到剪贴板", - "no-firmware-matching": "找不到与 '{{entity}}' 匹配的固件。", - "no-firmware-text": "没有找到固件", - "no-software-matching": "找不到与 '{{entity}}' 匹配的软件。", - "no-software-text": "没有找到软件", - "search": "查找固件", - "selected-firmware": "已选择{ count, plural, 1 {# 个固件} other {# 个固件}", - "software": "软件", - "software-required": "软件为必选项。", - "title": "标题", - "title-required": "标题为必填项。", - "type": "固件类型", - "types": { - "firmware": "固件", - "software": "软件" - }, - "version": "版本号", - "version-required": "版本号为必填项。", - "warning-after-save-no-edit": "保存固件后,将无法更改标题和版本号。" -}, "fullscreen": { "exit": "退出全屏", "expand": "展开到全屏", @@ -1883,7 +1948,7 @@ "connector-type-required": "Connector 类型必填。", "connectors": "连接器配置", "create-new-gateway": "创建新网关", - "create-new-gateway-text": "是否确实要创建名为 '{{gatewayName}}' 的新网关?", + "create-new-gateway-text": "确定要创建名为 '{{gatewayName}}' 的新网关?", "delete": "删除配置", "download-tip": "下载配置", "gateway": "网关", @@ -1895,8 +1960,8 @@ "json-required": "字段不能为空。", "no-connectors": "无连接器", "no-data": "没有配置", - "no-gateway-found": "找不到网关。", - "no-gateway-matching": "找不到 '{{item}}' 。", + "no-gateway-found": "未找到网关。", + "no-gateway-matching": "未找到 '{{item}}' 。", "path-logs": "日志文件的路径", "path-logs-required": "路径是必需的。", "remote": "远程配置", @@ -1950,14 +2015,14 @@ "grid": { "add-item-text": "添加新项目", "delete-item": "删除项目", - "delete-item-text": "注意,确认后此项及其所有相关数据将变得不可恢复。", - "delete-item-title": "您确定要删除此项吗?", + "delete-item-text": "请注意,确认后,项目及其所有相关数据将不可恢复。", + "delete-item-title": "确定要删除此项吗?", "delete-items": "删除项目", "delete-items-action-title": "删除 { count, plural, 1 {# 个元素} other {# 个元素} }", - "delete-items-text": "注意,确认后所有选择的项目将被删除,所有相关数据将不可恢复。", - "delete-items-title": "确定你要删除 { count, plural, 1 {# 项} other {# 项} }吗?", + "delete-items-text": "请注意,确认后所有选择的项目将被删除,所有相关数据将不可恢复。", + "delete-items-title": "确定删除 { count, plural, 1 {# 项} other {# 项} }吗?", "item-details": "项目详细信息", - "no-items-text": "没有找到项目", + "no-items-text": "未找到项目", "scroll-to-top": "滚动到顶部" }, "help": { @@ -1987,7 +2052,7 @@ "column-type": "列类型", "description": "说明", "entity-field": "实体字段", - "isgateway": "Is网关", + "isgateway": "是否网关", "label": "标签", "name": "名称", "routing-key": "边缘键", @@ -1997,12 +2062,12 @@ "timeseries": "Timeseries", "type": "类型" }, - "column-value": "价值", + "column-value": "数值", "csv-delimiter": "CSV分隔符", "csv-first-line-header": "第一行包含列名", "csv-update-data": "更新属性/遥测", "drop-file": "拖动一个JSON文件或者单击以选择要上传的文件。", - "drop-file-csv": "删除CSV文件或单击以选择要上载的文件。", + "drop-file-csv": "拖动一个CSV文件或单击以选择要上载的文件。", "import-csv-invalid-format-error": "文件格式无效。行: '{{line}}'", "import-csv-number-columns-error": "一个文件至少应该包含两列", "message": { @@ -2015,7 +2080,7 @@ "column-type": "选择列类型", "configuration": "导入配置", "creat-entities": "创建新实体", - "done": "多恩", + "done": "完成", "select-file": "选择一个文件" } }, @@ -2033,7 +2098,16 @@ "key": "键名", "no-data": "没有条目", "remove-entry": "删除条目", - "value": "价值" + "value": "数值" + }, + "paginator": { + "items-per-page-label": "每页条数", + "next-page-label": "下一页", + "previous-page-label": "上一页", + "first-page-label": "首页", + "last-page-label": "尾页", + "range_page_label_1": "共计 {{length}} 条", + "range_page_label_2": "从第 {{startIndex}} 条到第 {{endIndex}} 条, 共计 {{length}} 条" }, "language": { "language": "语言" @@ -2110,11 +2184,11 @@ "copyId": "复制包ID", "copied": "已复制!", "delete": "删除包", - "delete-ota-update-text": "小心,OTA升级确认后不可恢复。", - "delete-ota-update-title": "您确定要删除OTA升级'{{title}}'吗?", - "delete-ota-updates-text": "小心,确认后所有选中的OTA升级将被删除。", - "delete-ota-updates-title": "您确定要删除 { count, plural, 1 {1 OTA升级} other {# OTA升级} } 吗?", - "description": "描述", + "delete-ota-update-text": "请注意:确认后,OTA升级将不可恢复。", + "delete-ota-update-title": "确定要删除 '{{title}}' OTA升级吗?", + "delete-ota-updates-text": "请注意:确认后,所有选中的OTA升级将被删除。", + "delete-ota-updates-title": "确定要删除 { count, plural, 1 {1 OTA升级} other {# OTA升级} } 吗?", + "description": "说明", "direct-url": "直接URL", "direct-url-copied-message": "包直接URL已复制到剪贴板", "direct-url-required": "直接URL必填", @@ -2124,10 +2198,10 @@ "file-size": "文件大小", "file-size-bytes": "文件大小(以字节为单位)", "idCopiedMessage": "包ID已被复制到剪贴板", - "no-firmware-matching": "没有找到与'{{entity}}'匹配的兼容固件OTA升级包。", + "no-firmware-matching": "未找到与'{{entity}}'匹配的兼容固件OTA升级包。", "no-firmware-text": "没有提供兼容的固件OTA升级包。", - "no-packages-text": "没有找到包", - "no-software-matching": "没有找到匹配 '{{entity}}' 的兼容软件OTA升级包。", + "no-packages-text": "未找到包", + "no-software-matching": "未找到匹配 '{{entity}}' 的兼容软件OTA升级包。", "no-software-text": "没有提供兼容的软件OTA升级包。", "ota-update": "OTA 升级", "ota-update-details": "OTA 升级详情", @@ -2161,14 +2235,175 @@ "current-password": "当前密码", "last-login-time": "最后登录", "profile": "属性", + "jwt-token": "JWT 令牌", "copy-jwt-token": "复制 JWT 令牌", + "token-valid-till": "令牌有效期至", "tokenCopiedSuccessMessage": "JWT 令牌已复制到剪贴板", "tokenCopiedWarnMessage": "JWT 令牌已过期!请刷新页面。" }, + "profiles": { + "profiles": "配置" + }, + "security": { + "security": "安全", + "2fa": { + "2fa": "双因素身份验证", + "2fa-description": "双因素身份验证可保护您的帐户免受未经授权的访问。在登录时必须输入安全验证码。", + "authenticate-with": "可以使用以下身份验证:", + "disable-2fa-provider-text": "禁用 {{ name }} 会降低帐户的安全性", + "disable-2fa-provider-title": "确定要禁用 {{ name }} 吗?", + "get-new-code": "获取新验证码", + "main-2fa-method": "用作主要的双因素身份验证方法", + "dialog": { + "activation-step-description-email": "下次登录时,系统将提示您输入电子邮件中的验证码。", + "activation-step-description-sms": "下次登录时,系统将提示您输入短信中的验证码。", + "activation-step-description-totp": "下次登录时,您需要提供一个双因素身份验证码。", + "activation-step-label": "激活", + "backup-code-description": "打印出验证码,以便在您需要时使用它们登录帐户。每个备份验证码可以使用一次。", + "backup-code-warn": "离开此页后,这些代码将无法再次显示。使用以下选项安全存放。", + "download-txt": "下载(txt)", + "email-step-description": "输入用作身份验证的电子邮件", + "email-step-label": "电子邮件", + "enable-email-title": "启用电子邮件验证", + "enable-sms-title": "启用SMS验证", + "enable-totp-title": "启用验证APP", + "enter-verification-code": "输入6位验证码", + "get-backup-code-title": "获取备份验证码", + "next": "下一步", + "scan-qr-code": "使用验证APP扫描二维码", + "send-code": "发送验证码", + "sms-step-description": "输入用作身份验证的电话号码", + "sms-step-label": "电话号码", + "success": "操作成功!", + "totp-step-description-install": "可以安装像Google Authenticator、Authy或Duo这样的应用程序。", + "totp-step-description-open": "在手机上打开验证APP。", + "totp-step-label": "获取APP", + "verification-code": "6位验证码", + "verification-code-invalid": "验证码格式无效", + "verification-code-incorrect": "验证码不正确", + "verification-code-many-request": "请求过多,请检查验证码", + "verification-step-description": "输入发送到 {{ address }} 的6位代码", + "verification-step-label": "验证" + }, + "provider": { + "email": "电子邮件", + "email-description": "使用您电子邮件中的验证码进行身份验证。", + "email-hint": "身份验证码通过电子邮件发送到 {{ info }}", + "sms": "SMS", + "sms-description": "使用短信进行身份验证。当登录时,系统会通过短信向您发送验证码。", + "sms-hint": "身份验证码通过短信发送到 {{ info }}", + "totp": "验证APP", + "totp-description": "使用手机上的Google Authenticator、Authy或Duo等应用程序进行身份验证,它将生成用于登录的验证码。", + "totp-hint": "已为您的帐户设置验证APP", + "backup_code": "备份验证码", + "backup-code-description": "这些可打印的一次性密码允许您在离开手机时登录,比如正在旅行。", + "backup-code-hint": "{{ info }} 一次性代码此时处于激活状态" + } + }, + "password-requirement": { + "at-least": "至少:", + "character": "{ count, plural, 1 {1 位字符} other {# 位字符} }", + "digit": "{ count, plural, 1 {1 位数字} other {# 位数字} }", + "incorrect-password-try-again": "密码不正确。再试一次", + "lowercase-letter": "{ count, plural, 1 {1 位小写字母} other {# 位小写字母} }", + "new-passwords-not-match": "新密码不匹配", + "password-should-not-contain-spaces": "密码不应包含空格", + "password-not-meet-requirements": "密码不符合要求", + "password-requirements": "密码要求", + "password-should-difference": "新密码应与当前密码不同", + "special-character": "{ count, plural, 1 {1 位特殊字符} other {# 位特殊字符} }", + "uppercase-letter": "{ count, plural, 1 {1 位大写字母} other {# 位大写字母} }" + } + }, "queue": { - "name": "队列名称", - "name_required": "队列名称必填!", - "select_name": "选择队列名称" + "queue-name": "队列", + "no-queues-found": "未找到队列", + "no-queues-matching": "未找到匹配 '{{queue}}' 的队列", + "select-name": "选择队列名称", + "name": "名称", + "name-required": "队列名称必填。", + "name-unique": "队列名称必须唯一。", + "name-pattern": "队列名称不能包含ASCII字母数字以外的字符, '.', '_' 和 '-'等。", + "queue-required": "队列必填。", + "topic-required": "队列主题必填。", + "poll-interval-required": "轮询间隔必填。", + "poll-interval-min-value": "轮询间隔不能小于1", + "partitions-required": "分区必填。", + "partitions-min-value": "分区不能小于1", + "pack-processing-timeout-required": "处理超时时间必填。", + "pack-processing-timeout-min-value": "处理超时时间不能小于1", + "batch-size-required": "批量处理大小必填。", + "batch-size-min-value": "批量处理大小不能小于1", + "retries-required": "重试次数必填。", + "retries-min-value": "重试次数不能为负", + "failure-percentage-required": "失败百分比必填。", + "failure-percentage-min-value": "失败百分比值不能小于0", + "failure-percentage-max-value": "失败百分比值不能大于100", + "pause-between-retries-required": "重试间隔必填。", + "pause-between-retries-min-value": "重试间隔不能小于1", + "max-pause-between-retries-required": "最大重试间隔必填。", + "max-pause-between-retries-min-value": "最大重试间隔不能小于1", + "submit-strategy-type-required": "提交策略类型必填。", + "processing-strategy-type-required": "处理策略类型必填。", + "queues": "队列", + "selected-queues": "已选择 { count, plural, 1 {1 个队列} other {# 个队列} }", + "delete-queue-title": "确定要删除 '{{queueName}}' 队列吗?", + "delete-queues-title": "确定要删除 { count, plural, 1 {1 个队列} other {# 个队列} }吗?", + "delete-queue-text": "请注意:确认后,队列和所有相关数据将不可恢复。", + "delete-queues-text": "确认后,所有选定队列都将被删除,无法访问。", + "search": "搜索队列", + "add" : "添加队列", + "details": "队列详情", + "topic": "主题", + "submit-settings": "提交设置", + "submit-strategy": "策略类型*", + "grouping-parameter": "分组参数", + "processing-settings": "重试处理设置", + "processing-strategy": "处理类型*", + "retries-settings": "重试设置", + "polling-settings": "轮询设置", + "batch-processing": "批量处理", + "poll-interval": "轮询间隔", + "partitions": "分区", + "immediate-processing": "即时处理", + "consumer-per-partition": "每个分区消费者单独轮询消息", + "consumer-per-partition-hint": "每个分区启用单独的消费者", + "processing-timeout": "处理超时(毫秒)", + "batch-size": "批量处理大小", + "retries": "重试次数 (0 – 无限制)", + "failure-percentage": "跳过重试的失败消息百分比", + "pause-between-retries": "重试间隔(秒)", + "max-pause-between-retries": "最大重试间隔(秒)", + "delete": "删除队列", + "copyId": "复制队列ID", + "idCopiedMessage": "队列ID已复制到剪贴板", + "description": "说明", + "description-hint": "此文本将显示在队列说明中,而不是所选策略中", + "alt-description": "提交策略:{{submitStrategy}},处理策略:{{processingStrategy}}", + "strategies": { + "sequential-by-originator-label": "按发起者顺序处理", + "sequential-by-originator-hint": "在确认设备A的前一条消息之前,不会提交设备A的新消息", + "sequential-by-tenant-label": "按租户顺序处理", + "sequential-by-tenant-hint": "在确认租户A的前一条消息之前,不会提交租户A的新消息", + "sequential-label": "顺序处理", + "sequential-hint": "在确认前一条消息之前,不会提交新消息", + "burst-label": "突发处理", + "burst-hint": "所有消息都按到达的顺序提交到规则链", + "batch-label": "批量处理", + "batch-hint": "在确认前一批消息之前,不会提交新批", + "skip-all-failures-label": "跳过所有失败", + "skip-all-failures-hint": "忽略所有失败", + "skip-all-failures-and-timeouts-label": "跳过所有失败和超时", + "skip-all-failures-and-timeouts-hint": "忽略所有失败和超时", + "retry-all-label": "全部重试", + "retry-all-hint": "重试处理包中的所有消息", + "retry-failed-label": "失败重试", + "retry-failed-hint": "重试处理包中的所有失败消息", + "retry-timeout-label": "超时重试", + "retry-timeout-hint": "重试处理包中的所有超时消息", + "retry-failed-and-timeout-label": "失败与超时重试", + "retry-failed-and-timeout-hint": "重试处理包中所有失败和超时的消息" + } }, "relation": { "add": "添加关联", @@ -2178,13 +2413,13 @@ "any-relation-type": "任何类型", "delete": "删除关联", "delete-from-relation-text": "确定删除后,当前实体将与实体 '{{entityName}}' 取消关联", - "delete-from-relation-title": "确定要从实体 '{{entityName}}' 删除关联吗?", + "delete-from-relation-title": "确定要从实体 '{{entityName}}' 删除关联吗?", "delete-from-relations-text": "确定删除所有选择的关联关系后,当前实体将与对应的实体取消关联", - "delete-from-relations-title": "确定删除 { count, plural, 1 {# 个关联} other {# 个关联} } 吗?", + "delete-from-relations-title": "确定删除 { count, plural, 1 {# 个关联} other {# 个关联} } 吗?", "delete-to-relation-text": "确定删除后实体 '{{entityName}}' 将取消与当前实体的关联关系。", - "delete-to-relation-title": "确定要删除实体 '{{entityName}}' 的关联吗?", + "delete-to-relation-title": "确定要删除实体 '{{entityName}}' 的关联吗?", "delete-to-relations-text": "确定删除所有选择的关联关系后,与当前实体对应的所有关联关系将被移除。", - "delete-to-relations-title": "确定要删除 { count, plural, 1 {# 个关联} other {# 个关联} }?", + "delete-to-relations-title": "确定要删除 { count, plural, 1 {# 个关联} other {# 个关联} }吗?", "direction": "方向", "direction-type": { "FROM": "从", @@ -2216,15 +2451,15 @@ "resource": { "add": "添加资源", "delete": "删除资源", - "delete-resource-text": "请注意:确认后资源将不可恢复。", - "delete-resource-title": "确定要删除资源 '{{resourceTitle}}' 吗?", + "delete-resource-text": "请注意:确认后,资源将不可恢复。", + "delete-resource-title": "确定要删除资源 '{{resourceTitle}}' 吗?", "delete-resources-action-title": "删除 { count, plural, 1 {# 个资源} other {# 个资源} }", - "delete-resources-text": "请注意:确认后所有选定的资源都将被删除。", - "delete-resources-title": "确定要删除 { count, plural, 1 {# 个资源} other {# 个资源} }?", + "delete-resources-text": "请注意:确认后,所有选定的资源将被删除。", + "delete-resources-title": "确定要删除 { count, plural, 1 {# 个资源} other {# 个资源} }吗?", "drop-file": "拖拽资源文件或单击以选择要上传的文件。", "empty": "资源为空", - "no-resource-matching": "找不到与 '{{widgetsBundle}}' 匹配的资源。", - "no-resource-text": "找不到资源", + "no-resource-matching": "未找到与 '{{widgetsBundle}}' 匹配的资源。", + "no-resource-text": "未找到资源", "open-widgets-bundle": "打开部件库", "resource": "资源", "resource-library-details": "资源库详情", @@ -2239,22 +2474,22 @@ "rulechain": { "add": "添加规则链", "add-rulechain-text": "添加新的规则链", - "assign-to-edge": "分配规则链给边缘", + "assign-to-edge": "分配给边缘", "assign-rulechain-to-edge-title": "分配规则链给边缘", "assign-rulechain-to-edge-text": "请选择要分配给边缘的规则链", "copyId": "复制规则链ID", "create-new-rulechain": "创建新的规则链", "debug-mode": "调试模式", "delete": "删除规则链", - "delete-rulechain-text": "小心,在确认规则链和所有相关数据将变得不可恢复。", - "delete-rulechain-title": " 确实要删除规则链'{{ruleChainName}}'吗?", + "delete-rulechain-text": "请注意,确认后,规则链和所有相关数据将不可恢复。", + "delete-rulechain-title": " 确定要删除规则链'{{ruleChainName}}'吗?", "delete-rulechains-action-title": "删除 { count, plural, 1 {# 个规则链} other {# 个规则链} }", - "delete-rulechains-text": "请注意:确认后,所有选定的规则链将被删除,所有相关的数据将变得不可恢复。", - "delete-rulechains-title": "确实要删除{count, plural, 1 { 1 个规则链} other {# 个规则链} }吗?", + "delete-rulechains-text": "请注意:确认后,所有选定的规则链将被删除,所有相关的数据将不可恢复。", + "delete-rulechains-title": "确定要删除{count, plural, 1 { 1 个规则链} other {# 个规则链} }吗?", "description": "说明", "details": "详情", "edge-rulechain": "边缘规则链", - "edge-template-root": "根模版", + "edge-template-root": "模版根链", "events": "事件", "export": "导出规则链", "export-failed-error": "无法导出规则链:{{error}}", @@ -2277,22 +2512,22 @@ "search": "查找规则链", "select-rulechain": "选择规则链", "selected-rulechains": "已选择 { count, plural, 1 {# 个规则链} other {# 个规则链} }", - "set-auto-assign-to-edge": "创建时分配规则链给边缘", - "set-auto-assign-to-edge-text": "确认后,创建时规则链将自动分配给边缘。", - "set-auto-assign-to-edge-title": "您确定创建时将规则链'{{ruleChainName}}'自动分配给边缘吗", - "set-edge-template-root-rulechain": "设置规则链为边缘模版根", - "set-edge-template-root-rulechain-text": "确认后,规则链将将会成为边缘模版根,且它会成为新创建边缘的根规则链。", - "set-edge-template-root-rulechain-title": "您确定将规则链 '{{ruleChainName}}' 设置为边缘模版根吗?", + "set-auto-assign-to-edge": "将规则链分配给新创建的边缘", + "set-auto-assign-to-edge-text": "确认后,将自动分配规则链给新创建的边缘。", + "set-auto-assign-to-edge-title": "确定将规则链'{{ruleChainName}}'自动分配给新创建的边缘吗?", + "set-edge-template-root-rulechain": "设置为边缘模版根规则链", + "set-edge-template-root-rulechain-text": "确认后,将会成为边缘模版根规则链,且它会成为新创建边缘的根规则链。", + "set-edge-template-root-rulechain-title": "确定将 '{{ruleChainName}}' 设置为边缘模版根规则链吗?", "set-root": "设置为根规则链", - "set-root-rulechain-text": "确认之后,规则链将变为根规格链,并将处理所有传入的传输消息。", - "set-root-rulechain-title": "您确定要生成规则链'{{ruleChainName}}'根吗?", + "set-root-rulechain-text": "确认后,规则链将变为根规格链,并将处理所有传入的传输消息。", + "set-root-rulechain-title": "确定要设置'{{ruleChainName}}'为根规则链吗?", "system": "系统", "unassign-rulechain-from-edge-text": "确认后,规则链将会取消分配,边缘无法访问。", "unassign-rulechains-from-edge-text": "确认后,选定的规则链将会取消分配,边缘无法访问。", - "unassign-rulechains-from-edge-title": "您确定要取消分配规则链 { count, plural, 1 {1 个规则链} other {# 个规则链} }?", - "unset-auto-assign-to-edge": "创建时分配规则链给边缘", - "unset-auto-assign-to-edge-text": "确认后,创建时规则链将不再自动分配给边缘。", - "unset-auto-assign-to-edge-title": "您确定取消创建时将规则链'{{ruleChainName}}'自动分配给边缘吗?" + "unassign-rulechains-from-edge-title": "确定要取消分配 { count, plural, 1 {1 个规则链} other {# 个规则链} }吗?", + "unset-auto-assign-to-edge": "不将规则链分配给边缘", + "unset-auto-assign-to-edge-text": "确认后,将不再自动分配规则链给新创建的边缘。", + "unset-auto-assign-to-edge-title": "确定不再将规则链'{{ruleChainName}}'自动分配给新创建的边缘吗?" }, "rulenode": { "add": "添加规则节点", @@ -2327,8 +2562,8 @@ "metadata-required": "元数据项不能为空。", "name": "名称", "name-required": "名称必填。", - "no-link-label-matching": "找不到'{{label}}'。", - "no-link-labels-found": "找不到链接标签", + "no-link-label-matching": "未找到匹配 '{{label}}' 的链接标签。", + "no-link-labels-found": "未找到链接标签", "open-node-library": "打开节点库", "output": "输出", "reset-debug-mode": "重置所有节点中的调试模式", @@ -2359,85 +2594,172 @@ "ui-resources-load-error": "加载配置UI资源失败。" }, "tenant-profile": { + "tenant-profile": "租户配置", + "tenant-profiles": "租户配置", "add": "添加租户配置", - "copyId": "复制租户配置Id", - "create-new-tenant-profile": "创建一个新的!", - "data": "纵断面数据", - "default": "默认", - "default-storage-ttl-days": "默认存储 TTL 天数(0-无限制)", - "default-storage-ttl-days-range": "不能为负存储天数", - "default-storage-ttl-days-required": "默认存储 TTL 天数必填。", + "edit": "编辑租户配置", + "tenant-profile-details": "租户配置详细信息", + "no-tenant-profiles-text": "未找到租户配置", + "name-max-length": "名称长度必须少于256个字符", + "search": "查找租户配置", + "selected-tenant-profiles": "已选择 { count, plural, 1 {# 个租户配置} other {# 个租户配置} }", + "no-tenant-profiles-matching": "未找到与 '{{entity}}' 匹配的租户配置。", + "tenant-profile-required": "租户配置必填", + "idCopiedMessage": "租户配置ID已复制到剪贴板", + "set-default": "设置该租户配置为默认", "delete": "删除租户配置", - "delete-tenant-profile-text": "请注意:确认后,租户配置和所有相关数据将不可。", - "delete-tenant-profile-title": "确实要删除租户配置 '{{tenantProfileName}}'吗?", - "delete-tenant-profiles-text": "请注意:确认后,所有选定的租户配置将被删除,所有相关数据将不可恢复。", - "delete-tenant-profiles-title": "确定要删除 { count, plural, 1 {# 个租户配置} other {# 个租户配置} }?", + "copyId": "复制租户配置ID", + "name": "名称", + "name-required": "名称必填。", + "data": "配置数据", + "profile-configuration": "配置设置", "description": "说明", - "edit": "编辑租户配置", - "idCopiedMessage": "租户配置Id已复制到剪贴板", - "max-d-p-storage-days": "最大日存储数据点数(0-无限制)", - "max-d-p-storage-days-range": "最大日存储数据点数不能为负数", - "max-d-p-storage-days-required": "最大日存储数据点数必填。", - "max-emails": "发送的最大电子邮件数(0-无限制)", - "max-emails-range": "发送的最大电子邮件数不能为负数", - "max-emails-required": "最大电子邮件发送数必填。", - "max-j-s-executions": "最大JavaScript执行数(0-不受限制)", - "max-j-s-executions-range": "JavaScript的最大执行数不能为负数", - "max-j-s-executions-required": "最大JavaScript执行数必填。", - "max-r-e-executions": "最大规则引擎执行数(0-不受限制)", - "max-r-e-executions-range": "规则引擎执行的最大数目不能为负", - "max-r-e-executions-required": "最大规则引擎执行数必填。", - "max-rule-node-executions-per-message": "每条消息的最大规则节点执行数(0-无限制)", - "max-rule-node-executions-per-message-range": "每条消息的最大规则节点执行数不能为负", - "max-rule-node-executions-per-message-required": "每个消息的最大规则节点执行数必填。", - "max-sms": "发送的最大短信数(0-无限制)", - "max-sms-range": "发送的最大短信数不能为负数", - "max-sms-required": "最大短信发送数必填。", - "max-transport-data-points": "传输数据点的最大数量(0-无限制)", - "max-transport-data-points-range": "传输数据点的最大数目不能为负", - "max-transport-data-points-required": "最大传输数据点数必填。", - "max-transport-messages": "最大传输消息数(0-无限制)", - "max-transport-messages-range": "传输消息的最大数目不能为负数", - "max-transport-messages-required": "最大传输消息数必填。", - "maximum-assets": "最大资产数量(0-无限)", - "maximum-assets-range": "最大资产数不能为负数", + "default": "默认", + "delete-tenant-profile-title": "确定要删除租户配置 '{{tenantProfileName}}'吗?", + "delete-tenant-profile-text": "请注意:确认后,租户配置和所有相关数据将不可恢复。", + "delete-tenant-profiles-title": "确定要删除 { count, plural, 1 {# 个租户配置} other {# 个租户配置} }吗?", + "delete-tenant-profiles-text": "请注意:确认后,所有选定的租户配置将被删除,所有相关数据将不可恢复。", + "set-default-tenant-profile-title": "确定要将租户配置 '{{tenantProfileName}}' 设为默认值吗?", + "set-default-tenant-profile-text": "确认后,此租户配置将被标记为默认配置,并将用于未指定配置的新租户。", + "no-tenant-profiles-found": "未找到租户配置。", + "create-new-tenant-profile": "创建一个新的!", + "create-tenant-profile": "创建新的租户配置", + "import": "导入租户配置", + "export": "导出租户配置", + "export-failed-error": "无法导出租户配置: {{error}}", + "tenant-profile-file": "租户配置文件", + "invalid-tenant-profile-file-error": "无法导入租户配置:无效的租户配置数据结构。", + "advanced-settings": "高级设置", + "entities": "实体", + "rule-engine": "规则引擎", + "time-to-live": "TTL", + "alarms-and-notifications": "告警与通知", + "ota-files-in-bytes": "OTA文件(字节)", + "ws-title": "WS", + "unlimited": "(0 - 无限制)", + "maximum-devices": "最大设备数", + "maximum-devices-required": "最大设备数必填。", + "maximum-devices-range": "最大设备数不能为负数", + "maximum-assets": "最大资产数", "maximum-assets-required": "最大资产数必填。", - "maximum-customers": "最大客户数(0-无限制)", - "maximum-customers-range": "最大客户数不能为负数", + "maximum-assets-range": "最大资产数不能为负数", + "maximum-customers": "最大客户数", "maximum-customers-required": "最大客户数必填。", - "maximum-dashboards": "仪表板的最大数量(0-无限制)", - "maximum-dashboards-range": "仪表板的最大数量不能为负数", + "maximum-customers-range": "最大客户数不能为负数", + "maximum-users": "最大用户数", + "maximum-users-required": "最大用户数必填。", + "maximum-users-range": "最大用户数不能为负数", + "maximum-dashboards": "最大仪表板数", "maximum-dashboards-required": "最大仪表板数必填。", - "maximum-devices": "最大设备数(0-无限制)", - "maximum-devices-range": "最小设备数不能为负数", - "maximum-devices-required": "最大设备数必填。", - "maximum-rule-chains": "最大规则链数(0-无限制)", - "maximum-rule-chains-range": "最大规则链数不能为负数", + "maximum-dashboards-range": "最大仪表板数不能为负数", + "maximum-rule-chains": "最大规则链数", "maximum-rule-chains-required": "最大规则链数必填。", - "maximum-users": "最大用户数(0-无限制)", - "maximum-users-range": "最大用户数不能为负数", - "maximum-users-required": "最大用户数必填。", - "name": "名称", - "name-required": "名称必填。", - "no-tenant-profiles-found": "找不到租户配置。", - "no-tenant-profiles-matching": "找不到与 '{{entity}}' 匹配的租户配置。", - "no-tenant-profiles-text": "找不到租户配置", - "profile-configuration": "配置设置", - "search": "查找租户配置", - "selected-tenant-profiles": "已选择 { count, plural, 1 {# 个租户配置} other {# 个租户配置} }", - "set-default": "设置该租户配置为默认", - "set-default-tenant-profile-text": "确认后,此租户配置将被标记为默认配置,并将用于未指定配置的新租户。", - "set-default-tenant-profile-title": "确实要将租户配置 '{{tenantProfileName}}' 设为默认值吗?", - "tenant-profile": "租户简介", - "tenant-profile-details": "租户配置详细信息", - "tenant-profile-required": "租户配置必填", - "tenant-profiles": "租户配置", - "transport-device-msg-rate-limit": "传输设备消息速率限制。", - "transport-device-telemetry-data-points-rate-limit": "设备遥测数据点速率限制。", - "transport-device-telemetry-msg-rate-limit": "设备遥测消息速率限制。", - "transport-tenant-msg-rate-limit": "传输租户消息速率限制。", - "transport-tenant-telemetry-data-points-rate-limit": "租户遥测数据点速率限制。", - "transport-tenant-telemetry-msg-rate-limit": "租户遥测消息速率限制。" + "maximum-rule-chains-range": "最大规则链数不能为负数", + "maximum-resources-sum-data-size": "资源文件总大小", + "maximum-resources-sum-data-size-required": "资源文件总大小必填。", + "maximum-resources-sum-data-size-range": "资源文件总大小不能为负数", + "maximum-ota-packages-sum-data-size": "OTA包文件总大小", + "maximum-ota-package-sum-data-size-required": "OTA包文件总大小必填。", + "maximum-ota-package-sum-data-size-range": "OTA包文件总大小不能为负数", + "transport-tenant-msg-rate-limit": "租户消息", + "transport-tenant-telemetry-msg-rate-limit": "租户遥测消息", + "transport-tenant-telemetry-data-points-rate-limit": "租户遥测数据点", + "transport-device-msg-rate-limit": "设备消息", + "transport-device-telemetry-msg-rate-limit": "设备遥测数据点", + "transport-device-telemetry-data-points-rate-limit": "设备遥测消息", + "tenant-entity-export-rate-limit": "实体版本创建", + "tenant-entity-import-rate-limit": "实体版本加载", + "max-transport-messages": "最大传输消息数", + "max-transport-messages-required": "最大传输消息数必填。", + "max-transport-messages-range": "最大传输消息数不能为负数", + "max-transport-data-points": "最大传输数据点数", + "max-transport-data-points-required": "最大传输数据点数必填。", + "max-transport-data-points-range": "最大传输数据点数不能为负", + "max-r-e-executions": "最大规则引擎执行数", + "max-r-e-executions-required": "最大规则引擎执行数必填。", + "max-r-e-executions-range": "最大规则引擎执行数不能为负", + "max-j-s-executions": "最大 JavaScript 执行数", + "max-j-s-executions-required": "最大 JavaScript 执行数必填。", + "max-j-s-executions-range": "最大 JavaScript 执行数不能为负数", + "max-d-p-storage-days": "最大存储点天", + "max-d-p-storage-days-required": "最大存储点天必填。", + "max-d-p-storage-days-range": "最大存储点天不能为负数", + "default-storage-ttl-days": "默认存储TTL天数", + "default-storage-ttl-days-required": "默认存储TTL天数必填。.", + "default-storage-ttl-days-range": "默认存储TTL天数不能为负数", + "alarms-ttl-days": "告警TTL天数", + "alarms-ttl-days-required": "告警TTL天数必填。", + "alarms-ttl-days-days-range": "告警TTL天数不能为负数", + "rpc-ttl-days": "RPC TTL天数", + "rpc-ttl-days-required": "RPC TTL天数必填。", + "rpc-ttl-days-days-range": "RPC TTL天数不能为负数", + "max-rule-node-executions-per-message": "每条消息的最大规则节点执行数", + "max-rule-node-executions-per-message-required": "每个消息的最大规则节点执行数必填。", + "max-rule-node-executions-per-message-range": "每条消息的最大规则节点执行数不能为负", + "max-emails": "最大电子邮件发送数", + "max-emails-required": "最大电子邮件发送数必填。", + "max-emails-range": "最大电子邮件发送数不能为负", + "max-sms": "最大短信发送数", + "max-sms-required": "最大短信发送数必填。", + "max-sms-range": "最大短信发送数不能为负", + "max-created-alarms": "最大创建告警数", + "max-created-alarms-required": "最大创建告警数必填。", + "max-created-alarms-range": "最大创建告警数不能为负数", + "no-queue": "未配置队列", + "add-queue": "添加队列", + "queues-with-count": "队列 ({{count}})", + "tenant-rest-limits": "租户REST请求", + "customer-rest-limits": "客户REST请求", + "incorrect-pattern-for-rate-limits": "格式为以冒号分割容量与周期(秒)并以逗号分割配置对,例如 100:1,2000:60", + "too-small-value-zero": "数值必须大于0", + "too-small-value-one": "数值必须大于1", + "cassandra-tenant-limits-configuration": "租户Cassandra查询", + "ws-limit-max-sessions-per-tenant": "租户最大会话数", + "ws-limit-max-sessions-per-customer": "客户最大会话数", + "ws-limit-max-sessions-per-regular-user": "普通用户最大会话数", + "ws-limit-max-sessions-per-public-user": "公共用户最大会话数", + "ws-limit-queue-per-session": "会话最大消息队列大小", + "ws-limit-max-subscriptions-per-tenant": "租户最大订阅数", + "ws-limit-max-subscriptions-per-customer": "客户最大订阅数", + "ws-limit-max-subscriptions-per-regular-user": "普通用户最大订阅数", + "ws-limit-max-subscriptions-per-public-user": "公共用户最大订阅数", + "ws-limit-updates-per-session": "会话WS更新", + "rate-limits": { + "add-limit": "添加限制", + "advanced-settings": "高级设置", + "edit-limit": "编辑限制", + "but-less-than": "但小于", + "edit-transport-tenant-msg-title": "编辑传输租户消息速率限制", + "edit-transport-tenant-telemetry-msg-title": "编辑传输租户遥测消息速率限制", + "edit-transport-tenant-telemetry-data-points-title": "编辑传输租户遥测数据点速率限制", + "edit-transport-device-msg-title": "编辑传输设备消息速率限制", + "edit-transport-device-telemetry-msg-title": "编辑传输设备遥测消息速率限制", + "edit-transport-device-telemetry-data-points-title": "编辑传输设备遥测数据点速率限制", + "edit-transport-tenant-msg-rate-limit-title": "编辑传输租户消息速率限制", + "edit-customer-rest-limits-title": "编辑客户REST请求速率限制", + "edit-ws-limit-updates-per-session-title": "编辑会话WS更新速率限制", + "edit-cassandra-tenant-limits-configuration-title": "编辑租户Cassandra查询速率限制", + "edit-tenant-entity-export-rate-limit-title": "编辑实体版本创建速率限制", + "edit-tenant-entity-import-rate-limit-title": "编辑实体版本加载速率限制", + "messages-per": "条消息每", + "not-set": "未配置", + "number-of-messages": "消息数量", + "number-of-messages-required": "消息数量必填。", + "number-of-messages-min": "最小值为1。", + "preview": "预览", + "per-seconds": "每秒", + "per-seconds-required": "时间比率必填。", + "per-seconds-min": "最小值为1。", + "rate-limits": "速率限制", + "remove-limit": "删除限制", + "transport-tenant-msg": "传输租户消息", + "transport-tenant-telemetry-msg": "传输租户遥测消息", + "transport-tenant-telemetry-data-points": "传输租户遥测数据点", + "transport-device-msg": "传输设备消息", + "transport-device-telemetry-msg": "传输设备遥测消息", + "transport-device-telemetry-data-points": "传输设备遥测数据点", + "sec": "秒" + } }, "tenant": { "add": "添加租户", @@ -2446,7 +2768,7 @@ "copyId": "复制租户ID", "delete": "删除租户", "delete-tenant-text": "请注意:确认后,租户和所有相关数据将不可恢复。", - "delete-tenant-title": "您确定要删除租户'{{tenantTitle}}'吗?", + "delete-tenant-title": "确定要删除租户'{{tenantTitle}}'吗?", "delete-tenants-action-title": "删除 { count, plural, 1 {# 个租户} other {# 个租户} }", "delete-tenants-text": "请注意:确认后,所有选定的租户将被删除,所有相关数据将不可恢复。", "delete-tenants-title": "确定要删除 {count,plural,1 {# 个租户} other {# 个租户} } 吗?", @@ -2454,12 +2776,12 @@ "details": "详情", "events": "事件", "idCopiedMessage": "租户ID已经复制到粘贴板", - "isolated-tb-rule-engine": "在独立的ThingsBoard规则引擎容器中处理", - "isolated-tb-rule-engine-details": "每个独立租户需要单独的微服务", + "isolated-tb-rule-engine": "使用独立的规则引擎服务", + "isolated-tb-rule-engine-details": "每个独立租户需要单独的规则引擎微服务", "manage-tenant-admins": "管理租户管理员", "management": "租户管理", - "no-tenants-matching": "没有找到符合 '{{entity}}' 的租户", - "no-tenants-text": "没有找到租户", + "no-tenants-matching": "未找到匹配 '{{entity}}' 的租户", + "no-tenants-text": "未找到租户", "search": "查找租户", "select-tenant": "选择租户", "selected-tenants": "已选择 { count, plural, 1 {# 个租户} other {# 个租户} }", @@ -2479,7 +2801,27 @@ "minutes": "分钟", "minutes-interval": "{ minutes, plural, 1 {# 分} other {# 分} }", "seconds": "秒", - "seconds-interval": "{ seconds, plural, 1 {# 秒} other {# 秒} }" + "seconds-interval": "{ seconds, plural, 1 {# 秒} other {# 秒} }", + "predefined": { + "yesterday": "昨天", + "day-before-yesterday": "前天", + "this-day-last-week": "前一周的这一天", + "previous-week": "前一周(周日至周六)", + "previous-week-iso": "前一周(周一至周日)", + "previous-month": "前一个月", + "previous-year": "前一年", + "current-hour": "当前小时", + "current-day": "当前天", + "current-day-so-far": "当天到目前为止", + "current-week": "本周(周日至周六)", + "current-week-iso": "本周(周一至周日)", + "current-week-so-far": "本周到目前为止(周日至周六)", + "current-week-iso-so-far": "本周到目前为止(周一至周日)", + "current-month": "本月", + "current-month-so-far": "本月到目前为止", + "current-year": "本年", + "current-year-so-far": "本年到目前为止" + } }, "timeunit": { "days": "天", @@ -2500,7 +2842,8 @@ "period": "从 {{ startTime }} 到 {{ endTime }}", "realtime": "实时", "seconds": "{ seconds, plural, 0 {- 秒 } 1 {# 秒 } other {# 秒 } }", - "time-period": "时间段" + "time-period": "时间段", + "interval": "区间" }, "timezone": { "no-timezones-matching": "No timezones matching '{{timezone}}' were found.", @@ -2524,7 +2867,7 @@ "default-dashboard": "默认面板", "delete": "删除用户", "delete-user-text": "请注意:确认后,用户和所有相关数据将不可恢复。", - "delete-user-title": "您确定要删除用户 '{{userEmail}}' 吗?", + "delete-user-title": "确定要删除用户 '{{userEmail}}' 吗?", "delete-users-action-title": "删除 { count, plural, 1 {# 个用户} other {# 个用户} }", "delete-users-text": "请注意:确认后,所有选定的用户将被删除,所有相关数据将不可恢复。", "delete-users-title": "确定要删除 { count, plural, 1 {# 个用户} other {# 个用户} } 吗?", @@ -2539,11 +2882,11 @@ "enable-account-message": "已成功启用用户帐户!", "first-name": "名字", "invalid-email-format": "无效的邮件格式。", - "last-name": "姓", + "last-name": "姓氏", "login-as-customer-user": "以客户用户身份登录", "login-as-tenant-admin": "以租户管理员身份登录", - "no-users-matching": "没有找到符合 '{{entity}}' 的用户。", - "no-users-text": "找不到用户", + "no-users-matching": "未找到匹配 '{{entity}}' 的用户。", + "no-users-text": "未找到用户", "resend-activation": "重新发送激活", "search": "查找用户", "select-user": "选择用户", @@ -2579,6 +2922,73 @@ "true": "真", "type": "值类型" }, + "version-control": { + "version-control": "版本控制", + "management": "版本控制管理", + "search": "搜索版本", + "branch": "分支", + "default": "默认", + "select-branch": "选择分支", + "branch-required": "分支必填", + "create-entity-version": "创建实体版本", + "version-name": "版本名称", + "version-name-required": "版本名称必填", + "author": "作者", + "export-relations": "导出关联", + "export-attributes": "导出属性", + "export-credentials": "导出凭据", + "entity-versions": "实体版本", + "versions": "版本", + "created-time": "创建时间", + "version-id": "版本ID", + "no-entity-versions-text": "未找到实体版本", + "no-versions-text": "未找到版本", + "copy-full-version-id": "复制完整版本ID", + "create-version": "创建版本", + "creating-version": "请稍候,正在创建版本...", + "nothing-to-commit": "没有要提交的更改", + "restore-version": "还原版本", + "restore-entity-from-version": "从版本 '{{versionName}}' 还原实体", + "restoring-entity-version": "请稍候,正在还原实体版本...", + "load-relations": "加载关联", + "load-attributes": "加载属性", + "load-credentials": "加载凭据", + "compare-with-current": "与当前比较", + "diff-entity-with-version": "与实体版本 '{{versionName}}' 不同", + "previous-difference": "上一个差异", + "next-difference": "下一个差异", + "current": "当前", + "differences": "{ count, plural, 1 {1 个差异} other {# 个差异} }", + "create-entities-version": "创建实体版本", + "default-sync-strategy": "默认同步策略", + "sync-strategy-merge": "合并", + "sync-strategy-overwrite": "覆盖", + "entities-to-export": "导出的实体", + "entities-to-restore": "还原的实体", + "sync-strategy": "同步策略", + "all-entities": "所有实体", + "no-entities-to-export-prompt": "请指定要导出的实体", + "no-entities-to-restore-prompt": "请指定要还原的实体", + "add-entity-type": "添加实体类型", + "remove-all": "全部删除", + "version-create-result": "{ added, plural, 0 {没有实体} 1 {1 个实体} other {# 个实体} } 被添加。
{ modified, plural, 0 {没有实体} 1 {1 个实体} other {# 个实体} } 被修改。
{ removed, plural, 0 {没有实体} 1 {1 个实体} other {# 个实体} } 被删除。", + "remove-other-entities": "删除其他实体", + "find-existing-entity-by-name": "按名称查找现有实体", + "restore-entities-from-version": "从版本 '{{versionName}}' 还原实体", + "restoring-entities-from-version": "请稍候,正在还原实体...", + "no-entities-restored": "未还原任何实体", + "created": "{{created}} 创建", + "updated": "{{updated}} 更新", + "deleted": "{{deleted}} 删除", + "remove-other-entities-confirm-text": "请注意!在还原版本中不存在的当前实体
将被永久 删除

请输入 remove other entities 进行确认。", + "auto-commit-to-branch": "自动提交到 {{ branch }} 分支", + "default-create-entity-version-name": "{{entityName}} 更新", + "sync-strategy-merge-hint": "创建或更新选定的实体,仓库其他实体均不修改。", + "sync-strategy-overwrite-hint": "创建或更新选定的实体,仓库其他实体将被删除。", + "device-credentials-conflict": "无法加载外部ID为 {{entityId}} 的设备
因为数据库中已存在相同的凭据。
请考虑禁用还原表单中的 加载凭据 设置。", + "missing-referenced-entity": "无法加载外部ID为 {{sourceEntityId}}{{sourceEntityTypeName}}
因为它引用了缺失的 {{targetEntityTypeName}} (ID:{{targetEntityId}}).", + "runtime-failed": "失败: {{message}}" + }, "widget-action": { "custom": "自定义动作", "custom-pretty": "自定义操作(使用HTML模板)", @@ -2606,7 +3016,7 @@ "add-action": "添加 Action", "add-datasource": "添加数据源", "advanced": "高级", - "alarm-source": "警告源", + "alarm-source": "告警源", "background-color": "背景颜色", "data": "数据", "datasource-parameters": "参数", @@ -2614,7 +3024,7 @@ "datasources": "数据源", "decimals": "浮点数后的位数", "delete-action": "删除 Action", - "delete-action-text": "确定要删除部件动作 '{{actionName}}' 吗?", + "delete-action-text": "确定要删除部件Action '{{actionName}}' 吗?", "delete-action-title": "删除 Widget Action", "display-icon": "显示标题图标", "display-legend": "显示图例", @@ -2630,7 +3040,7 @@ "margin": "边缘", "maximum-datasources": "最大允许 { count, plural, 1 {# 个数据源。} other {# 个数据源。} }", "mobile-mode-settings": "移动端设置", - "no-actions-text": "找不到 Action", + "no-actions-text": "未找到 Action", "order": "顺序", "padding": "填充", "remove-datasource": "移除数据源", @@ -2658,7 +3068,7 @@ "add": "添加部件", "add-resource": "添加资源", "add-widget-type": "添加新的部件类型", - "alarm": "警告部件", + "alarm": "告警部件", "alarm-data-overflow": "Widget displays alarms for {{allowedEntities}} (maximum allowed) entities out of {{totalEntities}} entities", "css": "CSS", "data-overflow": "Widget displays {{count}} out of {{total}} entities", @@ -2673,14 +3083,14 @@ "management": "管理部件", "missing-widget-title-error": "部件标题必须指定!", "no-data": "小部件上没有要显示的数据", - "no-data-found": "没有找到数据", + "no-data-found": "未找到数据", "remove": "删除部件", "remove-resource": "删除资源", "remove-widget-text": "确认后,控件和所有相关数据将变得不可恢复。", - "remove-widget-title": "确实要删除 '{{widgetTitle}}'部件吗?", + "remove-widget-title": "确定要删除 '{{widgetTitle}}'部件吗?", "remove-widget-type": "删除部件类型", "remove-widget-type-text": "确认后,窗口部件类型和所有相关数据将不可恢复。", - "remove-widget-type-title": "您确定要删除部件类型 '{{widgetName}}'吗?", + "remove-widget-type-title": "确定要删除部件类型 '{{widgetName}}'吗?", "resource-is-module": "Is module", "resource-url": "JavaScript/CSS URL", "resources": "资源", @@ -2718,7 +3128,7 @@ "current": "当前组", "delete": "删除部件包", "delete-widgets-bundle-text": "请注意:确认后,部件包和所有相关数据将不可恢复。", - "delete-widgets-bundle-title": "您确定要删除部件包 '{{widgetsBundleTitle}}'吗?", + "delete-widgets-bundle-title": "确定要删除部件包 '{{widgetsBundleTitle}}'吗?", "delete-widgets-bundles-action-title": "删除 { count, plural, 1 {# 个部件包} other {# 个部件包} }", "delete-widgets-bundles-text": "请注意:确认后,所有选定的部件包将被删除,所有相关数据将不可恢复。", "delete-widgets-bundles-title": "确定要删除 { count, plural, 1 {# 个部件包} other {# 个部件包} } 吗?", @@ -2731,8 +3141,8 @@ "import": "导入部件包", "invalid-widgets-bundle-file-error": "无法导入部件包:无效的部件包数据结构。", "loading-widgets-bundles": "加载部件包...", - "no-widgets-bundles-matching": "没有找到与 '{{widgetsBundle}}' 匹配的部件包。", - "no-widgets-bundles-text": "找不到部件包", + "no-widgets-bundles-matching": "未找到与 '{{widgetsBundle}}' 匹配的部件包。", + "no-widgets-bundles-text": "未找到部件包", "open-widgets-bundle": "打开部件包", "search": "查找部件包", "selected-widgets-bundles": "已选择 { count, plural, 1 {# 个部件包} other {# 个部件包} }", @@ -2807,7 +3217,7 @@ "blocked-location": "在浏览器中阻止地理位置", "claim-device": "声明设备", "claim-failed": "声明设备失败!", - "claim-not-found": "找不到设备!", + "claim-not-found": "未找到设备!", "claim-successful": "设备已成功申领!", "date": "日期", "device-name": "设备名称", @@ -2827,7 +3237,7 @@ "no-coordinate-specified": "未指定纬度/经度的数据键", "no-datakey-selected": "未选择数据键", "no-entity-selected": "未选择实体", - "no-found-your-camera": "找不到摄像机", + "no-found-your-camera": "未找到摄像机", "no-image": "没有图像", "no-permission-camera": "权限被用户拒绝/此站点无权使用摄像机", "no-support-geolocation": "您的浏览器不支持地理定位", @@ -2846,7 +3256,7 @@ "update-failed": "更新失败", "update-successful": "更新成功", "update-timeseries": "更新 Timeseries", - "value": "价值" + "value": "数值" } } } From f33e6cb40ad1b68a62f3d0d8e99d2cfabbd31c69 Mon Sep 17 00:00:00 2001 From: fulai Date: Thu, 20 Oct 2022 13:48:47 +0800 Subject: [PATCH 2/2] Update locale.constant-zh_CN.json --- .../assets/locale/locale.constant-zh_CN.json | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json index 6db66d1806..8263cc1614 100644 --- a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json +++ b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json @@ -166,8 +166,8 @@ "password-policy": "密码策略", "password-reuse-frequency-days": "密码重用频率(天)", "password-reuse-frequency-days-range": "天内密码重用频率不能为负", - "phone-number-hint": "E.164格式的电话号码,例如+19995550123", - "phone-number-pattern": "电话号码无效。应为E.164格式,例如+19995550123。", + "phone-number-hint": "E.164格式的手机号码,例如+19995550123", + "phone-number-pattern": "手机号码无效。应为E.164格式,例如+19995550123。", "prohibit-different-url": "禁止从客户端请求头中使用主机名", "prohibit-different-url-hint": "应为生产环境启用此设置。禁用时可能会导致安全问题", "proxy-host": "代理主机", @@ -633,7 +633,7 @@ }, "contact": { "address": "地址", - "address2": "地址2", + "address2": "地址二", "city": "城市", "country": "国家", "email": "电子邮件", @@ -2042,6 +2042,13 @@ "select-icon": "选择图标", "show-all": "显示所有图标" }, + "phone-input": { + "phone-input-label": "手机号码", + "phone-input-required": "手机号码必填", + "phone-input-validation": "手机号码无效或不存在", + "phone-input-pattern": "无效的手机号码。应为E.164格式,例如:{{phoneNumber}}", + "phone-input-hint": "E.164格式手机号码,例如:{{phoneNumber}}" + }, "import": { "column-example": "示例值数据", "column-key": "属性/遥测键", @@ -2160,7 +2167,20 @@ "request-password-reset": "请求密码重置", "reset-password": "重置密码", "sign-in": "登录 ", - "username": "用户名(电子邮件)" + "username": "用户名(电子邮件)", + "verify-your-identity": "身份验证", + "select-way-to-verify": "选择验证方式", + "resend-code": "重发验证码", + "resend-code-wait": "{ time, plural, 1 {1 秒} other {# 秒} }后重发验证码", + "try-another-way": "尝试其他方法", + "totp-auth-description": "请从验证APP中查看验证码。", + "totp-auth-placeholder": "验证码", + "sms-auth-description": "验证码已发送到手机号码 {{contact}}。", + "sms-auth-placeholder": "SMS 验证码", + "email-auth-description": "验证码已发送到电子邮箱地址 {{contact}}。", + "email-auth-placeholder": "电子邮件验证码", + "backup-code-auth-description": "请输入一个备份验证码。", + "backup-code-auth-placeholder": "备份验证码" }, "ota-update": { "add": "添加包", @@ -2272,8 +2292,8 @@ "next": "下一步", "scan-qr-code": "使用验证APP扫描二维码", "send-code": "发送验证码", - "sms-step-description": "输入用作身份验证的电话号码", - "sms-step-label": "电话号码", + "sms-step-description": "输入用作身份验证的手机号码", + "sms-step-label": "手机号码", "success": "操作成功!", "totp-step-description-install": "可以安装像Google Authenticator、Authy或Duo这样的应用程序。", "totp-step-description-open": "在手机上打开验证APP。", @@ -2297,7 +2317,7 @@ "totp-hint": "已为您的帐户设置验证APP", "backup_code": "备份验证码", "backup-code-description": "这些可打印的一次性密码允许您在离开手机时登录,比如正在旅行。", - "backup-code-hint": "{{ info }} 一次性代码此时处于激活状态" + "backup-code-hint": "{{ info }}个一次性代码处于激活状态" } }, "password-requirement": {