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 a37f96875a..f3bb59e2e5 100644
--- a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json
+++ b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json
@@ -55,13 +55,18 @@
"continue": "继续",
"discard-changes": "放弃更改",
"download": "下载",
+ "next": "Next",
"next-with-label": "下一个:{{label}}",
"read-more": "阅读更多",
"hide": "隐藏",
- "done": "完毕",
+ "done": "完成",
"print": "打印",
"restore": "恢复",
- "confirm": "确认"
+ "confirm": "确定",
+ "more": "更多",
+ "less": "更少",
+ "skip": "跳过",
+ "send": "发送"
},
"aggregation": {
"aggregation": "聚合",
@@ -76,9 +81,11 @@
"none": "无"
},
"admin": {
+ "settings": "设置",
"general": "基本设置",
"general-settings": "基本设置",
"home-settings": "首页设置",
+ "home": "首页",
"outgoing-mail": "发送邮件",
"outgoing-mail-settings": "发送邮件设置",
"system-settings": "系统设置",
@@ -108,7 +115,7 @@
"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 服务商设置",
@@ -127,10 +134,10 @@
"number-from-required": "发送方电话号码必填。",
"number-to": "电话号码至",
"number-to-required": "电话号码必填。",
- "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.",
+ "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。",
"sms-message": "短信",
"sms-message-required": "短消息内容必填。",
"sms-message-max-length": "短信长度不能超过1600个字符",
@@ -164,7 +171,7 @@
"user-lockout-notification-email": "如果用户帐户锁定,请发送通知到电子邮件",
"domain-name": "域名",
"domain-name-unique": "域名和协议必须是唯一的。",
- "domain-name-max-length": "域名长度不能大于256",
+ "domain-name-max-length": "域名应该少于256个字符。",
"error-verification-url": "域名不应包含符号 “/” 和 “:”。例:thingsboard.io",
"oauth2": {
"access-token-uri": "访问令牌URI",
@@ -181,28 +188,28 @@
"client-authentication-method": "客户端身份验证方法",
"client-id": "客户端ID",
"client-id-required": "客户端 ID 必填。",
- "client-id-max-length": "客户端ID长度不能大于256",
+ "client-id-max-length": "客户端ID应该少于256个字符。",
"client-secret": "客户机密",
"client-secret-required": "需要客户端密码。",
- "client-secret-max-length": "客户端密钥长度不能大于2049",
+ "client-secret-max-length": "客户端密钥应该少于2049个字符。",
"custom-setting": "自定义设置",
"customer-name-pattern": "客户名称模式",
- "customer-name-pattern-max-length": "客户名称模式长度不能大于256",
+ "customer-name-pattern-max-length": "客户名称模式应该少于256个字符。",
"default-dashboard-name": "默认仪表板名称",
- "default-dashboard-name-max-length": "默认仪表板名称长度不能大于256",
+ "default-dashboard-name-max-length": "默认仪表板名称应该少于256个字符。",
"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-max-length": "电子邮件属性键长度不能大于32",
+ "email-attribute-key-required": "电子邮件属性键必填。",
+ "email-attribute-key-max-length": "电子邮件属性键应该少于32个字符。",
"first-name-attribute-key": "名字属性键",
- "first-name-attribute-key-max-length": "名字属性键长度不能大于32",
+ "first-name-attribute-key-max-length": "名字属性键应该少于32个字符。",
"general": "基本设置",
"jwk-set-uri": "JSON Web Key URI",
"last-name-attribute-key": "姓氏属性键",
- "last-name-attribute-key-max-length": "姓氏属性键长度不能大于32",
+ "last-name-attribute-key-max-length": "姓氏属性键应该少于32个字符。",
"login-button-icon": "登录按钮图标",
"login-button-label": "Provider 标签",
"login-button-label-placeholder": "使用 $(Provider label) 登录",
@@ -211,7 +218,7 @@
"mapper": "Mapper",
"new-domain": "新建域",
"oauth2": "OAuth2",
- "password-max-length": "密码长度不能大于256",
+ "password-max-length": "密码应该少于256个字符。",
"redirect-uri-template": "重定向URI模板",
"copy-redirect-uri": "复制重定向URI",
"registration-id": "注册ID",
@@ -221,17 +228,17 @@
"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-pattern": "无效的URL格式。",
"url-required": "URL 必填。",
- "url-max-length": "URL地址长度不能大于256",
+ "url-max-length": "URL 应该少于256个字符。",
"user-info-uri": "用户信息URI",
"user-info-uri-required": "用户信息 URI 必填。",
- "username-max-length": "用户名称长度不能大于256",
+ "username-max-length": "用户名应该少于256个字符。",
"user-name-attribute-name": "用户名属性键",
"user-name-attribute-name-required": "用户名属性密钥必填",
"protocol": "协议",
@@ -240,18 +247,18 @@
"domain-schema-mixed": "HTTP+HTTPS",
"enable": "启用OAuth2设置",
"domains": "域名",
- "mobile-apps": "移动端",
- "no-mobile-apps": "无移动端应用配置",
- "mobile-package": "应用程包",
+ "mobile-apps": "移动端应用",
+ "no-mobile-apps": "未配置应用程序",
+ "mobile-package": "应用程序包",
"mobile-package-placeholder": "例如: my.example.app",
"mobile-package-hint": "Android:应用程序ID,iOS:产品标识符",
"mobile-package-unique": "应用程序包必须是唯一的。",
"mobile-app-secret": "应用程序密钥",
- "invalid-mobile-app-secret": "应用程序密钥必须包含字母,数字,字符并且长度必须在16到2048个字符。",
+ "invalid-mobile-app-secret": "应用程序密钥必须只包含字母和数字字符,并且长度必须介于16到2048个字符之间。",
"copy-mobile-app-secret": "复制应用程序密钥",
"add-mobile-app": "添加应用程序",
- "delete-mobile-app": "删除应用程序",
- "providers": "提供程序",
+ "delete-mobile-app": "删除应用程序信息",
+ "providers": "Providers",
"platform-web": "Web",
"platform-android": "Android",
"platform-ios": "iOS",
@@ -261,60 +268,60 @@
"smpp-provider": {
"smpp-version": "SMPP版本",
"smpp-host": "SMPP主机",
- "smpp-host-required": "SMPP主机必填",
+ "smpp-host-required": "SMPP主机必填。",
"smpp-port": "SMPP端口",
- "smpp-port-required": "SMPP端口必填",
+ "smpp-port-required": "SMPP端口必填。",
"system-id": "系统ID",
- "system-id-required": "系统ID必填",
+ "system-id-required": "系统ID必填。",
"password": "密码",
- "password-required": "密码必填",
+ "password-required": "密码必填。",
"type-settings": "类型设置",
"source-settings": "源设置",
- "destination-settings": "目的地",
+ "destination-settings": "目标设置",
"additional-settings": "其他设置",
"system-type": "系统类型",
"bind-type": "绑定类型",
"service-type": "服务类型",
"source-address": "源地址",
- "source-ton": "源TON",
- "source-npi": "源NPI",
- "destination-ton": "目的地TON号码",
- "destination-npi": "目的地NPI号码",
+ "source-ton": "源 TON (号码类型)",
+ "source-npi": "源 NPI (编号方案标识)",
+ "destination-ton": "目标 TON (号码类型)",
+ "destination-npi": "目标 NPI (编号方案标识)",
"address-range": "地址范围",
"coding-scheme": "编码方案",
- "bind-type-tx": "发送者",
- "bind-type-rx": "接收者",
- "bind-type-trx": "收发器",
+ "bind-type-tx": "发送端",
+ "bind-type-rx": "接收端",
+ "bind-type-trx": "发送/接收",
"ton-unknown": "未知",
- "ton-international": "International",
- "ton-national": "National",
- "ton-network-specific": "Network Specific",
- "ton-subscriber-number": "Subscriber Number",
- "ton-alphanumeric": "Alphanumeric",
- "ton-abbreviated": "Abbreviated",
- "npi-unknown": "0 - Unknown",
- "npi-isdn": "1 - ISDN/telephone numbering plan (E163/E164)",
- "npi-data-numbering-plan": "3 - Data numbering plan (X.121)",
- "npi-telex-numbering-plan": "4 - Telex numbering plan (F.69)",
- "npi-land-mobile": "6 - Land Mobile (E.212)",
- "npi-national-numbering-plan": "8 - National numbering plan",
- "npi-private-numbering-plan": "9 - Private numbering plan",
- "npi-ermes-numbering-plan": "10 - ERMES numbering plan (ETSI DE/PS 3 01-3)",
- "npi-internet": "13 - Internet (IP)",
- "npi-wap-client-id": "18 - WAP Client Id (to be defined by WAP Forum)",
- "scheme-smsc": "0 - SMSC Default Alphabet (ASCII for short and long code and to GSM for toll-free)",
- "scheme-ia5": "1 - IA5 (ASCII for short and long code, Latin 9 for toll-free (ISO-8859-9))",
- "scheme-octet-unspecified-2": "2 - Octet Unspecified (8-bit binary)",
+ "ton-international": "国际",
+ "ton-national": "国内",
+ "ton-network-specific": "网络特定",
+ "ton-subscriber-number": "用户号码",
+ "ton-alphanumeric": "字母数字",
+ "ton-abbreviated": "简写",
+ "npi-unknown": "0 - 未知",
+ "npi-isdn": "1 - ISDN/电话编号方案 (E163/E164)",
+ "npi-data-numbering-plan": "3 - 数据编号方案 (X.121)",
+ "npi-telex-numbering-plan": "4 - 电报编号方案 (F.69)",
+ "npi-land-mobile": "6 - 移动设备编号方案 (E.212)",
+ "npi-national-numbering-plan": "8 - 国家编号方案",
+ "npi-private-numbering-plan": "9 - 私有编号方案",
+ "npi-ermes-numbering-plan": "10 - ERMES 编号方案 (ETSI DE/PS 3 01-3)",
+ "npi-internet": "13 - 互联网 (IP)",
+ "npi-wap-client-id": "18 - WAP 客户端标识 (由 WAP 论坛定义)",
+ "scheme-smsc": "0 - SMSC 默认字母表 (ASCII 码用于短码和长码,GSM 编码用于免费电话)",
+ "scheme-ia5": "1 - IA5 码 (ASCII 码用于短码和长码,Latin 9 用于免费电话 (ISO-8859-9))",
+ "scheme-octet-unspecified-2": "2 - 八进制未指定 (8 位二进制)",
"scheme-latin-1": "3 - Latin 1 (ISO-8859-1)",
- "scheme-octet-unspecified-4": "4 - Octet Unspecified (8-bit binary)",
+ "scheme-octet-unspecified-4": "4 - 八进制未指定 (8 位二进制)",
"scheme-jis": "5 - JIS (X 0208-1990)",
"scheme-cyrillic": "6 - Cyrillic (ISO-8859-5)",
"scheme-latin-hebrew": "7 - Latin/Hebrew (ISO-8859-8)",
"scheme-ucs-utf": "8 - UCS2/UTF-16 (ISO/IEC-10646)",
- "scheme-pictogram-encoding": "9 - Pictogram Encoding",
- "scheme-music-codes": "10 - Music Codes (ISO-2022-JP)",
- "scheme-extended-kanji-jis": "13 - Extended Kanji JIS (X 0212-1990)",
- "scheme-korean-graphic-character-set": "14 - Korean Graphic Character Set (KS C 5601/KS X 1001)"
+ "scheme-pictogram-encoding": "9 - 图标编码",
+ "scheme-music-codes": "10 - 音乐编码 (ISO-2022-JP)",
+ "scheme-extended-kanji-jis": "13 - 扩展汉字 JIS (X 0212-1990)",
+ "scheme-korean-graphic-character-set": "14 - 韩文图形字符集 (KS C 5601/KS X 1001)"
},
"queue-select-name": "选择队列名称",
"queue-name": "名称",
@@ -325,13 +332,16 @@
"queue-processing-strategy": "处理策略",
"queue-configuration": "队列配置",
"repository-settings": "仓库设置",
+ "repository": "仓库",
"repository-url": "仓库 URL",
"repository-url-required": "仓库 URL 必填。",
"default-branch": "默认分支名称",
- "repository-read-only": "Read-only",
+ "repository-read-only": "只读",
+ "show-merge-commits": "显示合并提交",
"authentication-settings": "身份验证设置",
"auth-method": "身份验证方法",
"auth-method-username-password": "密码/访问令牌",
+ "auth-method-username-password-hint": "GitHub用户必须使用能够对仓库进行写入权限的访问令牌。",
"auth-method-private-key": "私钥",
"password-access-token": "密码/访问令牌",
"change-password-access-token": "更改密码/访问令牌",
@@ -345,12 +355,13 @@
"delete-repository-settings-title": "确定要删除仓库设置吗?",
"delete-repository-settings-text": "请注意:确认后,仓库设置将被删除,版本控制功能将不可用。",
"auto-commit-settings": "自动提交设置",
+ "auto-commit": "自动提交",
"auto-commit-entities": "自动提交实体",
"no-auto-commit-entities-prompt": "没有设置自动提交的实体",
"delete-auto-commit-settings-title": "确定要删除自动提交设置吗?",
"delete-auto-commit-settings-text": "请注意:确认后,自动提交设置将被删除,所有实体的自动提交将被禁用。",
"2fa": {
- "2fa": "双因素身份验证",
+ "2fa": "双因素认证",
"available-providers": "可用选项",
"issuer-name": "发行者名称",
"issuer-name-required": "发行者名称必填。",
@@ -369,7 +380,7 @@
"total-allowed-time-for-verification": "总允许验证时间(秒)",
"total-allowed-time-for-verification-pattern": "总允许验证最小时间为60秒",
"total-allowed-time-for-verification-required": "总允许验证时间必填。",
- "use-system-two-factor-auth-settings": "使用系统双因素身份验证设置",
+ "use-system-two-factor-auth-settings": "使用系统双因素认证设置",
"verification-code-check-rate-limit": "验证码检查速率限制",
"verification-code-lifetime": "验证码生存期(秒)",
"verification-code-lifetime-pattern": "验证码生存期必须为正整数。",
@@ -381,14 +392,45 @@
"within-time": "在时间内 (秒)",
"within-time-pattern": "时间必须是正整数。",
"within-time-required": "时间必填。"
- }
+ },
+ "jwt": {
+ "security-settings": "JWT 安全设置",
+ "issuer-name": "发行者名称",
+ "issuer-name-required": "发行者名称必填。",
+ "signings-key": "签名密钥",
+ "signings-key-hint": "Base64编码的字符串,至少256位数据。",
+ "signings-key-required": "签名密钥必填。",
+ "signings-key-min-length": "签名密钥必须至少为256位的数据。",
+ "signings-key-base64": "签名密钥必须是Base64格式。",
+ "expiration-time": "令牌过期时间(秒)",
+ "expiration-time-required": "令牌过期时间是必填。",
+ "expiration-time-pattern": "令牌过期时间必须是一个正整数。",
+ "expiration-time-min": "最小时间为60秒(1分钟)。",
+ "refresh-expiration-time": "刷新令牌过期时间(秒)",
+ "refresh-expiration-time-required": "刷新令牌过期时间必填。",
+ "refresh-expiration-time-pattern": "刷新令牌的过期时间必须是一个正整数。",
+ "refresh-expiration-time-min": "最小时间为900秒(15分钟)。",
+ "refresh-expiration-time-less-token": "刷新令牌时间必须大于令牌过期时间。",
+ "generate-key": "生成密钥",
+ "info-header": "所有用户将需要重新登录。",
+ "info-message": "更改JWT签名密钥将导致所有已发行的令牌无效,所有用户将需要重新登录,这也会影响使用Rest API/Websockets的脚本。"
+ },
+ "resources": "资源",
+ "notifications": "通知",
+ "notifications-settings": "通知设置",
+ "slack-api-token": "Slack API令牌",
+ "slack": "Slack",
+ "slack-settings": "Slack 设置"
},
"alarm": {
"alarm": "告警",
"alarms": "告警",
+ "all-alarms": "所有告警",
"select-alarm": "选择告警",
"no-alarms-matching": "未找到匹配 '{{entity}}' 的告警",
"alarm-required": "告警必填",
+ "alarm-filter": "告警筛选器",
+ "filter": "筛选器",
"alarm-status": "告警状态",
"alarm-status-list": "告警状态列表",
"any-status": "任何状态",
@@ -412,12 +454,24 @@
"originator": "发起者",
"originator-type": "发起者类型",
"details": "详情",
+ "originator-label": "发起者标签",
+ "assign": "分配",
+ "assignments": "任务分配",
+ "assignee": "受托人",
+ "assignee-id": "受托人ID",
+ "assignee-first-name": "受托人姓氏",
+ "assignee-last-name": "受托人名字",
+ "assignee-email": "受托人邮箱",
+ "unassigned": "未分配",
+ "assignee-not-set": "所有",
"status": "状态",
"alarm-details": "告警详细信息",
"start-time": "开始时间",
+ "assign-time": "分配时间",
"end-time": "结束时间",
"ack-time": "确认时间",
"clear-time": "清除时间",
+ "duration": "持续时间",
"alarm-severity-list": "警报严重性列表",
"any-severity": "任何严重程度",
"severity-critical": "危险",
@@ -428,30 +482,53 @@
"acknowledge": "应答",
"clear": "清除",
"search": "查找告警",
- "selected-alarms": "已选择 { count, plural, =1 {# 个告警} other {# 个告警} }",
+ "selected-alarms": "已选择 { count, plural, =1 {1 个告警} other {# 个告警} }",
"no-data": "无数据显示",
"polling-interval": "告警轮询间隔(秒)",
"polling-interval-required": "告警轮询间隔必填。",
"min-polling-interval-message": "轮询间隔至少是1秒。",
- "aknowledge-alarms-title": "确认 { count, plural, =1 {# 个告警} other {# 个告警} }",
- "aknowledge-alarms-text": "确定要确认 { count, plural, =1 {# 个告警} other {# 个告警} }吗?",
+ "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 {# 个告警} other {# 个告警} }",
- "clear-alarms-text": "确定要清除 { count, plural, =1 {# 个告警} other {# 个告警} }?",
+ "clear-alarms-title": "清除 { count, plural, =1 {1 个告警} other {# 个告警} }",
+ "clear-alarms-text": "确定要清除 { count, plural, =1 {1 个告警} other {# 个告警} }?",
"clear-alarm-title": "清除警报",
"clear-alarm-text": "确定要清除警报吗?",
"alarm-status-filter": "告警状态筛选器",
- "alarm-filter": "告警筛选器",
+ "alarm-filter-title": "告警筛选器",
+ "assigned": "已分配",
+ "filter-title": "筛选器",
"max-count-load": "要加载的最大告警数(0-无限制)",
"max-count-load-required": "加载的最大告警数必填。",
"max-count-load-error-min": "最小值为0。",
"fetch-size": "获取大小",
- "fetch-size-required": "Fetch size 必填。",
+ "fetch-size-required": "获取大小必填。",
"fetch-size-error-min": "最小值为10。",
"alarm-type-list": "告警类型列表",
"any-type": "任何类型",
- "search-propagated-alarms": "检索已传递的警报"
+ "assigned-to-current-user": "分配给当前用户",
+ "assigned-to-me": "分配给我",
+ "search-propagated-alarms": "检索已传递的警报",
+ "comments": "告警评论",
+ "show-more": "显示更多",
+ "additional-info": "附加信息"
+ },
+ "alarm-activity": {
+ "add": "添加评论",
+ "alarm-comment": "告警评论",
+ "comments": "评论",
+ "delete-alarm-comment": "你想删除这条评论吗?",
+ "refresh": "刷新",
+ "oldest-first": "最早优先",
+ "newest-first": "最新优先",
+ "activity": "Activity",
+ "export": "导出 CSV",
+ "author": "作者",
+ "created-date": "创建时间",
+ "edited-date": "编辑时间",
+ "text": "文本",
+ "system": "系统"
},
"alias": {
"add": "添加别名",
@@ -466,17 +543,17 @@
"filter-type-state-entity": "仪表板状态实体",
"filter-type-state-entity-description": "仪表板实体令牌状态参数",
"filter-type-asset-type": "资产类型",
- "filter-type-asset-type-description": "类型为 '{{assetTypes}}' 的资产",
- "filter-type-asset-type-and-name-description": "类型为 '{{assetTypes}}' 且以 '{{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": "类型为 '{{deviceTypes}}' 的设备",
- "filter-type-device-type-and-name-description": "类型为 '{{deviceTypes}}' 且以 '{{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": "类型为 '{{entityViewTypes}}' 的实体视图",
- "filter-type-entity-view-type-and-name-description": "类型为 {{entityViewTypes}}' 且以 '{{prefix}}' 开头的实体视图",
+ "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": "类型为 '{{edgeTypes}}' 的边缘",
- "filter-type-edge-type-and-name-description": "类型为 '{{edgeTypes}}' 且以 '{{prefix}}' 开头的边缘",
+ "filter-type-edge-type-description": "类型为 '{{edgeType}}' 的边缘",
+ "filter-type-edge-type-and-name-description": "类型为 '{{edgeType}}' 且以 '{{prefix}}' 开头的边缘",
"filter-type-relations-query": "关联查询",
"filter-type-relations-query-description": "具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的 {{entities}} ",
"filter-type-asset-search-query": "资产搜索查询",
@@ -512,7 +589,7 @@
"management": "资产管理",
"view-assets": "查看资产",
"add": "添加资产",
- "asset-type-max-length": "资产类型要小于256",
+ "asset-type-max-length": "资产类型应该小于256个字符",
"assign-to-customer": "分配给客户",
"assign-asset-to-customer": "将资产分配给客户",
"assign-asset-to-customer-text": "请选择要分配给客户的资产",
@@ -535,27 +612,27 @@
"asset-types": "资产类型",
"name": "名称",
"name-required": "名称必填。",
- "name-max-length": "名称长度不能大于256",
- "label-max-length": "标签长度应小于256",
+ "name-max-length": "名称应该小于256个字符。",
+ "label-max-length": "标签应该小于256个字符。",
"description": "说明",
"type": "类型",
"type-required": "类型必填。",
"details": "详情",
"events": "事件",
- "add-asset-text": "添加新资产",
+ "add-asset-text": "添加资产",
"asset-details": "资产详情",
"assign-assets": "分配资产",
- "assign-assets-text": "分配 { count, plural, =1 {# 个资产} other {# 个资产} } 给客户",
+ "assign-assets-text": "分配 { count, plural, =1 {1 个资产} other {# 个资产} } 给客户",
"assign-asset-to-edge-title": "将资产分配给边缘",
"assign-asset-to-edge-text": "请选择要分配给边缘的资产",
"delete-assets": "删除资产",
"unassign-assets": "取消分配资产",
- "unassign-assets-action-title": "从客户处取消分配 { count, plural, =1 {# 个资产} other {# 个资产} }",
+ "unassign-assets-action-title": "从客户处取消分配 { count, plural, =1 {1 个资产} other {# 个资产} }",
"assign-new-asset": "分配新资产",
"delete-asset-title": "确定要删除资产 '{{assetName}}'吗?",
"delete-asset-text": "请注意:确认后,资产及其所有相关数据将不可恢复。",
- "delete-assets-title": "确定要删除 { count, plural, =1 {# 个资产} other {# 个资产} }吗?",
- "delete-assets-action-title": "删除 { count, plural, =1 {# 个资产} other {# 个资产} }",
+ "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": "确认后,资产及其所有数据将被公开并被他人访问。",
@@ -564,7 +641,7 @@
"unassign-asset-title": "确定要取消对'{{assetName}}'资产的分配吗?",
"unassign-asset-text": "确认后,资产将未分配,客户无法访问。",
"unassign-asset": "未分配资产",
- "unassign-assets-title": "确定要取消分配 { count, plural, =1 {# 个资产} other {# 个资产} }吗?",
+ "unassign-assets-title": "确定要取消分配 { count, plural, =1 {1 个资产} other {# 个资产} }吗?",
"unassign-assets-text": "确认后,所有选定的资产将被分配,客户无法访问。",
"unassign-assets-from-edge": "取消分配边缘",
"copyId": "复制资产ID",
@@ -578,13 +655,13 @@
"asset-file": "资产档案",
"label": "标签",
"search": "查找资产",
- "assign-asset-to-edge": "Assign Asset(s) To Edge",
+ "assign-asset-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 {# 个资产} }"
+ "selected-assets": "已选择 { count, plural, =1 {1 个资产} other {# 个资产} }"
},
"attribute": {
"attributes": "属性",
@@ -596,12 +673,12 @@
"scope-shared": "共享属性",
"add": "添加属性",
"key": "键名",
- "key-max-length": "关键字长度应小于256",
+ "key-max-length": "键应该小于256个字符。",
"last-update-time": "最后更新时间",
"key-required": "属性键必填。",
"value": "数值",
"value-required": "属性值必填。",
- "delete-attributes-title": "确定要删除 { count, plural, =1 {# 个属性} other {# 个属性} }吗?",
+ "delete-attributes-title": "确定要删除 { count, plural, =1 {1 个属性} other {# 个属性} }吗?",
"delete-attributes-text": "注意,确认后所有选中的属性都会被删除。",
"delete-attributes": "删除属性",
"enter-attribute-value": "输入属性值",
@@ -611,29 +688,33 @@
"prev-widget": "上一个部件",
"add-to-dashboard": "添加到仪表板",
"add-widget-to-dashboard": "将部件添加到仪表板",
- "selected-attributes": "已选择{ count, plural, =1 {# 个属性} other {# 个属性} }",
- "selected-telemetry": "已选择 { count, plural, =1 {# 遥测} other {# 遥测} }",
+ "selected-attributes": "已选择 { count, plural, =1 {1 个属性} other {# 个属性} }",
+ "selected-telemetry": "已选择 { count, plural, =1 {1 telemetry unit} other {# telemetry units} }",
"no-attributes-text": "未找到属性",
- "no-telemetry-text": "未找到遥测数据"
+ "no-telemetry-text": "未找到遥测数据",
+ "copy-key": "复制键",
+ "copy-value": "复制值"
},
"api-usage": {
- "api-usage": "Api统计",
- "alarm": "警报",
- "alarms-created": "创建警报数",
- "alarms-created-daily-activity": "每天产生的警报",
- "alarms-created-hourly-activity": "每小时产生的警报",
- "alarms-created-monthly-activity": "每月产生的警报",
+ "api-features": "Api统计",
+ "api-usage": "Api 使用统计",
+ "alarm": "告警",
+ "alarms-created": "创建告警数",
+ "alarms-created-daily-activity": "每天产生的告警",
+ "alarms-created-hourly-activity": "每小时产生的告警",
+ "alarms-created-monthly-activity": "每月产生的告警",
"data-points": "数据点",
- "data-points-storage-days": "日存储数据点数",
+ "data-points-storage-days": "存储点天",
+ "device-api": "设备 API",
"email": "邮件",
- "email-messages": "邮件信息",
- "email-messages-daily-activity": "每天产生的邮件信息",
- "email-messages-monthly-activity": "每月产生的邮件信息",
- "exceptions": "例外",
- "executions": "执行",
+ "email-messages": "邮件消息",
+ "email-messages-daily-activity": "每天产生的邮件消息",
+ "email-messages-monthly-activity": "每月产生的邮件消息",
+ "exceptions": "异常",
+ "executions": "执行数",
"javascript": "JavaScript",
- "javascript-executions": "JavaScript例外",
- "javascript-functions": "JavaScript函数",
+ "javascript-executions": "JavaScript 执行数",
+ "javascript-functions": "JavaScript 函数",
"javascript-functions-daily-activity": "每天执行的JavaScript函数",
"javascript-functions-hourly-activity": "每小时执行的JavaScript函数",
"javascript-functions-monthly-activity": "每月执行的JavaScript函数",
@@ -656,11 +737,11 @@
"rule-engine-monthly-activity": "每月的规则引擎活动",
"rule-engine-statistics": "规则引擎统计信息",
"rule-node": "规则节点",
- "sms": "SMS",
- "sms-messages": "短信信息",
+ "sms": "短信",
+ "sms-messages": "短信消息",
"sms-messages-daily-activity": "每天的短信息",
"sms-messages-monthly-activity": "每小时的短信息",
- "successful": "${entityName}成功",
+ "successful": "${entityName} 成功",
"telemetry": "遥测数据",
"telemetry-persistence": "遥测持久化",
"telemetry-persistence-daily-activity": "每天的遥测持久化",
@@ -705,6 +786,11 @@
"type-relations-delete": "删除所有关联",
"type-alarm-ack": "已确认",
"type-alarm-clear": "已清除",
+ "type-alarm-assign": "已分配",
+ "type-alarm-unassign": "未分配",
+ "type-added-comment": "添加评论",
+ "type-updated-comment": "更新评论",
+ "type-deleted-comment": "删除评论",
"type-login": "登录",
"type-logout": "注销",
"type-lockout": "锁定",
@@ -731,17 +817,17 @@
"contact": {
"country": "国家",
"city": "城市",
- "state": "州",
+ "state": "省份",
"postal-code": "邮政编码",
"postal-code-invalid": "只允许数字。",
"address": "地址",
"address2": "地址二",
- "phone": "电话",
+ "phone": "手机号码",
"email": "电子邮件",
"no-address": "无地址",
- "state-max-length": "省份名称长度应小于256",
- "phone-max-length": "电话号码长度应小于256",
- "city-max-length": "城市名称长度应小于256"
+ "state-max-length": "省份长度应该小于256个字符",
+ "phone-max-length": "手机号码长度应该小于256个字符",
+ "city-max-length": "城市应该小于256个字符"
},
"common": {
"username": "用户名",
@@ -784,13 +870,13 @@
"manage-public-assets": "管理公共资产",
"manage-customer-edges": "管理客户边缘",
"manage-public-edges": "管理公共边缘",
- "add-customer-text": "添加新客户",
+ "add-customer-text": "添加客户",
"no-customers-text": "未找到客户",
"customer-details": "客户详情",
"delete-customer-title": "确定要删除客户'{{customerTitle}}'吗?",
"delete-customer-text": "请注意:确认后,客户及其所有相关数据将不可恢复。",
- "delete-customers-title": "确定要删除 { count, plural, =1 {# 个客户} other {# 个客户} }吗?",
- "delete-customers-action-title": "删除 { count, plural, =1 {# 个客户} other {# 个客户} }",
+ "delete-customers-title": "确定要删除 { count, plural, =1 {1 个客户} other {# 个客户} }吗?",
+ "delete-customers-action-title": "删除 { count, plural, =1 {1 个客户} other {# 个客户} }",
"delete-customers-text": "请注意:确认后,所有选定的客户将被删除,所有相关数据将不可恢复。",
"manage-users": "管理用户",
"manage-assets": "管理资产",
@@ -798,7 +884,7 @@
"manage-dashboards": "管理仪表板",
"title": "标题",
"title-required": "标题必填。",
- "title-max-length": "标题长度必须少于256个字符",
+ "title-max-length": "标题应该小于256个字符",
"description": "说明",
"details": "详情",
"events": "事件",
@@ -811,7 +897,7 @@
"default-customer": "默认客户",
"default-customer-required": "为了调试租户级别上的仪表板,需要默认客户。",
"search": "查找客户",
- "selected-customers": "已选择 { count, plural, =1 {# 个客户} other {# 个客户} }",
+ "selected-customers": "已选择 { count, plural, =1 {1 个客户} other {# 个客户} }",
"edges": "客户边缘实例",
"manage-edges": "管理边缘"
},
@@ -823,7 +909,7 @@
},
"dashboard": {
"dashboard": "仪表板",
- "dashboards": "仪表板库",
+ "dashboards": "仪表板",
"management": "仪表板管理",
"view-dashboards": "查看仪表板",
"add": "添加仪表板",
@@ -843,40 +929,40 @@
"unassign-from-customers-text": "请选择从仪表板中取消分配的客户",
"no-dashboards-text": "未找到仪表板",
"no-widgets": "没有配置部件",
- "add-widget": "添加新的部件",
+ "add-widget": "添加部件",
"title": "标题",
"image": "仪表板图片",
"mobile-app-settings": "移动端应用设置",
"mobile-order": "移动端应用中的仪表板排序",
"mobile-hide": "在移动端应用中隐藏仪表板",
- "update-image": "更新缩略图",
+ "update-image": "更新仪表板图片",
"take-screenshot": "截图",
"select-widget-title": "选择部件",
"select-widget-value": "{{title}}: 选择部件",
"select-widget-subtitle": "可用的部件类型列表",
"delete": "删除仪表板",
"title-required": "标题必填。",
- "title-max-length": "标题长度必须少于256个字符",
+ "title-max-length": "标题应该少于256个字符。",
"description": "说明",
"details": "详情",
"dashboard-details": "仪表板详情",
- "add-dashboard-text": "添加新的仪表板",
+ "add-dashboard-text": "添加仪表板",
"assign-dashboards": "分配仪表板",
"assign-new-dashboard": "分配新的仪表板",
- "assign-dashboards-text": "分配 { count, plural, =1 {# 个仪表板} other {# 个仪表板} } 给客户",
- "unassign-dashboards-action-text": "取消分配 { count, plural, =1 {# 个仪表板} other {# 个仪表板} } 给客户",
+ "assign-dashboards-text": "分配 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 给客户",
+ "unassign-dashboards-action-text": "取消分配 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 给客户",
"delete-dashboards": "删除仪表板",
"unassign-dashboards": "取消分配仪表板",
- "unassign-dashboards-action-title": "取消分配此客户 { count, plural, =1 {# 个仪表板} other {# 个仪表板} }",
+ "unassign-dashboards-action-title": "取消分配此客户 { count, plural, =1 {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-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-dashboard": "取消分配仪表板",
- "unassign-dashboards-title": "确定要取消分配仪表板 { count, plural, =1 {# 个仪表板} other {# 个仪表板} } 吗?",
+ "unassign-dashboards-title": "确定要取消分配仪表板 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 吗?",
"unassign-dashboards-text": "确认后,所有选定的仪表板将被取消分配,客户将无法访问。",
"public-dashboard-title": "仪表板现已公开",
"public-dashboard-text": "仪表板 {{dashboardTitle}} 已被公开,可通过如下 链接访问:",
@@ -903,7 +989,7 @@
"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列",
@@ -920,24 +1006,25 @@
"vertical-margin-required": "需要垂直边距值。",
"min-vertical-margin-message": "只允许0作为最小垂直边距值。",
"max-vertical-margin-message": "只允许50作为最大垂直边距值。",
+ "apply-outer-margin": "为布局的两侧设置边距",
"autofill-height": "自动填充布局高度",
"mobile-layout": "移动端布局设置",
"mobile-row-height": "移动端行高距(px)",
"mobile-row-height-required": "移动端行高距必填。",
"min-mobile-row-height-message": "移动端行高距至少5px。",
"max-mobile-row-height-message": "移动端行高距最多200px。",
- "title-settings": "Title settings",
+ "title-settings": "标题设置",
"display-title": "显示仪表板标题",
"title-color": "标题颜色",
- "toolbar-settings": "Toolbar settings",
- "hide-toolbar": "Hide toolbar",
+ "toolbar-settings": "工具栏设置",
+ "hide-toolbar": "隐藏工具栏",
"toolbar-always-open": "工具栏常驻",
"display-dashboards-selection": "显示仪表板选项",
"display-entities-selection": "显示实体选项",
"display-filters": "显示筛选器",
"display-dashboard-timewindow": "显示时间窗口",
"display-dashboard-export": "显示导出",
- "display-update-dashboard-image": "显示仪表板缩略图",
+ "display-update-dashboard-image": "显示更新仪表板图像",
"dashboard-logo-settings": "Logo设置",
"display-dashboard-logo": "在仪表板全屏模式下显示 Logo",
"dashboard-logo-image": "仪表板 Logo 图片",
@@ -955,8 +1042,8 @@
"widget-file": "部件文件",
"invalid-widget-file-error": "无法导入窗口部件: 窗口部件数据结构无效。",
"widget-import-missing-aliases-title": "配置导入的窗口部件使用的别名",
- "open-toolbar": "打开仪表板工具栏",
- "close-toolbar": "关闭工具栏",
+ "open-toolbar": "显示工具栏",
+ "close-toolbar": "收起工具栏",
"configuration-error": "配置错误",
"alias-resolution-error-title": "仪表板别名配置错误",
"invalid-aliases-config": "无法找到与某些别名筛选器匹配的任何设备。
请联系您的管理员以解决此问题。",
@@ -964,15 +1051,15 @@
"assignedToCustomer": "分配给客户",
"assignedToCustomers": "分配给客户",
"public": "公开",
- "copyId": "复制仪表板Id",
- "idCopiedMessage": "仪表板ID已经复制到粘贴板",
+ "copyId": "复制仪表板ID",
+ "idCopiedMessage": "仪表板ID已复制到剪贴板",
"public-link": "公共链接",
"copy-public-link": "复制公共链接",
"public-link-copied-message": "仪表板的公共链接已被复制到剪贴板",
"manage-states": "仪表板状态管理",
"states": "仪表板状态",
"search-states": "仪表板状态检索",
- "selected-states": "已选择 { count, plural, =1 {# 个仪表板状态} other {# 个仪表板状态} }",
+ "selected-states": "已选择 { count, plural, =1 {1 个仪表板状态} other {# 个仪表板状态} }",
"edit-state": "仪表板状态编辑",
"delete-state": "删除仪表板状态",
"add-state": "添加仪表板状态",
@@ -991,15 +1078,15 @@
"select-state": "选择目标状态",
"state-controller": "状态控制",
"search": "查找仪表板",
- "selected-dashboards": "已选择 { count, plural, =1 {# 个仪表盘} other {# 个仪表盘} }",
+ "selected-dashboards": "已选择 { count, plural, =1 {1 个仪表盘} other {# 个仪表盘} }",
"home-dashboard": "首页仪表板",
"home-dashboard-hide-toolbar": "隐藏首页仪表板工具栏",
"unassign-dashboard-from-edge-text": "确认后,所有选定的仪表板将被取消分配,边缘将无法访问。",
- "unassign-dashboards-from-edge-title": "确定要取消分配仪表板 { count, plural, =1 {# 个仪表板} other {# 个仪表板} } 吗?",
+ "unassign-dashboards-from-edge-title": "确定要取消分配仪表板 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 吗?",
"unassign-dashboards-from-edge-text": "确认后,所有选定的仪表板将被取消分配,边缘将无法访问。",
"assign-dashboard-to-edge": "将仪表板分配给边缘",
"assign-dashboard-to-edge-text": "请选择要分配给边缘的仪表板",
- "non-existent-dashboard-state-error": "仪表盘\"{{ stateId }}\"未找到"
+ "non-existent-dashboard-state-error": "找不到ID为 \"{{ stateId }}\" 的仪表板状态。"
},
"datakey": {
"settings": "设置",
@@ -1018,37 +1105,37 @@
"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/属性。} }",
+ "maximum-timeseries-or-attributes": "最多允许 { count, plural, =1 {1 个 timeseries/属性。} other {# 个 timeseries/属性。} }",
"alarm-fields-required": "告警字段必填。",
"function-types": "函数类型",
"function-type": "函数类型",
- "function-types-required": "需要函数类型。",
- "alarm-keys": "报警数据键",
- "alarm-key": "报警数据键",
- "alarm-key-functions": "报警数据函数",
- "alarm-key-function": "报警数据函数",
- "latest-keys": "最新数据键",
- "latest-key": "最新数据键",
- "latest-key-functions": "最新数据函数",
- "latest-key-function": "最新数据函数",
- "timeseries-keys": "时序数据键",
- "timeseries-key": "时序数据键",
- "timeseries-key-functions": "时序数据函数",
- "timeseries-key-function": "时序数据函数",
- "maximum-function-types": "最多允许 { count, plural, =1 {# 个函数类型} other {# 个函数类型} }",
+ "function-types-required": "函数类型必填。",
+ "alarm-keys": "告警数据键",
+ "alarm-key": "告警数据键",
+ "alarm-key-functions": "告警数据键函数",
+ "alarm-key-function": "告警数据键函数",
+ "latest-keys": "最新值数据键",
+ "latest-key": "最新值数据键",
+ "latest-key-functions": "最新值数据键函数",
+ "latest-key-function": "最新值数据键函数",
+ "timeseries-keys": "Timeseries 数据键",
+ "timeseries-key": "Timeseries 数据键",
+ "timeseries-key-functions": "Timeseries数据键函数",
+ "timeseries-key-function": "Timeseries数据键函数",
+ "maximum-function-types": "最多允许 { count, plural, =1 {1 个函数类型} other {# 个函数类型} }",
"time-description": "当前值的时间戳;",
"value-description": "当前值;",
"prev-value-description": "上一次函数调用的结果;",
"time-prev-description": "上一个值的时间戳;",
"prev-orig-value-description": "先前的原始值;",
"aggregation": "聚合",
- "aggregation-type-hint-common": "出于性能原因聚合值计算仅适用于“当前日期”、“当前月份”等固定时间间隔,而不适用于“最近30分钟”或“最近24小时”等滑动窗口间隔。",
- "aggregation-type-none-hint": "取最新值。",
- "aggregation-type-min-hint": "在选定时间窗口内的数据点中查找最小值。",
- "aggregation-type-max-hint": "在选定时间窗口内的数据点中查找最大值。",
- "aggregation-type-avg-hint": "计算选定时间窗口内数据点之间的平均值。",
- "aggregation-type-sum-hint": "对选定时间窗口内所有数据点的值求和。",
- "aggregation-type-count-hint": "选定时间窗口内的数据点总数。",
+ "aggregation-type-hint-common": "出于性能原因,聚合值的计算仅适用于固定的时间间隔,如“当前天”,“当前月”等,而不适用于滑动窗口间隔,例如“过去30分钟”或“过去24小时”。",
+ "aggregation-type-none-hint": "获取最新值。",
+ "aggregation-type-min-hint": "在所选时间窗口内找出数据点中的最小值。",
+ "aggregation-type-max-hint": "在所选时间窗口内找出数据点中的最大值。",
+ "aggregation-type-avg-hint": "在所选时间窗口内计算数据点的平均值。",
+ "aggregation-type-sum-hint": "在所选时间窗口内计算数据点所有值的总和。",
+ "aggregation-type-count-hint": "在所选时间窗口内计算数据点的总数。",
"delta-calculation": "增量计算",
"enable-delta-calculation": "启用增量计算",
"enable-delta-calculation-hint": "启用后将根据选定时间窗口和指定比较时段的聚合值计算数据键值。出于性能原因,增量计算仅适用于历史时间窗口,而不适用于实时值。例如,您可以计算昨天的能耗与前天的能耗之间的差值。",
@@ -1076,7 +1163,7 @@
"management": "设备管理",
"view-devices": "查看设备",
"device-alias": "设备别名",
- "device-type-max-length": "设备类型长度必须少于256个字符",
+ "device-type-max-length": "设备类型应该小于256个字符",
"aliases": "设备别名",
"no-alias-matching": "'{{alias}}' 未找到。",
"no-aliases-found": "未找到别名。",
@@ -1109,16 +1196,16 @@
"no-devices-text": "未找到设备",
"assign-to-customer-text": "请选择客户分配设备",
"device-details": "设备详细信息",
- "add-device-text": "添加新设备",
+ "add-device-text": "添加设备",
"credentials": "凭据",
"manage-credentials": "管理凭据",
"delete": "删除设备",
"assign-devices": "分配设备",
- "assign-devices-text": "将 {count,plural, =1 {# 个设备} other {# 个设备} }分配给客户",
+ "assign-devices-text": "将 {count,plural,=1 {1 个设备} other {# 个设备} }分配给客户",
"delete-devices": "删除设备",
"unassign-from-customer": "取消分配客户",
"unassign-devices": "取消分配设备",
- "unassign-devices-action-title": "取消分配此客户 {count,plural, =1 {# 个设备} other {# 个设备} }",
+ "unassign-devices-action-title": "取消分配此客户 {count,plural,=1 {1 个设备} other {# 个设备} }",
"unassign-device-from-edge-title": "确定要取消分配设备 '{{deviceName}}' 吗?",
"unassign-device-from-edge-text": "确认后,设备将被取消分配,边缘将无法访问。",
"unassign-devices-from-edge": "取消分配边缘",
@@ -1130,35 +1217,44 @@
"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-title": "确定要删除{count,plural,=1 {1 个设备} other {# 个设备} } 吗?",
+ "delete-devices-action-title": "删除 {count,plural,=1 {1 个设备} other {# 个设备} }",
"delete-devices-text": "请注意:确认后,所有选定的设备将被删除,所有相关数据将不可恢复。",
"unassign-device-title": "确定要取消分配设备 '{{deviceName}}' 吗?",
"unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。",
"unassign-device": "取消分配设备",
- "unassign-devices-title": "确定要取消分配 {count,plural, =1 {# 个设备} other {# 个设备} } 吗?",
+ "unassign-devices-title": "确定要取消分配 {count,plural,=1 {1 个设备} other {# 个设备} } 吗?",
"unassign-devices-text": "确认后,所有选定的设备将被取消分配,并且客户将无法访问。",
"device-credentials": "设备凭据",
- "loading-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": "需要提供证书。",
+ "copy-access-token": "复制访问令牌",
+ "copy-certificate": "复制证书",
+ "copy-client-id": "复制客户端ID",
+ "copy-user-name": "复制用户名",
+ "copy-password": "复制密码",
+ "generate-client-id": "生成客户端ID",
+ "generate-user-name": "生成用户名",
+ "generate-password": "生成密码",
+ "generate-access-token": "生成访问令牌",
"lwm2m-security-config": {
- "identity": "客户端标识",
- "identity-required": "客户端标识必填。",
- "identity-tooltip": "PSK标识符是多达128字节的任意PSK标识符,如标准[RFC7925]所述。",
+ "identity": "客户端身份",
+ "identity-required": "需要提供客户端身份。",
+ "identity-tooltip": "PSK 标识符是一个任意的 PSK 标识符,最多可以为 128 字节,如标准 [RFC7925] 中所述。\nPSK 标识符必须首先转换为字符字符串,然后使用 UTF-8 编码成八位字节。",
"client-key": "客户端密钥",
- "client-key-required": "客户端密钥必填。",
- "client-key-tooltip-prk": "RPK公钥必须满足标准[RFC7250]并且Base64编码!",
- "client-key-tooltip-psk": "PSK密钥必须是[RFC4279]标准和HexDec格式: 32, 64, 128字符!",
- "endpoint": "客户端名称",
- "endpoint-required": "客户端名称必填。",
+ "client-key-required": "需要提供客户端密钥。",
+ "client-key-tooltip-prk": "RPK 公钥或 ID 必须符合标准 [RFC7250] 并编码为 Base64 格式!",
+ "client-key-tooltip-psk": "PSK 密钥必须符合标准 [RFC4279],使用十六进制表示:32、64、128 个字符!",
+ "endpoint": "终端客户端名称",
+ "endpoint-required": "需要提供终端客户端名称。",
"client-public-key": "客户端公钥",
- "client-public-key-hint": "如果客户端公钥为空则使用信任证书",
- "client-public-key-tooltip": "X509公钥必须是DER-encoded X509v3格式并支持EC算法编码Base64!",
+ "client-public-key-hint": "如果客户端公钥为空,则将使用可信证书",
+ "client-public-key-tooltip": "X509 公钥必须采用 DER 编码的 X509v3 格式,并且仅支持 EC 算法,然后编码为 Base64 格式!",
"mode": "安全配置模式",
"client-tab": "客户端安全配置",
"client-certificate": "客户端证书",
@@ -1194,8 +1290,8 @@
"device-types": "设备类型",
"name": "名称",
"name-required": "名称必填。",
- "name-max-length": "名称长度必须少于256个字符",
- "label-max-length": "标签长度必须少于256个字符",
+ "name-max-length": "名称应该小于256个字符。",
+ "label-max-length": "标签应该小于256个字符。",
"description": "说明",
"label": "标签",
"events": "事件",
@@ -1211,13 +1307,21 @@
"unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用:
{{widgetsList}}",
"is-gateway": "是否网关",
"overwrite-activity-time": "覆盖已连接设备的活动时间",
+ "device-filter": "设备筛选器",
+ "device-filter-title": "设备筛选器",
+ "filter-title": "筛选器",
+ "device-state": "设备状态",
+ "state": "状态",
+ "any": "所有",
+ "active": "活动",
+ "inactive": "非活动",
"public": "公开",
"device-public": "设备公开",
"select-device": "选择设备",
"import": "导入设备",
"device-file": "设备文件",
"search": "查找设备",
- "selected-devices": "已选择 { count, plural, =1 {# 个设备} other {# 个设备} }",
+ "selected-devices": "已选择 { count, plural, =1 {1 个设备} other {# 个设备} }",
"device-configuration": "设备配置",
"transport-configuration": "传输配置",
"wizard": {
@@ -1257,6 +1361,8 @@
"description": "说明",
"default": "默认",
"default-rule-chain": "默认规则链",
+ "default-edge-rule-chain": "默认边缘规则链",
+ "default-edge-rule-chain-hint": "作为规则链,用于在边缘上处理属于此资产配置中资产的传入数据。",
"mobile-dashboard": "移动端仪表板",
"mobile-dashboard-hint": "被移动端应用用作资产详情仪表板",
"select-queue-hint": "从下拉列表中选择。",
@@ -1284,14 +1390,14 @@
"device-profile-details": "设备配置详情",
"no-device-profiles-text": "未找到设备配置",
"search": "查找设备配置",
- "selected-device-profiles": "已选择 { count, plural, =1 {# 个设备配置} other {# 个设备配置} }",
+ "selected-device-profiles": "已选择 { count, plural, =1 {1 个设备配置} other {# 个设备配置} }",
"no-device-profiles-matching": "未找到与 '{{entity}}' 匹配的设备配置。",
"device-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": "名称",
@@ -1317,12 +1423,14 @@
"profile-configuration": "配置",
"transport-configuration": "传输配置",
"default-rule-chain": "默认规则链",
+ "default-edge-rule-chain": "默认边缘规则链",
+ "default-edge-rule-chain-hint": "作为规则链,用于在边缘上处理属于此设备配置中设备的传入数据。",
"mobile-dashboard": "移动端仪表板",
"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-title": "确定要删除 { count, plural, =1 {1 个设备配置} other {# 个设备配置} }吗?",
"delete-device-profiles-text": "请注意:确认后,所有选定的设备配置将被删除,所有相关数据将不可恢复。",
"set-default-device-profile-title": "确定要将设备配置 '{{deviceProfileName}}' 设为默认值吗?",
"set-default-device-profile-text": "确认后,设备配置将被标记为默认,并将用于未指定配置的新设备。",
@@ -1330,6 +1438,10 @@
"create-new-device-profile": "创建一个新的!",
"mqtt-device-topic-filters": "MQTT 设备 Topic 筛选器",
"mqtt-device-topic-filters-unique": "MQTT设备 Topic 筛选器必须唯一。",
+ "mqtt-device-topic-filters-spark-plug": "MQTT Sparkplug B边缘网络(EoN)节点",
+ "mqtt-device-topic-filters-spark-plug-hint": "允许来自具备Sparkplug B负载和Topic格式的边缘网络(EoN)节点的连接。",
+ "mqtt-device-topic-filters-spark-plug-attribute-metric-names": "将SparkPlug指标存储为属性。",
+ "mqtt-device-topic-filters-spark-plug-attribute-metric-names-hint": "将作为设备属性存储的SparkPlug指标的名称。其他指标将作为设备遥测数据进行存储。",
"mqtt-device-payload-type": "MQTT 设备 Payload",
"mqtt-device-payload-type-json": "JSON",
"mqtt-device-payload-type-proto": "Protobuf",
@@ -1340,9 +1452,9 @@
"mqtt-send-ack-on-validation-exception": "发布消息验证失败时发送PUBACK",
"mqtt-send-ack-on-validation-exception-hint": "默认情况下平台将关闭相关消息验证失败的MQTT会话,启用后平台将发布确认而不是关闭会话。",
"snmp-add-mapping": "添加SNMP映射",
- "snmp-mapping-not-configured": "没有配置时间序列/属性的OID映射",
- "snmp-timseries-or-attribute-name": "映射时间序列/属性名称",
- "snmp-timseries-or-attribute-type": "映射时间序列/属性名称",
+ "snmp-mapping-not-configured": "OID到Timeseries/遥测的映射未配置",
+ "snmp-timseries-or-attribute-name": "用于映射的Timeseries/属性名称",
+ "snmp-timseries-or-attribute-type": "用于映射的Timeseries/属性类型",
"snmp-method-pdu-type-get-request": "GetRequest",
"snmp-method-pdu-type-get-next-request": "GetNextRequest",
"snmp-oid": "OID",
@@ -1355,14 +1467,16 @@
"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",
- "attributes-topic-filter-required": "Attributes topic 筛选器必填。",
+ "telemetry-topic-filter": "遥测数据Topic筛选器",
+ "telemetry-topic-filter-required": "遥测数据Topic筛选器必填。",
+ "attributes-topic-filter": "属性Topic筛选器",
+ "attributes-subscribe-topic-filter": "订阅属性的Topic筛选器",
+ "attributes-topic-filter-required": "属性的Topic筛选器必填。",
+ "attributes-subscribe-topic-filter-required": "订阅属性的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 必填。",
+ "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 筛选器",
@@ -1373,8 +1487,8 @@
"not-valid-pattern-topic-filter": "无效的 Topic 筛选器模式",
"not-valid-single-character": "单级通配符的使用无效",
"not-valid-multi-character": "多级通配符的使用无效",
- "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/#。",
+ "single-level-wildcards-hint": "[+] 适用于任何 Topic 过滤级别。例如:v1/devices/+/telemetry or +/devices/+/attributes。",
+ "multi-level-wildcards-hint": "[#]可以替换 Topic 筛选器本身,并且必须是 Topic 的最后一个符号。例如:# or v1/devices/me/#。",
"alarm-rules": "告警规则",
"alarm-rules-with-count": "告警规则 ({{count}})",
"no-alarm-rules": "未配置告警规则",
@@ -1383,7 +1497,7 @@
"alarm-type": "告警类型",
"alarm-type-required": "告警类型必填。",
"alarm-type-unique": "警报类型在设备配置警报规则中必须唯一。",
- "alarm-type-max-length": "Alarm type should be less than 256",
+ "alarm-type-max-length": "告警类型应该小于256字符。",
"create-alarm-pattern": "创建 {{alarmType}} 告警",
"create-alarm-rules": "创建告警规则",
"no-create-alarm-rules": "未配置创建条件",
@@ -1403,16 +1517,16 @@
"condition-duration-time-unit-required": "时间单位必填。",
"advanced-settings": "高级设置",
"alarm-rule-details": "详情",
- "alarm-rule-details-hint": "提示:使用${keyName}警报条件中属性值或报文关键字。",
+ "alarm-rule-details-hint": "提示: 使用 ${keyName} 来替代告警规则条件中使用的属性或遥测键的值。",
"add-alarm-rule-details": "详情模板:",
- "alarm-rule-mobile-dashboard": "移动仪表盘",
- "alarm-rule-mobile-dashboard-hint": "用于警报详细报告",
- "alarm-rule-no-mobile-dashboard": "未选择仪表板",
+ "alarm-rule-mobile-dashboard": "移动端仪表板",
+ "alarm-rule-mobile-dashboard-hint": "作为移动端告警详情仪表板使用。",
+ "alarm-rule-no-mobile-dashboard": "未选择仪表板。",
"propagate-alarm": "传递警报",
"alarm-rule-relation-types-list": "要传递的关联类型",
"alarm-rule-relation-types-list-hint": "如果未选择传递关联类型,则将不按关联类型过滤而传递告警。",
- "propagate-alarm-to-owner": "向实体所有者(客户或租户)传播警报",
- "propagate-alarm-to-tenant": "向租户传播警报",
+ "propagate-alarm-to-owner": "将告警传播给实体所有者(客户或租户)。",
+ "propagate-alarm-to-tenant": "将告警传播给租户",
"alarm-details": "告警详细信息",
"alarm-rule-condition": "告警规则条件",
"enter-alarm-rule-condition-prompt": "请添加告警规则条件",
@@ -1431,20 +1545,31 @@
"provision-device-secret-required": "预配置设备密钥必填。",
"copy-provision-secret": "复制预配置密钥",
"provision-secret-copied-message": "预配置密钥已复制到剪贴板",
+ "provision-strategy-x509": {
+ "certificate-chain": "X509 证书链",
+ "certificate-chain-hint": "X.509 证书策略用于通过客户端证书在双向TLS通信中提供设备的方式。",
+ "allow-create-new-devices": "创建新设备",
+ "allow-create-new-devices-hint": "如果选择创建新设备,则将客户端证书用作设备凭据。",
+ "certificate-value": "PEM 格式的证书",
+ "certificate-value-required": "PEM 格式的证书必填。",
+ "cn-regex-variable": "CN 正则表达式变量",
+ "cn-regex-variable-required": "CN 正则表达式变量必填。",
+ "cn-regex-variable-hint": "需要从设备 X509 证书的通用名称中获取设备名称。"
+ },
"condition": "条件",
"condition-type": "条件类型",
"condition-type-simple": "简单",
"condition-type-duration": "持续时间",
"condition-during": "在 {{during}} 期间",
- "condition-during-dynamic": "在\"{{ attribute }}\" ({{during}})",
+ "condition-during-dynamic": "\"{{ attribute }}\" ({{during}}) 期间",
"condition-type-repeating": "重复",
"condition-type-required": "条件类型必填。",
"condition-repeating-value": "事件计数",
"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 {1 次} other {# 次} }",
+ "condition-repeat-times-dynamic": "重复 \"{ attribute }\" ({ count, plural, =1 {1 次} other {# 次} })",
"schedule-type": "计划程序类型",
"schedule-type-required": "计划类型必填。",
"schedule": "启用规则:",
@@ -1503,7 +1628,7 @@
"instance-id-pattern": "实例id必须是一个正整数。",
"instance-id-max": "实例id最大值是{{max}}",
"instance": "实例",
- "resource-label": "#I资源D名称",
+ "resource-label": "#ID资源名称",
"observe-label": "观察者",
"attribute-label": "属性",
"telemetry-label": "遥测",
@@ -1523,8 +1648,8 @@
"edit-attribute": "编辑属性",
"view-attribute": "查看属性",
"remove-attribute": "移除属性",
- "delete-server-text": "请注意确认删除后服务器配置将无法恢复。",
- "delete-server-title": "你确定要删除服务器吗?",
+ "delete-server-text": "请注意,确认删除后,服务器配置将无法恢复。",
+ "delete-server-title": "确定要删除服务器吗?",
"mode": "安全配置模式",
"bootstrap-tab": "Bootstrap",
"bootstrap-server-legend": "Bootstrap Server (ShortId...)",
@@ -1604,15 +1729,15 @@
"sw-update-resource-required": "软件更新COAP资源必填。",
"config-json-tab": "设备配置JSON",
"attributes-name": {
- "min-period": "最小期限",
- "max-period": "最大期限",
+ "min-period": "最小周期",
+ "max-period": "最大周期",
"greater-than": "大于",
- "less-than": "少于",
- "step": "停止",
- "min-evaluation-period": "最小期限评估",
- "max-evaluation-period": "最大期限评估"
+ "less-than": "小于",
+ "step": "步长",
+ "min-evaluation-period": "最小评估周期",
+ "max-evaluation-period": "最大评估周期"
},
- "composite-operations-support": "支持Read/Write/Observe操作"
+ "composite-operations-support": "支持复合读取/写入/观察操作"
},
"snmp": {
"add-communication-config": "添加通信配置",
@@ -1664,7 +1789,9 @@
}
},
"dialog": {
- "close": "关闭对话框"
+ "close": "关闭对话框",
+ "error-message-title": "错误信息:",
+ "error-details-title": "错误详细信息"
},
"direction": {
"column": "列",
@@ -1673,6 +1800,7 @@
"edge": {
"edge": "边缘",
"edge-instances": "边缘实例",
+ "instances": "边缘实例",
"edge-file": "边缘文件",
"name-max-length": "名称长度必须少于256个字符",
"label-max-length": "标签长度必须少于256个字符",
@@ -1713,7 +1841,7 @@
"unassign-from-customer": "取消分配客户",
"unassign-edge-title": "确定取消分配边缘 '{{edgeName}}' 吗?",
"unassign-edge-text": "确定后,边缘将被取消分配,并且客户将无法访问。",
- "unassign-edges-title": "确定要取消分配 {count,plural, =1 {1 个边缘} other {# 个边缘} } 吗?",
+ "unassign-edges-title": "确定要取消分配 {count,plural,=1 {1 个边缘} other {# 个边缘} } 吗?",
"unassign-edges-text": "确定后,所有选定的边缘将被取消分配,并且客户将无法访问。",
"make-public": "公开",
"make-public-edge-title": "确定要将边缘 '{{edgeName}}' 设为公开吗?",
@@ -1723,6 +1851,7 @@
"make-private-edge-title": "确定要将边缘 '{{edgeName}}' 设为私有吗?",
"make-private-edge-text": "确认后,边缘及其所有数据将被设为私有,不被其他人访问。",
"import": "导入边缘",
+ "install-connect-instructions": "安装和连接说明",
"label": "标签",
"load-entity-error": "加载数据失败,实体已经被删除。",
"assign-new-edge": "分配新边缘",
@@ -1733,17 +1862,18 @@
"edge-secret": "边缘密钥",
"copy-edge-secret": "复制边缘密钥",
"edge-secret-copied-message": "边缘密钥已经被复制到剪切板",
- "edge-assets": "边缘资产",
- "edge-devices": "边缘设备",
- "edge-entity-views": "边缘实体视图",
- "edge-dashboards": "边缘仪表板",
- "edge-rulechains": "边缘规则链",
+ "manage-assets": "管理资产",
+ "manage-devices": "管理设备",
+ "manage-entity-views": "管理实体视图",
+ "manage-dashboards": "管理仪表板",
+ "manage-rulechains": "管理规则链",
"assets": "边缘资产",
"devices": "边缘设备",
"entity-views": "边缘实体视图",
"dashboard": "边缘仪表板",
"dashboards": "边缘仪表板",
"rulechain-templates": "规则链模版",
+ "edge-rulechain-templates": "边缘规则链模板",
"rulechains": "规则链",
"search": "搜索边缘",
"selected-edges": "{ count, plural, =1 {1 个边缘} other {# 个边缘} } 被选中",
@@ -1766,7 +1896,7 @@
"type-asset": "资产",
"type-device": "设备",
"type-device-profile": "设备概要",
- "type-asset-profile": "Asset Profile",
+ "type-asset-profile": "资产配置",
"type-entity-view": "实体视图",
"type-alarm": "告警",
"type-rule-chain": "规则链",
@@ -1807,6 +1937,7 @@
"entity": "实体",
"entities": "实体",
"entities-count": "实体数量",
+ "alarms-count": "告警数量",
"aliases": "实体别名",
"entity-alias": "实体别名",
"unable-delete-entity-alias-title": "无法删除实体别名",
@@ -1855,8 +1986,8 @@
"device-profile-name-starts-with": "名称以 '{{prefix}}' 开头的设备配置",
"type-asset-profile": "资产配置",
"type-asset-profiles": "资产配置",
- "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}}'",
+ "list-of-asset-profiles": "{ count, plural, =1 {1 个资产配置} other {# 个资产配置} }",
+ "asset-profile-name-starts-with": "名称以 '{{prefix}}' 开头的资产配置",
"type-asset": "资产",
"type-assets": "资产",
"list-of-assets": "{ count, plural, =1 {1 个资产} other {# 个资产} }",
@@ -1909,11 +2040,11 @@
"type-current-tenant": "当前租户",
"type-current-user": "当前用户",
"type-current-user-owner": "当前用户所有者",
- "type-widgets-bundle": "Widgets bundle",
- "type-widgets-bundles": "Widgets bundles",
- "list-of-widgets-bundles": "{ count, plural, =1 {1 个部件包} other {列表 # 部件包} }",
+ "type-widgets-bundle": "部件包",
+ "type-widgets-bundles": "部件包",
+ "list-of-widgets-bundles": "{ count, plural, =1 {1 个部件包} other {# 个部件包} }",
"search": "实体检索",
- "selected-entities": "已选择 { count, plural, =1 {# 个实体} other {# 个实体} }",
+ "selected-entities": "已选择 { count, plural, =1 {1 个实体} other {# 个实体} }",
"entity-name": "实体名",
"entity-label": "实体标签",
"details": "实体详情",
@@ -1926,7 +2057,14 @@
"list-of-edges": "{ count, plural, =1 {1 个边缘} other {列表 # 个边缘} }",
"edge-name-starts-with": "以 '{{prefix}}' 开头的边缘",
"type-tb-resource": "资源",
- "type-ota-package": "OTA包"
+ "type-ota-package": "OTA包",
+ "type-rpc": "RPC",
+ "type-queue": "队列",
+ "type-notification": "通知",
+ "type-notification-rule": "通知规则",
+ "type-notification-target": "通知收件人",
+ "type-notification-request": "通知请求",
+ "type-notification-template": "通知模板"
},
"entity-field": {
"created-time": "创建时间",
@@ -1983,24 +2121,24 @@
"no-entity-views-text": "未找到实体视图",
"assign-to-customer-text": "请选择客户分配实体视图",
"entity-view-details": "实体视图详细信息",
- "add-entity-view-text": "添加新实体视图",
+ "add-entity-view-text": "添加实体视图",
"delete": "删除实体视图",
"assign-entity-views": "分配实体视图",
- "assign-entity-views-text": "分配 { count, plural, =1 {# 个实体视图} other {# 个实体视图} } 给客户",
+ "assign-entity-views-text": "分配 { count, plural, =1 {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 {1 实体视图} other {# 实体视图} }",
"assign-new-entity-view": "分配新实体视图",
"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-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 {# 个实体视图} other {# 个实体视图} } 吗?",
+ "unassign-entity-views-title": "确定要取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 吗?",
"unassign-entity-views-text": "确认后,所有选定的实体视图将被分配,客户无法访问。",
"entity-view-type": "实体视图类型",
"entity-view-type-required": "实体视图类型必填。",
@@ -2013,8 +2151,8 @@
"created-time": "创建时间",
"name": "名称",
"name-required": "名称必填。",
- "name-max-length": "名称长度必须少于256个字符",
- "type-max-length": "视图类型长度必须少于256个字符",
+ "name-max-length": "名称应该少于256个字符。",
+ "type-max-length": "实体视图类型应该少于256个字符。",
"description": "说明",
"events": "事件",
"details": "详情",
@@ -2041,11 +2179,11 @@
"timeseries-placeholder": "时间序列",
"target-entity": "目标实体",
"attributes-propagation": "属性传播",
- "attributes-propagation-hint": "每次保存或更新这个实体视图时将自动从目标实体复制指定的属性。由于性能原因目标实体属性不会在每次属性更改时传递到实体视图。你可以通过配置\"copy to view\"规则链中的规则节点,并将\"Post attributes\"和\"attributes Updated\"消息链接到新规则节点,从而启用自动传递。",
+ "attributes-propagation-hint": "每次保存或更新这个实体视图时,实体视图将自动从目标实体复制指定的属性。由于性能原因,目标实体属性不会在每次属性更改时传递到实体视图。您可以通过配置\"copy to view\"规则链中的规则节点,并将\"Post attributes\"和\"attributes Updated\"消息链接到新规则节点,从而启用自动传递。",
"timeseries-data": "时间序列数据",
"timeseries-data-hint": "配置目标实体的 Timeseries 数据键,以便实体视图可以访问这些键。此 Timeseries 数据是只读的。",
"search": "查找实体视图",
- "selected-entity-views": "已选择 { count, plural, =1 {# 个实体视图} other {# 个实体视图} }",
+ "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}}' 设为私有吗?",
@@ -2054,15 +2192,15 @@
"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-views-from-edge-action-title": "从边缘处取消分配{count,plural,=1 {1 实体视图} other {# 实体视图} }",
"unassign-entity-view-from-edge": "未分配实体视图",
- "unassign-entity-views-from-edge-title": "确定要取消分配 { count, plural, =1 {# 个实体视图} other {# 个实体视图} } 吗?",
+ "unassign-entity-views-from-edge-title": "确定要取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 吗?",
"unassign-entity-views-from-edge-text": "确认后,所有选定的实体视图将被分配,边缘无法访问。"
},
"event": {
"event-type": "事件类型",
"events-filter": "事件筛选器",
- "clean-events": "Clear Events",
+ "clean-events": "清除事件",
"type-error": "错误",
"type-lc-event": "生命周期事件",
"type-stats": "类型统计",
@@ -2076,9 +2214,9 @@
"body": "整体",
"method": "方法",
"type": "类型",
- "message": "Message",
+ "message": "消息",
"message-id": "消息ID",
- "copy-message-id": "Copy message Id",
+ "copy-message-id": "复制消息ID",
"message-type": "消息类型",
"data-type": "数据类型",
"relation-type": "关联类型",
@@ -2089,24 +2227,27 @@
"success": "成功",
"failed": "失败",
"messages-processed": "消息处理",
- "max-messages-processed": "最多处理消息",
- "min-messages-processed": "最少处理消息",
+ "max-messages-processed": "最大处理消息数",
+ "min-messages-processed": "最少处理消息数",
"errors-occurred": "错误发生",
- "max-errors-occurred": "最多错误",
- "min-errors-occurred": "最少错误",
- "min-value": "最小值是0。",
+ "max-errors-occurred": "最大发生错误数",
+ "min-errors-occurred": "最少发生错误数",
+ "min-value": "最小值为 0。",
"all-events": "全部",
"has-error": "有错误",
"entity-id": "实体ID",
"copy-entity-id": "复制实体ID",
"entity-type": "实体类型",
- "clear-filter": "清除过滤器",
+ "clear-filter": "清除筛选器",
"clear-request-title": "清除所有事件",
- "clear-request-text": "确除清空所有事件?"
+ "clear-request-text": "你确定要清除所有事件吗?",
+ "started": "已开始",
+ "updated": "已更新",
+ "stopped": "已停止"
},
"extension": {
"extensions": "扩展",
- "selected-extensions": "已选择 { count, plural, =1 {# 个扩展} other {# 个扩展} }",
+ "selected-extensions": "已选择 { count, plural, =1 {1 个扩展} other {# 个扩展} }",
"type": "类型",
"key": "键名",
"value": "价值",
@@ -2120,7 +2261,7 @@
"edit": "编辑扩展",
"delete-extension-title": "确定要删除扩展 '{{extensionId}}'吗?",
"delete-extension-text": "请注意:确认后,扩展和所有相关数据将不可恢复。",
- "delete-extensions-title": "确定要删除 { count, plural, =1 {# 个扩展} other {# 个扩展} }吗?",
+ "delete-extensions-title": "确定要删除 { count, plural, =1 {1 个扩展} other {# 个扩展} }吗?",
"delete-extensions-text": "请注意:确认后,所有选定的扩展将被删除,所有相关数据将不可恢复。",
"converters": "转换器",
"converter-id": "转换器序号",
@@ -2155,9 +2296,9 @@
"anonymous": "匿名",
"basic": "Basic",
"pem": "PEM",
- "ca-cert": "CA certificate file *",
- "private-key": "Private key file *",
- "cert": "Certificate file *",
+ "ca-cert": "CA证书文件 *",
+ "private-key": "私钥文件 *",
+ "cert": "证书文件 *",
"no-file": "没有选择文件。",
"drop-file": "删除文件或单击以选择要上载的文件。",
"mapping": "映射",
@@ -2210,7 +2351,7 @@
"opc-keystore": "密钥库",
"opc-type": "类型",
"opc-keystore-type": "类型",
- "opc-keystore-location": "Location *",
+ "opc-keystore-location": "位置 *",
"opc-keystore-password": "密码",
"opc-keystore-alias": "别名",
"opc-keystore-key-password": "密钥密码",
@@ -2261,6 +2402,9 @@
"file": "扩展文件",
"invalid-file-error": "无效的扩展文件"
},
+ "feature": {
+ "advanced-features": "高级功能"
+ },
"filter": {
"add": "添加筛选器",
"edit": "编辑筛选器",
@@ -2269,7 +2413,7 @@
"duplicate-filter": "同名筛选器已存在。",
"filters": "筛选器",
"unable-delete-filter-title": "无法删除筛选器",
- "unable-delete-filter-text": "无法删除筛选器 '{{filter}}' ,因为它由以下小部件使用:
{{widgetsList}}",
+ "unable-delete-filter-text": "无法删除筛选器 '{{filter}}' ,因为它由以下部件使用:
{{widgetsList}}",
"duplicate-filter-error": "找到重复的筛选器 '{{filter}}'。
筛选器在仪表板中必须是唯一的。",
"missing-key-filters-error": "筛选器 '{{filter}}' 的键名筛选条件缺失。",
"filter": "筛选器",
@@ -2294,12 +2438,13 @@
"less-or-equal": "小于或等于",
"and": "和",
"or": "或",
- "in": "匹配",
- "not-in": "不匹配"
+ "in": "存在",
+ "not-in": "不存在"
},
"ignore-case": "忽略大小写",
"value": "值",
"remove-filter": "删除筛选器",
+ "duplicate-filter-action": "重复过滤器",
"preview": "筛选器预览",
"no-filters": "未配置筛选器",
"add-filter": "添加筛选器",
@@ -2365,12 +2510,12 @@
},
"gateway": {
"add-entry": "添加配置",
- "connector-add": "添加新连接器",
+ "connector-add": "添加连接器",
"connector-enabled": "启用连接器",
"connector-name": "连接器名称",
- "connector-name-required": "连接器名称名称必填。",
+ "connector-name-required": "连接器名称必填。",
"connector-type": "连接器类型",
- "connector-type-required": "连接器名称类型必填。",
+ "connector-type-required": "连接器类型必填。",
"connectors": "连接器配置",
"create-new-gateway": "创建新网关",
"create-new-gateway-text": "确定要创建名为 '{{gatewayName}}' 的新网关?",
@@ -2427,7 +2572,7 @@
"thingsboard-port-min": "最小端口号为1。",
"thingsboard-port-pattern": "端口无效。",
"thingsboard-port-required": "端口必填。",
- "tidy": "整洁",
+ "tidy": "整理",
"tidy-tip": "整理配置JSON",
"title-connectors-json": "连接器 {{typeName}} 配置",
"tls-path-ca-certificate": "网关上CA证书的路径",
@@ -2440,10 +2585,10 @@
"grid": {
"delete-item-title": "确定要删除此项吗?",
"delete-item-text": "请注意,确认后,项目及其所有相关数据将不可恢复。",
- "delete-items-title": "确定删除 { count, plural, =1 {# 项} other {# 项} }吗?",
- "delete-items-action-title": "删除 { count, plural, =1 {# 个元素} other {# 个元素} }",
+ "delete-items-title": "确定删除 { count, plural, =1 {1 项} other {# 项} }吗?",
+ "delete-items-action-title": "删除 { count, plural, =1 {1 个元素} other {# 个元素} }",
"delete-items-text": "请注意,确认后所有选择的项目将被删除,所有相关数据将不可恢复。",
- "add-item-text": "添加新项目",
+ "add-item-text": "添加项目",
"no-items-text": "未找到项目",
"item-details": "项目详细信息",
"delete-item": "删除项目",
@@ -2467,26 +2612,26 @@
"browse-files": "浏览文件"
},
"image-input": {
- "drop-image-or": "拖拽图片或",
- "drop-images-or": "拖拽图片或",
- "no-images": "没有图片",
+ "drop-image-or": "拖放一张图片或者",
+ "drop-images-or": "拖放一张或多张图片",
+ "no-images": "未选择任何图片",
"images": "图片"
},
"import": {
"no-file": "没有选择文件",
- "drop-file": "拖动一个JSON文件或者单击以选择要上传的文件。",
- "drop-json-file-or": "拖拽JSON文件或",
- "drop-file-csv": "拖动一个CSV文件或单击以选择要上载的文件。",
- "drop-file-csv-or": "拖拽CSV文件或",
+ "drop-file": "拖放一个JSON文件或者单击以选择要上传的文件。",
+ "drop-json-file-or": "拖放一个 JSON 文件或者",
+ "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}}'",
"column-type": {
@@ -2520,7 +2665,7 @@
"lwm2m-server-public-key-id": "LwM2M server公钥"
},
"isgateway": "是否网关",
- "activity-time-from-gateway-device": "网关设备活动时间",
+ "activity-time-from-gateway-device": "来自网关设备的活动时间",
"description": "说明",
"routing-key": "边缘键",
"secret": "边缘密钥"
@@ -2543,7 +2688,7 @@
"js-func": {
"no-return-error": "函数必须返回值!",
"return-type-mismatch": "函数必须返回 '{{type}}' 类型的值!",
- "tidy": "整洁",
+ "tidy": "整理",
"mini": "迷你"
},
"key-val": {
@@ -2560,7 +2705,7 @@
"color": "颜色",
"main": "主体",
"right": "右侧",
- "left": "左",
+ "left": "左侧",
"select": "选择目标布局",
"percentage-width": "百分比宽度(%)",
"fixed-width": "固定(px)",
@@ -2585,13 +2730,13 @@
"show-min": "显示最小值",
"show-avg": "显示平均值",
"show-total": "显示总数",
- "show-latest": "显示最新数据值",
+ "show-latest": "显示最新值",
"settings": "图例设置",
"min": "最小值",
"max": "最大值",
"avg": "平均值",
"total": "总数",
- "latest": "latest",
+ "latest": "最新值",
"comparison-time-ago": {
"previousInterval": "(历史间隔)",
"customInterval": "(自定义间隔)",
@@ -2606,7 +2751,7 @@
"request-password-reset": "请求密码重置",
"reset-password": "重置密码",
"create-password": "创建密码",
- "two-factor-authentication": "双重因素身份验证",
+ "two-factor-authentication": "双因素认证",
"passwords-mismatch-error": "输入的密码必须相同!",
"password-again": "再次输入密码",
"sign-in": "登录 ",
@@ -2639,8 +2784,249 @@
"markdown": {
"edit": "编辑",
"preview": "预览",
- "copy-code": "单击拷贝",
- "copied": "已拷贝!"
+ "copy-code": "点击复制",
+ "copied": "已复制!"
+ },
+ "notification": {
+ "action-button": "操作按钮",
+ "action-type": "操作类型",
+ "active": "活动",
+ "add-notification-recipients-group": "添加通知收件人组",
+ "add-notification-template": "添加通知模板",
+ "add-recipient": "添加收件人",
+ "add-recipients": "添加收件人",
+ "add-rule": "添加规则",
+ "add-stage": "添加阶段",
+ "add-template": "添加模板",
+ "after": "之后",
+ "alarm-assignment-trigger-settings": "告警分配触发设置",
+ "alarm-comment-trigger-settings": "告警评论触发设置",
+ "alarm-trigger-settings": "告警触发设置",
+ "all": "所有",
+ "api-feature-hint": "如果字段为空,则触发器将应用于所有API功能",
+ "api-usage-trigger-settings": "API使用触发设置",
+ "new-platform-version-trigger-settings": "新平台版本触发设置",
+ "at-least-one-should-be-selected": "至少需要选择一个",
+ "basic-settings": "基本设置",
+ "button-text": "按钮文本",
+ "button-text-required": "按钮文本必填。",
+ "button-text-max-length": "按钮文本应小于或等于{{ length }}个字符。",
+ "compose": "组合",
+ "conversation": "对话",
+ "conversation-required": "对话必填。",
+ "copy-notification-template": "复制通知模板",
+ "copy-rule": "复制规则",
+ "copy-template": "复制模板",
+ "create-new": "创建",
+ "created": "已创建",
+ "delete-notification-text": "请注意,在确认后,通知将无法恢复。",
+ "delete-notification-title": "您确定要删除该通知吗?",
+ "delete-notifications-text": "请注意,在确认后,通知将无法恢复。",
+ "delete-notifications-title": "确定要删除 { count, plural, =1 {1 个通知} other {# 个通知} } 吗?",
+ "delete-recipient-text": "请注意,在确认后,收件人将无法恢复。",
+ "delete-recipient-title": "确定要删除收件人 '{{recipientName}}' 吗?",
+ "delete-recipients-text": "请注意,在确认后,收件人将无法恢复。",
+ "delete-recipients-title": "确定要删除 { count, plural, =1 {1 个收件人} other {# 个收件人} } 吗?",
+ "delete-request-text": "请注意,在确认后,请求将无法恢复。",
+ "delete-request-title": "确定要删除请求吗?",
+ "delete-requests-text": "请注意,在确认后,请求将无法恢复。",
+ "delete-requests-title": "确定要删除 { count, plural, =1 {1 个请求} other {# 个请求} } 吗?",
+ "delete-rule-text": "请注意,在确认后,规则将无法恢复。",
+ "delete-rule-title": "确定要删除规则 '{{ruleName}}' 吗?请注意,确认后无法恢复。",
+ "delete-rules-text": "请注意,在确认后,规则将无法恢复。",
+ "delete-rules-title": "确定要删除 { count, plural, =1 {1 条规则} other {# 条规则} } 吗?",
+ "delete-template-text": "请注意,在确认后,模板将无法恢复。",
+ "delete-template-title": "确定要删除模板 '{{templateName}}' 吗?",
+ "delete-templates-text": "请注意,在确认后,模板将无法恢复。",
+ "delete-templates-title": "确定要删除 { count, plural, =1 {1 个模板} other {# 个模板} } 吗?",
+ "deleted": "已删除",
+ "delivery-method": {
+ "delivery-method": "推送方式",
+ "email": "Email",
+ "email-preview": "Email 通知预览",
+ "slack": "Slack",
+ "slack-preview": "Slack 通知预览",
+ "sms": "SMS",
+ "sms-preview": "SMS 通知预览",
+ "web": "Web",
+ "web-preview": "Web 通知预览"
+ },
+ "delivery-method-not-configure-click": "推送方式未配置,点击进行设置。",
+ "delivery-method-not-configure-contact": "推送方式未配置,请与您的系统管理员联系。",
+ "delivery-methods": "推送方式",
+ "description": "描述",
+ "device-activity-trigger-settings": "设备活动触发设置",
+ "device-list-rule-hint": "如果该字段为空,则触发器将适用于所有设备。",
+ "device-profiles-list-rule-hint": "如果该字段为空,则触发器将适用于所有设备配置。",
+ "disabled": "已禁用",
+ "edit-notification-recipients-group": "编辑通知收件人群组",
+ "edit-notification-template": "编辑通知模板",
+ "edit-rule": "编辑规则",
+ "edit-template": "编辑模板",
+ "enabled": "已启用",
+ "entities-limit-trigger-settings": "实体限制触发器设置",
+ "entity-action-trigger-settings": "实体动作触发器设置",
+ "entity-type": "实体类型",
+ "escalation-chain": "逐步升级链",
+ "failed-send": "发送失败",
+ "fails": "{ count, plural, =1 {1 个失败} other {# 个失败} }",
+ "filter": "筛选器",
+ "first-recipient": "第一收件人",
+ "inactive": "非活动",
+ "inbox": "收件箱",
+ "notification-inbox": "通知 / 收件箱",
+ "input-field-support-templatization": "输入字段支持模板化",
+ "input-fields-support-templatization": "输入字段支持模板化",
+ "link": "链接",
+ "link-required": "链接必填。",
+ "link-type": {
+ "dashboard": "打开仪表板",
+ "link": "打开URL链接"
+ },
+ "management": "通知管理",
+ "mark-all-as-read": "全部标记为已读",
+ "mark-as-read": "标记为已读",
+ "message": "信息",
+ "message-required": "信息必填。",
+ "message-max-length": "提示信息应该少于或等于 {{ length }} 个字符",
+ "name": "名称",
+ "name-required": "名称必填",
+ "new-notification": "新通知",
+ "no-inbox-notification": "未找到通知",
+ "no-notification-request": "没有通知请求",
+ "no-notification-templates": "未找到通知模板",
+ "no-notifications-yet": "目前还没有通知",
+ "no-recipients-notification": "没有收件人的通知",
+ "no-rule": "未配置规则",
+ "no-rules-notification": "没有规则通知",
+ "no-severity-found": "未找到严重性级别",
+ "no-severity-matching": "未找到 '{{severity}}'。",
+ "no-template-matching": "未找到与 '{{template}}' 匹配的资源。",
+ "not-found-slack-recipient": "未找到 Slack 的收件人",
+ "notification": "通知",
+ "notification-center": "通知中心",
+ "notify": "通知",
+ "notify-again": "再次通知",
+ "notify-alarm-action": {
+ "acknowledged": "告警已确认",
+ "assigned": "告警已分配",
+ "cleared": "告警已清除",
+ "created": "告警已确认",
+ "severity-changed": "告警级别已更改",
+ "unassigned": "告警未分配"
+ },
+ "notify-on": "通知条件",
+ "notify-on-comment-update": "在评论更新时通知",
+ "notify-on-required": "通知条件必填。",
+ "notify-on-unassign": "在取消分配时通知",
+ "notify-only-user-comments": "仅在用户评论时通知",
+ "only-rule-chain-lifecycle-failures": "仅在规则链生命周期故障时通知",
+ "only-rule-node-lifecycle-failures": "仅在规则节点生命周期故障时通知",
+ "platform-users": "平台用户",
+ "recipient": "收件人",
+ "recipient-group": "收件人组",
+ "recipient-type": {
+ "affected-tenant-administrators": "受影响的租户管理员",
+ "affected-user": "受影响的用户",
+ "affected-user-hint": "受影响用户的提示",
+ "all-users": "所有用户",
+ "customer-users": "客户用户",
+ "system-administrators": "系统管理员",
+ "tenant-administrators": "租户管理员",
+ "user-filters": "用户筛选器",
+ "user-list": "用户列表",
+ "users-entity-owner": "实体所有者的用户",
+ "users-entity-owner-hint": "实体所有者用户的提示"
+ },
+ "recipients": "收件人",
+ "notification-recipients": "通知 / 收件人",
+ "recipients-count": "{ count, plural, =1 {1 个收件人} other {# 个收件人} }",
+ "recipients-required": "收件人必填。",
+ "refresh-allow-delivery-method": "刷新允许推送方式",
+ "request-search": "请求搜索",
+ "request-status": {
+ "processing": "处理中",
+ "scheduled": "已安排",
+ "sent": "已发送"
+ },
+ "review": "检查",
+ "rule": "规则",
+ "rule-chain-list-rule-hint": "如果字段为空,则触发器将应用于所有规则链。",
+ "rule-engine-events-trigger-settings": "规则引擎事件触发器设置",
+ "rule-engine-filter": "规则引擎筛选器",
+ "rule-name": "规则名称",
+ "rule-name-required": "名称必填。",
+ "rule-node-filter": "规则节点筛选器",
+ "rules": "规则",
+ "notification-rules": "通知 / 规则",
+ "scheduler-later": "稍后安排",
+ "search-notification": "搜索通知",
+ "search-recipients": "搜索收件人",
+ "search-rules": "搜索规则",
+ "search-templates": "搜索模板",
+ "see-documentation": "查看文档",
+ "selected-notifications": "已选择 { count, plural, =1 {1 个通知} other {# 个通知} }",
+ "selected-recipients": "已选择 { count, plural, =1 {1 个收件人} other {# 个收件人} }",
+ "selected-requests": "已选择 { count, plural, =1 {1 个请求} other {# 个请求} }",
+ "selected-rules": "已选择 { count, plural, =1 {1 个规则} other {# 个规则} }",
+ "selected-template": "已选择 { count, plural, =1 {1 个模板} other {# 个模板} }",
+ "send-notification": "发送通知",
+ "sent": "已发送",
+ "notification-sent": "通知 / 已发送",
+ "set-entity-from-notification": "将通知中的实体设置为仪表盘状态",
+ "slack-chanel-type": "Slack 频道类型",
+ "slack-chanel-types": {
+ "direct": "直接消息",
+ "private-channel": "私有频道",
+ "public-channel": "公开频道"
+ },
+ "start-from-scratch": "从头开始",
+ "status": "状态",
+ "stop-escalation-alarm-status-become": "停止逐步升级,将告警状态设置为:",
+ "subject": "主题",
+ "subject-required": "主题必填。",
+ "template": "模板",
+ "template-name": "模板名称",
+ "template-required": "模板必填。",
+ "template-type": {
+ "alarm": "告警",
+ "alarm-assignment": "告警分配",
+ "alarm-comment": "告警评论",
+ "api-usage-limit": "API使用限制",
+ "device-activity": "设备活动",
+ "entities-limit": "实体限制",
+ "entity-action": "实体操作",
+ "general": "通用",
+ "rule-engine-lifecycle-event": "规则引擎生命周期事件",
+ "rule-node": "规则节点",
+ "new-platform-version": "新的平台版本"
+ },
+ "templates": "模板",
+ "notification-templates": "通知 / 模板",
+ "tenant-profiles-list-rule-hint": "如果字段为空,触发器将应用于所有租户配置文件",
+ "tenants-list-rule-hint": "如果字段为空,触发器将应用于所有租户",
+ "threshold": "阈值",
+ "time": "时间",
+ "track-rule-node-events": "追踪规则节点事件",
+ "trigger": {
+ "alarm": "告警",
+ "alarm-assignment": "告警分配",
+ "alarm-comment": "告警评论",
+ "api-usage-limit": "API使用限制",
+ "device-activity": "设备活动",
+ "entities-limit": "实体限制",
+ "entity-action": "实体操作",
+ "rule-engine-lifecycle-event": "规则引擎生命周期事件",
+ "new-platform-version": "新的平台版本",
+ "trigger": "触发器",
+ "trigger-required": "触发器必填。"
+ },
+ "type": "类型",
+ "unread": "未读",
+ "updated": "已更新",
+ "use-template": "使用模板",
+ "view-all": "查看全部",
+ "warning": "警告"
},
"ota-update": {
"add": "添加包",
@@ -2673,8 +3059,8 @@
"direct-url-copied-message": "包直接URL已复制到剪贴板",
"direct-url-required": "直接URL必填",
"download": "下载包",
- "drop-file": "拖放打包文件或点击选择要上传的文件。",
- "drop-package-file-or": "拖拽文件或",
+ "drop-file": "拖放包文件或点击选择要上传的文件。",
+ "drop-package-file-or": "拖放一个包文件或者",
"file-name": "文件名",
"file-size": "文件大小",
"file-size-bytes": "文件大小(以字节为单位)",
@@ -2693,7 +3079,7 @@
"selected-package": "{ count, plural, =1 {1 个包} other {# 个包} } 选中",
"title": "标题",
"title-required": "标题必填。",
- "title-max-length": "标题长度必须少于256个字符",
+ "title-max-length": "标题长度应该少于256个字符。",
"types": {
"firmware": "固件",
"software": "软件"
@@ -2704,8 +3090,8 @@
"version-required": "版本必填。",
"version-tag": "版本标签",
"version-tag-hint": "自定义标签应与您设备报告的软件包版本相匹配。",
- "version-max-length": "版本长度必须少于256个字符",
- "warning-after-save-no-edit": "上传包后,您将无法修改标题、版本、设备配置文件和包类型。"
+ "version-max-length": "版本长度应该少于256个字符",
+ "warning-after-save-no-edit": "上传包后,您将无法修改标题、版本、设备配置和包类型。"
},
"position": {
"top": "顶部",
@@ -2729,18 +3115,19 @@
},
"security": {
"security": "安全",
+ "general-settings": "通用安全设置",
"2fa": {
- "2fa": "双因素身份验证",
- "2fa-description": "双因素身份验证可保护您的帐户免受未经授权的访问。在登录时必须输入安全验证码。",
+ "2fa": "双因素认证",
+ "2fa-description": "双因素认证可保护您的帐户免受未经授权的访问。在登录时必须输入安全验证码。",
"authenticate-with": "可以使用以下身份验证:",
"disable-2fa-provider-text": "禁用 {{ name }} 会降低帐户的安全性",
"disable-2fa-provider-title": "确定要禁用 {{ name }} 吗?",
"get-new-code": "获取新验证码",
- "main-2fa-method": "用作主要的双因素身份验证方法",
+ "main-2fa-method": "用作主要的双因素认证方法",
"dialog": {
"activation-step-description-email": "下次登录时,系统将提示您输入电子邮件中的验证码。",
"activation-step-description-sms": "下次登录时,系统将提示您输入短信中的验证码。",
- "activation-step-description-totp": "下次登录时,您需要提供一个双因素身份验证码。",
+ "activation-step-description-totp": "下次登录时,您需要提供一个双因素认证码。",
"activation-step-label": "激活",
"backup-code-description": "打印出验证码,以便在您需要时使用它们登录帐户。每个备份验证码可以使用一次。",
"backup-code-warn": "离开此页后,这些代码将无法再次显示。使用以下选项安全存放。",
@@ -2780,7 +3167,7 @@
"totp-hint": "已为您的帐户设置验证APP",
"backup_code": "备份验证码",
"backup-code-description": "这些可打印的一次性密码允许您在离开手机时登录,比如正在旅行。",
- "backup-code-hint": "{{ info }}个一次性代码处于激活状态"
+ "backup-code-hint": "{{ info }}个一次性代码此时处于激活状态"
}
},
"password-requirement": {
@@ -2811,7 +3198,7 @@
},
"from-relations": "向外的关联",
"to-relations": "向内的关联",
- "selected-relations": "已选择{ count, plural, =1 {# 个关联} other {# 个关联} }",
+ "selected-relations": "已选择 { count, plural, =1 {1 个关联} other {# 个关联} }",
"type": "类型",
"to-entity-type": "到实体类型",
"to-entity-name": "到实体名称",
@@ -2822,17 +3209,17 @@
"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 {# 个关联} other {# 个关联} }吗?",
+ "delete-to-relations-title": "确定要删除 { count, plural, =1 {1 个关联} other {# 个关联} }吗?",
"delete-to-relations-text": "确定删除所有选择的关联关系后,与当前实体对应的所有关联关系将被移除。",
"delete-from-relation-title": "确定要从实体 '{{entityName}}' 删除关联吗?",
"delete-from-relation-text": "确定删除后,当前实体将与实体 '{{entityName}}' 取消关联",
- "delete-from-relations-title": "确定删除 { count, plural, =1 {# 个关联} other {# 个关联} } 吗?",
+ "delete-from-relations-title": "确定删除 { count, plural, =1 {1 个关联} other {# 个关联} } 吗?",
"delete-from-relations-text": "确定删除所有选择的关联关系后,当前实体将与对应的实体取消关联",
"remove-relation-filter": "移除关联筛选器",
"add-relation-filter": "添加关联筛选器",
@@ -2848,15 +3235,15 @@
"delete": "删除资源",
"delete-resource-text": "请注意:确认后,资源将不可恢复。",
"delete-resource-title": "确定要删除资源 '{{resourceTitle}}' 吗?",
- "delete-resources-action-title": "删除 { count, plural, =1 {# 个资源} other {# 个资源} }",
+ "delete-resources-action-title": "删除 { count, plural, =1 {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",
+ "delete-resources-title": "确定要删除 { count, plural, =1 {1 个资源} other {# 个资源} }吗?",
+ "download": "下载资源",
+ "drop-file": "拖放资源文件或单击以选择要上传的文件。",
+ "drop-resource-file-or": "拖放一个资源文件或者",
"empty": "资源为空",
- "file-name": "File name",
- "idCopiedMessage": "拖拽资源文件或",
+ "file-name": "文件名称",
+ "idCopiedMessage": "资源ID已复制到剪贴板",
"no-resource-matching": "未找到与 '{{widgetsBundle}}' 匹配的资源。",
"no-resource-text": "未找到资源",
"open-widgets-bundle": "打开部件库",
@@ -2865,20 +3252,21 @@
"resource-type": "资源类型",
"resources-library": "资源库",
"search": "查找资源",
- "selected-resources": "已选择{ count, plural, =1 {# 个资源} other {# 个资源} }",
+ "selected-resources": "已选择{ count, plural, =1 {1 个资源} other {# 个资源} }",
"system": "系统",
"title": "标题",
"title-required": "标题是必填项。",
- "title-max-length": "标题长度必须少于256个字符"
+ "title-max-length": "标题长度应该少于256个字符。"
},
"rulechain": {
"rulechain": "规则链",
+ "rulechain-events": "规则链事件",
"rulechains": "规则链库",
"root": "是否根链",
"delete": "删除规则链",
"name": "名称",
"name-required": "名称必填。",
- "name-max-length": "名称长度必须少于256个字符",
+ "name-max-length": "名称长度应该少于256个字符。",
"description": "说明",
"add": "添加规则链",
"set-root": "设置为根规则链",
@@ -2887,9 +3275,9 @@
"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-action-title": "删除 { count, plural, =1 {1 个规则链} other {# 个规则链} }",
"delete-rulechains-text": "请注意:确认后,所有选定的规则链将被删除,所有相关的数据将不可恢复。",
- "add-rulechain-text": "添加新的规则链",
+ "add-rulechain-text": "添加规则链",
"no-rulechains-text": "未找到规则链",
"rulechain-details": "规则链详情",
"details": "详情",
@@ -2909,9 +3297,9 @@
"management": "规则集管理",
"debug-mode": "调试模式",
"search": "查找规则链",
- "selected-rulechains": "已选择 { count, plural, =1 {# 个规则链} other {# 个规则链} }",
+ "selected-rulechains": "已选择 { count, plural, =1 {1 个规则链} other {# 个规则链} }",
"open-rulechain": "打开规则链",
- "assign-new-rulechain": "Assign new rulechain",
+ "assign-new-rulechain": "分配新的规则链",
"edge-template-root": "模版根链",
"assign-to-edge": "分配给边缘",
"edge-rulechain": "边缘规则链",
@@ -2930,10 +3318,11 @@
"unset-auto-assign-to-edge": "不将规则链分配给边缘",
"unset-auto-assign-to-edge-title": "确定不再将规则链'{{ruleChainName}}'自动分配给新创建的边缘吗?",
"unset-auto-assign-to-edge-text": "确认后,将不再自动分配规则链给新创建的边缘。",
- "unassign-rulechain-title": "你确定要取消分配规则链'{{ruleChainName}}'?",
+ "unassign-rulechain-title": "确定要取消分配规则链 '{{ruleChainName}}' 吗?",
"unassign-rulechains": "取消分配规则链"
},
"rulenode": {
+ "rule-node-events": "规则节点事件",
"details": "详情",
"events": "事件",
"search": "查找节点",
@@ -2941,7 +3330,7 @@
"add": "添加规则节点",
"name": "名称",
"name-required": "名称必填。",
- "name-max-length": "名称长度必须少于256个字符",
+ "name-max-length": "名称长度应该少于256个字符。",
"type": "类型",
"description": "说明",
"delete": "删除规则节点",
@@ -2955,6 +3344,7 @@
"deselect-all": "取消选择",
"rulenode-details": "规则节点详情",
"debug-mode": "调试模式",
+ "singleton-mode": "单例模式",
"configuration": "配置",
"link": "链接",
"link-details": "规则节点链接详情",
@@ -2980,7 +3370,7 @@
"type-external-details": "与外部系统交互",
"type-rule-chain": "规则链",
"type-rule-chain-details": "将传入消息转发到指定的规则链",
- "type-flow": "流",
+ "type-flow": "Flow",
"type-flow-details": "组织消息流",
"type-input": "输入",
"type-input-details": "规则链的逻辑输入,将传入消息转发到下一个相关规则节点",
@@ -3006,7 +3396,7 @@
"timezone": {
"timezone": "时区",
"select-timezone": "选择时区",
- "no-timezones-matching": "找不到匹配的'{{timezone}}'时区。",
+ "no-timezones-matching": "未找到与 '{{timezone}}' 匹配的时区。",
"timezone-required": "时区必填。",
"browser-time": "浏览器时间"
},
@@ -3051,10 +3441,10 @@
"details": "队列详情",
"topic": "主题",
"submit-settings": "提交设置",
- "submit-strategy": "Strategy type *",
+ "submit-strategy": "策略类型*",
"grouping-parameter": "分组参数",
"processing-settings": "重试处理设置",
- "processing-strategy": "Processing type *",
+ "processing-strategy": "处理类型*",
"retries-settings": "重试设置",
"polling-settings": "轮询设置",
"batch-processing": "批量处理",
@@ -3121,14 +3511,14 @@
"admins": "管理员",
"manage-tenant-admins": "管理租户管理员",
"delete": "删除租户",
- "add-tenant-text": "添加新租户",
+ "add-tenant-text": "添加租户",
"no-tenants-text": "未找到租户",
"tenant-details": "租客详情",
- "title-max-length": "标题长度必须少于256个字符",
+ "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-title": "确定要删除 {count,plural,=1 {1 个租户} other {# 个租户} } 吗?",
+ "delete-tenants-action-title": "删除 { count, plural, =1 {1 个租户} other {# 个租户} }",
"delete-tenants-text": "请注意:确认后,所有选定的租户将被删除,所有相关数据将不可恢复。",
"title": "标题",
"title-required": "标题必填。",
@@ -3141,7 +3531,7 @@
"no-tenants-matching": "未找到匹配 '{{entity}}' 的租户",
"tenant-required": "租户必填",
"search": "查找租户",
- "selected-tenants": "已选择 { count, plural, =1 {# 个租户} other {# 个租户} }",
+ "selected-tenants": "已选择 { count, plural, =1 {1 个租户} other {# 个租户} }",
"isolated-tb-rule-engine": "使用独立的规则引擎服务",
"isolated-tb-rule-engine-details": "每个独立租户需要单独的规则引擎微服务"
},
@@ -3149,12 +3539,13 @@
"tenant-profile": "租户配置",
"tenant-profiles": "租户配置",
"add": "添加租户配置",
+ "add-profile": "添加配置",
"edit": "编辑租户配置",
"tenant-profile-details": "租户配置详细信息",
"no-tenant-profiles-text": "未找到租户配置",
"name-max-length": "名称长度必须少于256个字符",
"search": "查找租户配置",
- "selected-tenant-profiles": "已选择 { count, plural, =1 {# 个租户配置} other {# 个租户配置} }",
+ "selected-tenant-profiles": "已选择 { count, plural, =1 {1 个租户配置} other {# 个租户配置} }",
"no-tenant-profiles-matching": "未找到与 '{{entity}}' 匹配的租户配置。",
"tenant-profile-required": "租户配置必填",
"idCopiedMessage": "租户配置ID已复制到剪贴板",
@@ -3169,7 +3560,7 @@
"default": "默认",
"delete-tenant-profile-title": "确定要删除租户配置 '{{tenantProfileName}}'吗?",
"delete-tenant-profile-text": "请注意:确认后,租户配置和所有相关数据将不可恢复。",
- "delete-tenant-profiles-title": "确定要删除 { count, plural, =1 {# 个租户配置} other {# 个租户配置} }吗?",
+ "delete-tenant-profiles-title": "确定要删除 { count, plural, =1 {1 个租户配置} other {# 个租户配置} }吗?",
"delete-tenant-profiles-text": "请注意:确认后,所有选定的租户配置将被删除,所有相关数据将不可恢复。",
"set-default-tenant-profile-title": "确定要将租户配置 '{{tenantProfileName}}' 设为默认值吗?",
"set-default-tenant-profile-text": "确认后,此租户配置将被标记为默认配置,并将用于未指定配置的新租户。",
@@ -3213,6 +3604,7 @@
"maximum-ota-packages-sum-data-size": "OTA包文件总大小",
"maximum-ota-package-sum-data-size-required": "OTA包文件总大小必填。",
"maximum-ota-package-sum-data-size-range": "OTA包文件总大小不能为负数",
+ "rest-requests-for-tenant": "租户REST请求",
"transport-tenant-telemetry-msg-rate-limit": "租户遥测消息",
"transport-tenant-telemetry-data-points-rate-limit": "租户遥测数据点",
"transport-device-msg-rate-limit": "设备消息",
@@ -3220,6 +3612,8 @@
"transport-device-telemetry-data-points-rate-limit": "设备遥测消息",
"tenant-entity-export-rate-limit": "实体版本创建",
"tenant-entity-import-rate-limit": "实体版本加载",
+ "tenant-notification-request-rate-limit": "通知请求",
+ "tenant-notification-requests-per-rule-rate-limit": "每个通知规则的通知请求",
"max-transport-messages": "最大传输消息数",
"max-transport-messages-required": "最大传输消息数必填。",
"max-transport-messages-range": "最大传输消息数不能为负数",
@@ -3264,6 +3658,7 @@
"incorrect-pattern-for-rate-limits": "格式为以冒号分割容量与周期(秒)并以逗号分割配置对,例如 100:1,2000:60",
"too-small-value-zero": "数值必须大于0",
"too-small-value-one": "数值必须大于1",
+ "queue-size-is-limited-by-system-configuration": "队列的大小也受系统配置的限制。",
"cassandra-tenant-limits-configuration": "租户Cassandra查询",
"ws-limit-max-sessions-per-tenant": "租户最大会话数",
"ws-limit-max-sessions-per-customer": "客户最大会话数",
@@ -3286,11 +3681,14 @@
"edit-transport-device-msg-title": "编辑传输设备消息速率限制",
"edit-transport-device-telemetry-msg-title": "编辑传输设备遥测消息速率限制",
"edit-transport-device-telemetry-data-points-title": "编辑传输设备遥测数据点速率限制",
+ "edit-tenant-rest-limits-title": "Edit REST requests for tenant rate limits",
"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": "编辑实体版本加载速率限制",
+ "edit-tenant-notification-request-rate-limit-title": "编辑通知请求的速率限制",
+ "edit-tenant-notification-requests-per-rule-rate-limit-title": "编辑每个通知规则的通知请求速率限制",
"messages-per": "条消息每",
"not-set": "未配置",
"number-of-messages": "消息数量",
@@ -3312,10 +3710,10 @@
}
},
"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 {1 秒} other {# 秒} }",
+ "minutes-interval": "{ minutes, plural, =1 {1 分} other {# 分} }",
+ "hours-interval": "{ hours, plural, =1 {1 小时} other {# 小时} }",
+ "days-interval": "{ days, plural, =1 {1 天} other {# 天} }",
"days": "天",
"hours": "小时",
"minutes": "分钟",
@@ -3328,6 +3726,8 @@
"previous-week": "前一周(周日至周六)",
"previous-week-iso": "前一周(周一至周日)",
"previous-month": "前一个月",
+ "previous-quarter": "上季度",
+ "previous-half-year": "前半年",
"previous-year": "前一年",
"current-hour": "当前小时",
"current-day": "当前天",
@@ -3338,6 +3738,10 @@
"current-week-iso-so-far": "本周到目前为止(周一至周日)",
"current-month": "本月",
"current-month-so-far": "本月到目前为止",
+ "current-quarter": "当前季度",
+ "current-quarter-so-far": "当前季度到目前为止",
+ "current-half-year": "当前半年",
+ "current-half-year-so-far": "当前半年到目前为止",
"current-year": "本年",
"current-year-so-far": "本年到目前为止"
}
@@ -3350,20 +3754,35 @@
"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 {# 秒 } }",
+ "years": "{ years, plural, =1 {1 年 } other {# 年 } }",
+ "months": "{ months, plural, =1 { 月 } other {# 月 } }",
+ "weeks": "{ weeks, plural, =1 { 周 } other {# 周 } }",
+ "days": "{ days, plural, =1 {1 天 } other {# 天 } }",
+ "hours": "{ hours, plural, =0 {- 小时 } =1 {1 小时 } other {# 小时 } }",
+ "hr": "{{ hr }} 时",
+ "minutes": "{ minutes, plural, =0 {- 分 } =1 {1 分 } other {# 分 } }",
+ "min": "{{ min }} 分",
+ "seconds": "{ seconds, plural, =0 {- 秒 } =1 {1 秒 } other {# 秒 } }",
+ "sec": "{{ sec }} 秒",
+ "short": {
+ "days": "{ days, plural, =1 {1 天 } other {# 天 } }",
+ "hours": "{ hours, plural, =1 {1 小时 } other {# 小时 } }",
+ "minutes": "{{minutes}} 分 ",
+ "seconds": "{{seconds}} 秒 "
+ },
"realtime": "实时",
"history": "历史",
"last-prefix": "最后",
"period": "从 {{ startTime }} 到 {{ endTime }}",
"edit": "编辑时间窗口",
"date-range": "日期范围",
+ "for-all-time": "所有时间",
"last": "最后",
"time-period": "时间段",
"hide": "隐藏",
- "interval": "区间"
+ "interval": "区间",
+ "just-now": "刚刚",
+ "ago": "之前"
},
"user": {
"user": "用户",
@@ -3376,13 +3795,13 @@
"anonymous": "匿名",
"add": "添加用户",
"delete": "删除用户",
- "add-user-text": "添加新用户",
+ "add-user-text": "添加用户",
"no-users-text": "未找到用户",
"user-details": "用户详细信息",
"delete-user-title": "确定要删除用户 '{{userEmail}}' 吗?",
"delete-user-text": "请注意:确认后,用户和所有相关数据将不可恢复。",
- "delete-users-title": "确定要删除 { count, plural, =1 {# 个用户} other {# 个用户} } 吗?",
- "delete-users-action-title": "删除 { count, plural, =1 {# 个用户} other {# 个用户} }",
+ "delete-users-title": "确定要删除 { count, plural, =1 {1 个用户} other {# 个用户} } 吗?",
+ "delete-users-action-title": "删除 { count, plural, =1 {1 个用户} other {# 个用户} }",
"delete-users-text": "请注意:确认后,所有选定的用户将被删除,所有相关数据将不可恢复。",
"activation-email-sent-message": "激活电子邮件已成功发送!",
"resend-activation": "重新发送激活",
@@ -3408,21 +3827,23 @@
"login-as-tenant-admin": "以租户管理员身份登录",
"login-as-customer-user": "以客户用户身份登录",
"search": "查找用户",
- "selected-users": "已选择 { count, plural, =1 {# 个用户} other {# 个用户} }",
+ "selected-users": "已选择 { count, plural, =1 {1 个用户} other {# 个用户} }",
"disable-account": "禁用用户帐户",
"enable-account": "启用用户帐户",
"enable-account-message": "已成功启用用户帐户!",
"disable-account-message": "已成功禁用用户帐户!",
- "copyId": "复制用户Id",
- "idCopiedMessage": "用户ID已经复制到粘贴板"
+ "copyId": "复制用户ID",
+ "idCopiedMessage": "用户ID已复制到剪贴板",
+ "user-list": "用户列表",
+ "user-list-required": "用户列表必填。"
},
"value": {
"type": "值类型",
"string": "字符串",
"string-value": "字符串值",
"string-value-required": "字符串值必填",
- "integer": "数字",
- "integer-value": "数字值",
+ "integer": "整数",
+ "integer-value": "整数值",
"integer-value-required": "整数值必填",
"invalid-integer-value": "整数值无效",
"double": "双精度小数",
@@ -3432,7 +3853,7 @@
"boolean-value": "布尔值",
"false": "假",
"true": "真",
- "long": "Long",
+ "long": "长整数",
"json": "JSON",
"json-value": "JSON值",
"json-value-invalid": "JSON值的格式无效",
@@ -3504,17 +3925,17 @@
"device-credentials-conflict": "无法加载外部ID为 {{entityId}} 的设备
因为数据库中已存在相同的凭据。
请考虑禁用还原表单中的 加载凭据 设置。",
"missing-referenced-entity": "无法加载外部ID为 {{sourceEntityId}} 的 {{sourceEntityTypeName}}
因为它引用了缺失的 {{targetEntityTypeName}} (ID:{{targetEntityId}}).",
"runtime-failed": "失败: {{message}}",
- "auto-commit-settings-read-only-hint": "自动提交功能不适用于存储库设置中启用的只读选项。"
+ "auto-commit-settings-read-only-hint": "在仓库设置中启用只读选项后,'自动提交'功能将无法正常工作。"
},
"widget": {
"widget-library": "部件库",
"widget-bundle": "部件包",
- "all-bundles": "All bundles",
+ "all-bundles": "所有包",
"select-widgets-bundle": "选择部件包",
"management": "管理部件",
"editor": "部件编辑器",
"widget-type-not-found": "加载部件配置出错。
可能关联的部件已经删除了。",
- "widget-type-load-error": "由于以下错误未加载小部件:",
+ "widget-type-load-error": "由于以下错误未加载部件:",
"remove": "删除部件",
"edit": "编辑部件",
"remove-widget-title": "确定要删除 '{{widgetTitle}}'部件吗?",
@@ -3541,46 +3962,50 @@
"type": "部件类型",
"resources": "资源",
"resource-url": "JavaScript/CSS URL",
- "resource-is-module": "是否模块",
+ "resource-is-module": "Is module",
"remove-resource": "删除资源",
"add-resource": "添加资源",
"html": "HTML",
- "tidy": "Tidy",
+ "tidy": "整理",
"css": "CSS",
"settings-schema": "设置模式",
"datakey-settings-schema": "数据键设置模式",
- "latest-datakey-settings-schema": "最新数据键设置模式",
+ "latest-datakey-settings-schema": "最新值数据键设置模式",
"widget-settings": "部件设置",
"description": "描述",
"image-preview": "图片预览",
"settings-form-selector": "设置表单选择器",
"data-key-settings-form-selector": "数据键设置表单选择器",
- "latest-data-key-settings-form-selector": "最新数据键设置表单选择器",
+ "latest-data-key-settings-form-selector": "最新值数据键设置表单选择器",
"javascript": "Javascript",
"js": "JS",
"remove-widget-type-title": "确定要删除部件类型 '{{widgetName}}'吗?",
"remove-widget-type-text": "确认后,窗口部件类型和所有相关数据将不可恢复。",
"remove-widget-type": "删除部件类型",
- "add-widget-type": "添加新的部件类型",
+ "add-widget-type": "添加部件类型",
"widget-type-load-failed-error": "无法加载部件类型!",
"widget-template-load-failed-error": "无法加载部件模板!",
"add": "添加部件",
"undo": "撤消部件更改",
"export": "导出部件",
- "no-data": "小部件上没有要显示的数据",
- "data-overflow": "部件显示 {{count}}之外{{total}} 实体",
- "alarm-data-overflow": "窗口部件显示{{allowedEntities}}(最大允许的)实的警报{{totalEntities}}实体",
+ "no-data": "部件上没有要显示的数据",
+ "data-overflow": "部件显示 {{count}} 条实体中的 {{total}} 条",
+ "alarm-data-overflow": "部件显示了 {{allowedEntities}}(最大允许)实体中的告警,总共有 {{totalEntities}} 个实体",
"search": "搜索部件",
"filter": "部件类型过滤",
- "loading-widgets": "加载部件..."
+ "loading-widgets": "加载部件...",
+ "widget-template-error": "无效的部件 HTML 模板。"
},
"widget-action": {
- "header-button": "顶部按钮clcik",
+ "header-button": "部件顶部按钮",
"open-dashboard-state": "切换到新仪表板状态",
"update-dashboard-state": "更新当前仪表板状态",
"open-dashboard": "切换到另一个仪表板",
"custom": "自定义动作",
- "custom-pretty": "自定义操作(使用HTML模板)",
+ "custom-pretty": "自定义动作(使用HTML模板)",
+ "custom-pretty-error-title": "自定义对话框错误",
+ "custom-pretty-template-error": "无效的自定义对话框模板。",
+ "custom-pretty-controller-error": "在评估自定义对话框函数时发生了错误。",
"mobile-action": "移动端动作",
"target-dashboard-state": "目标仪表板状态",
"target-dashboard-state-required": "目标仪表板状态必填",
@@ -3590,42 +4015,42 @@
"state-display-type": "显示仪表板状态选项",
"open-normal": "普通",
"open-in-separate-dialog": "在单独的对话框中打开",
- "open-in-popover": "在popover打开",
+ "open-in-popover": "在弹出框中打开",
"dialog-title": "对话框标题",
"dialog-hide-dashboard-toolbar": "在对话框中隐藏仪表板工具栏",
- "dialog-width": "对话框宽度相对视图宽度",
- "dialog-height": "对话框高度相对视图高度",
- "dialog-size-range-error": "对话框尺寸比值必须是1至100范围内。",
- "popover-preferred-placement": "首选弹出位置",
- "popover-placement-top": "上",
- "popover-placement-topLeft": "左上",
- "popover-placement-topRight": "右上",
- "popover-placement-right": "右",
+ "dialog-width": "对话框宽度相对于视口宽度的百分比",
+ "dialog-height": "对话框高度相对于视口高度的百分比",
+ "dialog-size-range-error": "对话框的大小百分比值应该介于1到100之间。",
+ "popover-preferred-placement": "首选的弹出框位置",
+ "popover-placement-top": "顶部",
+ "popover-placement-topLeft": "上左",
+ "popover-placement-topRight": "上右",
+ "popover-placement-right": "右侧",
"popover-placement-rightTop": "右上",
"popover-placement-rightBottom": "右下",
- "popover-placement-bottom": "下",
- "popover-placement-bottomLeft": "左下",
- "popover-placement-bottomRight": "右下",
- "popover-placement-left": "左",
+ "popover-placement-bottom": "底部",
+ "popover-placement-bottomLeft": "下左",
+ "popover-placement-bottomRight": "下右",
+ "popover-placement-left": "左侧",
"popover-placement-leftTop": "左上",
"popover-placement-leftBottom": "左下",
- "popover-hide-on-click-outside": "点击隐藏外面的弹出窗口",
- "popover-hide-dashboard-toolbar": "隐藏仪表板工具栏",
- "popover-width": "浏览器中的弹出宽度(例如100px, 25vw)单位",
- "popover-height": "浏览器中的弹出高度(例如:100px,25vh)单位",
- "popover-style": "弹出样式",
+ "popover-hide-on-click-outside": "在点击弹出框外部时隐藏弹出框",
+ "popover-hide-dashboard-toolbar": "在弹出框中隐藏仪表板工具栏",
+ "popover-width": "弹出框的宽度使用浏览器单位表示(例如:100px、25vw)",
+ "popover-height": "弹出框的高度使用浏览器单位表示(例如:100px、25vh)",
+ "popover-style": "弹出框样式",
"open-new-browser-tab": "在新的浏览器选项卡中打开",
"mobile": {
- "action-type": "手机端动作类型",
- "action-type-required": "手机端动作类型必填。",
- "take-picture-from-gallery": "画册拍照",
+ "action-type": "移动端动作类型",
+ "action-type-required": "移动端动作类型必填。",
+ "take-picture-from-gallery": "从图库中获取照片",
"take-photo": "拍照",
- "map-direction": "打开地图说明",
+ "map-direction": "打开地图导航",
"map-location": "打开地图位置",
"scan-qr-code": "扫描二维码",
"make-phone-call": "拨打电话",
- "get-location": "获得位置",
- "take-screenshot": "截图"
+ "get-location": "获取手机位置",
+ "take-screenshot": "截屏"
}
},
"widgets-bundle": {
@@ -3635,18 +4060,18 @@
"delete": "删除部件包",
"title": "标题",
"title-required": "标题必填。",
- "title-max-length": "标题长度必须少于256个字符",
+ "title-max-length": "标题长度应该少于256个字符。",
"description": "描述",
"image-preview": "图片预览",
- "add-widgets-bundle-text": "添加新的部件包",
+ "add-widgets-bundle-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 {# 个部件包} other {# 个部件包} } 吗?",
- "delete-widgets-bundles-action-title": "删除 { count, plural, =1 {# 个部件包} other {# 个部件包} }",
+ "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}}' 匹配的部件包。",
"widgets-bundle-required": "部件包必填。",
@@ -3658,7 +4083,7 @@
"widgets-bundle-file": "部件包文件",
"invalid-widgets-bundle-file-error": "无法导入部件包:无效的部件包数据结构。",
"search": "查找部件包",
- "selected-widgets-bundles": "已选择 { count, plural, =1 {# 个部件包} other {# 个部件包} }",
+ "selected-widgets-bundles": "已选择 { count, plural, =1 {1 个部件包} other {# 个部件包} }",
"open-widgets-bundle": "打开部件包",
"loading-widgets-bundles": "加载部件包..."
},
@@ -3667,22 +4092,23 @@
"settings": "设置",
"advanced": "高级",
"title": "标题",
- "title-tooltip": "标题提示框",
- "general-settings": "基础设置",
+ "title-tooltip": "标题 Tooltip",
+ "general-settings": "基本设置",
"display-title": "显示标题",
"drop-shadow": "阴影",
"enable-fullscreen": "启用全屏",
"background-color": "背景颜色",
"text-color": "文字颜色",
- "padding": "内边距",
- "margin": "外边距",
- "widget-style": "部件风格",
+ "padding": "填充",
+ "margin": "边缘",
+ "widget-style": "部件样式",
"widget-css": "部件CSS",
- "title-style": "标题风格",
+ "title-style": "标题样式",
"mobile-mode-settings": "移动端设置",
"order": "顺序",
"height": "高度",
- "mobile-hide": "移动端隐藏部件",
+ "mobile-hide": "在移动端隐藏部件",
+ "desktop-hide": "在桌面端隐藏部件",
"units": "特殊符号展示值",
"decimals": "浮点数后的位数",
"timewindow": "时间窗口",
@@ -3691,14 +4117,14 @@
"legend": "图例",
"display-legend": "显示图例",
"datasources": "数据源",
- "maximum-datasources": "最大允许{ count, plural, =1 {1个数据源。} other {#个数据源。} }",
- "timeseries-key-error": "应至少指定一个时间序列数据密钥",
+ "maximum-datasources": "最大允许 { count, plural, =1 {1 个数据源。} other {# 个数据源。} }",
+ "timeseries-key-error": "需要至少指定一个 timeseries 数据键",
"datasource-type": "类型",
"datasource-parameters": "参数",
"remove-datasource": "移除数据源",
"add-datasource": "添加数据源",
"target-device": "目标设备",
- "alarm-source": "警报源",
+ "alarm-source": "告警源",
"actions": "动作",
"action": "动作",
"add-action": "添加动作",
@@ -3710,22 +4136,22 @@
"action-name-required": "动作名称必填。",
"action-name-not-unique": "动作名称已经存在。
相同动作源的动作名称必须唯一。",
"action-icon": "图标",
- "show-hide-action-using-function": "使用函数显示/隐藏操作",
+ "show-hide-action-using-function": "使用函数显示/隐藏动作",
"action-type": "类型",
"action-type-required": "类型必填",
"edit-action": "编辑动作",
- "delete-action": "删除删除",
+ "delete-action": "删除动作",
"delete-action-title": "删除部件动作",
- "delete-action-text": "确定要删除部件动作'{{actionName}}'吗?",
+ "delete-action-text": "确定要删除部件动作'{{actionName}}' 吗?",
"title-icon": "标题图标",
"display-icon": "显示标题图标",
"icon-color": "图标颜色",
"icon-size": "图标大小",
"advanced-settings": "高级设置",
"data-settings": "数据设置",
- "no-data-display-message": "\"无数据显示\" 替代消息",
+ "no-data-display-message": "\"没有数据可显示\" 替代信息",
"data-page-size": "每个数据源的最大实体数",
- "settings-component-not-found": "找不到选择器'{{selector}}'的每个数据源设置窗体组件的最大实体数"
+ "settings-component-not-found": "未找到设置的表单组件选择器 '{{selector}}'"
},
"widget-type": {
"import": "导入部件类型",
@@ -3740,105 +4166,106 @@
"common-settings": "通用设置",
"enable-stacking-mode": "启用堆叠模式",
"line-shadow-size": "线条阴影大小",
- "display-smooth-lines": "显示光滑(弯曲)线条",
- "default-bar-width": "默认条形宽度不聚合数据(毫秒)",
- "bar-alignment": "条形对齐",
+ "display-smooth-lines": "显示平滑(曲线)线条",
+ "default-bar-width": "非聚合数据的默认条形图宽度(毫秒)",
+ "bar-alignment": "Bar 对齐方式",
"bar-alignment-left": "左",
"bar-alignment-right": "右",
- "bar-alignment-center": "中",
+ "bar-alignment-center": "居中",
"default-font-size": "默认字体大小",
"default-font-color": "默认字体颜色",
- "thresholds-line-width": "所有线条默认宽度",
- "tooltip-settings": "提示栏设置",
- "show-tooltip": "显示提示栏",
- "hover-individual-points": "坐标悬停显示",
- "show-cumulative-values": "在堆叠模式下显示累加数据",
- "hide-zero-false-values": "隐藏提示栏中0或false值",
- "tooltip-value-format-function": "提示栏格式化函数",
- "grid-settings": "网格设置",
- "show-vertical-lines": "显示垂直参考线",
- "show-horizontal-lines": "显示水平参考线",
- "grid-outline-border-width": "网格边框宽度(像系)",
- "primary-color": "边框颜色",
+ "thresholds-line-width": "所有阈值的默认线条宽度",
+ "tooltip-settings": "Tooltip 设置",
+ "show-tooltip": "显示 Tooltip",
+ "hover-individual-points": "悬停在单个数据点上",
+ "show-cumulative-values": "在堆叠模式下显示累积值",
+ "hide-zero-false-values": "Tooltip 隐藏 zero/false",
+ "tooltip-value-format-function": "Tooltip 值的格式化函数",
+ "grid-settings": "网格线设置",
+ "show-vertical-lines": "显示垂直线条",
+ "show-horizontal-lines": "显示水平线条",
+ "grid-outline-border-width": "网格轮廓/边框宽度(px)",
+ "primary-color": "主要颜色",
"background-color": "背景颜色",
- "ticks-color": "参考线颜色",
+ "ticks-color": "刻度颜色",
"xaxis-settings": "X轴设置",
- "axis-title": "标题",
- "xaxis-tick-labels-settings": "标签设置",
- "show-tick-labels": "显示标签",
- "yaxis-settings": "y轴设置",
- "min-scale-value": "最小值",
- "max-scale-value": "最大值",
- "yaxis-tick-labels-settings": "标签设置",
- "tick-step-size": "步长",
- "number-of-decimals": "小数位数",
+ "axis-title": "轴标题",
+ "xaxis-tick-labels-settings": "X轴刻度标签设置",
+ "show-tick-labels": "显示轴刻度标签",
+ "yaxis-settings": "Y轴设置",
+ "min-scale-value": "刻度上的最小值",
+ "max-scale-value": "刻度上的最大值",
+ "yaxis-tick-labels-settings": "Y轴刻度标签设置",
+ "tick-step-size": "刻度之间的步长",
+ "number-of-decimals": "要显示的小数位数",
"ticks-formatter-function": "刻度格式化函数",
"comparison-settings": "比较设置",
"enable-comparison": "启用比较",
- "time-for-comparison": "比较时期",
- "time-for-comparison-previous-interval": "历史时间间隔(默认)",
+ "time-for-comparison": "比较期间",
+ "time-for-comparison-previous-interval": "上一个时间段 (默认)",
"time-for-comparison-days": "一天前",
"time-for-comparison-weeks": "一周前",
"time-for-comparison-months": "一月前",
"time-for-comparison-years": "一年前",
- "time-for-comparison-custom-interval": "自定义间隔",
- "custom-interval-value": "自定义间隔值(毫秒)",
- "comparison-x-axis-settings": "比较x轴设置",
- "axis-position": "位置",
- "axis-position-top": "上面(默认)",
- "axis-position-bottom": "下面",
+ "time-for-comparison-custom-interval": "自定义时间间隔",
+ "custom-interval-value": "自定义时间间隔值 (毫秒)",
+ "comparison-x-axis-settings": "比较X轴设置",
+ "axis-position": "轴位置",
+ "axis-position-top": "顶部 (默认)",
+ "axis-position-bottom": "底部",
"custom-legend-settings": "自定义图例设置",
- "enable-custom-legend": "启用自定义图例(你可以使用属性/时间序列标签)",
+ "enable-custom-legend": "启用自定义图例 (这将允许您在键标签中使用属性/Timeseries值)",
"key-name": "键名",
- "key-name-required": "键名必填",
+ "key-name-required": "键名是必需的",
"key-type": "键类型",
"key-type-attribute": "属性",
- "key-type-timeseries": "时间序列",
- "label-keys-list": "在标签中使用键列表",
- "no-label-keys": "没有配置键",
- "add-label-key": "添加键",
- "line-width": "线条宽度",
+ "key-type-timeseries": "Timeseries",
+ "label-keys-list": "要在标签中使用的键列表",
+ "no-label-keys": "未配置键",
+ "add-label-key": "添加新键",
+ "line-width": "线宽",
"color": "颜色",
- "data-is-hidden-by-default": "默认隐藏数据",
- "disable-data-hiding": "禁用用数据隐藏",
+ "data-is-hidden-by-default": "默认情况下隐藏数据",
+ "disable-data-hiding": "禁用数据隐藏",
"remove-from-legend": "从图例中移除数据键",
- "exclude-from-stacking": "从堆叠模式排除",
- "line-settings": "线条设置",
- "show-line": "显示线条",
- "fill-line": "线条填充",
+ "exclude-from-stacking": "从堆叠中排除(仅适用于'堆叠'模式)",
+ "line-settings": "线设置",
+ "show-line": "显示线",
+ "fill-line": "填充线",
+ "fill-line-opacity": "填充透明度",
"points-settings": "点设置",
"show-points": "显示点",
- "points-line-width": "宽度",
- "points-radius": "圆角",
- "point-shape": "形状",
- "point-shape-circle": "圆形",
- "point-shape-cross": "十字形",
+ "points-line-width": "点的线宽",
+ "points-radius": "点的半径",
+ "point-shape": "点形状",
+ "point-shape-circle": "圆",
+ "point-shape-cross": "十字",
"point-shape-diamond": "菱形",
"point-shape-square": "矩形",
"point-shape-triangle": "三角形",
- "point-shape-custom": "自定义",
- "point-shape-draw-function": "绘制函数",
- "show-separate-axis": "显示独立轴",
- "axis-position-left": "左",
- "axis-position-right": "右",
+ "point-shape-custom": "自定义函数",
+ "point-shape-draw-function": "点形状绘制函数",
+ "show-separate-axis": "显示分离的轴",
+ "axis-position-left": "左侧",
+ "axis-position-right": "右侧",
"thresholds": "阈值",
- "no-thresholds": "没有配置阈值",
- "add-threshold": "添加阈值",
- "show-values-for-comparison": "显示比较的历史值",
- "comparison-values-label": "历史数什标签",
+ "no-thresholds": "未配置阈值",
+ "add-threshold": "添加新阈值",
+ "show-values-for-comparison": "显示历史比较值",
+ "comparison-values-label": "历史值标签",
"threshold-settings": "阈值设置",
- "use-as-threshold": "将值作为阈值",
- "threshold-line-width": "阈值线条宽度",
+ "use-as-threshold": "使用键值作为阈值",
+ "threshold-line-width": "阈值线宽",
"threshold-color": "阈值颜色",
- "common-pie-settings": "饼图设置",
- "radius": "圆角",
- "inner-radius": "内圆角",
+ "common-pie-settings": "常用饼图设置",
+ "radius": "半径",
+ "inner-radius": "内部半径",
"tilt": "倾斜",
- "stroke-settings": "斜线设置",
- "width-pixels": "宽度(像素)",
+ "stroke-settings": "描边设置",
+ "width-pixels": "宽度 (px)",
"show-labels": "显示标签",
"animation-settings": "动画设置",
- "animated-pie": "启用动画",
+ "animated-pie": "启用饼图动画 (实验性)",
"border-settings": "边框设置",
"border-width": "边框宽度",
"border-color": "边框颜色",
@@ -3848,11 +4275,11 @@
},
"dashboard-state": {
"dashboard-state-settings": "仪表板状态设置",
- "dashboard-state": "仪表板状态ID",
- "autofill-state-layout": "自动填充状态布局高度",
- "default-margin": "部件默认外边距",
- "default-background-color": "默认背景色",
- "sync-parent-state-params": "同步父仪表板状态参数"
+ "dashboard-state": "仪表板状态 ID",
+ "autofill-state-layout": "自动填充状态布局默认高度",
+ "default-margin": "默认部件边距",
+ "default-background-color": "默认背景颜色",
+ "sync-parent-state-params": "与父仪表板同步状态参数"
},
"date-range-navigator": {
"date-range-picker-settings": "日期范围选择设置",
@@ -3872,8 +4299,8 @@
"interval-three-months": "3个月",
"interval-six-months": "6个月",
"step-settings": "步长设置",
- "hide-step-size": "步长设置",
- "initial-step-size": "初始步长大小",
+ "hide-step-size": "隐藏步长",
+ "initial-step-size": "初始步长",
"hide-labels": "隐藏标签",
"use-session-storage": "使用会话存储",
"localizationMap": {
@@ -3929,7 +4356,7 @@
"Custom interval": "自定义间隔",
"Interval": "间隔",
"Step size": "步长",
- "Ok": "确定"
+ "Ok": "Ok"
}
},
"entities-hierarchy": {
@@ -3950,9 +4377,9 @@
},
"gateway": {
"general-settings": "基础设置",
- "widget-title": "部件村题",
- "default-archive-file-name": "默认文件名称",
- "device-type-for-new-gateway": "网关设备类型",
+ "widget-title": "部件标题",
+ "default-archive-file-name": "默认文件名",
+ "device-type-for-new-gateway": "新网关的设备类型",
"messages-settings": "消息设置",
"save-config-success-message": "配置保存成功消息",
"device-name-exists-message": "设备名称已经存在消消息",
@@ -3964,122 +4391,122 @@
},
"gauge": {
"default-color": "默认颜色",
- "radial-gauge-settings": "仪表盘设置",
+ "radial-gauge-settings": "径向量规设置",
"ticks-settings": "刻度设置",
"min-value": "最小值",
"max-value": "最大值",
- "start-ticks-angle": "起始角度",
- "ticks-angle": "结束角度",
- "major-ticks-count": "主要刻度数量",
- "major-ticks-color": "主要刻度颜色",
- "minor-ticks-count": "次要刻度数量",
- "minor-ticks-color": "次要刻度颜色",
- "tick-numbers-font": "字体",
- "unit-title-settings": "标题设置",
- "show-unit-title": "显示标题",
- "unit-title": "单位",
- "title-font": "字体",
+ "start-ticks-angle": "刻度起始角度",
+ "ticks-angle": "刻度角度",
+ "major-ticks-count": "主刻度数量",
+ "major-ticks-color": "主刻度颜色",
+ "minor-ticks-count": "次刻度数量",
+ "minor-ticks-color": "次刻度颜色",
+ "tick-numbers-font": "刻度数字字体",
+ "unit-title-settings": "单位标题设置",
+ "show-unit-title": "显示单位标题",
+ "unit-title": "单位标题",
+ "title-font": "标题文字字体",
"units-settings": "单位设置",
- "units-font": "字体",
- "value-box-settings": "数值设置",
+ "units-font": "单位文字字体",
+ "value-box-settings": "数值框设置",
"show-value-box": "显示数值框",
- "value-int": "长度",
- "value-font": "字体",
- "value-box-rect-stroke-color": "数值框矩形颜色",
- "value-box-rect-stroke-color-end": "数值框矩形颜色渐变",
- "value-box-background-color": "数值框背景色",
+ "value-int": "整数部分的位数",
+ "value-font": "数值文字字体",
+ "value-box-rect-stroke-color": "数值框矩形描边颜色",
+ "value-box-rect-stroke-color-end": "数值框矩形描边颜色 - 渐变结束",
+ "value-box-background-color": "数值框背景颜色",
"value-box-shadow-color": "数值框阴影颜色",
- "plate-settings": "表盘设置",
- "show-plate-border": "显示边框",
- "plate-color": "背景色",
+ "plate-settings": "背景板设置",
+ "show-plate-border": "显示背景板边框",
+ "plate-color": "背景板颜色",
"needle-settings": "指针设置",
- "needle-circle-size": "针圈大小",
- "needle-color": "颜色",
- "needle-color-end": "渐变色",
- "needle-color-shadow-up": "针头颜色",
- "needle-color-shadow-down": "阴影颜色",
- "highlights-settings": "色块设置",
- "highlights-width": "色块宽度",
- "highlights": "色块",
- "highlight-from": "从",
- "highlight-to": "到",
+ "needle-circle-size": "指针圆圈尺寸",
+ "needle-color": "指针颜色",
+ "needle-color-end": "指针颜色 - 渐变结束",
+ "needle-color-shadow-up": "指针上半部分阴影颜色",
+ "needle-color-shadow-down": "指针下半部分阴影颜色",
+ "highlights-settings": "高亮设置",
+ "highlights-width": "高亮宽度",
+ "highlights": "高亮",
+ "highlight-from": "起始值",
+ "highlight-to": "终止值",
"highlight-color": "颜色",
- "no-highlights": "没有配置色块",
- "add-highlight": "添加色块",
+ "no-highlights": "未配置高亮",
+ "add-highlight": "添加高亮",
"animation-settings": "动画设置",
"enable-animation": "启用动画",
- "animation-duration": "动画时长",
- "animation-rule": "动画类型",
- "animation-linear": "线形",
- "animation-quad": "方形",
- "animation-quint": "五角形",
- "animation-cycle": "环形",
- "animation-bounce": "循环",
- "animation-elastic": "弹跳",
- "animation-dequad": "Dequad",
- "animation-dequint": "Dequint",
- "animation-decycle": "Decycle",
- "animation-debounce": "Debounce",
- "animation-delastic": "Delastic",
- "linear-gauge-settings": "线型设置",
- "bar-stroke-width": "量规宽度",
- "bar-stroke-color": "量规颜色",
- "bar-background-color": "量规背景色",
- "bar-background-color-end": "量规背景渐变色",
+ "animation-duration": "动画持续时间",
+ "animation-rule": "动画规则",
+ "animation-linear": "线性",
+ "animation-quad": "二次方",
+ "animation-quint": "五次方",
+ "animation-cycle": "循环",
+ "animation-bounce": "弹跳",
+ "animation-elastic": "弹性",
+ "animation-dequad": "二次方反向",
+ "animation-dequint": "五次方反向",
+ "animation-decycle": "循环反向",
+ "animation-debounce": "弹跳反向",
+ "animation-delastic": "弹性反向",
+ "linear-gauge-settings": "线性量规设置",
+ "bar-stroke-width": "条形图描边宽度",
+ "bar-stroke-color": "条形图描边颜色",
+ "bar-background-color": "量规条形图背景颜色",
+ "bar-background-color-end": "条形图背景颜色 - 渐变结束",
"progress-bar-color": "进度条颜色",
- "progress-bar-color-end": "进度条渐变色",
- "major-ticks-names": "主要刻度名称",
- "show-stroke-ticks": "显示主要刻度",
- "major-ticks-font": "主要刻度字体",
+ "progress-bar-color-end": "进度条颜色 - 渐变结束",
+ "major-ticks-names": "主刻度名称",
+ "show-stroke-ticks": "显示刻度描边",
+ "major-ticks-font": "主刻度字体",
"border-color": "边框颜色",
"border-width": "边框宽度",
- "needle-circle-color": "指针颜色",
- "animation-target": "动画触发",
+ "needle-circle-color": "指针圆圈颜色",
+ "animation-target": "动画目标",
"animation-target-needle": "指针",
- "animation-target-plate": "表盘",
- "common-settings": "通用设置",
- "gauge-type": "仪表盘类型",
+ "animation-target-plate": "背景板",
+ "common-settings": "通用量规设置",
+ "gauge-type": "量规类型",
"gauge-type-arc": "弧形",
- "gauge-type-donut": "环形",
- "gauge-type-horizontal-bar": "水平",
- "gauge-type-vertical-bar": "垂直",
- "donut-start-angle": "角度从",
- "bar-settings": "条形设置",
- "relative-bar-width": "相对条宽",
- "neon-glow-brightness": "霓虹灯效果亮度,(0-100),0-禁用效果",
- "stripes-thickness": "条纹的厚度0是没有条纹",
- "rounded-line-cap": "显示圆形线盖",
- "bar-color-settings": "条颜色设置",
- "use-precise-level-color-values": "使用精确的颜色值",
- "bar-colors": "从下到上的条形颜色",
+ "gauge-type-donut": "甜甜圈",
+ "gauge-type-horizontal-bar": "水平条形",
+ "gauge-type-vertical-bar": "垂直条形",
+ "donut-start-angle": "起始角度",
+ "bar-settings": "条形图设置",
+ "relative-bar-width": "相对条形宽度",
+ "neon-glow-brightness": "霓虹灯光效亮度,(0-100),0 - 禁用效果",
+ "stripes-thickness": "条纹的厚度,0 - 无条纹",
+ "rounded-line-cap": "显示圆角线帽",
+ "bar-color-settings": "条形图颜色设置",
+ "use-precise-level-color-values": "使用精确的颜色级别",
+ "bar-colors": "条形图颜色,从低到高",
"color": "颜色",
- "no-bar-colors": "没有配置条形颜色",
- "add-bar-color": "添加条形颜色",
- "from": "从",
- "to": "到",
- "fixed-level-colors": "连界值条形颜色",
- "gauge-title-settings": "仪表盘标题设置",
- "show-gauge-title": "显示仪表盘标题",
- "gauge-title": "仪表盘标题",
- "gauge-title-font": "仪表盘标题",
+ "no-bar-colors": "未配置条形图颜色",
+ "add-bar-color": "添加条形图颜色",
+ "from": "起始值",
+ "to": "终止值",
+ "fixed-level-colors": "使用边界值的条形图颜色",
+ "gauge-title-settings": "量规标题设置",
+ "show-gauge-title": "显示量规标题",
+ "gauge-title": "量规标题",
+ "gauge-title-font": "量规标题字体",
"unit-title-and-timestamp-settings": "单位标题和时间戳设置",
"show-timestamp": "显示值时间戳",
- "timestamp-format": "时间戳格式化",
- "label-font": "标签字体显示值",
+ "timestamp-format": "时间戳格式",
+ "label-font": "显示在数值下方的标签字体",
"value-settings": "数值设置",
- "show-value": "显示文本值",
+ "show-value": "显示数值文本",
"min-max-settings": "最小/最大标签设置",
- "show-min-max": "显示最小值和最大值",
- "min-max-font": "标签最大和最小字体",
+ "show-min-max": "显示最小和最大值",
+ "min-max-font": "最小和最大标签字体",
"show-ticks": "显示刻度",
"tick-width": "刻度宽度",
"tick-color": "刻度颜色",
"tick-values": "刻度值",
- "no-tick-values": "没有配置刻度值",
+ "no-tick-values": "未配置刻度值",
"add-tick-value": "添加刻度值"
},
"gpio": {
- "pin": "Pin",
+ "pin": "引脚",
"label": "标签",
"row": "行",
"column": "列",
@@ -4087,27 +4514,27 @@
"panel-settings": "面板设置",
"background-color": "背景颜色",
"gpio-switches": "GPIO开关",
- "no-gpio-switches": "没有配置GPIO开关",
- "add-gpio-switch": "添加开关",
+ "no-gpio-switches": "未配置GPIO开关",
+ "add-gpio-switch": "添加GPIO开关",
"gpio-status-request": "GPIO状态请求",
- "method-name": "方法名",
- "method-body": "方法体",
- "gpio-status-change-request": "GPIO状态更改请求",
- "parse-gpio-status-function": "GPIO状态解析函数",
- "gpio-leds": "led",
- "no-gpio-leds": "没有配置led",
- "add-gpio-led": "添加LED"
+ "method-name": "方法名称",
+ "method-body": "方法内容",
+ "gpio-status-change-request": "GPIO状态变更请求",
+ "parse-gpio-status-function": "解析GPIO状态函数",
+ "gpio-leds": "GPIO LED",
+ "no-gpio-leds": "未配置GPIO LED",
+ "add-gpio-led": "添加GPIO LED"
},
"html-card": {
"html": "HTML",
"css": "CSS"
},
"input-widgets": {
- "attribute-not-allowed": "属性参数不能在此小部件中使用",
+ "attribute-not-allowed": "属性参数不能在此部件中使用",
"blocked-location": "在浏览器中阻止地理位置",
"claim-device": "声明设备",
"claim-failed": "声明设备失败!",
- "claim-not-found": "找不到设备!",
+ "claim-not-found": "未找到设备!",
"claim-successful": "设备已成功申领!",
"date": "日期",
"device-name": "设备名称",
@@ -4115,7 +4542,7 @@
"discard-changes": "放弃更改",
"entity-attribute-required": "实体属性必填",
"entity-coordinate-required": "纬度和经度两个字段都是必需的",
- "entity-timeseries-required": "实体时间序列必填",
+ "entity-timeseries-required": "实体 Timeseries 必填",
"get-location": "获取当前位置",
"invalid-date": "无效日期",
"latitude": "纬度",
@@ -4128,179 +4555,185 @@
"no-coordinate-specified": "未指定纬度/经度的数据键",
"no-entity-selected": "未选择实体",
"no-image": "没有图像",
- "no-support-geolocation": "你的浏览器不支持地理定位",
- "no-support-web-camera": "你的浏览器不支持摄像头",
+ "no-support-geolocation": "您的浏览器不支持地理定位",
+ "no-support-web-camera": "您的浏览器不支持摄像头",
"enable-https-use-widget": "请启用HTTPS以使用此部件",
- "no-found-your-camera": "找不到摄像机",
+ "no-found-your-camera": "未找到摄像机",
"no-permission-camera": "权限被用户拒绝/此站点无权使用摄像机",
- "no-timeseries-selected": "未选择时间序列",
+ "no-timeseries-selected": "未选择 Timeseries",
"secret-key": "密钥",
"secret-key-required": "密钥必填",
"switch-attribute-value": "切换实体属性值",
"switch-camera": "切换摄像机",
- "switch-timeseries-value": "切换实体时间序列值",
+ "switch-timeseries-value": "切换实体 Timeseries 值",
"take-photo": "拍照",
"time": "时间",
- "timeseries-not-allowed": "时间序列参数不能用于此部件",
+ "timeseries-not-allowed": "Timeseries 参数不能用于此部件",
"update-failed": "更新失败",
"update-successful": "更新成功",
"update-attribute": "更新属性",
- "update-timeseries": "更新时间序列",
- "value": "数据值",
- "general-settings": "基础设置",
+ "update-timeseries": "更新 Timeseries",
+ "value": "数值",
+ "general-settings": "通用设置",
"widget-title": "部件标题",
- "claim-button-label": "声称按钮标签",
- "show-secret-key-field": "显示“密钥”输入字段",
+ "claim-button-label": "认领按钮标签",
+ "show-secret-key-field": "显示'秘钥'输入字段",
"labels-settings": "标签设置",
"show-labels": "显示标签",
- "device-name-label": "设备名称设备名称输入字段的标签输入字段",
- "secret-key-label": "设备名称设备密钥输入字段的标签输入字段",
- "messages-settings": "信息设置",
- "claim-device-success-message": "设备声明成功的文本信息",
- "claim-device-not-found-message": "设备声明未找到信息",
- "claim-device-failed-message": "设备声明失败的文本信息",
- "claim-device-name-required-message": "设备声明“设备名称”必填的错误信息",
- "claim-device-secret-key-required-message": "设备声明“设备密钥”必填的错误信息",
+ "device-name-label": "设备名称输入字段标签",
+ "secret-key-label": "秘钥输入字段标签",
+ "messages-settings": "消息设置",
+ "claim-device-success-message": "设备认领成功文本消息",
+ "claim-device-not-found-message": "设备未找到文本消息",
+ "claim-device-failed-message": "设备认领失败文本消息",
+ "claim-device-name-required-message": "'设备名称必填'错误消息",
+ "claim-device-secret-key-required-message": "'秘钥必填'错误消息",
"show-label": "显示标签",
"label": "标签",
"required": "必填",
- "required-error-message": "错误信息“必填”",
- "show-result-message": "显示结果信息",
- "integer-field-settings": "Integer字段设置",
- "min-value": "最大值",
- "max-value": "最小值",
- "double-field-settings": "Double字段设置",
- "text-field-settings": "Text字段设置",
+ "required-error-message": "'必填'错误消息",
+ "show-result-message": "显示结果消息",
+ "integer-field-settings": "整数字段设置",
+ "min-value": "最小值",
+ "max-value": "最大值",
+ "double-field-settings": "双精度字段设置",
+ "text-field-settings": "文本字段设置",
"min-length": "最小长度",
"max-length": "最大长度",
- "checkbox-settings": "Checkbox设置",
- "true-label": "Checked标签",
- "false-label": "Unchecked标签",
- "image-input-settings": "Image字段设置",
+ "checkbox-settings": "复选框设置",
+ "true-label": "选中标签",
+ "false-label": "未选中标签",
+ "image-input-settings": "图像输入设置",
"display-preview": "显示预览",
"display-clear-button": "显示清除按钮",
"display-apply-button": "显示应用按钮",
- "display-discard-button": "显示弃用按钮",
- "datetime-field-settings": "Date/time字段设置",
- "display-time-input": "显示time输入",
- "latitude-key-name": "Latitude键名",
- "longitude-key-name": "Longitude键名",
- "show-get-location-button": "显示“获取当前位置”按钮",
+ "display-discard-button": "显示放弃按钮",
+ "datetime-field-settings": "日期/时间字段设置",
+ "display-time-input": "显示时间输入",
+ "latitude-key-name": "纬度键名称",
+ "longitude-key-name": "经度键名称",
+ "show-get-location-button": "显示'获取当前位置'按钮",
"use-high-accuracy": "使用高精度",
- "location-fields-settings": "位置设置",
- "latitude-label": "latitude标签",
- "longitude-label": "longitude标签",
- "input-fields-alignment": "对齐方式",
+ "location-fields-settings": "位置字段设置",
+ "latitude-label": "纬度标签",
+ "longitude-label": "经度标签",
+ "input-fields-alignment": "输入字段对齐方式",
"input-fields-alignment-column": "列(默认)",
"input-fields-alignment-row": "行",
- "latitude-field-required": "Latitude字段必填",
- "longitude-field-required": "Longitude字段必填",
+ "latitude-field-required": "纬度字段必填",
+ "longitude-field-required": "经度字段必填",
"attribute-settings": "属性设置",
"widget-mode": "部件模式",
"widget-mode-update-attribute": "更新属性",
- "widget-mode-update-timeseries": "更新时间序列",
+ "widget-mode-update-timeseries": "更新 Timeseries",
"attribute-scope": "属性范围",
- "attribute-scope-server": "服务端属性",
+ "attribute-scope-server": "服务器属性",
"attribute-scope-shared": "共享属性",
- "value-required": "启用数值必填",
- "image-settings": "图片设置",
- "image-format": "图片格式",
+ "value-required": "值必填",
+ "image-settings": "图像设置",
+ "image-format": "图像格式",
"image-format-jpeg": "JPEG",
"image-format-png": "PNG",
"image-format-webp": "WEBP",
- "image-quality": "图片压缩",
- "max-image-width": "最大宽度",
- "max-image-height": "最大高度",
- "action-buttons": "动作按钮",
- "show-action-buttons": "显示动作按钮",
- "update-all-values": "更新所有值",
- "save-button-label": "“保存”按钮标签",
- "reset-button-label": "“撤销”按钮标签",
+ "image-quality": "使用有损压缩的图像质量,比如JPEG和WEBP",
+ "max-image-width": "最大图像宽度",
+ "max-image-height": "最大图像高度",
+ "action-buttons": "操作按钮",
+ "show-action-buttons": "显示操作按钮",
+ "update-all-values": "更新所有值,而不仅仅是修改过的值",
+ "save-button-label": "'保存'按钮标签",
+ "reset-button-label": "'撤销'按钮标签",
"group-settings": "分组设置",
- "show-group-title": "显示分组标题",
+ "show-group-title": "显示字段组的标题,与不同实体相关联",
"group-title": "分组标题",
- "fields-alignment": "对齐字段",
+ "fields-alignment": "字段对齐方式",
"fields-alignment-row": "行(默认)",
"fields-alignment-column": "列",
- "fields-in-row": "行中的字段数",
- "option-value": "值(为创建空选项编写“null”)",
+ "fields-in-row": "每行字段数",
+ "option-value": "值(创建空选项时填写'null')",
"option-label": "标签",
"hide-input-field": "隐藏输入字段",
- "datakey-type": "Datakey类型",
- "datakey-type-server": "服务端属性(默认)",
+ "datakey-type": "数据键类型",
+ "datakey-type-server": "服务器属性(默认)",
"datakey-type-shared": "共享属性",
- "datakey-type-timeseries": "时间序列",
- "datakey-value-type": "Datakey值类型",
- "datakey-value-type-string": "String",
- "datakey-value-type-double": "Double",
- "datakey-value-type-integer": "Integer",
- "datakey-value-type-boolean-checkbox": "Boolean(多选)",
- "datakey-value-type-boolean-switch": "Boolean(开关)",
- "datakey-value-type-date-time": "Date & Time",
- "datakey-value-type-date": "Date",
- "datakey-value-type-time": "Time",
- "datakey-value-type-select": "Select",
- "value-is-required": "值是必填",
+ "datakey-type-timeseries": "Timeseries",
+ "datakey-value-type": "数据键值类型",
+ "datakey-value-type-string": "字符串",
+ "datakey-value-type-double": "双精度",
+ "datakey-value-type-integer": "整数",
+ "datakey-value-type-json": "JSON",
+ "datakey-value-type-boolean-checkbox": "布尔值(复选框)",
+ "datakey-value-type-boolean-switch": "布尔值(开关)",
+ "datakey-value-type-date-time": "日期和时间",
+ "datakey-value-type-date": "日期",
+ "datakey-value-type-time": "时间",
+ "datakey-value-type-select": "选择",
+ "value-is-required": "值必填",
"ability-to-edit-attribute": "编辑属性的能力",
"ability-to-edit-attribute-editable": "可编辑(默认)",
"ability-to-edit-attribute-disabled": "禁用",
"ability-to-edit-attribute-readonly": "只读",
- "disable-on-datakey-name": "禁用另一个datakey的错误值(指定datakey名称)",
- "slide-toggle-settings": "滑块设置",
- "slide-toggle-label-position": "滑动标签位置",
- "slide-toggle-label-position-after": "后面",
- "slide-toggle-label-position-before": "前面",
- "select-options": "下拉选项",
- "no-select-options": "没有配置下拉选项",
- "add-select-option": "添加下接选项",
- "numeric-field-settings": "数字字段设置",
- "step-interval": "步长间隔",
- "error-messages": "错误信息",
- "min-value-error-message": "“最小值”错误信息",
- "max-value-error-message": "“最大值”错误信息",
- "invalid-date-error-message": "“无效日期”错误消息",
+ "disable-on-datakey-name": "在另一个数据键的值为假时禁用(指定数据键名称)",
+ "slide-toggle-settings": "滑动开关设置",
+ "slide-toggle-label-position": "滑动开关标签位置",
+ "slide-toggle-label-position-after": "之后",
+ "slide-toggle-label-position-before": "之前",
+ "select-options": "选择选项",
+ "no-select-options": "没有配置选择选项",
+ "add-select-option": "添加选择选项",
+ "numeric-field-settings": "数值字段设置",
+ "step-interval": "值之间的步长间隔",
+ "error-messages": "错误消息",
+ "min-value-error-message": "'最小值'错误消息",
+ "max-value-error-message": "'最大值'错误消息",
+ "invalid-date-error-message": "'无效日期'错误消息",
+ "invalid-JSON-error-message": "'无效JSON'错误消息",
"icon-settings": "图标设置",
- "use-custom-icon": "自定义图标",
- "input-cell-icon": "输入单元格之前显示的图标",
+ "dialog-editor-settings": "对话框编辑器设置",
+ "use-custom-icon": "使用自定义图标",
+ "input-cell-icon": "输入单元格前显示的图标",
"value-conversion-settings": "值转换设置",
"get-value-settings": "获取值设置",
- "use-get-value-function": "启用获取值函数",
- "get-value-function": "获取值函数",
+ "use-get-value-function": "使用getValue函数",
+ "get-value-function": "getValue函数",
"set-value-settings": "设置值设置",
- "use-set-value-function": "启用值值函数",
- "set-value-function": "启用函数"
+ "use-set-value-function": "使用setValue函数",
+ "set-value-function": "setValue函数",
+ "json-invalid": "JSON值格式无效",
+ "title": "标题",
+ "cancel-button-label": "'取消'按钮标签"
},
- "invalid-qr-code-text": "无效的二维码文本。",
+ "invalid-qr-code-text": "无效的二维码输入文本,输入应为字符串类型。",
"qr-code": {
- "use-qr-code-text-function": "启用二维码文本函数",
- "qr-code-text-pattern": "二维码文本模式(例如:${entityName}|${keyName}一些文本。')",
- "qr-code-text-pattern-hint": "二维码文本模式使用实体别名中第一个找到的键的值。",
- "qr-code-text-pattern-required": "二维码文本必填。",
+ "use-qr-code-text-function": "使用二维码文本函数",
+ "qr-code-text-pattern": "二维码文本模式(例如'${entityName} | ${keyName} - some text.')",
+ "qr-code-text-pattern-hint": "二维码文本模式将使用实体别名中的实体中找到的第一个键的值。",
+ "qr-code-text-pattern-required": "必须提供二维码文本模式。",
"qr-code-text-function": "二维码文本函数"
},
"label-widget": {
"label-pattern": "模式",
- "label-pattern-hint": "提示文本,如:'${keyName}单位。'或${#<key index>}单位'",
- "label-pattern-required": "模式必填",
- "label-position": "相对位置",
+ "label-pattern-hint": "提示:例如 'Text ${keyName} units.' or ${#<key index>} units'",
+ "label-pattern-required": "必须提供模式",
+ "label-position": "位置(相对于背景的百分比)",
"x-pos": "X",
"y-pos": "Y",
- "background-color": "背景色",
+ "background-color": "背景颜色",
"font-settings": "字体设置",
- "background-image": "背景图片",
+ "background-image": "背景图像",
"labels": "标签",
- "no-labels": "没有配置标签",
+ "no-labels": "无配置的标签",
"add-label": "添加标签"
},
"navigation": {
"title": "标题",
"navigation-path": "导航路径",
- "filter-type": "过滤类型",
- "filter-type-all": "所有内容",
- "filter-type-include": "包含内容",
- "filter-type-exclude": "排除内容",
- "items": "内容",
- "enter-urls-to-filter": "输入URL进行过滤..."
+ "filter-type": "筛选类型",
+ "filter-type-all": "所有项目",
+ "filter-type-include": "包含项目",
+ "filter-type-exclude": "排除项目",
+ "items": "项目",
+ "enter-urls-to-filter": "输入要筛选的URL..."
},
"persistent-table": {
"rpc-id": "RPC ID",
@@ -4308,157 +4741,157 @@
"method": "方法",
"params": "参数",
"created-time": "创建时间",
- "expiration-time": "到期时间",
- "retries": "重试",
+ "expiration-time": "过期时间",
+ "retries": "重试次数",
"status": "状态",
- "filter": "过滤",
+ "filter": "筛选",
"refresh": "刷新",
"add": "添加RPC请求",
"details": "详情",
"delete": "删除",
- "delete-request-title": "删除持续化RPC请求",
- "delete-request-text": "您确定要删除请求吗?",
- "details-title": "详情RPC ID: ",
+ "delete-request-title": "删除持久化RPC请求",
+ "delete-request-text": "确定要删除请求吗?",
+ "details-title": "详情 RPC ID: ",
"additional-info": "附加信息",
"response": "响应",
"any-status": "任何状态",
"rpc-status-list": "RPC状态列表",
- "no-request-prompt": "无显示请求",
+ "no-request-prompt": "没有要显示的请求",
"send-request": "发送请求",
- "add-title": "创建持续化RPC请求",
- "method-error": "方法名必填。",
+ "add-title": "创建持久化RPC请求",
+ "method-error": "必须提供方法。",
"timeout-error": "最小超时值为5000(5秒)。",
- "white-space-error": "不允许使用空白。",
+ "white-space-error": "不允许使用空格。",
"rpc-status": {
- "QUEUED": "QUEUED",
- "SENT": "SENT",
- "DELIVERED": "DELIVERED",
- "SUCCESSFUL": "SUCCESSFUL",
- "TIMEOUT": "TIMEOUT",
- "EXPIRED": "EXPIRED",
- "FAILED": "FAILED"
+ "QUEUED": "已排队",
+ "SENT": "已发送",
+ "DELIVERED": "已送达",
+ "SUCCESSFUL": "成功",
+ "TIMEOUT": "超时",
+ "EXPIRED": "已过期",
+ "FAILED": "失败"
},
"rpc-search-status-all": "所有",
"message-types": {
- "false": "Two-way",
- "true": "One-way"
+ "false": "双向",
+ "true": "单向"
},
- "general-settings": "基础设置",
- "enable-filter": "启用过滤",
- "enable-sticky-header": "滚动时显示标头",
- "enable-sticky-action": "滚动时显示动作列",
+ "general-settings": "常规设置",
+ "enable-filter": "启用筛选",
+ "enable-sticky-header": "滚动时显示标题栏",
+ "enable-sticky-action": "滚动时显示操作列",
"display-request-details": "显示请求详情",
"allow-send-request": "允许发送RPC请求",
"allow-delete-request": "允许删除请求",
- "columns-settings": "设置列",
- "display-columns": "显示列",
+ "columns-settings": "列设置",
+ "display-columns": "要显示的列",
"column": "列",
- "no-columns-found": "没有配置列",
- "no-columns-matching": "'{{column}}'找不到。"
+ "no-columns-found": "找不到列",
+ "no-columns-matching": "未找到 '{{column}}'。"
},
"rpc": {
- "value-settings": "设置值",
+ "value-settings": "值设置",
"initial-value": "初始值",
- "retrieve-value-settings": "恢复开/关设置",
- "retrieve-value-method": "恢复方法",
- "retrieve-value-method-none": "无需恢复",
- "retrieve-value-method-rpc": "RPC方法恢复",
- "retrieve-value-method-attribute": "订阅属性",
- "retrieve-value-method-timeseries": "订阅时间序列",
- "attribute-value-key": "属性key",
- "timeseries-value-key": "时序key",
- "get-value-method": "RPC获取方法",
- "parse-value-function": "解析函数",
+ "retrieve-value-settings": "获取开/关值设置",
+ "retrieve-value-method": "使用方法获取值",
+ "retrieve-value-method-none": "不获取",
+ "retrieve-value-method-rpc": "调用RPC获取值方法",
+ "retrieve-value-method-attribute": "订阅属性获取值",
+ "retrieve-value-method-timeseries": "订阅时间序列获取值",
+ "attribute-value-key": "属性键",
+ "timeseries-value-key": "Timeseries键",
+ "get-value-method": "RPC获取值方法",
+ "parse-value-function": "解析值的函数",
"update-value-settings": "更新值设置",
- "set-value-method": "RPC获取方法",
- "convert-value-function": "转换函数",
+ "set-value-method": "RPC设置值方法",
+ "convert-value-function": "转换值的函数",
"rpc-settings": "RPC设置",
- "request-timeout": "RPC请求超(毫秒)",
+ "request-timeout": "RPC请求超时时间(毫秒)",
"persistent-rpc-settings": "持久化RPC设置",
- "request-persistent": "RPC请求持久化",
- "persistent-polling-interval": " RPC持久化轮询间隔(毫秒)",
- "common-settings": "通用设置",
+ "request-persistent": "持久化RPC请求",
+ "persistent-polling-interval": "持久化RPC命令响应的轮询间隔(毫秒)",
+ "common-settings": "常见设置",
"switch-title": "开关标题",
- "show-on-off-labels": "显示开/关",
- "slide-toggle-label": "滑块切换标签",
+ "show-on-off-labels": "显示开/关标签",
+ "slide-toggle-label": "滑动开关标签",
"label-position": "标签位置",
- "label-position-before": "前面",
- "label-position-after": "后面",
+ "label-position-before": "之前",
+ "label-position-after": "之后",
"slider-color": "滑块颜色",
- "slider-color-primary": "Primary",
- "slider-color-accent": "Accent",
- "slider-color-warn": "Warn",
+ "slider-color-primary": "主要",
+ "slider-color-accent": "强调",
+ "slider-color-warn": "警告",
"button-style": "按钮样式",
- "button-raised": "按钮凸起",
- "button-primary": "原色",
- "button-background-color": "背景色",
- "button-text-color": "文字颜色",
+ "button-raised": "凸起按钮",
+ "button-primary": "主要颜色",
+ "button-background-color": "按钮背景颜色",
+ "button-text-color": "按钮文字颜色",
"widget-title": "部件标题",
"button-label": "按钮标签",
"device-attribute-scope": "设备属性范围",
- "server-attribute": "服务端属性",
+ "server-attribute": "服务器属性",
"shared-attribute": "共享属性",
"device-attribute-parameters": "设备属性参数",
- "is-one-way-command": "是否单向命令",
+ "is-one-way-command": "是单向命令",
"rpc-method": "RPC方法",
- "rpc-method-params": "RPC参数",
+ "rpc-method-params": "RPC方法参数",
"show-rpc-error": "显示RPC命令执行错误",
"led-title": "LED标题",
"led-color": "LED颜色",
"check-status-settings": "检查状态设置",
"perform-rpc-status-check": "执行RPC设备状态检查",
- "retrieve-led-status-value-method": "使用方法状态值恢复LED",
- "led-status-value-attribute": "设备属性包含LED状态值",
- "led-status-value-timeseries": "设备时间序列包含LED状态值",
- "check-status-method": "RPC设备状态检查方法",
- "parse-led-status-value-function": "解析函数",
- "knob-title": "旋转按钮",
+ "retrieve-led-status-value-method": "使用方法获取LED状态值",
+ "led-status-value-attribute": "包含LED状态值的设备属性",
+ "led-status-value-timeseries": "包含LED状态值的设备时间序列",
+ "check-status-method": "RPC检查设备状态方法",
+ "parse-led-status-value-function": "解析LED状态值的函数",
+ "knob-title": "旋钮标题",
"min-value": "最小值",
"max-value": "最大值"
},
"maps": {
"select-entity": "选择实体",
- "select-entity-hint": "提示:选择后单击地图以设置位置",
+ "select-entity-hint": "提示:选择后在地图上点击以设置位置",
"tooltips": {
- "placeMarker": "单击放置'{{entityName}}'实体",
- "firstVertex": "单击放置多边形'{{entityName}}'的第一个点",
- "firstVertex-cut": "单击放置第一个点",
- "continueLine": "单击继续绘制'{{entityName}}'多边形",
- "continueLine-cut": "单击继续绘制",
- "finishLine": "单击任何现有标记完成",
- "finishPoly": "单击第一个标记完成'{{entityName}}'并保存",
- "finishPoly-cut": "单击第一个标记完成并保存",
- "finishRect": "单击'{{entityName}}'多边形完成并保存",
- "startCircle": "单击'{{entityName}}'放置圆圈中心",
- "finishCircle": "单击'{{entityName}}'完成圆圈",
- "placeCircleMarker": "单击放置圆形标记"
+ "placeMarker": "点击以放置 '{{entityName}}' 实体",
+ "firstVertex": "'{{entityName}}' 的多边形:点击以放置第一个点",
+ "firstVertex-cut": "点击以放置第一个点",
+ "continueLine": "'{{entityName}}' 的多边形:点击以继续绘制",
+ "continueLine-cut": "点击以继续绘制",
+ "finishLine": "点击任意现有标记以完成",
+ "finishPoly": "'{{entityName}}' 的多边形:点击第一个标记以完成并保存",
+ "finishPoly-cut": "点击第一个标记以完成并保存",
+ "finishRect": "'{{entityName}}' 的多边形:点击以完成并保存",
+ "startCircle": "'{{entityName}}' 的圆:点击以放置圆心",
+ "finishCircle": "'{{entityName}}' 的圆:点击以完成圆形",
+ "placeCircleMarker": "点击以放置圆形标记"
},
"actions": {
"finish": "完成",
"cancel": "取消",
- "removeLastVertex": "删除最后一点"
+ "removeLastVertex": "移除最后一个点"
},
"buttonTitles": {
"drawMarkerButton": "放置实体",
"drawPolyButton": "创建多边形",
- "drawLineButton": "创建多边形线条",
+ "drawLineButton": "创建折线",
"drawCircleButton": "创建圆形",
"drawRectButton": "创建矩形",
"editButton": "编辑模式",
"dragButton": "拖放模式",
- "cutButton": "剪切多边形区域",
+ "cutButton": "切割多边形区域",
"deleteButton": "移除",
- "drawCircleMarkerButton": "创建圆形标志",
+ "drawCircleMarkerButton": "创建圆形标记",
"rotateButton": "旋转多边形"
},
- "map-provider-settings": "地图设置",
- "map-provider": "提供程序",
- "map-provider-google": "Google地图",
+ "map-provider-settings": "地图提供商设置",
+ "map-provider": "地图提供商",
+ "map-provider-google": "谷歌地图",
"map-provider-openstreet": "OpenStreet地图",
"map-provider-here": "HERE地图",
- "map-provider-image": "Image地图",
- "map-provider-tencent": "Tencent地图",
- "openstreet-provider": "OpenStreet地图提供程序",
+ "map-provider-image": "图像地图",
+ "map-provider-tencent": "腾讯地图",
+ "openstreet-provider": "OpenStreet地图提供商",
"openstreet-provider-mapnik": "OpenStreetMap.Mapnik(默认)",
"openstreet-provider-hot": "OpenStreetMap.HOT",
"openstreet-provider-esri-street": "Esri.WorldStreetMap",
@@ -4466,258 +4899,457 @@
"openstreet-provider-esri-imagery": "Esri.WorldImagery",
"openstreet-provider-cartodb-positron": "CartoDB.Positron",
"openstreet-provider-cartodb-dark-matter": "CartoDB.DarkMatter",
- "use-custom-provider": "自定义提供程序",
- "custom-provider-tile-url": "提供程序URL",
- "google-maps-api-key": "Google地图Key",
+ "use-custom-provider": "使用自定义提供商",
+ "custom-provider-tile-url": "自定义提供商瓦片URL",
+ "google-maps-api-key": "谷歌地图API密钥",
"default-map-type": "默认地图类型",
- "google-map-type-roadmap": "路线地图",
- "google-map-type-satelite": "卫星",
- "google-map-type-hybrid": "混合",
- "google-map-type-terrain": "街道",
- "map-layer": "地图",
+ "google-map-type-roadmap": "路线图",
+ "google-map-type-satelite": "卫星图",
+ "google-map-type-hybrid": "混合图",
+ "google-map-type-terrain": "地形图",
+ "map-layer": "地图图层",
"here-map-normal-day": "HERE.normalDay(默认)",
"here-map-normal-night": "HERE.normalNight",
"here-map-hybrid-day": "HERE.hybridDay",
"here-map-terrain-day": "HERE.terrainDay",
- "credentials": "证书",
- "here-app-id": "HERE地图id",
- "here-app-code": "HERE地图code",
- "tencent-maps-api-key": "Tencent地图Key",
- "tencent-map-type-roadmap": "路线地图",
- "tencent-map-type-satelite": "卫星",
- "tencent-map-type-hybrid": "混合",
- "image-map-background": "地图北景",
- "image-map-background-from-entity-attribute": "从实体属性中获取背景图",
+ "credentials": "凭证",
+ "here-app-id": "HERE应用ID",
+ "here-app-code": "HERE应用代码",
+ "here-api-key": "HERE API密钥",
+ "here-use-new-version-api-3": "使用API版本3",
+ "tencent-maps-api-key": "腾讯地图API密钥",
+ "tencent-map-type-roadmap": "路线图",
+ "tencent-map-type-satelite": "卫星图",
+ "tencent-map-type-hybrid": "混合图",
+ "image-map-background": "图像地图背景",
+ "image-map-background-from-entity-attribute": "从实体属性获取图像地图背景",
"image-url-source-entity-alias": "图像URL源实体别名",
"image-url-source-entity-attribute": "图像URL源实体属性",
- "common-map-settings": "通用设置",
+ "common-map-settings": "常见地图设置",
"x-pos-key-name": "X位置键名",
"y-pos-key-name": "Y位置键名",
- "latitude-key-name": "Latitude键名",
- "longitude-key-name": "Longitude键名",
- "default-map-zoom-level": "地图缩放级别(1-20)",
- "default-map-center-position": "地图中心位置(0,0)",
- "disable-scroll-zooming": "地图中心位置",
+ "latitude-key-name": "纬度键名",
+ "longitude-key-name": "经度键名",
+ "default-map-zoom-level": "默认地图缩放级别(0-20)",
+ "default-map-center-position": "默认地图中心位置(0,0)",
+ "disable-scroll-zooming": "禁用滚动缩放",
"disable-double-click-zooming": "禁用双击缩放",
- "disable-zoom-control-buttons": "禁用缩放按钮",
- "fit-map-bounds": "拟合地图标记",
- "use-default-map-center-position": "地图默认中心位置",
- "entities-limit": "加载实体限制",
+ "disable-zoom-control-buttons": "禁用缩放控制按钮",
+ "fit-map-bounds": "适应地图边界以覆盖所有标记",
+ "use-default-map-center-position": "使用默认地图中心位置",
+ "entities-limit": "加载实体的限制",
"markers-settings": "标记设置",
- "marker-offset-x": "标记X宽度偏移量",
- "marker-offset-y": "标记Y高度偏移量",
- "position-function": "位置转换函数应返回x,y坐标",
- "draggable-marker": "拖动标记",
- "label": "标签设置",
+ "marker-offset-x": "标记X偏移相对于位置乘以标记宽度",
+ "marker-offset-y": "标记Y偏移相对于位置乘以标记高度",
+ "position-function": "位置转换函数,应返回0到1之间的x,y坐标",
+ "draggable-marker": "可拖动的标记",
+ "label": "标签",
"show-label": "显示标签",
- "use-label-function": "标签函数",
- "label-pattern": "标签模式(例如:'${entityName}', '${entityName}: (文本${keyName}单位)' )",
+ "use-label-function": "使用标签函数",
+ "label-pattern": "标签 (模式示例:'${entityName}', '${entityName}: (Text ${keyName} units.)' )",
"label-function": "标签函数",
- "tooltip": "提示栏设置",
- "show-tooltip": "显示提示栏",
- "show-tooltip-action": "提示拦动作",
- "show-tooltip-action-click": "单击显示(默认)",
- "show-tooltip-action-hover": "悬停显示",
- "auto-close-tooltips": "自动关闭",
- "use-tooltip-function": "启用函数",
- "tooltip-pattern": "提示栏(例如:'文本${keyName}单位。'或
租户是拥有或生产设备和资产的个人或组织。租户可以拥有多个租户管理员用户、客户、设备和资产。
租户管理员可以在租户账户内创建和管理设备、资产、客户和仪表盘。
请按照文档中的说明进行操作:
", + "how-to-create-tenant": "如何创建租户和租户管理员" + }, + "step2": { + "title": "配置功能:邮件服务器", + "content": "邮件服务器配置对于用户激活、密码恢复和告警通知非常重要。
请按照文档中的说明进行配置:
", + "how-to-configure-mail-server": "如何配置邮件服务器" + }, + "step3": { + "title": "配置功能:短信提供商", + "content": "配置短信提供商,通过短信向客户通知告警。
请按照文档中的说明进行配置:
", + "how-to-configure-sms-provider": "如何配置短信提供商" + }, + "step4": { + "title": "配置功能:双因素认证(2FA)", + "content": "通过双因素认证提高平台账户的安全性。
请按照文档中的说明进行配置:
", + "how-to-configure-2fa": "如何配置双因素认证(2FA)" + }, + "step5": { + "title": "配置功能:OAuth 2", + "content": "使用 OAuth 2.0 的单点登录功能简化租户和客户用户的登录过程。
请按照文档中的说明进行配置:
", + "how-to-configure-oauth2": "如何配置 OAuth 2" + }, + "step6": { + "title": "配置功能:Slack", + "content": "根据您设置的通知规则,通过 Slack 将通知发送给租户和客户用户。
请按照文档中的说明进行配置:
", + "how-to-configure-notifications": "如何配置 Slack" + } + }, + "tenant-admin": { + "step1": { + "title": "创建设备", + "content": "让我们通过用户界面将您的第一个设备添加到平台上。按照文档中的说明进行操作:
", + "how-to-create-device": "如何创建设备" + }, + "step2": { + "title": "连接设备", + "content-before": "要连接设备,您需要获取设备凭据。我们建议在本指南中使用默认的自动生成的凭据,即访问令牌。
使用简单的命令通过HTTP发布数据。不要忘记用您的设备访问令牌替换 $ACCESS_TOKEN :
", + "ubuntu": { + "install-curl": "在 Ubuntu 安装 cURL:" + }, + "macos": { + "install-curl": "在 MacOS 安装 cURL:" + }, + "windows": { + "install-curl": "从 Windows10 b17063 开始,默认情况下提供cURL。" + }, + "replace-access-token": "使用您的设备令牌替换 $ACCESS_TOKEN :", + "content-after": "您也可以使用其他协议,比如 MQTT、CoAP 等。
按照文档中的说明进行操作:
", + "how-to-connect-device": "如何连接设备" + }, + "step3": { + "title": "创建仪表盘", + "content": "创建一个仪表盘,用于可视化来自资产、设备等实体的数据。
按照文档中的说明进行操作:
", + "how-to-create-dashboard": "如何创建仪表盘" + }, + "step4": { + "title": "配置告警规则", + "alarm-rules": "告警规则", + "content": "让我们在温度达到25°C时触发告警。按照文档中的说明进行操作:
", + "how-to-configure-alarm-rules": "如何配置告警规则" + }, + "step5": { + "title": "创建告警", + "content-before": "为了触发告警,请发送一个新的温度值,温度大于或等于26°C。
", + "replace-access-token": "请将$ACCESS_TOKEN替换为您的设备的令牌:", + "content-after": "按照文档中的说明进行操作:
", + "how-to-create-alarm": "如何创建告警" + }, + "step6": { + "title": "创建客户并分配仪表盘", + "content": "通过创建终端用户仪表盘,客户用户只能查看自己的设备,其他客户的数据将被隐藏。
按照文档中的说明进行操作:
", + "how-to-create-customer-and-assign-dashboard": "如何创建客户并分配仪表盘" + } + } } }, "icon": { @@ -4735,27 +5367,51 @@ }, "custom": { "widget-action": { - "action-cell-button": "单元格click", - "row-click": "数据行click", - "polygon-click": "多边形click", - "marker-click": "标记click", - "circle-click": "圆形click", - "tooltip-tag-action": "提示框click", - "node-selected": "节点选中click", - "element-click": "HTML元素click", - "pie-slice-click": " 饼状click", - "row-double-click": "双击clcik" + "action-cell-button": "动作单元格按钮", + "row-click": "点击行时", + "polygon-click": "单击多边形", + "marker-click": "点击标记时", + "circle-click": "On circle click", + "tooltip-tag-action": "Tooltip tag action", + "node-selected": "选择节点时", + "element-click": "点击HTML元素时", + "pie-slice-click": "点击切片时", + "row-double-click": "双击行时" } }, "paginator": { - "items-per-page": "每页数量:", - "first-page-label": "第一页", - "last-page-label": "最后一页", + "items-per-page": "每页条数:", + "first-page-label": "首页", + "last-page-label": "尾页", "next-page-label": "下一页", "previous-page-label": "上一页", - "items-per-page-separator": "-" + "items-per-page-separator": "of" }, "language": { - "language": "语言" + "language": "语言", + "locales": { + "ca_ES": "Catalan", + "cs_CZ": "Česky", + "da_DK": "Dansk", + "de_DE": "Deutsch", + "el_GR": "Ελληνικά", + "en_US": "English", + "es_ES": "Español", + "fa_IR": "فارسي", + "fr_FR": "Français", + "it_IT": "Italiano", + "ja_JP": "日本語", + "ka_GE": "ქართული", + "ko_KR": "한국어", + "lv_LV": "Latviešu", + "pt_BR": "Português do Brasil", + "ro_RO": "Română", + "ru_RU": "Русский", + "sl_SI": "Slovenščina", + "tr_TR": "Türkçe", + "uk_UA": "Українська", + "zh_CN": "简体中文", + "zh_TW": "繁體中文" + } } }