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 65eb61136f..5df7c5cabb 100644 --- a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json +++ b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json @@ -2,13 +2,13 @@ "access": { "unauthorized": "未授权", "unauthorized-access": "未授权访问", - "unauthorized-access-text": "你需要登陆才能访问这个资源!", + "unauthorized-access-text": "您需要登陆才能访问这个资源!", "access-forbidden": "禁止访问", - "access-forbidden-text": "你没有访问此位置的权限
如果你仍希望访问此位置,请尝试使用其他用户登录。", + "access-forbidden-text": "您没有访问此位置的权限
如果您仍希望访问此位置,请尝试使用其他用户登录。", "refresh-token-expired": "会话已过期", "refresh-token-failed": "无法刷新会话", "permission-denied": "权限被拒绝", - "permission-denied-text": "你没有执行此操作的权限!" + "permission-denied-text": "您没有执行此操作的权限!" }, "action": { "activate": "激活", @@ -65,19 +65,19 @@ }, "aggregation": { "aggregation": "聚合", - "function": "函数", - "limit": "限制", + "function": "数据聚合功能", + "limit": "限制数", "group-interval": "分组间隔", "min": "最小值", "max": "最大值", "avg": "平均值", "sum": "求和", "count": "计数", - "none": "空" + "none": "无" }, "admin": { - "general": "基础设置", - "general-settings": "基础设置", + "general": "基本设置", + "general-settings": "基本设置", "home-settings": "首页设置", "outgoing-mail": "发送邮件", "outgoing-mail-settings": "发送邮件设置", @@ -93,11 +93,11 @@ "smtp-host": "SMTP主机", "smtp-host-required": "SMTP主机必填。", "smtp-port": "SMTP端口", - "smtp-port-required": "你必须提供一个smtp端口。", + "smtp-port-required": "您必须提供一个smtp端口。", "smtp-port-invalid": "这看起来不是有效的smtp端口。", - "timeout-msec": "超时(毫秒)", + "timeout-msec": "超时时间(毫秒)", "timeout-required": "超时必填。", - "timeout-invalid": "超时值无效。", + "timeout-invalid": "这看起来不像有效的超时值。", "enable-tls": "启用TLS", "tls-version": "TLS版本", "enable-proxy": "启用代理", @@ -108,36 +108,36 @@ "proxy-port-range": "代理端口应在1到65535之间。", "proxy-user": "代理用户", "proxy-password": "代理密码", - "change-password": "更改密码", + "change-password": "Change password", "send-test-mail": "发送测试邮件", - "sms-provider": "SMS服务商", - "sms-provider-settings": "SMS服务商设置", - "sms-provider-type": "SMS服务商类型", - "sms-provider-type-required": "SMS服务商类型必填。", + "sms-provider": "SMS 服务商", + "sms-provider-settings": "SMS 服务商设置", + "sms-provider-type": "SMS 服务商类型", + "sms-provider-type-required": "SMS 服务商类型必填。", "sms-provider-type-aws-sns": "亚马逊社交网站", "sms-provider-type-twilio": "Twilio", "sms-provider-type-smpp": "SMPP", "aws-access-key-id": "AWS访问密钥ID", "aws-access-key-id-required": "需要访问AWS密钥ID", "aws-secret-access-key": "AWS秘密访问密钥", - "aws-secret-access-key-required": "AWS访问密钥必填", + "aws-secret-access-key-required": "AWS 访问密钥必填", "aws-region": "AWS地区", - "aws-region-required": "AWS地区必填", + "aws-region-required": "AWS 区域必填", "number-from": "发送方电话号码", "number-from-required": "发送方电话号码必填。", "number-to": "电话号码至", "number-to-required": "电话号码必填。", - "phone-number-hint": "E.164格式的电话号码,例如+19995550123", - "phone-number-hint-twilio": "E.164 格式的电话号码/电话号码的SID/消息服务SID,例如。 +19995550123/PNXXX/MGXXX", - "phone-number-pattern": "电话号码无效。应为E.164格式,例如+19995550123。", - "phone-number-pattern-twilio": "无效的电话号码。应该是E.164格式/电话号码的SID/消息服务SID,例如:+19995550123/PNXXX/MGXXX。", + "phone-number-hint": "E.164格式的手机号码,例如+19995550123", + "phone-number-hint-twilio": "Phone Number in E.164 format/Phone Number's SID/Messaging Service SID, ex. +19995550123/PNXXX/MGXXX", + "phone-number-pattern": "手机号码无效。应为E.164格式,例如+19995550123。", + "phone-number-pattern-twilio": "Invalid phone number. Should be in E.164 format/Phone Number's SID/Messaging Service SID, ex. +19995550123/PNXXX/MGXXX.", "sms-message": "短信", - "sms-message-required": "短信内容必填。", + "sms-message-required": "短消息内容必填。", "sms-message-max-length": "短信长度不能超过1600个字符", "twilio-account-sid": "Twilio帐户SID", - "twilio-account-sid-required": "Twilio 帐户的SID必填", + "twilio-account-sid-required": "Twilio 帐户的 SID 必填", "twilio-account-token": "Twilio帐户令牌", - "twilio-account-token-required": "Twilio帐户令牌必填", + "twilio-account-token-required": "Twilio 帐户令牌必填", "send-test-sms": "发送测试短信", "test-sms-sent": "测试短信发送成功!", "security-settings": "安全设置", @@ -145,57 +145,57 @@ "minimum-password-length": "最小密码长度", "minimum-password-length-required": "最小密码长度必填", "minimum-password-length-range": "最小密码长度应在5到50之间", - "minimum-uppercase-letters": "最小大写字母数", - "minimum-uppercase-letters-range": "大写字母的最小数目不能为负数", - "minimum-lowercase-letters": "最小小写字母数", - "minimum-lowercase-letters-range": "小写字母的最小数目不能为负数", - "minimum-digits": "最小位数", - "minimum-digits-range": "最小位数不能为负数", - "minimum-special-characters": "最小特殊字符数", - "minimum-special-characters-range": "特殊字符的最小数目不能为负数", + "minimum-uppercase-letters": "最少大写字母位数", + "minimum-uppercase-letters-range": "最少大写字母位数不能为负数", + "minimum-lowercase-letters": "最少小写字母位数", + "minimum-lowercase-letters-range": "最少小写字母位数不能为负数", + "minimum-digits": "最少数字位数", + "minimum-digits-range": "最少数字位数不能为负数", + "minimum-special-characters": "最少特殊字符位数", + "minimum-special-characters-range": "最少特殊字符位数不能为负数", "password-expiration-period-days": "密码有效期(天)", "password-expiration-period-days-range": "密码过期期限(天)不能为负", "password-reuse-frequency-days": "密码重用频率(天)", "password-reuse-frequency-days-range": "天内密码重用频率不能为负", - "allow-whitespace": "允许空格", + "allow-whitespace": "Allow whitespace", "general-policy": "基本策略", "max-failed-login-attempts": "登录失败之前的最大登录尝试次数", "minimum-max-failed-login-attempts-range": "登录失败次数不能为负数", "user-lockout-notification-email": "如果用户帐户锁定,请发送通知到电子邮件", "domain-name": "域名", - "domain-name-unique": "域名必须是唯一的。", + "domain-name-unique": "域名和协议必须是唯一的。", "domain-name-max-length": "域名长度不能大于256", - "error-verification-url": "域名不应包含符号“/”和“:”。例:thingsboard.io", + "error-verification-url": "域名不应包含符号 “/” 和 “:”。例:thingsboard.io", "oauth2": { "access-token-uri": "访问令牌URI", - "access-token-uri-required": "访问令牌URI必填。", + "access-token-uri-required": "访问令牌 URI 必填。", "activate-user": "激活用户", - "add-domain": "添加域名", - "delete-domain": "删除域名", - "add-provider": "添加提供程序", - "delete-provider": "删除提供程序", + "add-domain": "添加域", + "delete-domain": "删除域", + "add-provider": "添加 Provider", + "delete-provider": "删除 Provider", "allow-user-creation": "允许用户创建", "always-fullscreen": "始终全屏", "authorization-uri": "授权URI", - "authorization-uri-required": "授权URI必填。", + "authorization-uri-required": "授权 URI 必填。", "client-authentication-method": "客户端身份验证方法", "client-id": "客户端ID", - "client-id-required": "客户端ID必填。", + "client-id-required": "客户端 ID 必填。", "client-id-max-length": "客户端ID长度不能大于256", - "client-secret": "客户端密钥", - "client-secret-required": "客户端密钥必填。", + "client-secret": "客户机密", + "client-secret-required": "需要客户端密码。", "client-secret-max-length": "客户端密钥长度不能大于2049", "custom-setting": "自定义设置", "customer-name-pattern": "客户名称模式", "customer-name-pattern-max-length": "客户名称模式长度不能大于256", "default-dashboard-name": "默认仪表板名称", "default-dashboard-name-max-length": "默认仪表板名称长度不能大于256", - "delete-domain-text": "请注意:确认删除后域名和所提供程序数据将不可用。", - "delete-domain-title": "确实要删除域名'{{domainName}}'的设置吗?", - "delete-registration-text": "请注意:确认删除后提供程序数据将不可用。", - "delete-registration-title": "确实要删除提供程序'{{name}}'吗?", + "delete-domain-text": "请注意:确认后,域和所有 provider data 将不可恢复。", + "delete-domain-title": "确定要删除域 '{{domainName}}' 的设置吗?", + "delete-registration-text": "请注意:确认后 provider data 将不可恢复。", + "delete-registration-title": "确定要删除 provider '{{name}}' 吗?", "email-attribute-key": "电子邮件属性键", - "email-attribute-key-required": "电子邮件属性键必填。", + "email-attribute-key-required": "电子邮件属性密钥必填。", "email-attribute-key-max-length": "电子邮件属性键长度不能大于32", "first-name-attribute-key": "名字属性键", "first-name-attribute-key-max-length": "名字属性键长度不能大于32", @@ -204,33 +204,33 @@ "last-name-attribute-key": "姓氏属性键", "last-name-attribute-key-max-length": "姓氏属性键长度不能大于32", "login-button-icon": "登录按钮图标", - "login-button-label": "提供程序标签", - "login-button-label-placeholder": "使用$(Provider label)登录", + "login-button-label": "Provider 标签", + "login-button-label-placeholder": "使用 $(Provider label) 登录", "login-button-label-required": "标签必填。", - "login-provider": "提供程序登录", - "mapper": "属性映射", - "new-domain": "新建域名", + "login-provider": "Login provider", + "mapper": "Mapper", + "new-domain": "新建域", "oauth2": "OAuth2", "password-max-length": "密码长度不能大于256", "redirect-uri-template": "重定向URI模板", "copy-redirect-uri": "复制重定向URI", "registration-id": "注册ID", - "registration-id-required": "注册ID必填。", + "registration-id-required": "注册 ID 必填。", "registration-id-unique": "系统的注册ID必须是唯一的。", "scope": "范围", "scope-required": "范围必填。", "tenant-name-pattern": "租户名称模式", "tenant-name-pattern-required": "租户名称模式必填。", - "tenant-name-pattern-max-length": "户名称模式长度不能大于256", + "tenant-name-pattern-max-length": "租户名称模式长度不能大于256", "tenant-name-strategy": "租户名称策略", "type": "映射器类型", "uri-pattern-error": "无效的URI格式。", - "url": "URL地址", + "url": "统一资源定位地址", "url-pattern": "无效的URL格式。", - "url-required": "URL地址必填。", + "url-required": "URL 必填。", "url-max-length": "URL地址长度不能大于256", "user-info-uri": "用户信息URI", - "user-info-uri-required": "用户信息URI必填。", + "user-info-uri-required": "用户信息 URI 必填。", "username-max-length": "用户名称长度不能大于256", "user-name-attribute-name": "用户名属性键", "user-name-attribute-name-required": "用户名属性密钥必填", @@ -318,79 +318,79 @@ }, "queue-select-name": "选择队列名称", "queue-name": "名称", - "queue-name-required": "队列名称必填!", + "queue-name-required": "队列名称必填。", "queues": "队列", "queue-partitions": "分区", "queue-submit-strategy": "提交策略", "queue-processing-strategy": "处理策略", "queue-configuration": "队列配置", "repository-settings": "仓库设置", - "repository-url": "仓库地址", - "repository-url-required": "仓库地址必填。", - "default-branch": "默认分支", + "repository-url": "仓库 URL", + "repository-url-required": "仓库 URL 必填。", + "default-branch": "默认分支名称", "repository-read-only": "Read-only", - "authentication-settings": "认证设置", - "auth-method": "认证方法", - "auth-method-username-password": "密码/令牌", + "authentication-settings": "身份验证设置", + "auth-method": "身份验证方法", + "auth-method-username-password": "密码/访问令牌", "auth-method-private-key": "私钥", - "password-access-token": "密码/令牌", - "change-password-access-token": "修改密码/令牌", + "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": "确认删除仓库设置后版本控制功能会失效。", + "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": "确认删除后自动提交设置对所有实体失效。", + "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": "提供程序", - "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": "验证代码周期(秒)必填。", + "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-pattern": "验证消息需要包含模板:${code}", "verification-message-template-required": "验证消息模板必填。", - "within-time": "时间限制(秒)", - "within-time-pattern": "时间限制必须是一个正整数。", - "within-time-required": "时间限制必填。" + "within-time": "在时间内 (秒)", + "within-time-pattern": "时间必须是正整数。", + "within-time-required": "时间必填。" } }, "alarm": { - "alarm": "警报", - "alarms": "警报", - "select-alarm": "选择警报", - "no-alarms-matching": "没有找到匹配'{{entity}}'的警报", - "alarm-required": "警报必填", - "alarm-status": "警报状态", - "alarm-status-list": "报警状态列表", + "alarm": "告警", + "alarms": "告警", + "select-alarm": "选择告警", + "no-alarms-matching": "未找到匹配 '{{entity}}' 的告警", + "alarm-required": "告警必填", + "alarm-status": "告警状态", + "alarm-status-list": "告警状态列表", "any-status": "任何状态", "search-status": { "ANY": "所有", @@ -405,7 +405,7 @@ "CLEARED_UNACK": "清除未确认", "CLEARED_ACK": "清除已确认" }, - "no-alarms-prompt": "未发现警报", + "no-alarms-prompt": "未发现告警", "created-time": "创建时间", "type": "类型", "severity": "严重程度", @@ -413,7 +413,7 @@ "originator-type": "发起者类型", "details": "详情", "status": "状态", - "alarm-details": "报警详细信息", + "alarm-details": "告警详细信息", "start-time": "开始时间", "end-time": "结束时间", "ack-time": "确认时间", @@ -423,33 +423,33 @@ "severity-critical": "危险", "severity-major": "重要", "severity-minor": "次要", - "severity-warning": "警报", + "severity-warning": "警告", "severity-indeterminate": "不确定", "acknowledge": "应答", "clear": "清除", - "search": "查找警报", - "selected-alarms": "已选择{ count, plural, 1 {1个警报} other {#个警报} }", + "search": "查找告警", + "selected-alarms": "已选择 { count, plural, 1 {# 个告警} other {# 个告警} }", "no-data": "无数据显示", - "polling-interval": "警报轮询间隔(秒)", - "polling-interval-required": "警报轮询间隔必填。", + "polling-interval": "告警轮询间隔(秒)", + "polling-interval-required": "告警轮询间隔必填。", "min-polling-interval-message": "轮询间隔至少是1秒。", - "aknowledge-alarms-title": "确认{ count, plural, 1 {1个警报 } other {#个警报} }", - "aknowledge-alarms-text": "确定要确认{ count, plural, 1 {1个警报} other {# 个警报} }?", - "aknowledge-alarm-title": "确认报警", - "aknowledge-alarm-text": "确定要确认报警吗?", - "clear-alarms-title": "清除{count, plural, 1 {1个警报} other { #个警报} }", - "clear-alarms-text": "确定要清除{count, plural, 1 {1个警报} other {#个警报} }?", + "aknowledge-alarms-title": "确认 { count, plural, 1 {# 个告警} other {# 个告警} }", + "aknowledge-alarms-text": "确定要确认 { count, plural, 1 {# 个告警} other {# 个告警} }吗?", + "aknowledge-alarm-title": "确认告警", + "aknowledge-alarm-text": "确定要确认告警吗?", + "clear-alarms-title": "清除 { count, plural, 1 {# 个告警} other {# 个告警} }", + "clear-alarms-text": "确定要清除 { count, plural, 1 {# 个告警} other {# 个告警} }?", "clear-alarm-title": "清除警报", "clear-alarm-text": "确定要清除警报吗?", - "alarm-status-filter": "报警状态过滤器", - "alarm-filter": "报警过滤器", - "max-count-load": "要加载的最大报警数(0-无限制)", - "max-count-load-required": "加载的最大报警数必填。", + "alarm-status-filter": "告警状态筛选器", + "alarm-filter": "告警筛选器", + "max-count-load": "要加载的最大告警数(0-无限制)", + "max-count-load-required": "加载的最大告警数必填。", "max-count-load-error-min": "最小值为0。", "fetch-size": "获取大小", - "fetch-size-required": "获取大小必填。", + "fetch-size-required": "Fetch size 必填。", "fetch-size-error-min": "最小值为10。", - "alarm-type-list": "报警类型列表", + "alarm-type-list": "告警类型列表", "any-type": "任何类型", "search-propagated-alarms": "检索已传递的警报" }, @@ -462,38 +462,38 @@ "filter-type-single-entity": "单个实体", "filter-type-entity-list": "实体列表", "filter-type-entity-name": "实体名称", - "filter-type-entity-type": "实体类型", - "filter-type-state-entity": "仪表板实体状态", + "filter-type-entity-type": "Entity type", + "filter-type-state-entity": "仪表板状态实体", "filter-type-state-entity-description": "仪表板实体令牌状态参数", "filter-type-asset-type": "资产类型", - "filter-type-asset-type-description": "类型为'{{assetType}}'的资产", - "filter-type-asset-type-and-name-description": "类型为'{{assetType}}'且以'{{prefix}}'开头的资产", + "filter-type-asset-type-description": "类型为 '{{assetType}}' 的资产", + "filter-type-asset-type-and-name-description": "类型为 '{{assetType}}' 且以 '{{prefix}}' 开头的资产", "filter-type-device-type": "设备类型", - "filter-type-device-type-description": "类型为'{{deviceType}}'的设备", - "filter-type-device-type-and-name-description": "类型为'{{deviceType}}'且以'{{prefix}}'开头的设备", + "filter-type-device-type-description": "类型为 '{{deviceType}}' 的设备", + "filter-type-device-type-and-name-description": "类型为 '{{deviceType}}' 且以 '{{prefix}}' 开头的设备", "filter-type-entity-view-type": "实体视图类型", - "filter-type-entity-view-type-description": "类型为'{{entityView}}'的实体视图", - "filter-type-entity-view-type-and-name-description": "类型为{{entityView}}'且以'{{prefix}}'开头的实体视图", - "filter-type-edge-type": "Edge类型", - "filter-type-edge-type-description": "类型为'{{edgeType}}'的Edge", - "filter-type-edge-type-and-name-description": "类型为'{{edgeType}}'且以'{{prefix}}'开头的Edge", + "filter-type-entity-view-type-description": "类型为 '{{entityView}}' 的实体视图", + "filter-type-entity-view-type-and-name-description": "类型为 {{entityView}}' 且以 '{{prefix}}' 开头的实体视图", + "filter-type-edge-type": "边缘类型", + "filter-type-edge-type-description": "类型为 '{{edgeType}}' 的边缘", + "filter-type-edge-type-and-name-description": "类型为 '{{edgeType}}' 且以 '{{prefix}}' 开头的边缘", "filter-type-relations-query": "关联查询", - "filter-type-relations-query-description": "{{entities}}具有{{relationType}}关联{{direction}}的{{rootEntity}}", - "filter-type-asset-search-query": "资产查询", - "filter-type-asset-search-query-description": "类型为{{assetTypes}}且具有{{relationType}}关联{{direction}}的{{rootEntity}}资产", - "filter-type-device-search-query": "设备查询", - "filter-type-device-search-query-description": "类型为{{deviceTypes}}且具有{{relationType}}关联{{direction}}的{{rootEntity}}设备", - "filter-type-entity-view-search-query": "实体视图查询", - "filter-type-entity-view-search-query-description": "类型为{{entityViewTypes}}且具有{{relationType}}关联{{direction}}的{{rootEntity}}实体视图", - "filter-type-apiUsageState": "Api统计状态", - "filter-type-edge-search-query": "edge查询", - "filter-type-edge-search-query-description": "类型为{{edgeTypes}}且具有{{relationType}}关联{{direction}}的{{rootEntity}}Edge", - "entity-filter": "实体过滤器", - "resolve-multiple": "解析为多个实体", - "filter-type": "过滤器类型", - "filter-type-required": "过滤器类型必填。", - "entity-filter-no-entity-matched": "未找到符合指定筛选条件的实体。", - "no-entity-filter-specified": "没有指定实体过滤器", + "filter-type-relations-query-description": "具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的 {{entities}} ", + "filter-type-asset-search-query": "资产搜索查询", + "filter-type-asset-search-query-description": "类型为 {{assetTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的资产", + "filter-type-device-search-query": "设备搜索查询", + "filter-type-device-search-query-description": "类型为 {{deviceTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的设备", + "filter-type-entity-view-search-query": "实体视图搜索查询", + "filter-type-entity-view-search-query-description": "类型为 {{entityViewTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的实体视图", + "filter-type-apiUsageState": "Api使用状态", + "filter-type-edge-search-query": "边缘搜索查询", + "filter-type-edge-search-query-description": "类型为 {{edgeTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的边缘", + "entity-filter": "实体筛选器", + "resolve-multiple": "解析为多实体", + "filter-type": "筛选器类型", + "filter-type-required": "筛选器类型必填。", + "entity-filter-no-entity-matched": "未找到匹配指定筛选条件的实体。", + "no-entity-filter-specified": "没有指定实体筛选器", "root-state-entity": "使用仪表板状态实体作为根实体", "last-level-relation": "仅获取最后一级关联", "root-entity": "根实体", @@ -530,14 +530,14 @@ "select-asset-type": "选择资产类型", "enter-asset-type": "输入资产类型", "any-asset": "任何资产", - "no-asset-types-matching": "没有找到匹配'{{entitySubtype}}'的资产类型。", + "no-asset-types-matching": "未找到匹配 '{{entitySubtype}}' 的资产类型。", "asset-type-list-empty": "资产类型未选择。", "asset-types": "资产类型", "name": "名称", "name-required": "名称必填。", "name-max-length": "名称长度不能大于256", "label-max-length": "标签长度应小于256", - "description": "描述", + "description": "说明", "type": "类型", "type-required": "类型必填。", "details": "详情", @@ -545,32 +545,32 @@ "add-asset-text": "添加新资产", "asset-details": "资产详情", "assign-assets": "分配资产", - "assign-assets-text": "分配{ count, plural, 1 {1个资产} other {#个资产} }给客户", - "assign-asset-to-edge-title": "将资产分配给Edge", - "assign-asset-to-edge-text": "请选择要分配给Edge的资产", + "assign-assets-text": "分配 { count, plural, 1 {# 个资产} other {# 个资产} } 给客户", + "assign-asset-to-edge-title": "将资产分配给边缘", + "assign-asset-to-edge-text": "请选择要分配给边缘的资产", "delete-assets": "删除资产", "unassign-assets": "取消分配资产", - "unassign-assets-action-title": "从客户处取消分配{ count, plural, 1 {1个资产} other {#个资产} }", + "unassign-assets-action-title": "从客户处取消分配 { count, plural, 1 {# 个资产} other {# 个资产} }", "assign-new-asset": "分配新资产", - "delete-asset-title": "确定要删除资产'{{assetName}}'?", - "delete-asset-text": "请注意:确认后资产数据将无法恢复。", - "delete-assets-title": "确定要删除 { count, plural, 1 {1个资产} other {#个资产} }?", - "delete-assets-action-title": "删除 { count, plural, 1 {1个资产} other {#个资产} }", - "delete-assets-text": "请注意:确认删除后资产后数据将无法恢复。", - "make-public-asset-title": "你确定你想创建公开'{{assetName}}'资产?", - "make-public-asset-text": "确认后资产数据被公开并允许他人访问。", - "make-private-asset-title": "你确定你想创建私有'{{assetName}}'资产?", - "make-private-asset-text": "确认后资产数据被公开并允许他人访问。", - "unassign-asset-title": "你确定要取消对'{{assetName}}'资产的分配吗?", - "unassign-asset-text": "确认后资产取消分配并且客户无法访问。", + "delete-asset-title": "确定要删除资产 '{{assetName}}'吗?", + "delete-asset-text": "请注意:确认后,资产及其所有相关数据将不可恢复。", + "delete-assets-title": "确定要删除 { count, plural, 1 {# 个资产} other {# 个资产} }吗?", + "delete-assets-action-title": "删除 { count, plural, 1 {# 个资产} other {# 个资产} }", + "delete-assets-text": "请注意:确认后,所有选定的资产将被删除,所有相关的数据将不可恢复。", + "make-public-asset-title": "确定要将资产 '{{assetName}}' 设为公开吗?", + "make-public-asset-text": "确认后,资产及其所有数据将被公开并被他人访问。", + "make-private-asset-title": "确定要将资产 '{{assetName}}' 设为私有吗?", + "make-private-asset-text": "确认后,资产及其所有数据将被私有化,无法被他人访问。", + "unassign-asset-title": "确定要取消对'{{assetName}}'资产的分配吗?", + "unassign-asset-text": "确认后,资产将未分配,客户无法访问。", "unassign-asset": "未分配资产", - "unassign-assets-title": "你确定要取消分配{ count, plural, 1 {1个资产} other {#个资产} }吗?", - "unassign-assets-text": "确认后资产将取消分配并且客户无法访问。", - "unassign-assets-from-edge": "取消分配Edge", + "unassign-assets-title": "确定要取消分配 { count, plural, 1 {# 个资产} other {# 个资产} }吗?", + "unassign-assets-text": "确认后,所有选定的资产将被分配,客户无法访问。", + "unassign-assets-from-edge": "取消分配边缘", "copyId": "复制资产ID", "idCopiedMessage": "资产ID已经复制到粘贴板", "select-asset": "选择资产", - "no-assets-matching": "没有找到匹配'{{entity}}'的资产。", + "no-assets-matching": "未找到匹配 '{{entity}}' 的资产。", "asset-required": "资产必填", "name-starts-with": "资产名称以此开头", "help-text": "根据需要可以使用'%'进行匹配,例如:'%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'。", @@ -578,13 +578,13 @@ "asset-file": "资产档案", "label": "标签", "search": "查找资产", - "assign-asset-to-edge": "将资产分配给Edge", - "unassign-asset-from-edge": "取消分配Edge", - "unassign-asset-from-edge-title": "你确定要取消对'{{assetName}}'资产的分配吗?", - "unassign-asset-from-edge-text": "确认后资产将取消分配并且Edge无法访问", - "unassign-assets-from-edge-title": "你确定要取消分配{ count, plural, 1 {1个资产} other {#个资产} }吗?", - "unassign-assets-from-edge-text": "确认后资产将取消分并且Edge无法访问", - "selected-assets": "已选择{ count, plural, 1 {1个资产} other {#个资产} }" + "assign-asset-to-edge": "Assign Asset(s) To Edge", + "unassign-asset-from-edge": "取消分配边缘", + "unassign-asset-from-edge-title": "确定要取消对'{{assetName}}'资产的分配吗?", + "unassign-asset-from-edge-text": "确认后,所有选定的资产将被分配,边缘无法访问。", + "unassign-assets-from-edge-title": "确定要取消分配 { count, plural, 1 {1 资产} other {# 个资产} }吗?", + "unassign-assets-from-edge-text": "确认后,所有选定的资产将被分配,边缘无法访问。", + "selected-assets": "已选择 { count, plural, 1 {# 个资产} other {# 个资产} }" }, "attribute": { "attributes": "属性", @@ -595,25 +595,25 @@ "scope-server": "服务端属性", "scope-shared": "共享属性", "add": "添加属性", - "key": "数据键", + "key": "键名", "key-max-length": "关键字长度应小于256", "last-update-time": "最后更新时间", "key-required": "属性键必填。", - "value": "数据值", + "value": "数值", "value-required": "属性值必填。", - "delete-attributes-title": "你确定要删除{ count, plural, 1 {1个属性} other {#个属性} }吗?", - "delete-attributes-text": "注意确认后所有属性都会被删除。", + "delete-attributes-title": "确定要删除 { count, plural, 1 {# 个属性} other {# 个属性} }吗?", + "delete-attributes-text": "注意,确认后所有选中的属性都会被删除。", "delete-attributes": "删除属性", "enter-attribute-value": "输入属性值", - "show-on-widget": "显示到部件", + "show-on-widget": "在部件上显示", "widget-mode": "部件模式", "next-widget": "下一个部件", "prev-widget": "上一个部件", "add-to-dashboard": "添加到仪表板", "add-widget-to-dashboard": "将部件添加到仪表板", - "selected-attributes": "已选择{ count, plural, 1 {1个属性} other {#个属性} }", - "selected-telemetry": "已选择{ count, plural, 1 {1个遥测} other {#个遥测} }", - "no-attributes-text": "找不到属性", + "selected-attributes": "已选择{ count, plural, 1 {# 个属性} other {# 个属性} }", + "selected-telemetry": "已选择 { count, plural, 1 {# 遥测} other {# 遥测} }", + "no-attributes-text": "未找到属性", "no-telemetry-text": "未找到遥测数据" }, "api-usage": { @@ -634,7 +634,7 @@ "javascript": "JavaScript", "javascript-executions": "JavaScript例外", "javascript-functions": "JavaScript函数", - "javascript-functions-daily-activity": "J每天执行的JavaScript函数", + "javascript-functions-daily-activity": "每天执行的JavaScript函数", "javascript-functions-hourly-activity": "每小时执行的JavaScript函数", "javascript-functions-monthly-activity": "每月执行的JavaScript函数", "latest-error": "最新错误", @@ -691,14 +691,14 @@ "type-attributes-updated": "更新属性", "type-attributes-deleted": "删除属性", "type-rpc-call": "RPC调用", - "type-credentials-updated": "更新凭证", + "type-credentials-updated": "更新凭据", "type-assigned-to-customer": "分配给客户", "type-unassigned-from-customer": "未分配给客户", - "type-assigned-to-edge": "分配给Edge", - "type-unassigned-from-edge": "未分配给Edge", + "type-assigned-to-edge": "分配给边缘", + "type-unassigned-from-edge": "未分配给边缘", "type-activated": "激活", "type-suspended": "暂停", - "type-credentials-read": "读取凭证", + "type-credentials-read": "读取凭据", "type-attributes-read": "读取属性", "type-relation-add-or-update": "关联已更新", "type-relation-delete": "关联已删除", @@ -711,7 +711,7 @@ "status-success": "成功", "status-failure": "失败", "audit-log-details": "审计日志详情", - "no-audit-logs-prompt": "找不到日志", + "no-audit-logs-prompt": "未找到日志", "action-data": "活动数据", "failure-details": "失败详情", "search": "查找审计日志", @@ -724,18 +724,18 @@ "type-timeseries-deleted": "遥测数据已删除" }, "confirm-on-exit": { - "message": "你有未保存的更改。确定要离开此页吗?", - "html-message": "你有未保存的更改。
确定要离开此页面吗?", + "message": "有未保存的更改,确定要离开此页吗?", + "html-message": "有未保存的更改。
确定要离开此页面吗?", "title": "未保存的更改" }, "contact": { "country": "国家", "city": "城市", - "state": "省", + "state": "州", "postal-code": "邮政编码", "postal-code-invalid": "只允许数字。", "address": "地址", - "address2": "地址2", + "address2": "地址二", "phone": "电话", "email": "电子邮件", "no-address": "无地址", @@ -757,7 +757,7 @@ "content-type": { "json": "Json", "text": "Text", - "binary": "二进制(Base64)" + "binary": "Binary (Base64)" }, "customer": { "customer": "客户", @@ -768,52 +768,52 @@ "devices": "客户设备", "entity-views": "客户实体视图", "assets": "客户资产", - "public-dashboards": "公开仪表板", - "public-devices": "公开设备", - "public-assets": "公开资产", - "public-edges": "公开Edge", - "public-entity-views": "公开实体视图", + "public-dashboards": "公共仪表板", + "public-devices": "公共设备", + "public-assets": "公共资产", + "public-edges": "公共边缘", + "public-entity-views": "公共实体视图", "add": "添加客户", "delete": "删除此客户", "manage-customer-users": "管理客户用户", "manage-customer-devices": "管理客户设备", "manage-customer-dashboards": "管理客户仪表板", - "manage-public-devices": "管理公开设备", - "manage-public-dashboards": "管理公开仪表板", + "manage-public-devices": "管理公共设备", + "manage-public-dashboards": "管理公共仪表板", "manage-customer-assets": "管理客户资产", - "manage-public-assets": "管理公开资产", - "manage-customer-edges": "管理客户Edge", - "manage-public-edges": "管理公开Edge", + "manage-public-assets": "管理公共资产", + "manage-customer-edges": "管理客户边缘", + "manage-public-edges": "管理公共边缘", "add-customer-text": "添加新客户", - "no-customers-text": "没有找到客户", + "no-customers-text": "未找到客户", "customer-details": "客户详情", - "delete-customer-title": "你确定要删除客户'{{customerTitle}}'吗?", - "delete-customer-text": "请注意:确认删除后客户数据将无法恢复。", - "delete-customers-title": "你确定要删除{ count, plural, 1 {1个客户} other {#个客户} }吗?", - "delete-customers-action-title": "删除{ count, plural, 1 {1个客户} other {#个客户} }", - "delete-customers-text": "请注意:确认删除后客户数据将无法恢复。", + "delete-customer-title": "确定要删除客户'{{customerTitle}}'吗?", + "delete-customer-text": "请注意:确认后,客户及其所有相关数据将不可恢复。", + "delete-customers-title": "确定要删除 { count, plural, 1 {# 个客户} other {# 个客户} }吗?", + "delete-customers-action-title": "删除 { count, plural, 1 {# 个客户} other {# 个客户} }", + "delete-customers-text": "请注意:确认后,所有选定的客户将被删除,所有相关数据将不可恢复。", "manage-users": "管理用户", "manage-assets": "管理资产", "manage-devices": "管理设备", "manage-dashboards": "管理仪表板", "title": "标题", "title-required": "标题必填。", - "title-max-length": "标题长度应小于256", - "description": "描述", + "title-max-length": "标题长度必须少于256个字符", + "description": "说明", "details": "详情", "events": "事件", "copyId": "复制客户ID", "idCopiedMessage": "客户ID已复制到粘贴板", "select-customer": "选择客户", - "no-customers-matching": "没有找到匹配'{{entity}}'的客户。", + "no-customers-matching": "未找到匹配 '{{entity}}' 的客户。", "customer-required": "客户必填", "select-default-customer": "选择默认的客户", "default-customer": "默认客户", - "default-customer-required": "需要默认客户才能在租户级别调试仪表板。", + "default-customer-required": "为了调试租户级别上的仪表板,需要默认客户。", "search": "查找客户", - "selected-customers": "已选择{ count, plural, 1 {1个客户} other {#个客户} }", - "edges": "客户Edge实例", - "manage-edges": "管理Edge" + "selected-customers": "已选择 { count, plural, 1 {# 个客户} other {# 个客户} }", + "edges": "客户边缘实例", + "manage-edges": "管理边缘" }, "datetime": { "date-from": "开始日期", @@ -823,13 +823,13 @@ }, "dashboard": { "dashboard": "仪表板", - "dashboards": "仪表板", + "dashboards": "仪表板库", "management": "仪表板管理", "view-dashboards": "查看仪表板", "add": "添加仪表板", "assign-dashboard-to-customer": "将仪表板分配给客户", "assign-dashboard-to-customer-text": "请选择要分配给客户的仪表板", - "assign-dashboard-to-edge-title": "将仪表板分配给Edge", + "assign-dashboard-to-edge-title": "将仪表板分配给边缘", "assign-to-customer-text": "请选择客户分配仪表板", "assign-to-customer": "分配给客户", "unassign-from-customer": "取消分配客户", @@ -838,17 +838,17 @@ "manage-assigned-customers": "管理已分配的客户", "assigned-customers": "已分配的客户", "assign-to-customers": "将仪表板分配给客户", - "assign-to-customers-text": "请选择需要分配的客户", + "assign-to-customers-text": "请选择客户指定仪表板", "unassign-from-customers": "客户未分配仪表板", - "unassign-from-customers-text": "请选择取消的客户", - "no-dashboards-text": "没有找到仪表板", + "unassign-from-customers-text": "请选择从仪表板中取消分配的客户", + "no-dashboards-text": "未找到仪表板", "no-widgets": "没有配置部件", "add-widget": "添加新的部件", "title": "标题", - "image": "缩略图", - "mobile-app-settings": "移动端设置", - "mobile-order": "移动端显示顺序", - "mobile-hide": "移动端隐藏", + "image": "仪表板图片", + "mobile-app-settings": "移动端应用设置", + "mobile-order": "移动端应用中的仪表板排序", + "mobile-hide": "在移动端应用中隐藏仪表板", "update-image": "更新缩略图", "take-screenshot": "截图", "select-widget-title": "选择部件", @@ -856,38 +856,38 @@ "select-widget-subtitle": "可用的部件类型列表", "delete": "删除仪表板", "title-required": "标题必填。", - "title-max-length": "标题长度应小于256", - "description": "描述", + "title-max-length": "标题长度必须少于256个字符", + "description": "说明", "details": "详情", "dashboard-details": "仪表板详情", "add-dashboard-text": "添加新的仪表板", "assign-dashboards": "分配仪表板", "assign-new-dashboard": "分配新的仪表板", - "assign-dashboards-text": "分配{ count, plural, 1 {1个仪表板} other {#个仪表板} }给客户", - "unassign-dashboards-action-text": "取消分配{ count, plural, 1 {1个仪表板} other {#个仪表板} }给客户", + "assign-dashboards-text": "分配 { count, plural, 1 {# 个仪表板} other {# 个仪表板} } 给客户", + "unassign-dashboards-action-text": "取消分配 { count, plural, 1 {# 个仪表板} other {# 个仪表板} } 给客户", "delete-dashboards": "删除仪表板", "unassign-dashboards": "取消分配仪表板", - "unassign-dashboards-action-title": "取消分配此客户{ count, plural, 1 {1个仪表板} other {#个仪表板} }", - "delete-dashboard-title": "你确定要删除仪表板'{{dashboardTitle}}'吗?", - "delete-dashboard-text": "请注意:确认删除后仪表板数据将无法恢复。", - "delete-dashboards-title": "确定要删除{ count, plural, 1 {1个仪表板} other {#个仪表板} }吗?", - "delete-dashboards-action-title": "删除{ count, plural, 1 {1个仪表板} other {#个仪表板} }", - "delete-dashboards-text": "请注意:确认删除后仪表板数据将无法恢复。", - "unassign-dashboard-title": "你确定要取消分配仪表板'{{dashboardTitle}}'吗?", - "unassign-dashboard-text": "确认后仪表板将取消分配,客户将无法访问。", + "unassign-dashboards-action-title": "取消分配此客户 { count, plural, 1 {# 个仪表板} other {# 个仪表板} }", + "delete-dashboard-title": "确定要删除仪表板 '{{dashboardTitle}}'吗?", + "delete-dashboard-text": "请注意:确认后,仪表板及其所有相关数据将不可恢复。", + "delete-dashboards-title": "确定要删除 { count, plural, 1 {# 个仪表板} other {# 个仪表板} }吗?", + "delete-dashboards-action-title": "删除 { count, plural, 1 {# 个仪表板} other {# 个仪表板} }", + "delete-dashboards-text": "请注意:确认后,所有选定的仪表板将被删除,所有相关数据将不可恢复。", + "unassign-dashboard-title": "确定要取消分配仪表板 '{{dashboardTitle}}'吗?", + "unassign-dashboard-text": "确认后,面板将被取消分配,客户将无法访问。", "unassign-dashboard": "取消分配仪表板", - "unassign-dashboards-title": "确定要取消分配仪表板{ count, plural, 1 {1个仪表板} other {#个仪表板} }吗?", - "unassign-dashboards-text": "确认后仪表板将取消分配,客户将无法访问。", - "public-dashboard-title": "仪表板已公开", - "public-dashboard-text": "你的仪表板{{dashboardTitle}} 已被公开,可通过如下链接访问:", - "public-dashboard-notice": "提示:不要忘记将相关设备公开以访问其数据。", - "make-private-dashboard-title": "你确定要将仪表板'{{dashboardTitle}}'设为私有吗?", - "make-private-dashboard-text": "确认后仪表板将设为私有并不允许访问。", + "unassign-dashboards-title": "确定要取消分配仪表板 { count, plural, 1 {# 个仪表板} other {# 个仪表板} } 吗?", + "unassign-dashboards-text": "确认后,所有选定的仪表板将被取消分配,客户将无法访问。", + "public-dashboard-title": "仪表板现已公开", + "public-dashboard-text": "仪表板 {{dashboardTitle}} 已被公开,可通过如下 链接访问:", + "public-dashboard-notice": "提示: 不要忘记将相关设备公开以访问其数据。", + "make-private-dashboard-title": "确定要将仪表板 '{{dashboardTitle}}' 设为私有吗?", + "make-private-dashboard-text": "确认后,仪表板将被设为私有,不能被其他人访问。", "make-private-dashboard": "仪表板设为私有", - "socialshare-text": "'{{dashboardTitle}}'由Thingsboard提供支持", - "socialshare-title": "'{{dashboardTitle}}'由Thingsboard提供支持", + "socialshare-text": "'{{dashboardTitle}}' 由Thingsboard提供支持", + "socialshare-title": "'{{dashboardTitle}}' 由Thingsboard提供支持", "select-dashboard": "选择仪表板", - "no-dashboards-matching": "找不到符合'{{entity}}'的仪表板。", + "no-dashboards-matching": "未找到匹配 '{{entity}}' 的仪表板。", "dashboard-required": "仪表板必填。", "select-existing": "选择现有仪表板", "create-new": "创建新的仪表板", @@ -897,50 +897,50 @@ "background-color": "背景颜色", "background-image": "背景图片", "background-size-mode": "背景大小模式", - "no-image": "没有图片", - "empty-image": "没有图片", - "drop-image": "拖拽图像或", + "no-image": "无图像选择", + "empty-image": "No image", + "drop-image": "拖拽图像或单击以选择要上传的文件。", "maximum-upload-file-size": "最大上传文件大小: {{ size }}", "cannot-upload-file": "无法上传文件", "settings": "设置", - "layout-settings": "布局设置", + "layout-settings": "Layout settings", "columns-count": "列数", "columns-count-required": "需要列数。", "min-columns-count-message": "只允许最少10列", "max-columns-count-message": "只允许最多1000列", "widgets-margins": "部件间边距", "margin-required": "边距值必填。", - "min-margin-message": "最小边距值为0。", - "max-margin-message": "最大边距值为50。", + "min-margin-message": "最小边距值只允许为0。", + "max-margin-message": "仅允许50作为最大边距值。", "horizontal-margin": "水平边距", - "horizontal-margin-required": "水平边距必填。", - "min-horizontal-margin-message": "最小水平边距值为0。", - "max-horizontal-margin-message": "最大水平边距值为50。", + "horizontal-margin-required": "需要水平边距值。", + "min-horizontal-margin-message": "只允许0作为最小水平边距值。", + "max-horizontal-margin-message": "只允许50作为最大水平边距值。", "vertical-margin": "垂直边距", "vertical-margin-required": "需要垂直边距值。", - "min-vertical-margin-message": "最小垂直边距值为0。", - "max-vertical-margin-message": "最大垂直边距值为50。", - "autofill-height": "自动填充高度", + "min-vertical-margin-message": "只允许0作为最小垂直边距值。", + "max-vertical-margin-message": "只允许50作为最大垂直边距值。", + "autofill-height": "自动填充布局高度", "mobile-layout": "移动端布局设置", - "mobile-row-height": "移动端行高(像素)", - "mobile-row-height-required": "移动端行高必填。", - "min-mobile-row-height-message": "移动端行高最小为5像素。", - "max-mobile-row-height-message": "移动端行高最大为200像素。", - "title-settings": "标题设置", - "display-title": "显示标题", + "mobile-row-height": "移动端行高距(px)", + "mobile-row-height-required": "移动端行高距必填。", + "min-mobile-row-height-message": "移动端行高距至少5px。", + "max-mobile-row-height-message": "移动端行高距最多200px。", + "title-settings": "Title settings", + "display-title": "显示仪表板标题", "title-color": "标题颜色", - "toolbar-settings": "工具栏设置", - "hide-toolbar": "隐藏工具栏", - "toolbar-always-open": "始终打开工具栏", + "toolbar-settings": "Toolbar settings", + "hide-toolbar": "Hide toolbar", + "toolbar-always-open": "工具栏常驻", "display-dashboards-selection": "显示仪表板选项", "display-entities-selection": "显示实体选项", - "display-filters": "显示过滤器", + "display-filters": "显示筛选器", "display-dashboard-timewindow": "显示时间窗口", "display-dashboard-export": "显示导出", "display-update-dashboard-image": "显示仪表板缩略图", "dashboard-logo-settings": "Logo设置", - "display-dashboard-logo": "全屏模式下显示Logo", - "dashboard-logo-image": "Logo图片", + "display-dashboard-logo": "在仪表板全屏模式下显示 Logo", + "dashboard-logo-image": "仪表板 Logo 图片", "advanced-settings": "高级设置", "dashboard-css": "仪表板样式", "import": "导入仪表板", @@ -948,35 +948,35 @@ "export-failed-error": "无法导出仪表板: {{error}}", "create-new-dashboard": "创建新的仪表板", "dashboard-file": "仪表板文件", - "invalid-dashboard-file-error": "仪表板数据结构无效导入失败。", + "invalid-dashboard-file-error": "无法导入仪表板: 仪表板数据结构无效。", "dashboard-import-missing-aliases-title": "配置导入仪表板使用的别名", - "create-new-widget": "添加部件", + "create-new-widget": "创建新部件", "import-widget": "导入部件", "widget-file": "部件文件", - "invalid-widget-file-error": "部件数据结构无效导入失败。", + "invalid-widget-file-error": "无法导入窗口部件: 窗口部件数据结构无效。", "widget-import-missing-aliases-title": "配置导入的窗口部件使用的别名", - "open-toolbar": "打开工具栏", + "open-toolbar": "打开仪表板工具栏", "close-toolbar": "关闭工具栏", "configuration-error": "配置错误", "alias-resolution-error-title": "仪表板别名配置错误", - "invalid-aliases-config": "无法找到与别名和过滤器匹配的设备
请联系你的管理员解决此问题。", + "invalid-aliases-config": "无法找到与某些别名筛选器匹配的任何设备。
请联系您的管理员以解决此问题。", "select-devices": "选择设备", "assignedToCustomer": "分配给客户", "assignedToCustomers": "分配给客户", "public": "公开", "copyId": "复制仪表板Id", "idCopiedMessage": "仪表板ID已经复制到粘贴板", - "public-link": "公开链接", - "copy-public-link": "复制公开链接", - "public-link-copied-message": "仪表板的公开链接已被复制到剪贴板", + "public-link": "公共链接", + "copy-public-link": "复制公共链接", + "public-link-copied-message": "仪表板的公共链接已被复制到剪贴板", "manage-states": "仪表板状态管理", "states": "仪表板状态", "search-states": "仪表板状态检索", - "selected-states": "已选择{ count, plural, 1 {1个仪表板状态} other {#个仪表板状态} }", + "selected-states": "已选择 { count, plural, 1 {# 个仪表板状态} other {# 个仪表板状态} }", "edit-state": "仪表板状态编辑", "delete-state": "删除仪表板状态", "add-state": "添加仪表板状态", - "no-states-text": "找不到状态", + "no-states-text": "未找到状态", "state": "仪表板状态", "state-name": "名称", "state-name-required": "仪表板状态名必填。", @@ -985,20 +985,20 @@ "state-id-exists": "仪表板状态ID已经存在。", "is-root-state": "根状态", "delete-state-title": "删除仪表板状态", - "delete-state-text": "确定要删除仪表板状态 '{{stateName}}' 吗?", + "delete-state-text": "确定要删除仪表板状态 '{{stateName}}' 吗?", "show-details": "显示详情", "hide-details": "隐藏详情", "select-state": "选择目标状态", "state-controller": "状态控制", "search": "查找仪表板", - "selected-dashboards": "已选择 { count, plural, 1 {1个仪表板} other {#个仪表板} }", + "selected-dashboards": "已选择 { count, plural, 1 {# 个仪表盘} other {# 个仪表盘} }", "home-dashboard": "首页仪表板", "home-dashboard-hide-toolbar": "隐藏首页仪表板工具栏", - "unassign-dashboard-from-edge-text": "确认后仪表板将取消分配,Edge将无法访问。", - "unassign-dashboards-from-edge-title": "确定要取消分配仪表板{ count, plural, 1 {1个仪表板} other {#个仪表板} }吗?", - "unassign-dashboards-from-edge-text": "确认后仪表板将取消分配,Edge将无法访问。", - "assign-dashboard-to-edge": "将仪表板分配给Edge", - "assign-dashboard-to-edge-text": "请选择要分配给Edge的仪表板", + "unassign-dashboard-from-edge-text": "确认后,所有选定的仪表板将被取消分配,边缘将无法访问。", + "unassign-dashboards-from-edge-title": "确定要取消分配仪表板 { count, plural, 1 {# 个仪表板} other {# 个仪表板} } 吗?", + "unassign-dashboards-from-edge-text": "确认后,所有选定的仪表板将被取消分配,边缘将无法访问。", + "assign-dashboard-to-edge": "将仪表板分配给边缘", + "assign-dashboard-to-edge-text": "请选择要分配给边缘的仪表板", "non-existent-dashboard-state-error": "仪表盘\"{{ stateId }}\"未找到" }, "datakey": { @@ -1008,21 +1008,21 @@ "color": "颜色", "units": "单位符号", "decimals": "小数位数", - "data-generation-func": "数据生成函数", - "use-data-post-processing-func": "数据处理函数", + "data-generation-func": "数据生成功能", + "use-data-post-processing-func": "使用数据后处理功能", "configuration": "数据键配置", - "timeseries": "时间序列", + "timeseries": "Timeseries", "attributes": "属性", "entity-field": "实体字段", - "alarm": "报警字段", - "timeseries-required": "时间序列必填。", - "timeseries-or-attributes-required": "时间序列/属性必填。", - "alarm-fields-timeseries-or-attributes-required": "警报字段或时间序列/属性必填。", - "maximum-timeseries-or-attributes": "最多允许{ count, plural, 1 {1个时间序列/属性。} other {#个时间序列/属性。}}", - "alarm-fields-required": "警报字段必填。", + "alarm": "告警字段", + "timeseries-required": "实体 Timeseries 必填。", + "timeseries-or-attributes-required": "实体 Timeseries/属性必填。", + "alarm-fields-timeseries-or-attributes-required": "告警字段或实体 Timeseries/属性必填。", + "maximum-timeseries-or-attributes": "最多允许 { count, plural, 1 {# 个 timeseries/属性。} other {# 个 timeseries/属性。} }", + "alarm-fields-required": "告警字段必填。", "function-types": "函数类型", "function-type": "函数类型", - "function-types-required": "函数类型必填。", + "function-types-required": "需要函数类型。", "alarm-keys": "报警数据键", "alarm-key": "报警数据键", "alarm-key-functions": "报警数据函数", @@ -1035,12 +1035,12 @@ "timeseries-key": "时序数据键", "timeseries-key-functions": "时序数据函数", "timeseries-key-function": "时序数据函数", - "maximum-function-types": "最多允许{ count, plural, 1 {1个函数类型} other {#个函数类型} }", + "maximum-function-types": "最多允许 { count, plural, 1 {# 个函数类型} other {# 个函数类型} }", "time-description": "当前值的时间戳;", "value-description": "当前值;", "prev-value-description": "上一次函数调用的结果;", "time-prev-description": "上一个值的时间戳;", - "prev-orig-value-description": "之前的原始值;", + "prev-orig-value-description": "先前的原始值;", "aggregation": "聚合", "aggregation-type-hint-common": "出于性能原因聚合值计算仅适用于“当前日期”、“当前月份”等固定时间间隔,而不适用于“最近30分钟”或“最近24小时”等滑动窗口间隔。", "aggregation-type-none-hint": "取最新值。", @@ -1076,17 +1076,17 @@ "management": "设备管理", "view-devices": "查看设备", "device-alias": "设备别名", - "device-type-max-length": "设备类型长度应小于256", + "device-type-max-length": "设备类型长度必须少于256个字符", "aliases": "设备别名", - "no-alias-matching": "'{{alias}}'没有找到。", - "no-aliases-found": "找不到别名。", - "no-key-matching": "'{{key}}'没有找到。", - "no-keys-found": "找不到密钥。", - "create-new-alias": "创建新的别名!", - "create-new-key": "创建新的键!", - "duplicate-alias-error": "找到重复别名'{{alias}}'。
设备别名必须是唯一的。", - "configure-alias": "配置'{{alias}}'别名", - "no-devices-matching": "找不到与'{{entity}}'匹配的设备。", + "no-alias-matching": "'{{alias}}' 未找到。", + "no-aliases-found": "未找到别名。", + "no-key-matching": "'{{key}}' 未找到。", + "no-keys-found": "未找到密钥。", + "create-new-alias": "创建一个新的!", + "create-new-key": "创建一个新的!", + "duplicate-alias-error": "找到重复别名 '{{alias}}'。
设备别名必须是唯一的。", + "configure-alias": "配置 '{{alias}}' 别名", + "no-devices-matching": "未找到与 '{{entity}}' 匹配的设备。", "alias": "别名", "alias-required": "设备别名必填。", "remove-alias": "删除设备别名", @@ -1094,19 +1094,19 @@ "name-starts-with": "名称前缀", "help-text": "根据需要可以使用'%'进行匹配,例如:'%device_name_contains%','%device_name_ends','device_starts_with'。", "device-list": "设备列表", - "use-device-name-filter": "使用过滤器", + "use-device-name-filter": "使用筛选器", "device-list-empty": "没有被选中的设备", - "device-name-filter-required": "设备名称过滤器必填。", - "device-name-filter-no-device-matched": "找不到以'{{device}}'开头的设备。", + "device-name-filter-required": "设备名称筛选器必填。", + "device-name-filter-no-device-matched": "未找到以'{{device}}' 开头的设备。", "add": "添加设备", "assign-to-customer": "分配给客户", "assign-device-to-customer": "将设备分配给客户", "assign-device-to-customer-text": "请选择要分配给客户的设备", - "assign-device-to-edge-title": "将设备分配给Edge", - "assign-device-to-edge-text": "请选择要分配给Edge的设备", + "assign-device-to-edge-title": "将设备分配给边缘", + "assign-device-to-edge-text": "请选择要分配给边缘的设备", "make-public": "公开", "make-private": "私有", - "no-devices-text": "找不到设备", + "no-devices-text": "未找到设备", "assign-to-customer-text": "请选择客户分配设备", "device-details": "设备详细信息", "add-device-text": "添加新设备", @@ -1114,38 +1114,38 @@ "manage-credentials": "管理凭据", "delete": "删除设备", "assign-devices": "分配设备", - "assign-devices-text": "将{count,plural,1 {#个设备} other {#个设备} }分配给客户", + "assign-devices-text": "将 {count,plural,1 {# 个设备} other {# 个设备} }分配给客户", "delete-devices": "删除设备", "unassign-from-customer": "取消分配客户", "unassign-devices": "取消分配设备", - "unassign-devices-action-title": "取消分配此客户的{count,plural,1 {#个设备} other {#个设备} }", - "unassign-device-from-edge-title": "你确定要取消设备'{{deviceName}}'的分配吗?", - "unassign-device-from-edge-text": "确认后分配将被取消,Edge将无法访问。", - "unassign-devices-from-edge": "取消分配Edge", + "unassign-devices-action-title": "取消分配此客户 {count,plural,1 {# 个设备} other {# 个设备} }", + "unassign-device-from-edge-title": "确定要取消分配设备 '{{deviceName}}' 吗?", + "unassign-device-from-edge-text": "确认后,设备将被取消分配,边缘将无法访问。", + "unassign-devices-from-edge": "取消分配边缘", "assign-new-device": "分配新设备", - "make-public-device-title": "你确定要将设备'{{deviceName}}'设为公开吗?", - "make-public-device-text": "确认后设备数据将公开并允许访问。", - "make-private-device-title": "你确定要将设备'{{deviceName}}'设为私有吗?", - "make-private-device-text": "确认后设备数据私有并不并允许访问。", - "view-credentials": "查看凭证", - "delete-device-title": "你确定要删除设备的{{deviceName}}吗?", - "delete-device-text": "请注意:确认删除后设备关数据将无法恢复。", - "delete-devices-title": "确定要删除{count,plural,1 {#个设备} other {#个设备} }吗?", - "delete-devices-action-title": "删除{count,plural,1 {#个设备} other {#个设备} }", - "delete-devices-text": "请注意:确认删除后设备数据将无法恢复。", - "unassign-device-title": "你确定要取消'{{deviceName}}'设备的分配吗?", - "unassign-device-text": "确认后设备分配将被取消,客户将无法访问。", + "make-public-device-title": "确定要将设备 '{{deviceName}}' 设为公开吗?", + "make-public-device-text": "确认后,设备及其所有数据将被设为公开并可被其他人访问。", + "make-private-device-title": "确定要将设备 '{{deviceName}}' 设为私有吗?", + "make-private-device-text": "确认后,设备及其所有数据将被设为私有,不被其他人访问。", + "view-credentials": "查看凭据", + "delete-device-title": "确定要删除设备的{{deviceName}}吗?", + "delete-device-text": "请注意:确认后,设备及其所有相关数据将不可恢复。", + "delete-devices-title": "确定要删除{count,plural,1 {# 个设备} other {# 个设备} } 吗?", + "delete-devices-action-title": "删除 {count,plural,1 {# 个设备} other {# 个设备} }", + "delete-devices-text": "请注意:确认后,所有选定的设备将被删除,所有相关数据将不可恢复。", + "unassign-device-title": "确定要取消分配设备 '{{deviceName}}' 吗?", + "unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。", "unassign-device": "取消分配设备", - "unassign-devices-title": "确定要取消分配 {count,plural,1 {#个设备} other {#个设备} } 吗?", - "unassign-devices-text": "确认后设备分配将取消,客户将无法访问。", + "unassign-devices-title": "确定要取消分配 {count,plural,1 {# 个设备} other {# 个设备} } 吗?", + "unassign-devices-text": "确认后,所有选定的设备将被取消分配,并且客户将无法访问。", "device-credentials": "设备凭据", "loading-device-credentials": "加载设备凭证...", "credentials-type": "凭据类型", "access-token": "访问令牌", "access-token-required": "访问令牌必填", "access-token-invalid": "访问令牌长度必须为1到32个字符。", - "certificate-pem-format": "PEM证书", - "certificate-pem-format-required": "PEM证书必填。", + "certificate-pem-format": "PEM证书格式", + "certificate-pem-format-required": "PEM证书格式必填。", "lwm2m-security-config": { "identity": "客户端标识", "identity-required": "客户端标识必填。", @@ -1177,10 +1177,10 @@ "client-secret-key-tooltip-x509": "X509密钥必须是PKCS_8格式(DER编码, 标准[RFC5958])!" }, "client-id": "客户端ID", - "client-id-pattern": "客户端ID包含无效字符。", + "client-id-pattern": "包含无效字符。", "user-name": "用户名", "user-name-required": "用户名必填。", - "client-id-or-user-name-necessary": "客户端ID和用户名是必填。", + "client-id-or-user-name-necessary": "客户端ID和/或用户名是必需的", "password": "密码", "secret": "密钥", "secret-required": "密钥必填", @@ -1189,14 +1189,14 @@ "select-device-type": "选择设备类型", "enter-device-type": "输入设备类型", "any-device": "任意设备", - "no-device-types-matching": "没有找到符合'{{entitySubtype}}'的设备类型。", + "no-device-types-matching": "未找到匹配 '{{entitySubtype}}' 的设备类型。", "device-type-list-empty": "未选择设备类型", "device-types": "设备类型", "name": "名称", "name-required": "名称必填。", - "name-max-length": "名称长度不能大于256", - "label-max-length": "标签长度应小于256", - "description": "描述", + "name-max-length": "名称长度必须少于256个字符", + "label-max-length": "标签长度必须少于256个字符", + "description": "说明", "label": "标签", "events": "事件", "details": "详情", @@ -1208,7 +1208,7 @@ "mqtt-authentication-copied-message": "设备MQTT身份验证已复制到剪贴板", "assignedToCustomer": "分配给客户", "unable-delete-device-alias-title": "无法删除设备别名", - "unable-delete-device-alias-text": "设备别名'{{deviceAlias}}'不能够被删除,因为它被下列部件正在使用:
{{widgetsList}}", + "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用:
{{widgetsList}}", "is-gateway": "是否网关", "overwrite-activity-time": "覆盖已连接设备的活动时间", "public": "公开", @@ -1217,7 +1217,7 @@ "import": "导入设备", "device-file": "设备文件", "search": "查找设备", - "selected-devices": "已选择{ count, plural, 1 {1个设备} other {#个设备} }", + "selected-devices": "已选择 { count, plural, 1 {# 个设备} other {# 个设备} }", "device-configuration": "设备配置", "transport-configuration": "传输配置", "wizard": { @@ -1229,8 +1229,8 @@ "customer-to-assign-device": "客户分配设备", "add-credentials": "添加凭据" }, - "unassign-devices-from-edge-title": "你确定要取消分配{ count, plural, 1 {1个设备} other {#个设备} }吗?", - "unassign-devices-from-edge-text": "确认后设备将被取消分配,Edge将无法访问。" + "unassign-devices-from-edge-title": "确定要取消分配 { count, plural, 1 {1 个设备} other {# 个设备} } 吗?", + "unassign-devices-from-edge-text": "确认后,设备将被取消分配,边缘将无法访问。" }, "asset-profile": { "asset-profile": "资产配置", @@ -1239,41 +1239,41 @@ "add": "添加资产配置", "edit": "编辑资产配置", "asset-profile-details": "资产配置详情", - "no-asset-profiles-text": "找不到资产配置", - "search": "查找资产配置", - "selected-asset-profiles": "已选择{ count, plural, 1 {1个资产配置} other {#个资产配置} }", - "no-asset-profiles-matching": "找不到与'{{entity}}'匹配的资产配置。", + "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", + "name-max-length": "名称长度必须少于256个字符", "new-device-profile-name": "资产配置名称", "new-device-profile-name-required": "资产配置名称必填。", "name": "名称", - "name-required": "名称是必填的。", + "name-required": "名称必填。", "image": "资产配置图片", - "description": "描述", + "description": "说明", "default": "默认", "default-rule-chain": "默认规则链", "mobile-dashboard": "移动端仪表板", - "mobile-dashboard-hint": "移动应用程序用作资产详细信息仪表板", + "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": "创建新的资产配置", + "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}}", + "export-failed-error": "无法导出资产配置: {{error}}", "asset-profile-file": "资产配置文件", - "invalid-asset-profile-file-error": "资产配置数据结构无效导入失败。" + "invalid-asset-profile-file-error": "无法导入资产配置:无效的资产配置数据结构。" }, "device-profile": { "device-profile": "设备配置", @@ -1282,20 +1282,20 @@ "add": "添加设备配置", "edit": "编辑设备配置", "device-profile-details": "设备配置详情", - "no-device-profiles-text": "找不到设备配置", + "no-device-profiles-text": "未找到设备配置", "search": "查找设备配置", - "selected-device-profiles": "已选择{ count, plural, 1 {1个设备配置} other {#个设备配置} }", - "no-device-profiles-matching": "找不到与'{{entity}}'匹配的设备配置。", + "selected-device-profiles": "已选择 { count, plural, 1 {# 个设备配置} other {# 个设备配置} }", + "no-device-profiles-matching": "未找到与 '{{entity}}' 匹配的设备配置。", "device-profile-required": "设备配置必填", - "idCopiedMessage": "设备配置ID已复制到剪贴板", + "idCopiedMessage": "设备配置 ID 已复制到剪贴板", "set-default": "设为默认设备配置", "delete": "删除设备配置", - "copyId": "复制设备配置ID", - "name-max-length": "名称长度不能大于256", + "copyId": "复制设备配置 ID", + "name-max-length": "名称长度必须少于256个字符", "new-device-profile-name": "设备配置名称", "new-device-profile-name-required": "设备配置名称必填。", "name": "名称", - "name-required": "名称是必填的。", + "name-required": "名称是必需的。", "type": "配置类型", "type-required": "配置类型必填。", "type-default": "默认", @@ -1307,30 +1307,30 @@ "transport-type-mqtt": "MQTT", "transport-type-mqtt-hint": "启用高级MQTT传输设置", "transport-type-coap": "CoAP", - "transport-type-coap-hint": "启用高级CoAP传输设置", + "transport-type-coap-hint": "启用高级 CoAP 传输设置", "transport-type-lwm2m": "LWM2M", "transport-type-lwm2m-hint": "LWM2M传输类型", "transport-type-snmp": "SNMP", - "transport-type-snmp-hint": "指定SNMP传输配置", - "description": "描述", + "transport-type-snmp-hint": "指定 SNMP 传输配置", + "description": "说明", "default": "默认", "profile-configuration": "配置", "transport-configuration": "传输配置", "default-rule-chain": "默认规则链", "mobile-dashboard": "移动端仪表板", - "mobile-dashboard-hint": "移动应用程序用作设备详细信息仪表板", - "select-queue-hint": "从下拉列表中选择。", - "delete-device-profile-title": "确定要删除'{{deviceProfileName}}'设备配置?", - "delete-device-profile-text": "请注意:确认删除后设备配置数据将无法恢复。", - "delete-device-profiles-title": "确定要删除{ count, plural, 1 {1个设备配置} other {#个设备配置} }?", - "delete-device-profiles-text": "请注意:确认删除后设备配置数据将无法恢复。", - "set-default-device-profile-title": "确实将'{{deviceProfileName}}'设备配置设为默认吗?", - "set-default-device-profile-text": "确认后设备配置将被标记为默认,并将默认指定给新设备。", - "no-device-profiles-found": "找不到设备配置。", - "create-new-device-profile": "创建新的设备配置!", - "mqtt-device-topic-filters": "MQTT设备Topic过滤器", - "mqtt-device-topic-filters-unique": "MQTT设备Topic过滤器必须唯一。", - "mqtt-device-payload-type": "MQTT设备Payload", + "mobile-dashboard-hint": "被移动端应用用作设备详情仪表板", + "select-queue-hint": "从下拉列表中选择或添加自定义名称。", + "delete-device-profile-title": "确定要删除 '{{deviceProfileName}}' 设备配置吗?", + "delete-device-profile-text": "请注意:确认后,设备配置和所有相关数据将不可恢复。", + "delete-device-profiles-title": "确定要删除 { count, plural, 1 {# 个设备配置} other {# 个设备配置} }吗?", + "delete-device-profiles-text": "请注意:确认后,所有选定的设备配置将被删除,所有相关数据将不可恢复。", + "set-default-device-profile-title": "确定要将设备配置 '{{deviceProfileName}}' 设为默认值吗?", + "set-default-device-profile-text": "确认后,设备配置将被标记为默认,并将用于未指定配置的新设备。", + "no-device-profiles-found": "未找到设备配置。", + "create-new-device-profile": "创建一个新的!", + "mqtt-device-topic-filters": "MQTT 设备 Topic 筛选器", + "mqtt-device-topic-filters-unique": "MQTT设备 Topic 筛选器必须唯一。", + "mqtt-device-payload-type": "MQTT 设备 Payload", "mqtt-device-payload-type-json": "JSON", "mqtt-device-payload-type-proto": "Protobuf", "mqtt-enable-compatibility-with-json-payload-format": "启用与其他payload格式兼容。", @@ -1348,52 +1348,52 @@ "snmp-oid": "OID", "transport-device-payload-type-json": "JSON", "transport-device-payload-type-proto": "Protobuf", - "mqtt-payload-type-required": "Payload类型必填。", - "coap-device-type": "CoAP设备类型", - "coap-device-payload-type": "CoAP设备消息Payload", - "coap-device-type-required": "CoAP设备类型必填。", + "mqtt-payload-type-required": "Payload 类型必填。", + "coap-device-type": "CoAP 设备类型", + "coap-device-payload-type": "CoAP 设备消息 Payload", + "coap-device-type-required": "CoAP 设备类型必填。", "coap-device-type-default": "默认", "coap-device-type-efento": "Efento NB-IoT", "support-level-wildcards": "支持单[+]和多级[#]通配符。", - "telemetry-topic-filter": "遥测数据topic过滤器", - "telemetry-topic-filter-required": "遥测数据topic过滤器必填。", - "attributes-topic-filter": "属性主题过滤器", - "attributes-topic-filter-required": "属性主题过滤器必填。", - "telemetry-proto-schema": "遥测数据proto schema", - "telemetry-proto-schema-required": "遥测数据proto schema必填。", - "attributes-proto-schema": "属性proto schema", - "attributes-proto-schema-required": "属性proto schema必填。", - "rpc-response-proto-schema": "RPC响应proto schema", - "rpc-response-proto-schema-required": "RPC响应proto schema必填。", - "rpc-response-topic-filter": "RPC响应Topic过滤器", - "rpc-response-topic-filter-required": "RPC响应Topic过滤器必填。", - "rpc-request-proto-schema": "RPC请求proto schema", - "rpc-request-proto-schema-required": "RPC请求proto schema必填。", - "rpc-request-proto-schema-hint": "RPC请求消息应始终包含字段:string method = 1; int32 requestId = 2; 和params = 3的任何数据类型。", - "not-valid-pattern-topic-filter": "无效的Topic过滤器模式", + "telemetry-topic-filter": "遥测数据 topic 筛选器", + "telemetry-topic-filter-required": "遥测数据 topic 筛选器必填。", + "attributes-topic-filter": "Attributes topic filter", + "attributes-topic-filter-required": "Attributes topic 筛选器必填。", + "telemetry-proto-schema": "遥测数据 proto schema", + "telemetry-proto-schema-required": "遥测数据 proto schema 必填。", + "attributes-proto-schema": "Attributes proto schema", + "attributes-proto-schema-required": "Attributes proto schema 必填。", + "rpc-response-proto-schema": "RPC 响应 proto schema", + "rpc-response-proto-schema-required": "RPC 响应 proto schema 必填。", + "rpc-response-topic-filter": "RPC响应 Topic 筛选器", + "rpc-response-topic-filter-required": "RPC响应 Topic 筛选器必填。", + "rpc-request-proto-schema": "RPC 请求 proto schema", + "rpc-request-proto-schema-required": "RPC 请求 proto schema 必填。", + "rpc-request-proto-schema-hint": "RPC 请求消息应始终包含字段:string method = 1; int32 requestId = 2; 和params = 3的任何数据类型。", + "not-valid-pattern-topic-filter": "无效的 Topic 筛选器模式", "not-valid-single-character": "单级通配符的使用无效", "not-valid-multi-character": "多级通配符的使用无效", - "single-level-wildcards-hint": "[+] 适用于任何主题过滤,例如:v1/devices/+/telemetry或+/devices/+/attributes。", - "multi-level-wildcards-hint": "[#]可以替换topic本身,并且必须是topic的最后一个符号,例如:#或v1/devices/me/#。", - "alarm-rules": "报警规则", - "alarm-rules-with-count": "报警规则({{count}})", - "no-alarm-rules": "未配置报警规则", - "add-alarm-rule": "添加报警规则", - "edit-alarm-rule": "编辑报警规则", - "alarm-type": "报警类型", - "alarm-type-required": "报警类型必填。", + "single-level-wildcards-hint": "[+] is suitable for any topic filter level。例如:v1/devices/+/telemetry or +/devices/+/attributes。", + "multi-level-wildcards-hint": "[#]可以替换 topic filter 本身,并且必须是 topic 的最后一个符号。例如:# or v1/devices/me/#。", + "alarm-rules": "告警规则", + "alarm-rules-with-count": "告警规则 ({{count}})", + "no-alarm-rules": "未配置告警规则", + "add-alarm-rule": "添加告警规则", + "edit-alarm-rule": "编辑告警规则", + "alarm-type": "告警类型", + "alarm-type-required": "告警类型必填。", "alarm-type-unique": "警报类型在设备配置警报规则中必须唯一。", - "alarm-type-max-length": "警报类型长度必须少于256个字符", - "create-alarm-pattern": "创建{{alarmType}}报警", - "create-alarm-rules": "创建报警规则", + "alarm-type-max-length": "Alarm type should be less than 256", + "create-alarm-pattern": "创建 {{alarmType}} 告警", + "create-alarm-rules": "创建告警规则", "no-create-alarm-rules": "未配置创建条件", - "add-create-alarm-rule-prompt": "请添加创建报警规则", - "clear-alarm-rule": "清除报警规则", + "add-create-alarm-rule-prompt": "请添加创建告警规则", + "clear-alarm-rule": "清除告警规则", "no-clear-alarm-rule": "未配置明确条件", "add-create-alarm-rule": "添加创建条件", "add-clear-alarm-rule": "添加清除条件", - "select-alarm-severity": "选择报警严重性", - "alarm-severity-required": "报警严重级别必填。", + "select-alarm-severity": "选择告警严重性", + "alarm-severity-required": "告警严重级别必填。", "condition-duration": "条件持续时间", "condition-duration-value": "持续时间值", "condition-duration-time-unit": "时间单位", @@ -1408,15 +1408,15 @@ "alarm-rule-mobile-dashboard": "移动仪表盘", "alarm-rule-mobile-dashboard-hint": "用于警报详细报告", "alarm-rule-no-mobile-dashboard": "未选择仪表板", - "propagate-alarm": "向相关实体传播警报", + "propagate-alarm": "传递警报", "alarm-rule-relation-types-list": "要传递的关联类型", - "alarm-rule-relation-types-list-hint": "如果未选择传递关联类型,则将不按关联类型过滤而传递报警。", + "alarm-rule-relation-types-list-hint": "如果未选择传递关联类型,则将不按关联类型过滤而传递告警。", "propagate-alarm-to-owner": "向实体所有者(客户或租户)传播警报", "propagate-alarm-to-tenant": "向租户传播警报", - "alarm-details": "报警详细信息", - "alarm-rule-condition": "报警规则条件", - "enter-alarm-rule-condition-prompt": "请添加报警规则条件", - "edit-alarm-rule-condition": "编辑报警规则条件", + "alarm-details": "告警详细信息", + "alarm-rule-condition": "告警规则条件", + "enter-alarm-rule-condition-prompt": "请添加告警规则条件", + "edit-alarm-rule-condition": "编辑告警规则条件", "device-provisioning": "设备预配置", "provision-strategy": "预配置策略", "provision-strategy-required": "预配置策略必填。", @@ -1435,7 +1435,7 @@ "condition-type": "条件类型", "condition-type-simple": "简单", "condition-type-duration": "持续时间", - "condition-during": "在{{during}}期间", + "condition-during": "在 {{during}} 期间", "condition-during-dynamic": "在\"{{ attribute }}\" ({{during}})", "condition-type-repeating": "重复", "condition-type-required": "条件类型必填。", @@ -1443,12 +1443,12 @@ "condition-repeating-value-range": "事件计数应在1到2147483647之间。", "condition-repeating-value-pattern": "事件计数应为整数。", "condition-repeating-value-required": "事件计数值必填。", - "condition-repeat-times": "重复{ count, plural, 1 {#次} other {#次} }", - "condition-repeat-times-dynamic": "重复\"{ attribute }\" ({ count, plural, 1 {1时间} other {#时间} })", + "condition-repeat-times": "重复 { count, plural, 1 {# 次} other {# 次} }", + "condition-repeat-times-dynamic": "重复\"{ attribute }\" ({ count, plural, 1 {1 时间} other {# 时间} })", "schedule-type": "计划程序类型", "schedule-type-required": "计划类型必填。", "schedule": "启用规则:", - "edit-schedule": "编辑报警日程表", + "edit-schedule": "编辑告警日程表", "schedule-any-time": "始终启用", "schedule-specific-time": "定时启用", "schedule-custom": "自定义启用", @@ -1471,7 +1471,7 @@ "export": "导出设备配置", "export-failed-error": "无法导出设备配置文件: {{error}}", "device-profile-file": "设备配置文件", - "invalid-device-profile-file-error": "设备配置数据结构无效导入失败。", + "invalid-device-profile-file-error": "无法导入设备配置:无效的设备配置数据结构。", "power-saving-mode": "节能模式", "power-saving-mode-type": { "default": "使用设备配置的节能模式", @@ -1671,107 +1671,107 @@ "row": "排" }, "edge": { - "edge": "Edge", - "edge-instances": "Edge实例", - "edge-file": "Edge文件", + "edge": "边缘", + "edge-instances": "边缘实例", + "edge-file": "边缘文件", "name-max-length": "名称长度必须少于256个字符", "label-max-length": "标签长度必须少于256个字符", "type-max-length": "类型长度必须少于256个字符", - "management": "Edge管理", - "no-edges-matching": "没有找到匹配的Edge'{{entity}}'。", - "add": "增加Edge", - "no-edges-text": "没有找到Edge", - "edge-details": "Edge详情", - "add-edge-text": "增加新的Edge", - "delete": "删除Edge", - "delete-edge-title": "你确定删除Edge'{{edgeName}}'?", - "delete-edge-text": "请注意:确认删除后Edge以及所有关联数据将无法恢复。", - "delete-edges-title": "你确认删除Edge{ count, plural, 1 {1个Edge} other {#个Edge} }?", - "delete-edges-text": "请注意:确认删除后选定的Edge以及所有关联数据将无法恢复。", + "management": "边缘管理", + "no-edges-matching": "未找到匹配的边缘 '{{entity}}'。", + "add": "增加边缘", + "no-edges-text": "未找到边缘", + "edge-details": "边缘详情", + "add-edge-text": "增加新的边缘", + "delete": "删除边缘", + "delete-edge-title": "确定删除边缘 '{{edgeName}}'吗?", + "delete-edge-text": "当心, 确认后,边缘以及所有关联数据将不可恢复。", + "delete-edges-title": "确定删除 { count, plural, 1 {1 个边缘} other {# 个边缘} }吗?", + "delete-edges-text": "当心, 确认后,选定的边缘以及所有关联数据将不可恢复。", "name": "名称", - "name-starts-with": "Edge名称前缀", + "name-starts-with": "边缘名称前缀", "name-required": "名称必填。", - "description": "描述", + "description": "说明", "details": "详情", "events": "事件", - "copy-id": "复制Edge编号", - "id-copied-message": "Edge编号已经复制到剪切板", - "sync": "同步Edge", - "edge-required": "Edge必填。", - "edge-type": "Edge类型", - "edge-type-required": "Edge类型必填。", + "copy-id": "复制边缘编号", + "id-copied-message": "边缘编号已经复制到剪切板", + "sync": "同步边缘", + "edge-required": "边缘必填。", + "edge-type": "边缘类型", + "edge-type-required": "边缘类型必填。", "event-action": "事件行动", "entity-id": "实体编号", - "select-edge-type": "选择Edge类型", + "select-edge-type": "选择边缘类型", "assign-to-customer": "分配给客户", - "assign-to-customer-text": "请选择需要分配给Edge的客户", - "assign-edge-to-customer": "分配Edge给客户", - "assign-edge-to-customer-text": "请选择需要分配给Edge的客户", + "assign-to-customer-text": "请选择需要分配给边缘的客户", + "assign-edge-to-customer": "分配边缘给客户", + "assign-edge-to-customer-text": "请选择需要分配给边缘的客户", "assignedToCustomer": "分配给客户", - "edge-public": "Edge公开", + "edge-public": "边缘公开", "assigned-to-customer": "分配给: {{customerTitle}}", "unassign-from-customer": "取消分配客户", - "unassign-edge-title": "你确定取消分配Edge'{{edgeName}}'?", - "unassign-edge-text": "确定后Edge将被取消分配,并且客户将无法访问。", - "unassign-edges-title": "你确定要取消分配{count,plural,1 {1个Edge} other {#个Edge} }吗?", - "unassign-edges-text": "确定后所有选定的Edge将被取消分配,并且客户将无法访问。", + "unassign-edge-title": "确定取消分配边缘 '{{edgeName}}' 吗?", + "unassign-edge-text": "确定后,边缘将被取消分配,并且客户将无法访问。", + "unassign-edges-title": "确定要取消分配 {count,plural,1 {1 个边缘} other {# 个边缘} } 吗?", + "unassign-edges-text": "确定后,所有选定的边缘将被取消分配,并且客户将无法访问。", "make-public": "公开", - "make-public-edge-title": "你确定要将Edge'{{edgeName}}'设为公开吗?", - "make-public-edge-text": "确认后Edge数据将被设为公开并允许访问。", + "make-public-edge-title": "确定要将边缘 '{{edgeName}}' 设为公开吗?", + "make-public-edge-text": "确认后,边缘及其所有数据将被设为公开并可被其他人访问。", "make-private": "私有", "public": "公开", - "make-private-edge-title": "你确定要将Edge'{{edgeName}}'设为私有?", - "make-private-edge-text": "确认后Edge数据将被设为私有并不允许访问。", - "import": "导入Edge", + "make-private-edge-title": "确定要将边缘 '{{edgeName}}' 设为私有吗?", + "make-private-edge-text": "确认后,边缘及其所有数据将被设为私有,不被其他人访问。", + "import": "导入边缘", "label": "标签", "load-entity-error": "加载数据失败,实体已经被删除。", - "assign-new-edge": "分配新Edge", - "unassign-from-edge": "取消分配Edge", - "edge-key": "Edge键", - "copy-edge-key": "复制Edge键", - "edge-key-copied-message": "Edge键已经被复制到剪切板", - "edge-secret": "Edge密钥", - "copy-edge-secret": "复制Edge密钥", - "edge-secret-copied-message": "Edge密钥已经被复制到剪切板", - "edge-assets": "Edge资产", - "edge-devices": "Edge设备", - "edge-entity-views": "Edge实体视图", - "edge-dashboards": "Edge仪表板", - "edge-rulechains": "Edge规则链", - "assets": "Edge资产", - "devices": "Edge设备", - "entity-views": "Edge实体视图", - "dashboard": "Edge仪表板", - "dashboards": "Edge仪表板", + "assign-new-edge": "分配新边缘", + "unassign-from-edge": "取消分配边缘", + "edge-key": "边缘键", + "copy-edge-key": "复制边缘键", + "edge-key-copied-message": "边缘键已经被复制到剪切板", + "edge-secret": "边缘密钥", + "copy-edge-secret": "复制边缘密钥", + "edge-secret-copied-message": "边缘密钥已经被复制到剪切板", + "edge-assets": "边缘资产", + "edge-devices": "边缘设备", + "edge-entity-views": "边缘实体视图", + "edge-dashboards": "边缘仪表板", + "edge-rulechains": "边缘规则链", + "assets": "边缘资产", + "devices": "边缘设备", + "entity-views": "边缘实体视图", + "dashboard": "边缘仪表板", + "dashboards": "边缘仪表板", "rulechain-templates": "规则链模版", "rulechains": "规则链", - "search": "搜索Edge", - "selected-edges": "已选择{ count, plural, 1 {1个Edge} other {#个Edge} }", - "any-edge": "任何Edge", - "no-edge-types-matching": "没有找到匹配的Edge类型'{{entitySubtype}}'。", - "edge-type-list-empty": "没有选择Edge类型。", - "edge-types": "Edge类型", - "enter-edge-type": "输入Edge类型", + "search": "搜索边缘", + "selected-edges": "{ count, plural, 1 {1 个边缘} other {# 个边缘} } 被选中", + "any-edge": "任何边缘", + "no-edge-types-matching": "未找到匹配的边缘类型 '{{entitySubtype}}'。", + "edge-type-list-empty": "没有选择边缘类型。", + "edge-types": "边缘类型", + "enter-edge-type": "输入边缘类型", "deployed": "已部署", "pending": "待定", "downlinks": "下行", - "no-downlinks-prompt": "没有找到下行", + "no-downlinks-prompt": "未找到下行", "sync-process-started-successfully": "同步处理开始成功!", - "missing-related-rule-chains-title": "Edge缺少关联规则链", - "missing-related-rule-chains-text": "分配给Edge的规则链使用规则节点将消息转发给未分配给当前Edge的规则链。

缺少的规则链列表:
{{missingRuleChains}}", - "widget-datasource-error": "组件只支持Edge实体数据源" + "missing-related-rule-chains-title": "边缘缺少关联规则链", + "missing-related-rule-chains-text": "分配给边缘的规则链使用规则节点将消息转发给未分配给当前边缘的规则链。

缺少的规则链列表:
{{missingRuleChains}}", + "widget-datasource-error": "组件只支持边缘实体数据源" }, "edge-event": { "type-dashboard": "仪表板", "type-asset": "资产", "type-device": "设备", - "type-device-profile": "设备配置", - "type-asset-profile": "资产配置", + "type-device-profile": "设备概要", + "type-asset-profile": "Asset Profile", "type-entity-view": "实体视图", "type-alarm": "告警", "type-rule-chain": "规则链", "type-rule-chain-metadata": "规则链元数据", - "type-edge": "Edge", + "type-edge": "边缘", "type-user": "用户", "type-customer": "客户", "type-relation": "关联", @@ -1791,15 +1791,15 @@ "action-type-relation-add-or-update": "关联增加或更新", "action-type-relation-deleted": "关联删除", "action-type-rpc-call": "RPC调用", - "action-type-alarm-ack": "警报确认", - "action-type-alarm-clear": "警报清除", - "action-type-assigned-to-edge": "分配给Edge", - "action-type-unassigned-from-edge": "取消分配Edge", + "action-type-alarm-ack": "告警确认", + "action-type-alarm-clear": "告警清除", + "action-type-assigned-to-edge": "分配给边缘", + "action-type-unassigned-from-edge": "取消分配边缘", "action-type-credentials-request": "认证请求", "action-type-entity-merge-request": "实体合并请求" }, "error": { - "unable-to-connect": "无法连接到服务器,请检查你的互联网连接。", + "unable-to-connect": "无法连接到服务器!请检查您的互联网连接。", "unhandled-error-code": "未处理的错误代码: {{errorCode}}", "unknown-error": "未知错误" }, @@ -1810,10 +1810,10 @@ "aliases": "实体别名", "entity-alias": "实体别名", "unable-delete-entity-alias-title": "无法删除实体别名", - "unable-delete-entity-alias-text": "实体别名'{{entityAlias}}'被以下部件使用不能删除:
{{widgetsList}}", - "duplicate-alias-error": "别名'{{alias}}'重复。
同一仪表板别名必须唯一。", - "missing-entity-filter-error": "别名'{{alias}}'缺少过滤器", - "configure-alias": "别名'{{alias}}'配置", + "unable-delete-entity-alias-text": "实体别名 '{{entityAlias}}' 被以下部件使用不能删除:
{{widgetsList}}", + "duplicate-alias-error": "别名 '{{alias}}' 重复。
同一仪表板别名必须唯一。", + "missing-entity-filter-error": "别名 '{{alias}}' 缺少筛选器", + "configure-alias": "别名 '{{alias}}' 配置", "alias": "别名", "alias-required": "实体别名必填。", "remove-alias": "移除实体别名", @@ -1824,107 +1824,107 @@ "entity-type-list": "实体类型列表", "any-entity": "任意实体", "enter-entity-type": "输入实体类型", - "no-entities-matching": "没有找到符合'{{entity}}'的实体。", - "no-entity-types-matching": "没有找到符合'{{entityType}}'类型的实体。", + "no-entities-matching": "未找到匹配 '{{entity}}' 的实体。", + "no-entity-types-matching": "未找到匹配 '{{entityType}}' 类型的实体。", "name-starts-with": "名称开始于", "help-text": "根据需要可以使用'%'进行匹配,例如:'%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'。", - "use-entity-name-filter": "用户过滤器", + "use-entity-name-filter": "用户筛选器", "entity-list-empty": "没有选择实体。", "entity-type-list-empty": "没有选择实体类型。", - "entity-name-filter-required": "实体名过滤器必填。", - "entity-name-filter-no-entity-matched": "没有找到以'{{entity}}'开头的实体", + "entity-name-filter-required": "实体名筛选器必填。", + "entity-name-filter-no-entity-matched": "未找到以 '{{entity}}' 开头的实体", "all-subtypes": "全部", "select-entities": "选择实体", - "no-aliases-found": "没有找到别名", - "no-alias-matching": "没有找到'{{alias}}'", - "create-new-alias": "创建新的别名!", - "key": "数据键", + "no-aliases-found": "未找到别名", + "no-alias-matching": "未找到 '{{alias}}'", + "create-new-alias": "创建一个新的!", + "key": "键名", "key-name": "键名", - "no-keys-found": "没有找到键", - "no-key-matching": "没有找到键'{{key}}'", - "create-new-key": "创建新的键!", + "no-keys-found": "未找到键名", + "no-key-matching": "未找到键名 '{{key}}'", + "create-new-key": "创建一个新的!", "type": "类型", "type-required": "实体类型必填。", "type-device": "设备", "type-devices": "设备", - "list-of-devices": "{ count, plural, 1 {1个设备} other {列表#个设备} }", - "device-name-starts-with": "以'{{prefix}}'开头的设备", + "list-of-devices": "{ count, plural, 1 {1 个设备} other {# 个设备} }", + "device-name-starts-with": "以 '{{prefix}}' 开头的设备", "type-device-profile": "设备配置", "type-device-profiles": "设备配置", - "list-of-device-profiles": "{ count, plural, 1 {1个设备配置} other {列表#个设备配置} }", - "device-profile-name-starts-with": "名称以'{{prefix}}'开头的设备配置", + "list-of-device-profiles": "{ count, plural, 1 {1 个设备配置} other {# 个设备配置} }", + "device-profile-name-starts-with": "名称以 '{{prefix}}' 开头的设备配置", "type-asset-profile": "资产配置", "type-asset-profiles": "资产配置", - "list-of-asset-profiles": "{ count, plural, 1 {1个资产配置} other {列表#资产配置} }", - "asset-profile-name-starts-with": "名称以'{{prefix}}'开头的资产配置", + "list-of-asset-profiles": "{ count, plural, 1 {One asset profile} other {List of # asset profiles} }", + "asset-profile-name-starts-with": "Asset profiles whose names start with '{{prefix}}'", "type-asset": "资产", "type-assets": "资产", - "list-of-assets": "{ count, plural, 1 {1个资产} other {列表#个资产} }", + "list-of-assets": "{ count, plural, 1 {1 个资产} other {# 个资产} }", "asset-name-starts-with": "以 '{{prefix}}' 开头的资产", "type-entity-view": "实体视图", "type-entity-views": "实体视图", - "list-of-entity-views": "{ count, plural, 1 {1个实体视图} other {列表#个实体视图} }", - "entity-view-name-starts-with": "以'{{prefix}}'开头的实体视图", + "list-of-entity-views": "{ count, plural, 1 {1 个实体视图} other {# 个实体视图} }", + "entity-view-name-starts-with": "以 '{{prefix}}' 开头的实体视图", "type-rule": "规则", "type-rules": "规则", - "list-of-rules": "{ count, plural, 1 {1个规则} other {列表#个规则} }", - "rule-name-starts-with": "以'{{prefix}}' 开头的规则", + "list-of-rules": "{ count, plural, 1 {1 个规则} other {# 个规则} }", + "rule-name-starts-with": "以 '{{prefix}}' 开头的规则", "type-plugin": "插件", "type-plugins": "插件", - "list-of-plugins": "{ count, plural, 1 {1个插件} other {列表#个插件} }", - "plugin-name-starts-with": "以'{{prefix}}'开头的插件", + "list-of-plugins": "{ count, plural, 1 {1 个插件} other {# 个插件} }", + "plugin-name-starts-with": "以 '{{prefix}}' 开头的插件", "type-tenant": "租户", "type-tenants": "租户", - "list-of-tenants": "{ count, plural, 1 {1个租户} other {列表#个租户} }", - "tenant-name-starts-with": "以'{{prefix}}'开头的租户", + "list-of-tenants": "{ count, plural, 1 {1 个租户} other {# 个租户} }", + "tenant-name-starts-with": "以 '{{prefix}}' 开头的租户", "type-tenant-profile": "租户简介", "type-tenant-profiles": "租户配置", - "list-of-tenant-profiles": "{ count, plural, 1 {1个租户配置} other {列表#个租户配置} }", - "tenant-profile-name-starts-with": "名称以'{{prefix}}'开头的租户配置", + "list-of-tenant-profiles": "{ count, plural, 1 {1 个租户配置} other {# 个租户配置} }", + "tenant-profile-name-starts-with": "名称以 '{{prefix}}' 开头的租户配置", "type-customer": "客户", "type-customers": "客户", - "list-of-customers": "{ count, plural, 1 {1个客户} other {列表#个客户} }", - "customer-name-starts-with": "以'{{prefix}}'开头的客户", + "list-of-customers": "{ count, plural, 1 {1 个客户} other {# 个客户} }", + "customer-name-starts-with": "以 '{{prefix}}' 开头的客户", "type-user": "用户", "type-users": "用户", - "list-of-users": "{ count, plural, 1 {1个用户} other {列表#个用户} }", - "user-name-starts-with": "以'{{prefix}}'开头的用户", + "list-of-users": "{ count, plural, 1 {1 个用户} other {# 个用户} }", + "user-name-starts-with": "以 '{{prefix}}' 开头的用户", "type-dashboard": "仪表板", "type-dashboards": "仪表板", - "list-of-dashboards": "{ count, plural, 1 {1个仪表板} other {列表#个仪表板} }", - "dashboard-name-starts-with": "以'{{prefix}}'开头的仪表板", - "type-alarm": "警报", - "type-alarms": "警报", - "list-of-alarms": "{ count, plural, 1 {1个警报} other {列表#个警报} }", - "alarm-name-starts-with": "以'{{prefix}}'开头的警报", + "list-of-dashboards": "{ count, plural, 1 {1 个仪表板} other {# 个仪表板} }", + "dashboard-name-starts-with": "以 '{{prefix}}' 开头的仪表板", + "type-alarm": "告警", + "type-alarms": "告警", + "list-of-alarms": "{ count, plural, 1 {1 个告警} other {# 个告警} }", + "alarm-name-starts-with": "以 '{{prefix}}' 开头的告警", "type-rulechain": "规则链", "type-rulechains": "规则链库", - "list-of-rulechains": "{ count, plural, 1 {1个规则链} other {列表#个规则链} }", - "rulechain-name-starts-with": "规则链前缀名称'{{prefix}}'", + "list-of-rulechains": "{ count, plural, 1 {1 个规则链} other {# 个规则链} }", + "rulechain-name-starts-with": "规则链前缀名称 '{{prefix}}'", "type-rulenode": "规则节点", "type-rulenodes": "规则节点", - "list-of-rulenodes": "{ count, plural, 1 {1个规则节点} other {列表#个规则节点} }", - "rulenode-name-starts-with": "名称以'{{prefix}}'开头的规则节点", + "list-of-rulenodes": "{ count, plural, 1 {1 个规则节点} other {# 个规则节点} }", + "rulenode-name-starts-with": "名称以 '{{prefix}}' 开头的规则节点", "type-current-customer": "当前客户", "type-current-tenant": "当前租户", "type-current-user": "当前用户", "type-current-user-owner": "当前用户所有者", - "type-widgets-bundle": "部件包", - "type-widgets-bundles": "部件包", - "list-of-widgets-bundles": "{ count, plural, 1 {1个部件包} other {列表#部件包} }", + "type-widgets-bundle": "Widgets bundle", + "type-widgets-bundles": "Widgets bundles", + "list-of-widgets-bundles": "{ count, plural, 1 {1 个部件包} other {列表 # 部件包} }", "search": "实体检索", - "selected-entities": "已选择 { count, plural, 1 {1个实体} other {#个实体} }", + "selected-entities": "已选择 { count, plural, 1 {# 个实体} other {# 个实体} }", "entity-name": "实体名", "entity-label": "实体标签", "details": "实体详情", - "no-entities-prompt": "没有找到实体", + "no-entities-prompt": "未找到实体", "no-data": "无数据", "columns-to-display": "要显示的列", - "type-api-usage-state": "Api状态统计", - "type-edge": "Edge", - "type-edges": "Edge", - "list-of-edges": "{ count, plural, 1 {1个Edge} other {列表#个Edge} }", - "edge-name-starts-with": "以'{{prefix}}'开头的Edge", + "type-api-usage-state": "Api使用状态", + "type-edge": "边缘", + "type-edges": "边缘", + "list-of-edges": "{ count, plural, 1 {1 个边缘} other {列表 # 个边缘} }", + "edge-name-starts-with": "以 '{{prefix}}' 开头的边缘", "type-tb-resource": "资源", "type-ota-package": "OTA包" }, @@ -1933,14 +1933,14 @@ "name": "名称", "type": "类型", "first-name": "名字", - "last-name": "姓", + "last-name": "姓氏", "email": "电子邮件", "title": "标题", "country": "国家", "state": "省/州", "city": "城市", "address": "地址", - "address2": "地址2", + "address2": "地址二", "zip": "邮政编码", "phone": "电话", "label": "标签" @@ -1953,76 +1953,76 @@ "view-entity-views": "查看实体视图", "entity-view-alias": "实体视图别名", "aliases": "实体视图别名", - "no-alias-matching": "'{{alias}}'没有找到。", - "no-aliases-found": "找不到别名。", - "no-key-matching": "'{{key}}'没有找到。", - "no-keys-found": "找不到密钥。", - "create-new-alias": "创建新的别名!", - "create-new-key": "创建新的键!", - "duplicate-alias-error": "找到重复别名'{{alias}}'。
实体视图别名必须是唯一的。", - "configure-alias": "配置'{{alias}}'别名", - "no-entity-views-matching": "找不到与'{{entity}}'匹配的实体视图。", + "no-alias-matching": "未找到匹配 '{{alias}}' 的别名。", + "no-aliases-found": "未找到别名。", + "no-key-matching": "'{{key}}' 未找到。", + "no-keys-found": "未找到密钥。", + "create-new-alias": "创建一个新的!", + "create-new-key": "创建一个新的!", + "duplicate-alias-error": "找到重复别名 '{{alias}}'。
实体视图别名必须是唯一的。", + "configure-alias": "配置 '{{alias}}' 别名", + "no-entity-views-matching": "未找到与 '{{entity}}' 匹配的实体视图。", "public": "公开", "alias": "别名", "alias-required": "实体视图别名必填。", - "remove-alias": "移除实体视图别名", + "remove-alias": "删除实体视图别名", "add-alias": "添加实体视图别名", "name-starts-with": "名称前缀", "help-text": "根据需要可以使用'%'进行匹配,例如:'%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'。", "entity-view-list": "实体视图列表", - "use-entity-view-name-filter": "使用过滤器", + "use-entity-view-name-filter": "使用筛选器", "entity-view-list-empty": "没有被选中的实体视图", - "entity-view-name-filter-required": "实体视图名称过滤器必填。", - "entity-view-name-filter-no-entity-view-matched": "找不到以'{{entityView}}'开头的实体视图。", + "entity-view-name-filter-required": "实体视图名称筛选器必填。", + "entity-view-name-filter-no-entity-view-matched": "未找到以'{{entityView}}' 开头的实体视图。", "add": "添加实体视图", - "entity-view-public": "实体视图是公开的", + "entity-view-public": "实体视图是公共的", "assign-to-customer": "分配给客户", "assign-entity-view-to-customer": "将实体视图分配给客户", "assign-entity-view-to-customer-text": "请选择要分配给客户的实体视图", - "assign-entity-view-to-edge-title": "将实体视图分配给Edge", - "no-entity-views-text": "找不到实体视图", + "assign-entity-view-to-edge-title": "将实体视图分配给边缘", + "no-entity-views-text": "未找到实体视图", "assign-to-customer-text": "请选择客户分配实体视图", "entity-view-details": "实体视图详细信息", "add-entity-view-text": "添加新实体视图", "delete": "删除实体视图", "assign-entity-views": "分配实体视图", - "assign-entity-views-text": "分配{ count, plural, 1 {1个实体视图} other {#个实体视图} }给客户", + "assign-entity-views-text": "分配 { count, plural, 1 {# 个实体视图} other {# 个实体视图} } 给客户", "delete-entity-views": "删除实体视图", "unassign-from-customer": "取消分配客户", "unassign-entity-views": "取消分配实体视图", - "unassign-entity-views-action-title": "从客户处取消分配{count,plural,1 {#实体视图} other {#实体视图} }", + "unassign-entity-views-action-title": "从客户处取消分配{count,plural,1 {# 实体视图} other {# 实体视图} }", "assign-new-entity-view": "分配新实体视图", - "delete-entity-view-title": "确定要删除实体视图'{{entityViewName}}'?", - "delete-entity-view-text": "请注意:确认删除后实体视图及其所有数据将无法恢复。", - "delete-entity-views-title": "确定要删除{ count, plural, 1 {1实体视图} other {#实体视图} }?", - "delete-entity-views-action-title": "删除{ count, plural, 1 {1个实体视图} other {#个实体视图} }", - "delete-entity-views-text": "请注意:确认删除后所有选定的实体视图后,所有的数据将无法恢复。", - "unassign-entity-view-title": "你确定要取消对'{{entityViewName}}'实体视图的分配吗?", - "unassign-entity-view-text": "确认后实体视图将取消分配,客户无法访问。", - "unassign-entity-view": "取消分配实体视图", - "unassign-entity-views-title": "确定要取消分配{ count, plural, 1 {1个实体视图} other {#个实体视图} }吗?", - "unassign-entity-views-text": "确认后所选定的实体视图将被取消分配,客户无法访问。", + "delete-entity-view-title": "确定要删除实体视图 '{{entityViewName}}'吗?", + "delete-entity-view-text": "请注意:确认后实体视图及其所有相关数据将不可恢复。", + "delete-entity-views-title": "确定要删除 { count, plural, 1 {# 实体视图} other {# 实体视图} }吗?", + "delete-entity-views-action-title": "删除 { count, plural, 1 {# 个实体视图} other {# 个实体视图} }", + "delete-entity-views-text": "请注意:确认后,所有选定的实体视图将被删除,所有相关的数据将不可恢复。", + "unassign-entity-view-title": "确定要取消对 '{{entityViewName}}' 实体视图的分配吗?", + "unassign-entity-view-text": "确认后,实体视图将未分配,客户无法访问。", + "unassign-entity-view": "未分配实体视图", + "unassign-entity-views-title": "确定要取消分配 { count, plural, 1 {# 个实体视图} other {# 个实体视图} } 吗?", + "unassign-entity-views-text": "确认后,所有选定的实体视图将被分配,客户无法访问。", "entity-view-type": "实体视图类型", "entity-view-type-required": "实体视图类型必填。", "select-entity-view-type": "选择实体视图类型", "enter-entity-view-type": "输入实体视图类型", "any-entity-view": "任何实体视图", - "no-entity-view-types-matching": "没有找到匹配'{{entitySubtype}}'的实体视图类型。", + "no-entity-view-types-matching": "未找到匹配 '{{entitySubtype}}' 的实体视图类型。", "entity-view-type-list-empty": "实体视图类型未选择。", "entity-view-types": "实体视图类型", "created-time": "创建时间", "name": "名称", "name-required": "名称必填。", - "name-max-length": "名称长度不能大于256", - "type-max-length": "实体视图类型长度不能大于256", - "description": "描述", + "name-max-length": "名称长度必须少于256个字符", + "type-max-length": "视图类型长度必须少于256个字符", + "description": "说明", "events": "事件", "details": "详情", "copyId": "复制实体视图ID", - "idCopiedMessage": "实体视图Id已复制到剪贴板", + "idCopiedMessage": "实体视图ID已复制到剪贴板", "assignedToCustomer": "分配给客户", "unable-entity-view-device-alias-title": "无法删除实体视图别名", - "unable-entity-view-device-alias-text": "实体视图别名'{{entityViewAlias}}'不能够被删除,因为它被下列部件所使用:
{{widgetsList}}", + "unable-entity-view-device-alias-text": "实体视图别名 '{{entityViewAlias}}' 不能够被删除,因为它被下列部件所使用:
{{widgetsList}}", "select-entity-view": "选择实体视图", "make-public": "实体视图设为公开", "make-private": "实体视图设为私有", @@ -2043,34 +2043,34 @@ "attributes-propagation": "属性传播", "attributes-propagation-hint": "每次保存或更新这个实体视图时将自动从目标实体复制指定的属性。由于性能原因目标实体属性不会在每次属性更改时传递到实体视图。你可以通过配置\"copy to view\"规则链中的规则节点,并将\"Post attributes\"和\"attributes Updated\"消息链接到新规则节点,从而启用自动传递。", "timeseries-data": "时间序列数据", - "timeseries-data-hint": "配置目标实体的时间序列数据键,以便实体视图可以访问这些键。此时间序列数据是只读的。", + "timeseries-data-hint": "配置目标实体的 Timeseries 数据键,以便实体视图可以访问这些键。此 Timeseries 数据是只读的。", "search": "查找实体视图", - "selected-entity-views": "已选择{ count, plural, 1 {1个实体视图} other {#个实体视图} }", - "make-public-entity-view-title": "你确定你想创建公开'{{entityViewName}}'实体视图?", - "make-public-entity-view-text": "确认后实体视图数据将被公开并允许访问。", - "make-private-entity-view-title": "你确定你想创建私有'{{entityViewName}}'实体视图?", - "make-private-entity-view-text": "确认后实体视图数据将被私有并不允许访问。", - "assign-entity-view-to-edge": "将实体视图分配给Edge", - "assign-entity-view-to-edge-text": "请选择要分配给Edge的实体视图", - "unassign-entity-view-from-edge-title": "你确定要取消对'{{entityViewName}}'实体视图的分配吗?", - "unassign-entity-view-from-edge-text": "确认后实体视图将取消分配,Edge无法访问。", - "unassign-entity-views-from-edge-action-title": "从Edge处取消分配{count,plural,1 {1个实体视图} other {#个实体视图} }", + "selected-entity-views": "已选择 { count, plural, 1 {# 个实体视图} other {# 个实体视图} }", + "make-public-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为公开吗?", + "make-public-entity-view-text": "确认后,实体视图及其所有数据将被公开并被他人访问。", + "make-private-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为私有吗?", + "make-private-entity-view-text": "确认后,实体视图及其所有数据将被私有化,无法被他人访问。", + "assign-entity-view-to-edge": "将实体视图分配给边缘", + "assign-entity-view-to-edge-text": "请选择要分配给边缘的实体视图", + "unassign-entity-view-from-edge-title": "确定要取消对 '{{entityViewName}}' 实体视图的分配吗?", + "unassign-entity-view-from-edge-text": "确认后,实体视图将未分配,边缘无法访问。", + "unassign-entity-views-from-edge-action-title": "从边缘处取消分配{count,plural,1 {# 实体视图} other {# 实体视图} }", "unassign-entity-view-from-edge": "未分配实体视图", - "unassign-entity-views-from-edge-title": "确定要取消分配{ count, plural, 1 {1个实体视图} other {#个实体视图} }吗?", - "unassign-entity-views-from-edge-text": "确认后实体视图将被分配,Edge无法访问。" + "unassign-entity-views-from-edge-title": "确定要取消分配 { count, plural, 1 {# 个实体视图} other {# 个实体视图} } 吗?", + "unassign-entity-views-from-edge-text": "确认后,所有选定的实体视图将被分配,边缘无法访问。" }, "event": { "event-type": "事件类型", - "events-filter": "事件过滤器", - "clean-events": "清除事件", + "events-filter": "事件筛选器", + "clean-events": "Clear Events", "type-error": "错误", "type-lc-event": "生命周期事件", "type-stats": "类型统计", "type-debug-rule-node": "调试", "type-debug-rule-chain": "调试", - "no-events-prompt": "找不到事件", + "no-events-prompt": "未找到事件", "error": "错误", - "alarm": "报警", + "alarm": "告警", "event-time": "事件时间", "server": "服务器", "body": "整体", @@ -2098,7 +2098,7 @@ "all-events": "全部", "has-error": "有错误", "entity-id": "实体ID", - "copy-entity-id": "Copy entity Id", + "copy-entity-id": "复制实体ID", "entity-type": "实体类型", "clear-filter": "清除过滤器", "clear-request-title": "清除所有事件", @@ -2106,10 +2106,10 @@ }, "extension": { "extensions": "扩展", - "selected-extensions": "已选择{ count, plural, 1 {1个扩展} other {#个扩展} }", + "selected-extensions": "已选择 { count, plural, 1 {# 个扩展} other {# 个扩展} }", "type": "类型", - "key": "数据键", - "value": "数据值", + "key": "键名", + "value": "价值", "id": "ID", "extension-id": "扩展ID", "extension-type": "扩展类型", @@ -2118,10 +2118,10 @@ "delete": "删除扩展", "add": "添加扩展", "edit": "编辑扩展", - "delete-extension-title": "确实要删除扩展名'{{extensionId}}'吗?", - "delete-extension-text": "请注意:确认删除后扩展数据将无法恢复。", - "delete-extensions-title": "确定要删除{ count, plural, 1 {1个扩展} other {#个扩展} }吗?", - "delete-extensions-text": "请注意:确认删除后扩展数据将无法恢复。", + "delete-extension-title": "确定要删除扩展 '{{extensionId}}'吗?", + "delete-extension-text": "请注意:确认后,扩展和所有相关数据将不可恢复。", + "delete-extensions-title": "确定要删除 { count, plural, 1 {# 个扩展} other {# 个扩展} }吗?", + "delete-extensions-text": "请注意:确认后,所有选定的扩展将被删除,所有相关数据将不可恢复。", "converters": "转换器", "converter-id": "转换器序号", "configuration": "配置", @@ -2134,34 +2134,34 @@ "custom": "定制", "to-double": "加倍", "transformer": "转换器", - "json-required": "转换器JSON必填。", + "json-required": "Transformer JSON 必填。", "json-parse": "无法解析转换器JSON。", "attributes": "属性", "add-attribute": "添加属性", "add-map": "添加映射元素", - "timeseries": "时间序列", - "add-timeseries": "添加时间序列", + "timeseries": "Timeseries", + "add-timeseries": "添加 Timeseries", "field-required": "必填字段", "brokers": "代理服务器组", "add-broker": "添加代理服务器", "host": "主机", "port": "端口", "port-range": "端口应该在1到65535的范围内。", - "ssl": "Ssl", + "ssl": "SSL", "credentials": "证书", "username": "用户名", "password": "密码", - "retry-interval": "以毫秒为单位的重试间隔", + "retry-interval": "重试间隔(毫秒)", "anonymous": "匿名", - "basic": "基本", + "basic": "Basic", "pem": "PEM", "ca-cert": "CA certificate file *", "private-key": "Private key file *", "cert": "Certificate file *", "no-file": "没有选择文件。", - "drop-file": "拖拽图像或", + "drop-file": "删除文件或单击以选择要上载的文件。", "mapping": "映射", - "topic-filter": "Topic过滤器", + "topic-filter": "Topic筛选器", "converter-type": "转换类型", "converter-json": "Json", "json-name-expression": "设备名称JSON表达式", @@ -2177,8 +2177,8 @@ "response-topic-expression": "响应主题表达式", "value-expression": "值表达式", "topic": "主题", - "timeout": "超时ms", - "converter-json-required": "转换JSON必填。", + "timeout": "超时时间(毫秒)", + "converter-json-required": "Converter JSON 必填。", "converter-json-parse": "无法解析转换JSON。", "filter-expression": "筛选条件表达式", "connect-requests": "连接请求", @@ -2191,11 +2191,11 @@ "add-attribute-update": "添加属性更新", "server-side-rpc": "服务端RPC", "add-server-side-rpc-request": "添加服务端RPC请求", - "device-name-filter": "设备名称过滤器", - "attribute-filter": "属性过滤器", - "method-filter": "方法过滤器", + "device-name-filter": "设备名称筛选器", + "attribute-filter": "属性筛选器", + "method-filter": "方法筛选器", "request-topic-expression": "请求主题表达式", - "response-timeout": "毫秒内响应超时", + "response-timeout": "响应超时(毫秒)", "topic-expression": "主题表达", "client-scope": "客户范围", "add-device": "添加服务器", @@ -2217,14 +2217,14 @@ "opc-device-node-pattern": "设备节点模式", "opc-device-name-pattern": "设备名称模式", "modbus-server": "Servers/slaves", - "modbus-add-server": "添加server/slave", - "modbus-add-server-prompt": "请添加server/slave", - "modbus-transport": "传输", + "modbus-add-server": "添加 server/slave", + "modbus-add-server-prompt": "请添加 server/slave", + "modbus-transport": "Transport", "modbus-tcp-reconnect": "自动重新连接", "modbus-rtu-over-tcp": "RTU over TCP", "modbus-port-name": "串口名称", "modbus-encoding": "编码", - "modbus-parity": "奇偶校验", + "modbus-parity": "奇偶性", "modbus-baudrate": "波特率", "modbus-databits": "数据位", "modbus-stopbits": "停止位", @@ -2233,9 +2233,9 @@ "modbus-unit-id": "单位编号", "modbus-unit-id-range": "单位ID应该在1到247的范围内", "modbus-device-name": "设备名称", - "modbus-poll-period": "轮询周期(ms)", - "modbus-attributes-poll-period": "轮询属性周期(ms)", - "modbus-timeseries-poll-period": "时间序列轮询周期(ms)", + "modbus-poll-period": "轮询周期 (毫秒)", + "modbus-attributes-poll-period": "轮询属性周期 (毫秒)", + "modbus-timeseries-poll-period": "Timeseries 轮询周期 (毫秒)", "modbus-poll-period-range": "轮询周期应为正值。", "modbus-tag": "标签", "modbus-function": "函数", @@ -2262,24 +2262,24 @@ "invalid-file-error": "无效的扩展文件" }, "filter": { - "add": "添加过滤器", - "edit": "编辑过滤器", - "name": "过滤器名称", - "name-required": "过滤器名称必填。", - "duplicate-filter": "同名过滤器已存在。", - "filters": "过滤器", - "unable-delete-filter-title": "无法删除过滤器", - "unable-delete-filter-text": "无法删除过滤器'{{filter}}'因为它由以下小部件使用:
{{widgetsList}}", - "duplicate-filter-error": "找到重复的过滤器'{{filter}}'。
过滤器在仪表板中必须是唯一的。", - "missing-key-filters-error": "过滤器'{{filter}}'的键名筛选条件缺失。", - "filter": "过滤器", + "add": "添加筛选器", + "edit": "编辑筛选器", + "name": "筛选器名称", + "name-required": "筛选器名称必填。", + "duplicate-filter": "同名筛选器已存在。", + "filters": "筛选器", + "unable-delete-filter-title": "无法删除筛选器", + "unable-delete-filter-text": "无法删除筛选器 '{{filter}}' ,因为它由以下小部件使用:
{{widgetsList}}", + "duplicate-filter-error": "找到重复的筛选器 '{{filter}}'。
筛选器在仪表板中必须是唯一的。", + "missing-key-filters-error": "筛选器 '{{filter}}' 的键名筛选条件缺失。", + "filter": "筛选器", "editable": "可编辑", - "no-filters-found": "找不到过滤器。", - "no-filter-text": "未指定过滤器", - "add-filter-prompt": "请添加过滤器", - "no-filter-matching": "找不到'{{filter}}'。", - "create-new-filter": "创建新过滤器!", - "filter-required": "过滤器必填。", + "no-filters-found": "未找到筛选器。", + "no-filter-text": "未指定筛选器", + "add-filter-prompt": "请添加筛选器", + "no-filter-matching": "未找到 '{{filter}}' 。", + "create-new-filter": "请新增!", + "filter-required": "筛选器必填。", "operation": { "operation": "操作", "equal": "等于", @@ -2298,29 +2298,29 @@ "not-in": "不匹配" }, "ignore-case": "忽略大小写", - "value": "数据值", - "remove-filter": "移除过滤器", - "preview": "过滤器预览", - "no-filters": "未配置过滤器", - "add-filter": "添加过滤器", - "add-complex-filter": "添加复合过滤器", + "value": "值", + "remove-filter": "删除筛选器", + "preview": "筛选器预览", + "no-filters": "未配置筛选器", + "add-filter": "添加筛选器", + "add-complex-filter": "添加复合筛选器", "add-complex": "添加复合", - "complex-filter": "复合过滤器", - "edit-complex-filter": "编辑复合过滤器", - "edit-filter-user-params": "编辑过滤器谓词用户参数", + "complex-filter": "复合筛选器", + "edit-complex-filter": "编辑复合筛选器", + "edit-filter-user-params": "编辑筛选器谓词用户参数", "filter-user-params": "过滤谓词用户参数", "user-parameters": "用户参数", "display-label": "要显示的标签", "autogenerated-label": "自动生成标签", "order-priority": "字段顺序优先级", - "key-filter": "键名过滤器", - "key-filters": "键名过滤器", + "key-filter": "键名筛选器", + "key-filters": "键名筛选器", "key-name": "键名", "key-name-required": "键名必填。", "key-type": { "key-type": "键类型", "attribute": "属性", - "timeseries": "时间序列", + "timeseries": "Timeseries", "entity-field": "实体", "constant": "常量" }, @@ -2332,12 +2332,12 @@ "date-time": "日期时间" }, "value-type-required": "键值类型是必需的。", - "key-value-type-change-title": "是否确实要更改键值类型?", - "key-value-type-change-message": "如果你确认新的值类型,所有输入的键过滤器将被删除。", - "no-key-filters": "未配置键名过滤器", - "add-key-filter": "添加键名过滤器", - "remove-key-filter": "移除键名过滤器", - "edit-key-filter": "编辑键名过滤器", + "key-value-type-change-title": "确定要更改键值类型吗?", + "key-value-type-change-message": "如果您确认新的值类型,所有输入的键过滤器将被删除。", + "no-key-filters": "未配置键名筛选器", + "add-key-filter": "添加键名筛选器", + "remove-key-filter": "删除键名筛选器", + "edit-key-filter": "编辑键名筛选器", "date": "日期", "time": "时间", "current-tenant": "当前租户", @@ -2346,7 +2346,7 @@ "current-device": "当前设备", "default-value": "默认值", "dynamic-source-type": "动态源类型", - "dynamic-value": "Dynamic value", + "dynamic-value": "动态值", "no-dynamic-value": "无动态值", "source-attribute": "源属性", "switch-to-dynamic-value": "切换到动态值", @@ -2373,7 +2373,7 @@ "connector-type-required": "连接器名称类型必填。", "connectors": "连接器配置", "create-new-gateway": "创建新网关", - "create-new-gateway-text": "是否确实要创建名为'{{gatewayName}}'的新网关?", + "create-new-gateway-text": "确定要创建名为 '{{gatewayName}}' 的新网关?", "delete": "删除配置", "download-tip": "下载配置", "gateway": "网关", @@ -2385,13 +2385,13 @@ "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": "远程配置", "remote-logging-level": "日志记录级别", - "remove-entry": "移除配置", + "remove-entry": "删除配置", "save-tip": "保存配置", "security-type": "安全类型", "security-types": { @@ -2429,7 +2429,7 @@ "thingsboard-port-required": "端口必填。", "tidy": "整洁", "tidy-tip": "整理配置JSON", - "title-connectors-json": "连接器{{typeName}}配置", + "title-connectors-json": "连接器 {{typeName}} 配置", "tls-path-ca-certificate": "网关上CA证书的路径", "tls-path-client-certificate": "网关上客户端证书的路径", "tls-path-private-key": "网关上私钥的路径", @@ -2438,16 +2438,16 @@ "update-config": "添加/更新配置JSON" }, "grid": { - "delete-item-title": "你确定要删除此项吗?", - "delete-item-text": "注意,确认删除后此项数据将无法恢复。", - "delete-items-title": "你确定要删除{ count, plural, 1 {1条目} other {#条目} }吗?", - "delete-items-action-title": "删除{ count, plural, 1 {1个元素} other {#个元素} }", - "delete-items-text": "注意,确认删除后所有数据将无法恢复。", - "add-item-text": "添加新条目", - "no-items-text": "没有找到条目", - "item-details": "详细信息", - "delete-item": "删除条目", - "delete-items": "删除条目", + "delete-item-title": "确定要删除此项吗?", + "delete-item-text": "请注意,确认后,项目及其所有相关数据将不可恢复。", + "delete-items-title": "确定删除 { count, plural, 1 {# 项} other {# 项} }吗?", + "delete-items-action-title": "删除 { count, plural, 1 {# 个元素} other {# 个元素} }", + "delete-items-text": "请注意,确认后所有选择的项目将被删除,所有相关数据将不可恢复。", + "add-item-text": "添加新项目", + "no-items-text": "未找到项目", + "item-details": "项目详细信息", + "delete-item": "删除项目", + "delete-items": "删除项目", "scroll-to-top": "滚动到顶部" }, "help": { @@ -2474,21 +2474,21 @@ }, "import": { "no-file": "没有选择文件", - "drop-file": "拖拽文件。", + "drop-file": "拖动一个JSON文件或者单击以选择要上传的文件。", "drop-json-file-or": "拖拽JSON文件或", - "drop-file-csv": "拖拽CSV文件或", + "drop-file-csv": "拖动一个CSV文件或单击以选择要上载的文件。", "drop-file-csv-or": "拖拽CSV文件或", "column-value": "数值", "column-title": "标题", "column-example": "示例值数据", "column-key": "属性/遥测键", - "credentials": "证书", + "credentials": "Credentials", "csv-delimiter": "CSV分隔符", "csv-first-line-header": "第一行包含列名", "csv-update-data": "更新属性/遥测", - "details": "详情", + "details": "Details", "import-csv-number-columns-error": "一个文件至少应该包含两列", - "import-csv-invalid-format-error": "文件格式无效检查第'{{line}}'行数据。", + "import-csv-invalid-format-error": "文件格式无效。行: '{{line}}'", "column-type": { "name": "名称", "type": "类型", @@ -2497,7 +2497,7 @@ "client-attribute": "客户端属性", "shared-attribute": "共享属性", "server-attribute": "服务器属性", - "timeseries": "时间序列", + "timeseries": "Timeseries", "entity-field": "实体字段", "access-token": "访问令牌", "x509": "X.509", @@ -2521,9 +2521,9 @@ }, "isgateway": "是否网关", "activity-time-from-gateway-device": "网关设备活动时间", - "description": "描述", - "routing-key": "Edge键", - "secret": "Edge密钥" + "description": "说明", + "routing-key": "边缘键", + "secret": "边缘密钥" }, "stepper-text": { "select-file": "选择一个文件", @@ -2532,26 +2532,26 @@ "creat-entities": "创建新实体" }, "message": { - "create-entities": "{{count}}个新实体已成功创建。", - "update-entities": "{{count}}个实体已成功更新。", - "error-entities": "创建{{count}}个实体时出错。" + "create-entities": "{{count}} 个新实体已成功创建。", + "update-entities": "{{count}} 个实体已成功更新。", + "error-entities": "创建 {{count}} 个实体时出错。" } }, "item": { - "selected": "选定" + "selected": "选择" }, "js-func": { "no-return-error": "函数必须返回值!", - "return-type-mismatch": "函数必须返回'{{type}}'类型的值!", + "return-type-mismatch": "函数必须返回 '{{type}}' 类型的值!", "tidy": "整洁", "mini": "迷你" }, "key-val": { - "key": "数据键", - "value": "数据值", - "remove-entry": "移除", - "add-entry": "添加", - "no-data": "无数据" + "key": "键名", + "value": "数值", + "remove-entry": "删除条目", + "add-entry": "增加条目", + "no-data": "没有条目" }, "layout": { "layout": "布局", @@ -2560,22 +2560,22 @@ "color": "颜色", "main": "主体", "right": "右侧", - "left": "Left", - "select": "选择布局", - "percentage-width": "Percentage width (%)", - "fixed-width": "Fixed width (px)", - "left-width": "Left column (%)", - "right-width": "Right column (%)", - "pick-fixed-side": "Fixed side: ", - "layout-fixed-width": "Fixed width (px)", - "value-min-error": "Value must be more then {{min}}{{unit}}", - "value-max-error": "Value must be less then {{max}}{{unit}}", - "layout-fixed-width-required": "Fixed width is required", - "right-width-percentage-required": "Right percentage is required", - "left-width-percentage-required": "Left percentage is required", - "divider": "Divider", - "right-side": "Right side layout", - "left-side": "Left side layout" + "left": "左", + "select": "选择目标布局", + "percentage-width": "百分比宽度(%)", + "fixed-width": "固定(px)", + "left-width": "左列(%)", + "right-width": "右列(%)", + "pick-fixed-side": "固定侧: ", + "layout-fixed-width": "固定宽度(px)", + "value-min-error": "值是必须大于{{min}}{{unit}}", + "value-max-error": "值是必须小于{{max}}{{unit}}", + "layout-fixed-width-required": "固定宽度必填", + "right-width-percentage-required": "右侧百分比宽度必填", + "left-width-percentage-required": "左侧百分比宽度必填", + "divider": "分隔线", + "right-side": "右侧布局", + "left-side": "左侧布局" }, "legend": { "direction": "图例方向", @@ -2591,20 +2591,20 @@ "max": "最大值", "avg": "平均值", "total": "总数", - "latest": "最新值", + "latest": "latest", "comparison-time-ago": { "previousInterval": "(历史间隔)", "customInterval": "(自定义间隔)", "days": "(一天前)", "weeks": "(一周前)", - "months": "(一月前)", + "months": "(一个月前)", "years": "(一年前)" } }, "login": { "login": "登录", - "request-password-reset": "请求密码恢复", - "reset-password": "恢复密码", + "request-password-reset": "请求密码重置", + "reset-password": "重置密码", "create-password": "创建密码", "two-factor-authentication": "双重因素身份验证", "passwords-mismatch-error": "输入的密码必须相同!", @@ -2613,28 +2613,28 @@ "username": "用户名(电子邮件)", "remember-me": "记住我", "forgot-password": "忘记密码?", - "password-reset": "密码恢复", - "expired-password-reset-message": "请创建新密码凭证已失效。", + "password-reset": "密码重置", + "expired-password-reset-message": "您的凭据已过期!请创建新密码。", "new-password": "新密码", "new-password-again": "再次输入新密码", - "password-link-sent-message": "密码恢复链接已成功发送!", + "password-link-sent-message": "密码重置链接已成功发送!", "email": "电子邮件", - "login-with": "使用{{name}}登录", + "login-with": "使用 {{name}} 登录", "or": "或", "error": "登录错误", - "verify-your-identity": "身份你的验证", - "select-way-to-verify": "选择一个验证方法", - "resend-code": "重新发送验证码", - "resend-code-wait": "重新发送代码{ time, plural, 1 {1秒} other {#秒} }", - "try-another-way": "尝试另一种方式", - "totp-auth-description": "请输入你验证应用程序中的验证代码。", - "totp-auth-placeholder": "代码", - "sms-auth-description": "通过{{contact}}发送了验证码,已将其发送到你的手机。", - "sms-auth-placeholder": "SMS代码", - "email-auth-description": "{{Contact}}的验代码已发送到你的电子邮箱。", - "email-auth-placeholder": "Email代码", - "backup-code-auth-description": "请输入你的临时密码", - "backup-code-auth-placeholder": "临时密码" + "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": "备份验证码" }, "markdown": { "edit": "编辑", @@ -2648,13 +2648,13 @@ "assign-firmware-required": "分配的固件必填", "assign-software": "分配的软件", "assign-software-required": "分配的软件必填", - "auto-generate-checksum": "生成校验码", - "checksum": "校验码", + "auto-generate-checksum": "自动生成校验和", + "checksum": "校验和", "checksum-hint": "如果校验和为空,会自动生成", "checksum-algorithm": "校验和算法", "checksum-copied-message": "包校验和已复制到剪贴板", - "change-firmware": "固件的更改可能会导致{ count, plural, 1 {1个设备} other {#个设备} }的更新。", - "change-software": "软件的更改可能会导致{ count, plural, 1 {1个设备} other {#个设备} }的更新。", + "change-firmware": "固件的更改可能会导致 { count, plural, 1 {1 个设备} other {# 个设备} } 的更新。", + "change-software": "软件的更改可能会导致 { count, plural, 1 {1 个设备} other {# 个设备} } 的更新。", "chose-compatible-device-profile": "上传的包仅适用于具有所选配置文件的设备。", "chose-firmware-distributed-device": "选择将分发到设备的固件", "chose-software-distributed-device": "选择将分发到设备的软件", @@ -2664,36 +2664,36 @@ "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必填", "download": "下载包", - "drop-file": "拖拽文件或", + "drop-file": "拖放打包文件或点击选择要上传的文件。", "drop-package-file-or": "拖拽文件或", "file-name": "文件名", "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升级详情", + "ota-update": "OTA 升级", + "ota-update-details": "OTA 升级详情", "ota-updates": "OTA 升级", "package-type": "包类型", "packages-repository": "包仓库", "search": "搜索包", - "selected-package": "选中{ count, plural, 1 {1个包} other {#个包} }", + "selected-package": "{ count, plural, 1 {1 个包} other {# 个包} } 选中", "title": "标题", "title-required": "标题必填。", - "title-max-length": "标题长度应小于256", + "title-max-length": "标题长度必须少于256个字符", "types": { "firmware": "固件", "software": "软件" @@ -2703,9 +2703,9 @@ "version": "版本", "version-required": "版本必填。", "version-tag": "版本标签", - "version-tag-hint": "自定义标签应与你设备报告的软件包版本相匹配。", - "version-max-length": "版本应小于256", - "warning-after-save-no-edit": "包传后你将无法修改标题、版本、设备配置文件和包类型。" + "version-tag-hint": "自定义标签应与您设备报告的软件包版本相匹配。", + "version-max-length": "版本长度必须少于256个字符", + "warning-after-save-no-edit": "上传包后,您将无法修改标题、版本、设备配置文件和包类型。" }, "position": { "top": "顶部", @@ -2718,84 +2718,84 @@ "last-login-time": "最后登录", "change-password": "更改密码", "current-password": "当前密码", - "copy-jwt-token": "复制JWT令牌", - "jwt-token": "JWT令牌", + "copy-jwt-token": "复制 JWT 令牌", + "jwt-token": "JWT 令牌", "token-valid-till": "令牌有效期至", - "tokenCopiedSuccessMessage": "JWT令牌已复制到剪贴板", - "tokenCopiedWarnMessage": "JWT令牌已过期,请刷新页面。" + "tokenCopiedSuccessMessage": "JWT 令牌已复制到剪贴板", + "tokenCopiedWarnMessage": "JWT 令牌已过期!请刷新页面。" }, "profiles": { - "profiles": "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": "主要用于两因素身份认证方法", + "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-description-email": "下次登录时,系统将提示您输入电子邮件中的验证码。", + "activation-step-description-sms": "下次登录时,系统将提示您输入短信中的验证码。", + "activation-step-description-totp": "下次登录时,您需要提供一个双因素身份验证码。", "activation-step-label": "激活", - "backup-code-description": "通守临时密码在当需要时可以很方便的将其登录到你的帐户", - "backup-code-warn": "离开此页面后临时密码将无法再次显示。", + "backup-code-description": "打印出验证码,以便在您需要时使用它们登录帐户。每个备份验证码可以使用一次。", + "backup-code-warn": "离开此页后,这些代码将无法再次显示。使用以下选项安全存放。", "download-txt": "下载(txt)", - "email-step-description": "输入身份验证的电子邮件", + "email-step-description": "输入用作身份验证的电子邮件", "email-step-label": "电子邮件", - "enable-email-title": "启用电子邮件身份验证", - "enable-sms-title": "启用短信身份验证", - "enable-totp-title": "启用应用程序身份验证", + "enable-email-title": "启用电子邮件验证", + "enable-sms-title": "启用SMS验证", + "enable-totp-title": "启用验证APP", "enter-verification-code": "输入6位验证码", - "get-backup-code-title": "获取验证码", + "get-backup-code-title": "获取备份验证码", "next": "下一步", - "scan-qr-code": "通过APP扫描二维码", - "send-code": "发送代码", - "sms-step-description": "输入验证你身份器的电话号码。", - "sms-step-label": "电话号码", - "success": "成功!", - "totp-step-description-install": "你安装的Google身份验证,Authy或Duo等应用程序。", - "totp-step-description-open": "打开你手机上的身份验证应用程序。", - "totp-step-label": "获取应用程序", + "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": "确认" + "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-description": "通过短信发送验证代码。", - "sms-hint": "验证码通过短信发送到{{ info }}", - "totp": "认证程序", - "totp-description": "通过Google认证进行身份验证。", - "totp-hint": "为你的帐户设置身份验证程序", - "backup_code": "备用验证码", - "backup-code-description": "临时密码身份验证。", - "backup-code-hint": "{{ info }}临时密码处于可用状态" + "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 {#小写字母} }", + "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-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 {#大写字母} }" + "special-character": "{ count, plural, 1 {1 位特殊字符} other {# 位特殊字符} }", + "uppercase-letter": "{ count, plural, 1 {1 位大写字母} other {# 位大写字母} }" } }, "relation": { @@ -2811,7 +2811,7 @@ }, "from-relations": "向外的关联", "to-relations": "向内的关联", - "selected-relations": "已选择{ count, plural, 1 {1个关联} other {#个关联} }", + "selected-relations": "已选择{ count, plural, 1 {# 个关联} other {# 个关联} }", "type": "类型", "to-entity-type": "到实体类型", "to-entity-name": "到实体名称", @@ -2822,22 +2822,22 @@ "delete": "删除关联", "relation-type": "关联类型", "relation-type-required": "关联类型必填", - "relation-type-max-length": "关系类型长度小于256", + "relation-type-max-length": "关联类型长度必须少于256个字符", "any-relation-type": "任何类型", "add": "添加关联", "edit": "编辑关联", - "delete-to-relation-title": "确定要删除实体'{{entityName}}'的关联吗?", - "delete-to-relation-text": "确定删除后实体'{{entityName}}'将取消与当前实体的关联关系。", - "delete-to-relations-title": "确定要删除{ count, plural, 1 {1个关联} other {#个关联} }?", + "delete-to-relation-title": "确定要删除实体 '{{entityName}}' 的关联吗?", + "delete-to-relation-text": "确定删除后实体 '{{entityName}}' 将取消与当前实体的关联关系。", + "delete-to-relations-title": "确定要删除 { count, plural, 1 {# 个关联} other {# 个关联} }吗?", "delete-to-relations-text": "确定删除所有选择的关联关系后,与当前实体对应的所有关联关系将被移除。", - "delete-from-relation-title": "确定要从实体'{{entityName}}'删除关联吗?", - "delete-from-relation-text": "确定删除后,当前实体将与实体 '{{entityName}}'取消关联", - "delete-from-relations-title": "确定删除{ count, plural, 1 {1个关联} other {#个关联} }吗?", + "delete-from-relation-title": "确定要从实体 '{{entityName}}' 删除关联吗?", + "delete-from-relation-text": "确定删除后,当前实体将与实体 '{{entityName}}' 取消关联", + "delete-from-relations-title": "确定删除 { count, plural, 1 {# 个关联} other {# 个关联} } 吗?", "delete-from-relations-text": "确定删除所有选择的关联关系后,当前实体将与对应的实体取消关联", - "remove-relation-filter": "移除关联过滤器", - "add-relation-filter": "添加关联过滤器", + "remove-relation-filter": "移除关联筛选器", + "add-relation-filter": "添加关联筛选器", "any-relation": "任意关联", - "relation-filters": "关联过滤器", + "relation-filters": "关联筛选器", "additional-info": "附加信息 (JSON)", "invalid-additional-info": "无法解析附加信息JSON。", "no-relations-text": "未找到关联" @@ -2846,49 +2846,49 @@ "add": "添加资源", "copyId": "复制资源ID", "delete": "删除资源", - "delete-resource-text": "请注意:确认删除后资源数据将无法恢复。", - "delete-resource-title": "确定要删除资源'{{resourceTitle}}'吗?", - "delete-resources-action-title": "删除{ count, plural, 1 {1个资源} other {#个资源} }", - "delete-resources-text": "请注意:确认删除后资源数据将无法恢复。", - "delete-resources-title": "确定要删除{ count, plural, 1 {1个资源} other {#个资源} }?", - "download": "下载资源", - "drop-file": "拖拽资源文件或", - "drop-resource-file-or": "拖拽资源文件或", + "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 {# 个资源} }吗?", + "download": "Download resource", + "drop-file": "拖拽资源文件或单击以选择要上传的文件。", + "drop-resource-file-or": "Drag and drop a resource file or", "empty": "资源为空", - "file-name": "文件名", - "idCopiedMessage": "资源ID已经复制到粘贴板", - "no-resource-matching": "找不到与'{{widgetsBundle}}'匹配的资源。", - "no-resource-text": "找不到资源", + "file-name": "File name", + "idCopiedMessage": "拖拽资源文件或", + "no-resource-matching": "未找到与 '{{widgetsBundle}}' 匹配的资源。", + "no-resource-text": "未找到资源", "open-widgets-bundle": "打开部件库", "resource": "资源", "resource-library-details": "资源库详情", "resource-type": "资源类型", "resources-library": "资源库", "search": "查找资源", - "selected-resources": "已选择{ count, plural, 1 {1个资源} other {#个资源} }", + "selected-resources": "已选择{ count, plural, 1 {# 个资源} other {# 个资源} }", "system": "系统", "title": "标题", "title-required": "标题是必填项。", - "title-max-length": "标题长度小于256" + "title-max-length": "标题长度必须少于256个字符" }, "rulechain": { "rulechain": "规则链", - "rulechains": "规则链", + "rulechains": "规则链库", "root": "是否根链", "delete": "删除规则链", "name": "名称", "name-required": "名称必填。", - "name-max-length": "名称长度不能大于256", - "description": "描述", + "name-max-length": "名称长度必须少于256个字符", + "description": "说明", "add": "添加规则链", "set-root": "设置为根规则链", - "set-root-rulechain-title": "你确定要生成规则链'{{ruleChainName}}'根吗?", - "set-root-rulechain-text": "确认之后将变为根规格链并将处理所有接入的传输消息。", - "delete-rulechain-title": " 确实要删除规则链'{{ruleChainName}}'吗?", - "delete-rulechain-text": "请注意:在确认删除后规则链和所有数据将无法恢复。", - "delete-rulechains-title": "确实要删除{count, plural, 1 { 1个规则链} other {#个规则链} }吗?", - "delete-rulechains-action-title": "删除{ count, plural, 1 {1个规则链} other {#个规则链} }", - "delete-rulechains-text": "请注意:确认删除后所有选定的规则链数据将无法恢复。", + "set-root-rulechain-title": "确定要设置'{{ruleChainName}}'为根规则链吗?", + "set-root-rulechain-text": "确认后,规则链将变为根规格链,并将处理所有传入的传输消息。", + "delete-rulechain-title": " 确定要删除规则链'{{ruleChainName}}'吗?", + "delete-rulechain-text": "请注意,确认后,规则链和所有相关数据将不可恢复。", + "delete-rulechains-title": "确定要删除{count, plural, 1 { 1 个规则链} other {# 个规则链} }吗?", + "delete-rulechains-action-title": "删除 { count, plural, 1 {# 个规则链} other {# 个规则链} }", + "delete-rulechains-text": "请注意:确认后,所有选定的规则链将被删除,所有相关的数据将不可恢复。", "add-rulechain-text": "添加新的规则链", "no-rulechains-text": "未找到规则链", "rulechain-details": "规则链详情", @@ -2900,7 +2900,7 @@ "export-failed-error": "无法导出规则链:{{error}}", "create-new-rulechain": "创建新的规则链", "rulechain-file": "规则链文件", - "invalid-rulechain-file-error": "规则链数据结构无效导入失败。", + "invalid-rulechain-file-error": "不能导入规则链:无效的规则链数据格式。", "copyId": "复制规则链ID", "idCopiedMessage": "规则ID已经复制到粘贴板", "select-rulechain": "选择规则链", @@ -2909,27 +2909,27 @@ "management": "规则集管理", "debug-mode": "调试模式", "search": "查找规则链", - "selected-rulechains": "已选择{ count, plural, 1 {1个规则链} other {#个规则链} }", + "selected-rulechains": "已选择 { count, plural, 1 {# 个规则链} other {# 个规则链} }", "open-rulechain": "打开规则链", - "assign-new-rulechain": "分配新规则琏", - "edge-template-root": "根模版", - "assign-to-edge": "分配规则链给Edge", - "edge-rulechain": "Edge规则链", - "unassign-rulechain-from-edge-text": "确认后规则链将取消分配,Edge无法访问。", - "unassign-rulechains-from-edge-title": "你确定要取消分配规则链{ count, plural, 1 {1个规则链} other {#个规则链} }?", - "unassign-rulechains-from-edge-text": "确认后规则链将取消分配,Edge无法访问。", - "assign-rulechain-to-edge-title": "分配规则链给Edge", - "assign-rulechain-to-edge-text": "请选择要分配给Edge的规则链", - "set-edge-template-root-rulechain": "设置规则链为Edge模版根", - "set-edge-template-root-rulechain-title": "你确定将规则链'{{ruleChainName}}'设置为Edge模版根吗?", - "set-edge-template-root-rulechain-text": "确认后规则链将将会成为Edge模版根,且它会成为新创建Edge的根规则链。", + "assign-new-rulechain": "Assign new rulechain", + "edge-template-root": "模版根链", + "assign-to-edge": "分配给边缘", + "edge-rulechain": "边缘规则链", + "unassign-rulechain-from-edge-text": "确认后,规则链将会取消分配,边缘无法访问。", + "unassign-rulechains-from-edge-title": "确定要取消分配 { count, plural, 1 {1 个规则链} other {# 个规则链} }吗?", + "unassign-rulechains-from-edge-text": "确认后,选定的规则链将会取消分配,边缘无法访问。", + "assign-rulechain-to-edge-title": "分配规则链给边缘", + "assign-rulechain-to-edge-text": "请选择要分配给边缘的规则链", + "set-edge-template-root-rulechain": "设置为边缘模版根规则链", + "set-edge-template-root-rulechain-title": "确定将 '{{ruleChainName}}' 设置为边缘模版根规则链吗?", + "set-edge-template-root-rulechain-text": "确认后,将会成为边缘模版根规则链,且它会成为新创建边缘的根规则链。", "invalid-rulechain-type-error": "不能导入规则链:无效的规则链类型。期望类型为{{expectedRuleChainType}}。", - "set-auto-assign-to-edge": "创建时分配规则链给Edge", - "set-auto-assign-to-edge-title": "你确定创建时将规则链'{{ruleChainName}}'自动分配给Edge吗", - "set-auto-assign-to-edge-text": "确认后创建时规则链将自动分配给Edge。", - "unset-auto-assign-to-edge": "创建时分配规则链给Edge", - "unset-auto-assign-to-edge-title": "你确定取消创建时将规则链'{{ruleChainName}}'自动分配给Edge吗?", - "unset-auto-assign-to-edge-text": "确认后创建时规则链将不再自动分配给Edge。", + "set-auto-assign-to-edge": "将规则链分配给新创建的边缘", + "set-auto-assign-to-edge-title": "确定将规则链'{{ruleChainName}}'自动分配给新创建的边缘吗?", + "set-auto-assign-to-edge-text": "确认后,将自动分配规则链给新创建的边缘。", + "unset-auto-assign-to-edge": "不将规则链分配给边缘", + "unset-auto-assign-to-edge-title": "确定不再将规则链'{{ruleChainName}}'自动分配给新创建的边缘吗?", + "unset-auto-assign-to-edge-text": "确认后,将不再自动分配规则链给新创建的边缘。", "unassign-rulechain-title": "你确定要取消分配规则链'{{ruleChainName}}'?", "unassign-rulechains": "取消分配规则链" }, @@ -2941,9 +2941,9 @@ "add": "添加规则节点", "name": "名称", "name-required": "名称必填。", - "name-max-length": "名称长度不能大于256", + "name-max-length": "名称长度必须少于256个字符", "type": "类型", - "description": "描述", + "description": "说明", "delete": "删除规则节点", "select-all-objects": "选择所有节点和连接", "deselect-all-objects": "取消选择所有节点和连接", @@ -2965,15 +2965,15 @@ "custom-link-label-required": "自定义链接标签必填", "link-labels": "链接标签", "link-labels-required": "链接标签必填。", - "no-link-labels-found": "找不到链接标签", - "no-link-label-matching": "找不到'{{label}}'。", + "no-link-labels-found": "未找到链接标签", + "no-link-label-matching": "未找到匹配 '{{label}}' 的链接标签。", "create-new-link-label": "创建一个新的!", - "type-filter": "过滤器", + "type-filter": "筛选器", "type-filter-details": "使用配置条件筛选传入消息", "type-enrichment": "属性集", "type-enrichment-details": "向消息元数据中添加附加信息", "type-transformation": "变换", - "type-transformation-details": "更改消息 ayload和元数据", + "type-transformation-details": "更改消息 Payload 和元数据", "type-action": "动作", "type-action-details": "执行特别动作", "type-external": "外部的", @@ -2986,7 +2986,7 @@ "type-input-details": "规则链的逻辑输入,将传入消息转发到下一个相关规则节点", "type-unknown": "未知", "type-unknown-details": "未解析的规则节点", - "directive-is-not-loaded": "定义的配置指令'{{directiveName}}'不可用。", + "directive-is-not-loaded": "定义的配置指令 '{{directiveName}}' 不可用。", "ui-resources-load-error": "加载配置UI资源失败。", "invalid-target-rulechain": "无法解析目标规则链!", "test-script-function": "测试脚本功能", @@ -3001,7 +3001,7 @@ "output": "输出", "test": "测试", "help": "帮助", - "reset-debug-mode": "恢复所有节点中的调试模式" + "reset-debug-mode": "重置所有节点中的调试模式" }, "timezone": { "timezone": "时区", @@ -3011,44 +3011,44 @@ "browser-time": "浏览器时间" }, "queue": { - "queue-name": "队列名称", - "no-queues-found": "未找到队列。", - "no-queues-matching": "找不到匹配'{{queue}}'的队列。", + "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": "percentage必填!", - "failure-percentage-min-value": "percentage参数不能小于0", - "failure-percentage-max-value": "percentage参数不能大于100", - "pause-between-retries-required": "Pause和retries必填!", - "pause-between-retries-min-value": "Pause和retries参数不能小于1", - "max-pause-between-retries-required": "最大Pause和retries必填!", - "max-pause-between-retries-min-value": "最大Pause和retries参数不能小于1", - "submit-strategy-type-required": "提交策略必填!", - "processing-strategy-type-required": "处理策略必填!", + "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": "查找对列", + "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": "详情", + "details": "队列详情", "topic": "主题", "submit-settings": "提交设置", "submit-strategy": "Strategy type *", @@ -3057,47 +3057,47 @@ "processing-strategy": "Processing type *", "retries-settings": "重试设置", "polling-settings": "轮询设置", - "batch-processing": "分区处理", + "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": "其它重试多少秒", + "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}}", + "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", - "burst-hint": "所有消息都按照其到达的顺序提交给规则链", - "batch-label": "批量", - "batch-hint": "在未确认之前,不提交新批次", + "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": "重试处理包中所有失败和定时的消息" + "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": "重试处理包中所有失败和超时的消息" } }, "server-error": { @@ -3122,202 +3122,202 @@ "manage-tenant-admins": "管理租户管理员", "delete": "删除租户", "add-tenant-text": "添加新租户", - "no-tenants-text": "没有找到租户", + "no-tenants-text": "未找到租户", "tenant-details": "租客详情", - "title-max-length": "标题长度应小于256", - "delete-tenant-title": "你确定要删除租户'{{tenantTitle}}'吗?", - "delete-tenant-text": "请注意:确认删除后租户数据将无法恢复。", - "delete-tenants-title": "确定要删除{count, plural,1 {1个租户} other {#个租户} }吗?", - "delete-tenants-action-title": "删除{ count, plural, 1 {1个租户} other {#个租户} }", - "delete-tenants-text": "请注意:确认删除后租户数据将无法恢复。", + "title-max-length": "标题长度必须少于256个字符", + "delete-tenant-title": "确定要删除租户'{{tenantTitle}}'吗?", + "delete-tenant-text": "请注意:确认后,租户和所有相关数据将不可恢复。", + "delete-tenants-title": "确定要删除 {count,plural,1 {# 个租户} other {# 个租户} } 吗?", + "delete-tenants-action-title": "删除 { count, plural, 1 {# 个租户} other {# 个租户} }", + "delete-tenants-text": "请注意:确认后,所有选定的租户将被删除,所有相关数据将不可恢复。", "title": "标题", "title-required": "标题必填。", - "description": "描述", + "description": "说明", "details": "详情", "events": "事件", "copyId": "复制租户ID", "idCopiedMessage": "租户ID已经复制到粘贴板", "select-tenant": "选择租户", - "no-tenants-matching": "没有找到符合'{{entity}}'的租户", + "no-tenants-matching": "未找到匹配 '{{entity}}' 的租户", "tenant-required": "租户必填", "search": "查找租户", - "selected-tenants": "已选择{ count, plural, 1 {1个租户} other {#个租户} }", - "isolated-tb-rule-engine": "在独立的ThingsBoard规则引擎容器中处理", - "isolated-tb-rule-engine-details": "每个独立租户需要单独的微服务" + "selected-tenants": "已选择 { count, plural, 1 {# 个租户} other {# 个租户} }", + "isolated-tb-rule-engine": "使用独立的规则引擎服务", + "isolated-tb-rule-engine-details": "每个独立租户需要单独的规则引擎微服务" }, "tenant-profile": { - "tenant-profile": "租户简介", + "tenant-profile": "租户配置", "tenant-profiles": "租户配置", "add": "添加租户配置", "edit": "编辑租户配置", "tenant-profile-details": "租户配置详细信息", - "no-tenant-profiles-text": "找不到租户配置", - "name-max-length": "名称长度不能大于256", + "no-tenant-profiles-text": "未找到租户配置", + "name-max-length": "名称长度必须少于256个字符", "search": "查找租户配置", - "selected-tenant-profiles": "已选择{ count, plural, 1 {1个租户配置} other {#个租户配置} }", - "no-tenant-profiles-matching": "找不到与'{{entity}}'匹配的租户配置。", + "selected-tenant-profiles": "已选择 { count, plural, 1 {# 个租户配置} other {# 个租户配置} }", + "no-tenant-profiles-matching": "未找到与 '{{entity}}' 匹配的租户配置。", "tenant-profile-required": "租户配置必填", - "idCopiedMessage": "租户配置Id已复制到剪贴板", + "idCopiedMessage": "租户配置ID已复制到剪贴板", "set-default": "设置该租户配置为默认", "delete": "删除租户配置", - "copyId": "复制租户配置Id", + "copyId": "复制租户配置ID", "name": "名称", "name-required": "名称必填。", - "data": "纵断面数据", + "data": "配置数据", "profile-configuration": "配置设置", - "description": "描述", + "description": "说明", "default": "默认", - "delete-tenant-profile-title": "确实要删除租户配置'{{tenantProfileName}}'吗?", - "delete-tenant-profile-text": "请注意:确认删除后租户配置和所有相关数据将不可。", - "delete-tenant-profiles-title": "确定要删除{ count, plural, 1 {1个租户配置} other {#个租户配置} }?", - "delete-tenant-profiles-text": "请注意:确认删除后户配置数据将无法恢复。", - "set-default-tenant-profile-title": "确实要将租户配置'{{tenantProfileName}}'设为默认值吗?", - "set-default-tenant-profile-text": "确认后此租户配置将被标记为默认配置,并将用于未指定配置的新租户。", - "no-tenant-profiles-found": "找不到租户配置。", + "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}}", + "create-tenant-profile": "创建新的租户配置", + "import": "导入租户配置", + "export": "导出租户配置", + "export-failed-error": "无法导出租户配置: {{error}}", "tenant-profile-file": "租户配置文件", - "invalid-tenant-profile-file-error": "导入租户配置文件失败", + "invalid-tenant-profile-file-error": "无法导入租户配置:无效的租户配置数据结构。", "advanced-settings": "高级设置", "entities": "实体", "rule-engine": "规则引擎", - "time-to-live": "过期时间", - "alarms-and-notifications": "警报和通知", - "ota-files-in-bytes": "OTA字节文件", + "time-to-live": "TTL", + "alarms-and-notifications": "告警与通知", + "ota-files-in-bytes": "OTA文件(字节)", "ws-title": "WS", - "unlimited": "(0-无限)", - "maximum-devices": "最大设备数(0-无限制)", + "unlimited": "(0 - 无限制)", + "maximum-devices": "最大设备数", "maximum-devices-required": "最大设备数必填。", - "maximum-devices-range": "最小设备数不能为负数", - "maximum-assets": "最大资产数量(0-无限)", + "maximum-devices-range": "最大设备数不能为负数", + "maximum-assets": "最大资产数", "maximum-assets-required": "最大资产数必填。", "maximum-assets-range": "最大资产数不能为负数", - "maximum-customers": "最大客户数(0-无限制)", + "maximum-customers": "最大客户数", "maximum-customers-required": "最大客户数必填。", "maximum-customers-range": "最大客户数不能为负数", - "maximum-users": "最大用户数(0-无限制)", + "maximum-users": "最大用户数", "maximum-users-required": "最大用户数必填。", "maximum-users-range": "最大用户数不能为负数", - "maximum-dashboards": "仪表板的最大数量(0-无限制)", + "maximum-dashboards": "最大仪表板数", "maximum-dashboards-required": "最大仪表板数必填。", - "maximum-dashboards-range": "仪表板的最大数量不能为负数", - "maximum-rule-chains": "最大规则链数(0-无限制)", + "maximum-dashboards-range": "最大仪表板数不能为负数", + "maximum-rule-chains": "最大规则链数", "maximum-rule-chains-required": "最大规则链数必填。", "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": "设备遥测数据点速率限制。", + "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": "最大传输消息数(0-无限制)", + "max-transport-messages": "最大传输消息数", "max-transport-messages-required": "最大传输消息数必填。", - "max-transport-messages-range": "传输消息的最大数目不能为负数", - "max-transport-data-points": "传输数据点的最大数量(0-无限制)", + "max-transport-messages-range": "最大传输消息数不能为负数", + "max-transport-data-points": "最大传输数据点数", "max-transport-data-points-required": "最大传输数据点数必填。", - "max-transport-data-points-range": "传输数据点的最大数目不能为负", - "max-r-e-executions": "最大规则引擎执行数(0-不受限制)", + "max-transport-data-points-range": "最大传输数据点数不能为负", + "max-r-e-executions": "最大规则引擎执行数", "max-r-e-executions-required": "最大规则引擎执行数必填。", - "max-r-e-executions-range": "规则引擎执行的最大数目不能为负", - "max-j-s-executions": "最大JavaScript执行数(0-不受限制)", - "max-j-s-executions-required": "最大JavaScript执行数必填。", - "max-j-s-executions-range": "JavaScript的最大执行数不能为负数", - "max-d-p-storage-days": "最大日存储数据点数(0-无限制)", - "max-d-p-storage-days-required": "最大日存储数据点数必填。", - "max-d-p-storage-days-range": "最大日存储数据点数不能为负数", - "default-storage-ttl-days": "默认存储 TTL天数(0-无限制)", - "default-storage-ttl-days-required": "默认存储TTL天数必填。", - "default-storage-ttl-days-range": "不能为负存储天数", - "alarms-ttl-days": "警报超时(天)", - "alarms-ttl-days-required": "警报超时必填", - "alarms-ttl-days-days-range": "警报超时(天)非负数", - "rpc-ttl-days": "RPC超时(天)", - "rpc-ttl-days-required": "RPC超时(天)必填", - "rpc-ttl-days-days-range": "RPC超时(天)非负数", - "max-rule-node-executions-per-message": "每条消息的最大规则节点执行数(0-无限制)", + "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": "发送的最大电子邮件数(0-无限制)", + "max-emails": "最大电子邮件发送数", "max-emails-required": "最大电子邮件发送数必填。", - "max-emails-range": "发送的最大电子邮件数不能为负数", - "max-sms": "发送的最大短信数(0-无限制)", + "max-emails-range": "最大电子邮件发送数不能为负", + "max-sms": "最大短信发送数", "max-sms-required": "最大短信发送数必填。", - "max-sms-range": "发送的最大短信数不能为负数", - "max-created-alarms": "警报最大值", - "max-created-alarms-required": "警报最大值必填。", - "max-created-alarms-range": "警报最大值非负数", + "max-sms-range": "最大短信发送数不能为负", + "max-created-alarms": "最大创建告警数", + "max-created-alarms-required": "最大创建告警数必填。", + "max-created-alarms-range": "最大创建告警数不能为负数", "no-queue": "未配置队列", "add-queue": "添加队列", - "queues-with-count": "队列({{count}})", + "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会话更新", + "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": "Add limit", - "advanced-settings": "Advanced settings", - "edit-limit": "Edit limit", - "but-less-than": "but less than", - "edit-transport-tenant-msg-title": "Edit transport tenant messages rate limits", - "edit-transport-tenant-telemetry-msg-title": "Edit transport tenant telemetry messages rate limits", - "edit-transport-tenant-telemetry-data-points-title": "Edit transport tenant telemetry data points rate limits", - "edit-transport-device-msg-title": "Edit transport device messages rate limits", - "edit-transport-device-telemetry-msg-title": "Edit transport device telemetry messages rate limits", - "edit-transport-device-telemetry-data-points-title": "Edit transport device telemetry data points rate limits", - "edit-transport-tenant-msg-rate-limit-title": "Edit transport tenant messages rate limits", - "edit-customer-rest-limits-title": "Edit REST requests for customer rate limits", - "edit-ws-limit-updates-per-session-title": "Edit WS updates per session rate limits", - "edit-cassandra-tenant-limits-configuration-title": "Edit Cassandra query for tenant rate limits", - "edit-tenant-entity-export-rate-limit-title": "Edit entity version creation rate limits", - "edit-tenant-entity-import-rate-limit-title": "Edit entity version load rate limits", - "messages-per": "messages per", - "not-set": "Not set", - "number-of-messages": "Number of messages", - "number-of-messages-required": "Number of messages is required.", - "number-of-messages-min": "Minimum value is 1.", - "preview": "Preview", - "per-seconds": "Per seconds", - "per-seconds-required": "Time rate is required.", - "per-seconds-min": "Minimum value is 1.", - "rate-limits": "Rate limits", - "remove-limit": "Remove limit", - "transport-tenant-msg": "Transport tenant messages", - "transport-tenant-telemetry-msg": "Transport tenant telemetry messages", - "transport-tenant-telemetry-data-points": "Transport tenant telemetry data points", - "transport-device-msg": "Transport device messages", - "transport-device-telemetry-msg": "Transport device telemetry messages", - "transport-device-telemetry-data-points": "Transport device telemetry data points", - "sec": "sec" + "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": "秒" } }, "timeinterval": { - "seconds-interval": "{ seconds, plural, 1 {#秒} other {#秒} }", - "minutes-interval": "{ minutes, plural, 1 {#分} other {#分} }", - "hours-interval": "{ hours, plural, 1 {#小时} other {#小时} }", - "days-interval": "{ days, plural, 1 {#天} other {#天} }", + "seconds-interval": "{ seconds, plural, 1 {# 秒} other {# 秒} }", + "minutes-interval": "{ minutes, plural, 1 {# 分} other {# 分} }", + "hours-interval": "{ hours, plural, 1 {# 小时} other {# 小时} }", + "days-interval": "{ days, plural, 1 {# 天} other {# 天} }", "days": "天", "hours": "小时", "minutes": "分钟", @@ -3326,22 +3326,22 @@ "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": "本周(周一至周日)", + "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": "今年当前" + "current-month-so-far": "本月到目前为止", + "current-year": "本年", + "current-year-so-far": "本年到目前为止" } }, "timeunit": { @@ -3352,20 +3352,20 @@ "days": "天" }, "timewindow": { - "days": "{ days, plural, 1 {#天 } other {#天 } }", - "hours": "{ hours, plural, 0 {-小时 } 1 {#小时 } other {#小时 } }", - "minutes": "{ minutes, plural, 0 {-分 } 1 {#分 } other {#分 } }", - "seconds": "{ seconds, plural, 0 {-秒 } 1 {#秒 } other {#秒 } }", + "days": "{ days, plural, 1 {# 天 } other {# 天 } }", + "hours": "{ hours, plural, 0 {- 小时 } 1 {# 小时 } other {# 小时 } }", + "minutes": "{ minutes, plural, 0 {- 分 } 1 {# 分 } other {# 分 } }", + "seconds": "{ seconds, plural, 0 {- 秒 } 1 {# 秒 } other {# 秒 } }", "realtime": "实时", "history": "历史", "last-prefix": "最后", - "period": "从{{ startTime }}到{{ endTime }}", + "period": "从 {{ startTime }} 到 {{ endTime }}", "edit": "编辑时间窗口", "date-range": "日期范围", "last": "最后", - "time-period": "时间范围", + "time-period": "时间段", "hide": "隐藏", - "interval": "时间间隔" + "interval": "区间" }, "user": { "user": "用户", @@ -3379,38 +3379,38 @@ "add": "添加用户", "delete": "删除用户", "add-user-text": "添加新用户", - "no-users-text": "找不到用户", + "no-users-text": "未找到用户", "user-details": "用户详细信息", - "delete-user-title": "你确定要删除用户'{{userEmail}}'吗?", - "delete-user-text": "请注意:确认删除后用户数据将无法恢复。", - "delete-users-title": "确定要删除 { count, plural, 1 {1个用户} other {#个用户} } 吗?", - "delete-users-action-title": "删除 { count, plural, 1 {1个用户} other {#个用户} }", - "delete-users-text": "请注意:确认删除后用户数据将无法恢复。", + "delete-user-title": "确定要删除用户 '{{userEmail}}' 吗?", + "delete-user-text": "请注意:确认后,用户和所有相关数据将不可恢复。", + "delete-users-title": "确定要删除 { count, plural, 1 {# 个用户} other {# 个用户} } 吗?", + "delete-users-action-title": "删除 { count, plural, 1 {# 个用户} other {# 个用户} }", + "delete-users-text": "请注意:确认后,所有选定的用户将被删除,所有相关数据将不可恢复。", "activation-email-sent-message": "激活电子邮件已成功发送!", "resend-activation": "重新发送激活", "email": "电子邮件", "email-required": "电子邮件必填。", "invalid-email-format": "无效的邮件格式。", "first-name": "名字", - "last-name": "姓", - "description": "描述", + "last-name": "姓氏", + "description": "说明", "default-dashboard": "默认面板", "always-fullscreen": "始终全屏", "select-user": "选择用户", - "no-users-matching": "没有找到符合'{{entity}}'的用户。", + "no-users-matching": "未找到匹配 '{{entity}}' 的用户。", "user-required": "用户必填", "activation-method": "激活方式", "display-activation-link": "显示激活链接", "send-activation-mail": "发送激活邮件", "activation-link": "用户激活链接", - "activation-link-text": "使用该链接激活 激活用户:", + "activation-link-text": "使用该链接 激活 激活用户:", "copy-activation-link": "复制用户激活链接", "activation-link-copied-message": "用户激活链接已经复制到粘贴板", "details": "详情", "login-as-tenant-admin": "以租户管理员身份登录", "login-as-customer-user": "以客户用户身份登录", "search": "查找用户", - "selected-users": "已选择{count, plural, 1 {1个用户} other {#个用户} }", + "selected-users": "已选择 { count, plural, 1 {# 个用户} other {# 个用户} }", "disable-account": "禁用用户帐户", "enable-account": "启用用户帐户", "enable-account-message": "已成功启用用户帐户!", @@ -3446,72 +3446,72 @@ "search": "搜索版本", "branch": "分支", "default": "默认", - "select-branch": "选择版本", + "select-branch": "选择分支", "branch-required": "分支必填", "create-entity-version": "创建实体版本", "version-name": "版本名称", "version-name-required": "版本名称必填", "author": "作者", - "export-relations": "导出关系", + "export-relations": "导出关联", "export-attributes": "导出属性", - "export-credentials": "导出任证", + "export-credentials": "导出凭据", "entity-versions": "实体版本", "versions": "版本", "created-time": "创建时间", "version-id": "版本ID", - "no-entity-versions-text": "没有找到实体版本", - "no-versions-text": "没有找到版本", - "copy-full-version-id": "复制全部版本ID", + "no-entity-versions-text": "未找到实体版本", + "no-versions-text": "未找到版本", + "copy-full-version-id": "复制完整版本ID", "create-version": "创建版本", - "creating-version": "正在创建版本请等待. . .", - "nothing-to-commit": "没有更改的变化", + "creating-version": "请稍候,正在创建版本...", + "nothing-to-commit": "没有要提交的更改", "restore-version": "还原版本", - "restore-entity-from-version": "从版'{{versionName}}恢复实体'", - "restoring-entity-version": "正在恢复版本请等待. . .", - "load-relations": "加载关系", + "restore-entity-from-version": "从版本 '{{versionName}}' 还原实体", + "restoring-entity-version": "请稍候,正在还原实体版本...", + "load-relations": "加载关联", "load-attributes": "加载属性", - "load-credentials": "加载凭证", - "compare-with-current": "与当前进行比较", - "diff-entity-with-version": "与实体版本'{{versionName}}'", - "previous-difference": "以前差异", + "load-credentials": "加载凭据", + "compare-with-current": "与当前比较", + "diff-entity-with-version": "与实体版本 '{{versionName}}' 不同", + "previous-difference": "上一个差异", "next-difference": "下一个差异", "current": "当前", - "differences": "{ count, plural, 1 {1处差异} other {#处差异} }", + "differences": "{ count, plural, 1 {1 个差异} other {# 个差异} }", "create-entities-version": "创建实体版本", "default-sync-strategy": "默认同步策略", "sync-strategy-merge": "合并", "sync-strategy-overwrite": "覆盖", - "entities-to-export": "实体导出", - "entities-to-restore": "实体恢复", + "entities-to-export": "导出的实体", + "entities-to-restore": "还原的实体", "sync-strategy": "同步策略", "all-entities": "所有实体", - "no-entities-to-export-prompt": "请指定导出的实体", - "no-entities-to-restore-prompt": "请指定要恢复的实体", + "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": "请注意:将永久删除你要恢复的版本中不存在所有当前实体
请输入要移除其它实体进行确认。", - "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为{{sourceEntityTypeName}}和{{sourceEntityId}}
因为引用缺少{{targetEntityTypeName}}和b>{{targetEntityId}}。", - "runtime-failed": "失败:{{message}}", + "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}}", "auto-commit-settings-read-only-hint": "自动提交功能不适用于存储库设置中启用的只读选项。" }, "widget": { - "widget-library": "部件包", + "widget-library": "部件库", "widget-bundle": "部件包", - "all-bundles": "所有部件包", + "all-bundles": "All bundles", "select-widgets-bundle": "选择部件包", "management": "管理部件", "editor": "部件编辑器", @@ -3519,19 +3519,19 @@ "widget-type-load-error": "由于以下错误未加载小部件:", "remove": "删除部件", "edit": "编辑部件", - "remove-widget-title": "确实要删除'{{widgetTitle}}'部件吗?", - "remove-widget-text": "确认删除后数据将无法恢复。", - "timeseries": "时间序列", + "remove-widget-title": "确定要删除 '{{widgetTitle}}'部件吗?", + "remove-widget-text": "确认后,控件和所有相关数据将变得不可恢复。", + "timeseries": "Timeseries", "search-data": "查找数据", - "no-data-found": "没有找到数据", + "no-data-found": "未找到数据", "latest": "最新值", "rpc": "控件部件", - "alarm": "警报部件", + "alarm": "告警部件", "static": "静态部件", "select-widget-type": "选择窗口部件类型", "missing-widget-title-error": "部件标题必须指定!", "widget-saved": "部件已保存", - "unable-to-save-widget-error": "数据错误部件无法保存!", + "unable-to-save-widget-error": "无法保存部件!控件有错误!", "save": "保存部件", "saveAs": "部件另存为", "save-widget-type-as": "部件类型另存为", @@ -3547,7 +3547,7 @@ "remove-resource": "删除资源", "add-resource": "添加资源", "html": "HTML", - "tidy": "对齐", + "tidy": "Tidy", "css": "CSS", "settings-schema": "设置模式", "datakey-settings-schema": "数据键设置模式", @@ -3560,8 +3560,8 @@ "latest-data-key-settings-form-selector": "最新数据键设置表单选择器", "javascript": "Javascript", "js": "JS", - "remove-widget-type-title": "你确定要删除部件类型'{{widgetName}}'吗?", - "remove-widget-type-text": "确认删除后部件类型数据将无法恢复。", + "remove-widget-type-title": "确定要删除部件类型 '{{widgetName}}'吗?", + "remove-widget-type-text": "确认后,窗口部件类型和所有相关数据将不可恢复。", "remove-widget-type": "删除部件类型", "add-widget-type": "添加新的部件类型", "widget-type-load-failed-error": "无法加载部件类型!", @@ -3637,20 +3637,20 @@ "delete": "删除部件包", "title": "标题", "title-required": "标题必填。", - "title-max-length": "标题长度应小于256", + "title-max-length": "标题长度必须少于256个字符", "description": "描述", "image-preview": "图片预览", "add-widgets-bundle-text": "添加新的部件包", - "no-widgets-bundles-text": "找不到部件包", + "no-widgets-bundles-text": "未找到部件包", "empty": "部件包是空的", "details": "详情", "widgets-bundle-details": "部件包详细信息", - "delete-widgets-bundle-title": "你确定要删除部件包'{{widgetsBundleTitle}}'吗?", - "delete-widgets-bundle-text": "请注意:确认删除后部件包数据将无法恢复。", - "delete-widgets-bundles-title": "确定要删除{ count, plural, 1 {1个部件包} other {#个部件包} }吗?", - "delete-widgets-bundles-action-title": "删除{ count, plural, 1 {1个部件包} other {#个部件包} }", - "delete-widgets-bundles-text": "请注意:确认删除后部件包数据将无法恢复。", - "no-widgets-bundles-matching": "没有找到与'{{widgetsBundle}}'匹配的部件包。", + "delete-widgets-bundle-title": "确定要删除部件包 '{{widgetsBundleTitle}}'吗?", + "delete-widgets-bundle-text": "请注意:确认后,部件包和所有相关数据将不可恢复。", + "delete-widgets-bundles-title": "确定要删除 { count, plural, 1 {# 个部件包} other {# 个部件包} } 吗?", + "delete-widgets-bundles-action-title": "删除 { count, plural, 1 {# 个部件包} other {# 个部件包} }", + "delete-widgets-bundles-text": "请注意:确认后,所有选定的部件包将被删除,所有相关数据将不可恢复。", + "no-widgets-bundles-matching": "未找到与 '{{widgetsBundle}}' 匹配的部件包。", "widgets-bundle-required": "部件包必填。", "system": "系统", "import": "导入部件包", @@ -3658,9 +3658,9 @@ "export-failed-error": "无法导出部件包: {{error}}", "create-new-widgets-bundle": "创建新的部件包", "widgets-bundle-file": "部件包文件", - "invalid-widgets-bundle-file-error": "部件包数据结构错误无法导入。", + "invalid-widgets-bundle-file-error": "无法导入部件包:无效的部件包数据结构。", "search": "查找部件包", - "selected-widgets-bundles": "已选择{ count, plural, 1 {1个部件包} other {#个部件包} }", + "selected-widgets-bundles": "已选择 { count, plural, 1 {# 个部件包} other {# 个部件包} }", "open-widgets-bundle": "打开部件包", "loading-widgets-bundles": "加载部件包..." }, @@ -3735,7 +3735,7 @@ "export-failed-error": "无法导出部件类型: {{error}}", "create-new-widget-type": "创建新的部件类型", "widget-type-file": "部件类型文件", - "invalid-widget-type-file-error": "部件类型数据结构错误无法导入。" + "invalid-widget-type-file-error": "无法导入部件类型:无效的部件类型数据结构。" }, "widgets": { "chart": { @@ -4729,11 +4729,11 @@ "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}}" + "phone-input-label": "手机号码", + "phone-input-required": "手机号码必填", + "phone-input-validation": "手机号码无效或不存在", + "phone-input-pattern": "无效的手机号码。应为E.164格式,例如:{{phoneNumber}}", + "phone-input-hint": "E.164格式手机号码,例如:{{phoneNumber}}" }, "custom": { "widget-action": {