Commit ff28fe7e52cb049e8742b31f2e5dc76ead3c4a19

Authored by liaowu
Committed by GitHub
1 parent 5c33d134

UI: added missed translations

UI: added missed translations and revised some translations
... ... @@ -16,337 +16,540 @@
16 16
17 17 export default function addLocaleChinese(locales) {
18 18 var zh_CN = {
19   - "access" : {
20   - "unauthorized" : "未授权",
21   - "unauthorized-access" : "未授权访问",
22   - "unauthorized-access-text" : "您需要登陆才能访问这个资源!",
23   - "access-forbidden" : "禁止访问",
24   - "access-forbidden-text" : "您没有访问此位置的权限<br/>如果您仍希望访问此位置,请尝试使用其他用户登录。",
25   - "refresh-token-expired" : "会话已过期",
26   - "refresh-token-failed" : "无法刷新会话"
27   - },
28   - "action" : {
29   - "activate" : "激活",
30   - "suspend" : "暂停",
31   - "save" : "保存",
32   - "saveAs" : "另存为",
33   - "cancel" : "取消",
34   - "ok" : "确定",
35   - "delete" : "删除",
36   - "add" : "添加",
37   - "yes" : "是",
38   - "no" : "否",
39   - "update" : "更新",
40   - "remove" : "移除",
41   - "search" : "查询",
42   - "assign" : "分配",
43   - "unassign" : "取消分配",
44   - "share" : "分享",
45   - "make-private" : "私有",
46   - "apply" : "应用",
47   - "apply-changes" : "应用更改",
48   - "edit-mode" : "编辑模式",
49   - "enter-edit-mode" : "进入编辑模式",
50   - "decline-changes" : "拒绝变更",
51   - "close" : "关闭",
52   - "back" : "后退",
53   - "run" : "运行",
54   - "sign-in" : "登录!",
55   - "edit" : "编辑",
56   - "view" : "查看",
57   - "create" : "创建",
58   - "drag" : "拖拽",
59   - "refresh" : "刷新",
60   - "undo" : "撤销",
61   - "copy" : "复制",
62   - "paste" : "粘贴",
63   - "import" : "导入",
64   - "export" : "导出",
65   - "share-via" : "通过 {{provider}}分享"
66   - },
67   - "aggregation" : {
68   - "aggregation" : "聚合",
69   - "function" : "数据聚合功能",
70   - "limit" : "最大值",
71   - "group-interval" : "分组间隔",
72   - "min" : "最少值",
73   - "max" : "最大值",
74   - "avg" : "平均值",
75   - "sum" : "求和",
76   - "count" : "计数",
77   - "none" : "空"
78   - },
79   - "admin" : {
80   - "general" : "常规",
81   - "general-settings" : "常规设置",
82   - "outgoing-mail" : "发送邮件",
83   - "outgoing-mail-settings" : "发送邮件设置",
84   - "system-settings" : "系统设置",
85   - "test-mail-sent" : "测试邮件发送成功!",
86   - "base-url" : "基本URL",
87   - "base-url-required" : "基本URL是必须的。",
88   - "mail-from" : "邮件来自",
89   - "mail-from-required" : "邮件发件人是必须的。",
90   - "smtp-protocol" : "SMTP协议",
91   - "smtp-host" : "SMTP主机",
92   - "smtp-host-required" : "SMTP主机是必须的。",
93   - "smtp-port" : "SMTP端口",
94   - "smtp-port-required" : "您必须提供一个smtp端口。",
95   - "smtp-port-invalid" : "这看起来不是有效的smtp端口。",
96   - "timeout-msec" : "超时(ms)",
97   - "timeout-required" : "超时是必须的。",
98   - "timeout-invalid" : "这看起来不像有效的超时值。",
99   - "enable-tls" : "启用TLS",
100   - "send-test-mail" : "发送测试邮件"
101   - },
102   - "attribute" : {
103   - "attributes" : "属性",
104   - "latest-telemetry" : "最新遥测",
105   - "attributes-scope" : "设备属性范围",
106   - "scope-latest-telemetry" : "最新遥测",
107   - "scope-client" : "客户端属性",
108   - "scope-server" : "服务端属性",
109   - "scope-shared" : "共享属性",
110   - "add" : "添加属性",
111   - "key" : "键",
112   - "key-required" : "属性键是必需的。",
113   - "value" : "值",
114   - "value-required" : "属性值是必需的。",
115   - "delete-attributes-title" : "您确定要删除 { count, select, 1 {1 attribute} other {# attributes} }吗?",
116   - "delete-attributes-text" : "注意,确认后所有选中的属性都会被删除。",
117   - "delete-attributes" : "删除属性",
118   - "enter-attribute-value" : "输入属性值",
119   - "show-on-widget" : "在部件上显示",
120   - "widget-mode" : "部件模式",
121   - "next-widget" : "下一个部件",
122   - "prev-widget" : "上一个部件",
123   - "add-to-dashboard" : "添加到仪表板",
124   - "add-widget-to-dashboard" : "将部件添加到仪表板",
125   - "selected-attributes" : "{ count, select, 1 {1 attribute} other {# attributes} } 被选中",
126   - "selected-telemetry" : "{ count, select, 1 {1 telemetry unit} other {# telemetry units} } 被选中"
127   - },
128   - "confirm-on-exit" : {
129   - "message" : "您有未保存的更改。确定要离开此页吗?",
130   - "html-message" : "您有未保存的更改。<br/> 确定要离开此页面吗?",
131   - "title" : "未保存的更改"
132   - },
133   - "contact" : {
134   - "country" : "国家",
135   - "city" : "城市",
136   - "state" : "州",
137   - "postal-code" : "邮政编码",
138   - "postal-code-invalid" : "只允许数字。",
139   - "address" : "地址",
140   - "address2" : "地址2",
141   - "phone" : "手机",
142   - "email" : "邮箱",
143   - "no-address" : "无地址"
144   - },
145   - "common" : {
146   - "username" : "用户名",
147   - "password" : "密码",
148   - "enter-username" : "输入用户名",
149   - "enter-password" : "输入密码",
150   - "enter-search" : "输入检索条件"
151   - },
152   - "customer" : {
153   - "customers" : "客户",
154   - "management" : "客户管理",
155   - "dashboard" : "客户仪表板",
156   - "dashboards" : "客户仪表板",
157   - "devices" : "客户设备",
158   - "public-dashboards" : "公共仪表板",
159   - "public-devices" : "公共设备",
160   - "add" : "添加客户",
161   - "delete" : "删除客户",
162   - "manage-customer-users" : "管理客户用户",
163   - "manage-customer-devices" : "管理客户设备",
164   - "manage-customer-dashboards" : "管理客户仪表板",
165   - "manage-public-devices" : "管理公共设备",
166   - "manage-public-dashboards" : "管理公共仪表板",
167   - "add-customer-text" : "添加新客户",
168   - "no-customers-text" : "没有找到客户",
169   - "customer-details" : "客户详情",
170   - "delete-customer-title" : "您确定要删除客户'{{customerTitle}}'吗?",
171   - "delete-customer-text" : "小心!确认后,客户及其所有相关数据将不可恢复。",
172   - "delete-customers-title" : "您确定要删除 { count, select, 1 {1 customer} other {# customers} }吗?",
173   - "delete-customers-action-title" : "删除 { count, select, 1 {1 customer} other {# customers} }",
174   - "delete-customers-text" : "小心!确认后,所有选定的客户将被删除,所有相关数据将不可恢复。",
175   - "manage-users" : "管理用户",
176   - "manage-devices" : "管理设备",
177   - "manage-dashboards" : "管理仪表板",
178   - "title" : "标题",
179   - "title-required" : "需要标题。",
180   - "description" : "描述"
181   - },
182   - "datetime" : {
183   - "date-from" : "日期从",
184   - "time-from" : "时间从",
185   - "date-to" : "日期到",
186   - "time-to" : "时间到"
187   - },
188   - "dashboard" : {
189   - "dashboard" : "仪表板",
190   - "dashboards" : "仪表板库",
191   - "management" : "仪表板管理",
192   - "view-dashboards" : "查看仪表板",
193   - "add" : "添加仪表板",
194   - "assign-dashboard-to-customer" : "将仪表板分配给客户",
195   - "assign-dashboard-to-customer-text" : "请选择要分配给客户的仪表板",
196   - "assign-to-customer-text" : "请选择客户分配仪表板",
197   - "assign-to-customer" : "分配给客户",
198   - "unassign-from-customer" : "取消分配客户",
199   - "make-public" : "使仪表板公有",
200   - "make-private" : "使仪表板私有",
201   - "no-dashboards-text" : "没有找到仪表板",
202   - "no-widgets" : "没有配置部件",
203   - "add-widget" : "添加新的部件",
204   - "title" : "标题",
205   - "select-widget-title" : "选择部件",
206   - "select-widget-subtitle" : "可用的部件类型列表",
207   - "delete" : "删除仪表板",
208   - "title-required" : "需要标题。",
209   - "description" : "描述",
210   - "details" : "详情",
211   - "dashboard-details" : "仪表板详情",
212   - "add-dashboard-text" : "添加新的仪表板",
213   - "assign-dashboards" : "分配仪表板",
214   - "assign-new-dashboard" : "分配新的仪表板",
215   - "assign-dashboards-text" : "分配 { count, select, 1 {1 dashboard} other {# dashboards} } 给客户",
216   - "delete-dashboards" : "删除仪表板",
217   - "unassign-dashboards" : "取消分配仪表板",
218   - "unassign-dashboards-action-title" : "取消分配 { count, select, 1 {1 dashboard} other {# dashboards} } from customer",
219   - "delete-dashboard-title" : "您确定要删除仪表板 '{{dashboardTitle}}'吗?",
220   - "delete-dashboard-text" : "小心!确认后仪表板及其所有相关数据将不可恢复。",
221   - "delete-dashboards-title" : "你确定你要删除 { count, select, 1 {1 dashboard} other {# dashboards} }吗?",
222   - "delete-dashboards-action-title" : "删除 { count, select, 1 {1 dashboard} other {# dashboards} }",
223   - "delete-dashboards-text" : "小心!确认后所有选定的仪表板将被删除,所有相关数据将不可恢复。",
224   - "unassign-dashboard-title" : "您确定要取消分配仪表板 '{{dashboardTitle}}'吗?",
225   - "unassign-dashboard-text" : "确认后,面板将被取消分配,客户将无法访问。",
226   - "unassign-dashboard" : "取消分配仪表板",
227   - "unassign-dashboards-title" : "您确定要取消分配仪表板 { count, select, 1 {1 dashboard} other {# dashboards} } 吗?",
228   - "unassign-dashboards-text" : "确认后,所有选定的仪表板将被取消分配,客户将无法访问。",
229   - "public-dashboard-title" : "仪表板现已公布",
230   - "public-dashboard-text" : "你的仪表板 <b>{{dashboardTitle}}</b> 已被公开,可通过如下 <a href='{{publicLink}}' target='_blank'>链接</a>访问:",
231   - "public-dashboard-notice" : "<b>提示:</b> 不要忘记将相关设备公开以访问其数据。",
232   - "make-private-dashboard-title" : "您确定要使仪表板 '{{dashboardTitle}}' 私有吗?",
233   - "make-private-dashboard-text" : "确认后,仪表板将被私有,不能被其他人访问。",
234   - "make-private-dashboard" : "仪表板私有",
235   - "socialshare-text" : "'{{dashboardTitle}}' 由ThingsBoard提供支持",
236   - "socialshare-title" : "'{{dashboardTitle}}' 由ThingsBoard提供支持",
237   - "select-dashboard" : "选择仪表板",
238   - "no-dashboards-matching" : "找不到符合 '{{entity}}' 的仪表板。",
239   - "dashboard-required" : "仪表板是必需的。",
240   - "select-existing" : "选择现有仪表板",
241   - "create-new" : "创建新的仪表板",
242   - "new-dashboard-title" : "新仪表板标题",
243   - "open-dashboard" : "打开仪表板",
244   - "set-background" : "设置背景",
245   - "background-color" : "背景颜色",
246   - "background-image" : "背景图片",
247   - "background-size-mode" : "背景大小模式",
248   - "no-image" : "无图像选择",
249   - "drop-image" : "拖拽图像或单击以选择要上传的文件。",
250   - "settings" : "设置",
251   - "columns-count" : "列数",
252   - "columns-count-required" : "需要列数。",
253   - "min-columns-count-message" : "只允许最少10列",
254   - "max-columns-count-message" : "只允许最多1000列",
255   - "widgets-margins" : "部件间边距",
256   - "horizontal-margin" : "水平边距",
257   - "horizontal-margin-required" : "需要水平边距值。",
258   - "min-horizontal-margin-message" : "只允许0作为最小水平边距值。",
259   - "max-horizontal-margin-message" : "只允许50作为最大水平边距值。",
260   - "vertical-margin" : "垂直边距",
261   - "vertical-margin-required" : "需要垂直边距值。",
262   - "min-vertical-margin-message" : "只允许0作为最小垂直边距值。",
263   - "max-vertical-margin-message" : "只允许50作为最大垂直边距值。",
264   - "display-title" : "显示仪表板标题",
265   - "title-color" : "标题颜色",
266   - "display-device-selection" : "显示设备选择",
267   - "display-dashboard-timewindow" : "显示时间窗口",
268   - "display-dashboard-export" : "显示导出",
269   - "import" : "导入仪表板",
270   - "export" : "导出仪表板",
271   - "export-failed-error" : "无法导出仪表板: {{error}}",
272   - "create-new-dashboard" : "创建新的仪表板",
273   - "dashboard-file" : "仪表板文件",
274   - "invalid-dashboard-file-error" : "无法导入仪表板: 仪表板数据结构无效。",
275   - "dashboard-import-missing-aliases-title" : "配置导入仪表板使用的别名",
276   - "create-new-widget" : "创建新部件",
277   - "import-widget" : "导入部件",
278   - "widget-file" : "部件文件",
279   - "invalid-widget-file-error" : "无法导入窗口部件: 窗口部件数据结构无效。",
280   - "widget-import-missing-aliases-title" : "配置导入的窗口部件使用的别名",
281   - "open-toolbar" : "打开仪表板工具栏",
282   - "close-toolbar" : "关闭工具栏",
283   - "configuration-error" : "配置错误",
284   - "alias-resolution-error-title" : "仪表板别名配置错误",
285   - "invalid-aliases-config" : "无法找到与某些别名过滤器匹配的任何设备。<br/>" +
286   - "请联系您的管理员以解决此问题。",
287   - "select-devices" : "选择设备",
288   - "assignedToCustomer" : "分配给客户",
289   - "public" : "公共",
290   - "public-link" : "公共链接",
291   - "copy-public-link" : "复制公共链接",
292   - "public-link-copied-message" : "仪表板的公共链接已被复制到剪贴板"
293   - },
294   - "datakey" : {
  19 + "access": {
  20 + "unauthorized": "未授权",
  21 + "unauthorized-access": "未授权访问",
  22 + "unauthorized-access-text": "您需要登陆才能访问这个资源!",
  23 + "access-forbidden": "禁止访问",
  24 + "access-forbidden-text": "您没有访问此位置的权限<br/>如果您仍希望访问此位置,请尝试使用其他用户登录。",
  25 + "refresh-token-expired": "会话已过期",
  26 + "refresh-token-failed": "无法刷新会话"
  27 + },
  28 + "action": {
  29 + "activate": "激活",
  30 + "suspend": "暂停",
  31 + "save": "保存",
  32 + "saveAs": "另存为",
  33 + "cancel": "取消",
  34 + "ok": "确定",
  35 + "delete": "删除",
  36 + "add": "添加",
  37 + "yes": "是",
  38 + "no": "否",
  39 + "update": "更新",
  40 + "remove": "移除",
  41 + "search": "查询",
  42 + "assign": "分配",
  43 + "unassign": "取消分配",
  44 + "share": "分享",
  45 + "make-private": "私有",
  46 + "apply": "应用",
  47 + "apply-changes": "应用更改",
  48 + "edit-mode": "编辑模式",
  49 + "enter-edit-mode": "进入编辑模式",
  50 + "decline-changes": "撤销更改",
  51 + "close": "关闭",
  52 + "back": "后退",
  53 + "run": "运行",
  54 + "sign-in": "登录!",
  55 + "edit": "编辑",
  56 + "view": "查看",
  57 + "create": "创建",
  58 + "drag": "拖拽",
  59 + "refresh": "刷新",
  60 + "undo": "撤销",
  61 + "copy": "复制",
  62 + "paste": "粘贴",
  63 + "copy-reference": "复制引用",
  64 + "paste-reference": "粘贴引用",
  65 + "import": "导入",
  66 + "export": "导出",
  67 + "share-via": "通过 {{provider}}分享"
  68 + },
  69 + "aggregation": {
  70 + "aggregation": "聚合",
  71 + "function": "数据聚合功能",
  72 + "limit": "最大值",
  73 + "group-interval": "分组间隔",
  74 + "min": "最少值",
  75 + "max": "最大值",
  76 + "avg": "平均值",
  77 + "sum": "求和",
  78 + "count": "计数",
  79 + "none": "空"
  80 + },
  81 + "admin": {
  82 + "general": "常规",
  83 + "general-settings": "常规设置",
  84 + "outgoing-mail": "发送邮件",
  85 + "outgoing-mail-settings": "发送邮件设置",
  86 + "system-settings": "系统设置",
  87 + "test-mail-sent": "测试邮件发送成功!",
  88 + "base-url": "基本URL",
  89 + "base-url-required": "基本URL必填。",
  90 + "mail-from": "邮件来自",
  91 + "mail-from-required": "邮件发件人必填。",
  92 + "smtp-protocol": "SMTP协议",
  93 + "smtp-host": "SMTP主机",
  94 + "smtp-host-required": "SMTP主机必填。",
  95 + "smtp-port": "SMTP端口",
  96 + "smtp-port-required": "您必须提供一个smtp端口。",
  97 + "smtp-port-invalid": "这看起来不是有效的smtp端口。",
  98 + "timeout-msec": "超时(ms)",
  99 + "timeout-required": "超时必填。",
  100 + "timeout-invalid": "这看起来不像有效的超时值。",
  101 + "enable-tls": "启用TLS",
  102 + "send-test-mail": "发送测试邮件"
  103 + },
  104 + "alarm": {
  105 + "alarm": "警告",
  106 + "alarms": "警告",
  107 + "select-alarm": "选择警告",
  108 + "no-alarms-matching": "没有找到匹配 '{{entity}}' 的警告",
  109 + "alarm-required": "警告必填",
  110 + "alarm-status": "警告状态",
  111 + "search-status": {
  112 + "ANY": "所有",
  113 + "ACTIVE": "已激活",
  114 + "CLEARED": "已清除",
  115 + "ACK": "已应答",
  116 + "UNACK": "未应答"
  117 + },
  118 + "display-status": {
  119 + "ACTIVE_UNACK": "激活未应答",
  120 + "ACTIVE_ACK": "激活已应答",
  121 + "CLEARED_UNACK": "清除未应答",
  122 + "CLEARED_ACK": "清除已应答"
  123 + },
  124 + "no-alarms-prompt": "未发现警告",
  125 + "created-time": "创建时间",
  126 + "type": "类型",
  127 + "severity": "严重程度",
  128 + "originator": "起因",
  129 + "originator-type": "起因类型",
  130 + "details": "详情",
  131 + "status": "状态",
  132 + "alarm-details": "警告详情",
  133 + "start-time": "开始时间",
  134 + "end-time": "结束时间",
  135 + "ack-time": "应答时间",
  136 + "clear-time": "创建时间",
  137 + "severity-critical": "危险",
  138 + "severity-major": "重要",
  139 + "severity-minor": "次要",
  140 + "severity-warning": "警告",
  141 + "severity-indeterminate": "不确定",
  142 + "acknowledge": "应答",
  143 + "clear": "清除",
  144 + "search": "搜索警告",
  145 + "selected-alarms": "已选择 { count, select, 1 {1 警告} other {# 警告} } ",
  146 + "no-data": "无数据显示",
  147 + "polling-interval": "警告轮询间隔(秒)",
  148 + "polling-interval-required": "警告轮询间隔必填。",
  149 + "min-polling-interval-message": "轮询间隔至少是1秒。",
  150 + "aknowledge-alarms-title": "应答 { count, select, 1 {1 警告} other {# 警告} }",
  151 + "aknowledge-alarms-text": "确定要应答 { count, select, 1 {1 警告} other {# 警告} }?",
  152 + "clear-alarms-title": "清除 { count, select, 1 {1 警告} other {# 警告} }",
  153 + "clear-alarms-text": "确定要清除 { count, select, 1 {1 警告} other {# 警告} }?"
  154 + },
  155 + "alias": {
  156 + "add": "添加别名",
  157 + "edit": "编辑别名",
  158 + "name": "别名",
  159 + "name-required": "别名必填",
  160 + "duplicate-alias": "别名已经存在。",
  161 + "filter-type-single-entity": "单个实体",
  162 + "filter-type-entity-list": "实体列表",
  163 + "filter-type-entity-name": "实体名称",
  164 + "filter-type-state-entity": "实体(仪表板状态)",
  165 + "filter-type-state-entity-description": "实体令牌(仪表板状态参数)",
  166 + "filter-type-asset-type": "资产类型",
  167 + "filter-type-asset-type-description": "类型为 '{{assetType}}' 的资产",
  168 + "filter-type-asset-type-and-name-description": "类型为 '{{assetType}}' 且以 '{{prefix}}' 开头的资产",
  169 + "filter-type-device-type": "设备类型",
  170 + "filter-type-device-type-description": "类型为 '{{deviceType}}' 的设备",
  171 + "filter-type-device-type-and-name-description": "类型为 '{{deviceType}}' 且以 '{{prefix}}' 开头的设备",
  172 + "filter-type-relations-query": "关系查询",
  173 + "filter-type-relations-query-description": "具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的 {{entities}} ",
  174 + "filter-type-asset-search-query": "资产搜索查询",
  175 + "filter-type-asset-search-query-description": "类型为 {{assetTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的资产",
  176 + "filter-type-device-search-query": "设备搜索查询",
  177 + "filter-type-device-search-query-description": "类型为 {{deviceTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的设备",
  178 + "entity-filter": "实体过滤",
  179 + "resolve-multiple": "解决为多实体",
  180 + "filter-type": "过滤类型",
  181 + "filter-type-required": "过滤类型必填。",
  182 + "entity-filter-no-entity-matched": "未找到符合指定过滤条件的实体。",
  183 + "no-entity-filter-specified": "没有指定实体过滤条件",
  184 + "root-state-entity": "使用仪表板状态实体作为根实体",
  185 + "root-entity": "根实体",
  186 + "state-entity-parameter-name": "状态实体参数名称",
  187 + "default-state-entity": "默认状态实体",
  188 + "default-entity-parameter-name": "默认",
  189 + "max-relation-level": "最大关系层级",
  190 + "unlimited-level": "不限层级",
  191 + "state-entity": "仪表板状态实体",
  192 + "all-entities": "所有实体",
  193 + "any-relation": "不限"
  194 + },
  195 + "asset": {
  196 + "asset": "资产",
  197 + "assets": "资产",
  198 + "management": "资产管理",
  199 + "view-assets": "查看资产",
  200 + "add": "添加资产",
  201 + "assign-to-customer": "分配给客户",
  202 + "assign-asset-to-customer": "将资产分配给客户",
  203 + "assign-asset-to-customer-text": "请选择要分配给客户的资产",
  204 + "no-assets-text": "未找到资产",
  205 + "assign-to-customer-text": "请选择客户以分配资产",
  206 + "public": "公开",
  207 + "assignedToCustomer": "分配客户",
  208 + "make-public": "资产设为公开",
  209 + "make-private": "资产设为私有",
  210 + "unassign-from-customer": "取消分配客户",
  211 + "delete": "删除资产",
  212 + "asset-public": "资产公开",
  213 + "asset-type": "资产类型",
  214 + "asset-type-required": "资产类型必填。",
  215 + "select-asset-type": "选择资产类型",
  216 + "enter-asset-type": "输入资产类型",
  217 + "any-asset": "Any asset",
  218 + "no-asset-types-matching": "没有找到匹配 '{{entitySubtype}}' 的资产类型。",
  219 + "asset-type-list-empty": "资产类型未选择。",
  220 + "asset-types": "资产类型",
  221 + "name": "名称",
  222 + "name-required": "名称必填。",
  223 + "description": "描述",
  224 + "type": "类型",
  225 + "type-required": "类型必填。",
  226 + "details": "详情",
  227 + "events": "事件",
  228 + "add-asset-text": "添加新资产",
  229 + "asset-details": "资产详情",
  230 + "assign-assets": "分配资产",
  231 + "assign-assets-text": "分配 { count, select, 1 {1 资产} other {# 资产} } 给客户",
  232 + "delete-assets": "删除资产",
  233 + "unassign-assets": "取消分配资产",
  234 + "unassign-assets-action-title": "从客户处取消分配 { count, select, 1 {1 资产} other {# 资产} } ",
  235 + "assign-new-asset": "分配新资产",
  236 + "delete-asset-title": "确定要删除资产 '{{assetName}}'?",
  237 + "delete-asset-text": "小心!确认后资产及其所有相关数据将不可恢复。",
  238 + "delete-assets-title": "确定要删除 { count, select, 1 {1 资产} other {# 资产} }?",
  239 + "delete-assets-action-title": "删除 { count, select, 1 {1 资产} other {# 资产} }",
  240 + "delete-assets-text": "小心!确认后,所有选定的客户将被删除,所有相关数据将不可恢复。",
  241 + "make-public-asset-title": "确定要将资产 '{{assetName}}' 设为公开?",
  242 + "make-public-asset-text": "确认后资产及所有相关数据会被设为公开并对其他人所见。",
  243 + "make-private-asset-title": "确定要将资产 '{{assetName}}' 设为私有?",
  244 + "make-private-asset-text": "确认后资产及所有相关数据会被设为私有并对其他人不可见。",
  245 + "unassign-asset-title": "确定要取消分配资产 '{{assetName}}'?",
  246 + "unassign-asset-text": "确定后资产将被取消分配并对客户不可见。",
  247 + "unassign-asset": "取消分配资产",
  248 + "unassign-assets-title": "确定要取消分配 { count, select, 1 {1 资产} other {# 资产} }?",
  249 + "unassign-assets-text": "确定后资产将被取消分配并对客户不可见。",
  250 + "copyId": "复制资产ID",
  251 + "idCopiedMessage": "资产ID已经复制到粘贴板",
  252 + "select-asset": "选择资产",
  253 + "no-assets-matching": "没有找到匹配 '{{entity}}' 的资产。",
  254 + "asset-required": "资产必填",
  255 + "name-starts-with": "资产名称以此开头"
  256 + },
  257 + "attribute": {
  258 + "attributes": "属性",
  259 + "latest-telemetry": "最新遥测",
  260 + "attributes-scope": "设备属性范围",
  261 + "scope-latest-telemetry": "最新遥测",
  262 + "scope-client": "客户端属性",
  263 + "scope-server": "服务端属性",
  264 + "scope-shared": "共享属性",
  265 + "add": "添加属性",
  266 + "key": "键",
  267 + "last-update-time": "最后更新时间",
  268 + "key-required": "属性键必填。",
  269 + "value": "值",
  270 + "value-required": "属性值必填。",
  271 + "delete-attributes-title": "您确定要删除 { count, select, 1 {1 属性} other {# 属性} }吗?",
  272 + "delete-attributes-text": "注意,确认后所有选中的属性都会被删除。",
  273 + "delete-attributes": "删除属性",
  274 + "enter-attribute-value": "输入属性值",
  275 + "show-on-widget": "在部件上显示",
  276 + "widget-mode": "部件模式",
  277 + "next-widget": "下一个部件",
  278 + "prev-widget": "上一个部件",
  279 + "add-to-dashboard": "添加到仪表板",
  280 + "add-widget-to-dashboard": "将部件添加到仪表板",
  281 + "selected-attributes": "{ count, select, 1 {1 属性} other {# 属性} } 被选中",
  282 + "selected-telemetry": "{ count, select, 1 {1 遥测} other {# 遥测} } 被选中"
  283 + },
  284 + "confirm-on-exit": {
  285 + "message": "您有未保存的更改。确定要离开此页吗?",
  286 + "html-message": "您有未保存的更改。<br/> 确定要离开此页面吗?",
  287 + "title": "未保存的更改"
  288 + },
  289 + "contact": {
  290 + "country": "国家",
  291 + "city": "城市",
  292 + "state": "州",
  293 + "postal-code": "邮政编码",
  294 + "postal-code-invalid": "只允许数字。",
  295 + "address": "地址",
  296 + "address2": "地址2",
  297 + "phone": "手机",
  298 + "email": "邮箱",
  299 + "no-address": "无地址"
  300 + },
  301 + "common": {
  302 + "username": "用户名",
  303 + "password": "密码",
  304 + "enter-username": "输入用户名",
  305 + "enter-password": "输入密码",
  306 + "enter-search": "输入检索条件"
  307 + },
  308 + "customer": {
  309 + "customer": "客户",
  310 + "customers": "客户",
  311 + "management": "客户管理",
  312 + "dashboard": "客户仪表板",
  313 + "dashboards": "客户仪表板",
  314 + "devices": "客户设备",
  315 + "assets": "客户资产",
  316 + "public-dashboards": "公共仪表板",
  317 + "public-devices": "公共设备",
  318 + "public-assets": "公共资产",
  319 + "add": "添加客户",
  320 + "delete": "删除客户",
  321 + "manage-customer-users": "管理客户用户",
  322 + "manage-customer-devices": "管理客户设备",
  323 + "manage-customer-dashboards": "管理客户仪表板",
  324 + "manage-public-devices": "管理公共设备",
  325 + "manage-public-dashboards": "管理公共仪表板",
  326 + "manage-customer-assets": "管理客户资产",
  327 + "manage-public-assets": "管理公共资产",
  328 + "add-customer-text": "添加新客户",
  329 + "no-customers-text": "没有找到客户",
  330 + "customer-details": "客户详情",
  331 + "delete-customer-title": "您确定要删除客户'{{customerTitle}}'吗?",
  332 + "delete-customer-text": "小心!确认后,客户及其所有相关数据将不可恢复。",
  333 + "delete-customers-title": "您确定要删除 { count, select, 1 {1 客户} other {# 客户} }吗?",
  334 + "delete-customers-action-title": "删除 { count, select, 1 {1 客户} other {# 客户} }",
  335 + "delete-customers-text": "小心!确认后,所有选定的客户将被删除,所有相关数据将不可恢复。",
  336 + "manage-users": "管理用户",
  337 + "manage-assets": "管理资产",
  338 + "manage-devices": "管理设备",
  339 + "manage-dashboards": "管理仪表板",
  340 + "title": "标题",
  341 + "title-required": "需要标题",
  342 + "description": "描述",
  343 + "details": "详情",
  344 + "events": "事件",
  345 + "copyId": "复制客户ID",
  346 + "idCopiedMessage": "客户ID已复制到粘贴板",
  347 + "select-customer": "选择客户",
  348 + "no-customers-matching": "没有找到匹配 '{{entity}}' 的客户。",
  349 + "customer-required": "客户是必选项"
  350 + },
  351 + "datetime": {
  352 + "date-from": "日期从",
  353 + "time-from": "时间从",
  354 + "date-to": "日期到",
  355 + "time-to": "时间到"
  356 + },
  357 + "dashboard": {
  358 + "dashboard": "仪表板",
  359 + "dashboards": "仪表板库",
  360 + "management": "仪表板管理",
  361 + "view-dashboards": "查看仪表板",
  362 + "add": "添加仪表板",
  363 + "assign-dashboard-to-customer": "将仪表板分配给客户",
  364 + "assign-dashboard-to-customer-text": "请选择要分配给客户的仪表板",
  365 + "assign-to-customer-text": "请选择客户分配仪表板",
  366 + "assign-to-customer": "分配给客户",
  367 + "unassign-from-customer": "取消分配客户",
  368 + "make-public": "仪表板设为公开",
  369 + "make-private": "仪表板设为私有",
  370 + "no-dashboards-text": "没有找到仪表板",
  371 + "no-widgets": "没有配置部件",
  372 + "add-widget": "添加新的部件",
  373 + "title": "标题",
  374 + "select-widget-title": "选择部件",
  375 + "select-widget-subtitle": "可用的部件类型列表",
  376 + "delete": "删除仪表板",
  377 + "title-required": "需要标题。",
  378 + "description": "描述",
  379 + "details": "详情",
  380 + "dashboard-details": "仪表板详情",
  381 + "add-dashboard-text": "添加新的仪表板",
  382 + "assign-dashboards": "分配仪表板",
  383 + "assign-new-dashboard": "分配新的仪表板",
  384 + "assign-dashboards-text": "分配 { count, select, 1 {1 仪表板} other {# 仪表板} } 给客户",
  385 + "delete-dashboards": "删除仪表板",
  386 + "unassign-dashboards": "取消分配仪表板",
  387 + "unassign-dashboards-action-title": "从客户处取消分配 { count, select, 1 {1 仪表板} other {# 仪表板} } ",
  388 + "delete-dashboard-title": "您确定要删除仪表板 '{{dashboardTitle}}'吗?",
  389 + "delete-dashboard-text": "小心!确认后仪表板及其所有相关数据将不可恢复。",
  390 + "delete-dashboards-title": "你确定你要删除 { count, select, 1 {1 仪表板} other {# 仪表板} }吗?",
  391 + "delete-dashboards-action-title": "删除 { count, select, 1 {1 仪表板} other {# 仪表板} }",
  392 + "delete-dashboards-text": "小心!确认后所有选定的仪表板将被删除,所有相关数据将不可恢复。",
  393 + "unassign-dashboard-title": "您确定要取消分配仪表板 '{{dashboardTitle}}'吗?",
  394 + "unassign-dashboard-text": "确认后,面板将被取消分配,客户将无法访问。",
  395 + "unassign-dashboard": "取消分配仪表板",
  396 + "unassign-dashboards-title": "您确定要取消分配仪表板 { count, select, 1 {1 仪表板} other {# 仪表板} } 吗?",
  397 + "unassign-dashboards-text": "确认后,所有选定的仪表板将被取消分配,客户将无法访问。",
  398 + "public-dashboard-title": "仪表板现已公布",
  399 + "public-dashboard-text": "你的仪表板 <b>{{dashboardTitle}}</b> 已被公开,可通过如下 <a href='{{publicLink}}' target='_blank'>链接</a>访问:",
  400 + "public-dashboard-notice": "<b>提示:</b> 不要忘记将相关设备公开以访问其数据。",
  401 + "make-private-dashboard-title": "您确定要将仪表板 '{{dashboardTitle}}' 设为私有吗?",
  402 + "make-private-dashboard-text": "确认后,仪表板将被设为私有,不能被其他人访问。",
  403 + "make-private-dashboard": "仪表板设为私有",
  404 + "socialshare-text": "'{{dashboardTitle}}' 由Thingsboard提供支持",
  405 + "socialshare-title": "'{{dashboardTitle}}' 由Thingsboard提供支持",
  406 + "select-dashboard": "选择仪表板",
  407 + "no-dashboards-matching": "找不到符合 '{{entity}}' 的仪表板。",
  408 + "dashboard-required": "仪表板必填。",
  409 + "select-existing": "选择现有仪表板",
  410 + "create-new": "创建新的仪表板",
  411 + "new-dashboard-title": "新仪表板标题",
  412 + "open-dashboard": "打开仪表板",
  413 + "set-background": "设置背景",
  414 + "background-color": "背景颜色",
  415 + "background-image": "背景图片",
  416 + "background-size-mode": "背景大小模式",
  417 + "no-image": "无图像选择",
  418 + "drop-image": "拖拽图像或单击以选择要上传的文件。",
  419 + "settings": "设置",
  420 + "columns-count": "列数",
  421 + "columns-count-required": "需要列数。",
  422 + "min-columns-count-message": "只允许最少10列",
  423 + "max-columns-count-message": "只允许最多1000列",
  424 + "widgets-margins": "部件间边距",
  425 + "horizontal-margin": "水平边距",
  426 + "horizontal-margin-required": "需要水平边距值。",
  427 + "min-horizontal-margin-message": "只允许0作为最小水平边距值。",
  428 + "max-horizontal-margin-message": "只允许50作为最大水平边距值。",
  429 + "vertical-margin": "垂直边距",
  430 + "vertical-margin-required": "需要垂直边距值。",
  431 + "min-vertical-margin-message": "只允许0作为最小垂直边距值。",
  432 + "max-vertical-margin-message": "只允许50作为最大垂直边距值。",
  433 + "autofill-height": "自动填充布局高度",
  434 + "mobile-layout": "移动端布局设置",
  435 + "mobile-row-height": "移动端行高距(px)",
  436 + "mobile-row-height-required": "移动端行高距必填。",
  437 + "min-mobile-row-height-message": "移动端行高距至少5px。",
  438 + "max-mobile-row-height-message": "移动端行高距最多200px。",
  439 + "display-title": "显示仪表板标题",
  440 + "toolbar-always-open": "工具栏常驻",
  441 + "title-color": "标题颜色",
  442 + "display-dashboards-selection": "显示仪表板选项",
  443 + "display-entities-selection": "显示实体选项",
  444 + "display-dashboard-timewindow": "显示时间窗口",
  445 + "display-dashboard-export": "显示导出",
  446 + "import": "导入仪表板",
  447 + "export": "导出仪表板",
  448 + "export-failed-error": "无法导出仪表板: {{error}}",
  449 + "create-new-dashboard": "创建新的仪表板",
  450 + "dashboard-file": "仪表板文件",
  451 + "invalid-dashboard-file-error": "无法导入仪表板: 仪表板数据结构无效。",
  452 + "dashboard-import-missing-aliases-title": "配置导入仪表板使用的别名",
  453 + "create-new-widget": "创建新部件",
  454 + "import-widget": "导入部件",
  455 + "widget-file": "部件文件",
  456 + "invalid-widget-file-error": "无法导入窗口部件: 窗口部件数据结构无效。",
  457 + "widget-import-missing-aliases-title": "配置导入的窗口部件使用的别名",
  458 + "open-toolbar": "打开仪表板工具栏",
  459 + "close-toolbar": "关闭工具栏",
  460 + "configuration-error": "配置错误",
  461 + "alias-resolution-error-title": "仪表板别名配置错误",
  462 + "invalid-aliases-config": "无法找到与某些别名过滤器匹配的任何设备。<br/>请联系您的管理员以解决此问题。",
  463 + "select-devices": "选择设备",
  464 + "assignedToCustomer": "分配给客户",
  465 + "public": "公共",
  466 + "public-link": "公共链接",
  467 + "copy-public-link": "复制公共链接",
  468 + "public-link-copied-message": "仪表板的公共链接已被复制到剪贴板",
  469 + "manage-states": "仪表板状态管理",
  470 + "states": "仪表板状态",
  471 + "search-states": "仪表板状态检索",
  472 + "selected-states": "{ count, select, 1 {1 仪表板状态} other {# 仪表板状态} } 选中",
  473 + "edit-state": "仪表板状态编辑",
  474 + "delete-state": "删除仪表板状态",
  475 + "add-state": "添加仪表板状态",
  476 + "state": "仪表板状态",
  477 + "state-name": "状态名",
  478 + "state-name-required": "仪表板状态名必填。",
  479 + "state-id": "状态ID",
  480 + "state-id-required": "仪表板状态ID必填。",
  481 + "state-id-exists": "仪表板状态ID已经存在。",
  482 + "is-root-state": "根状态",
  483 + "delete-state-title": "删除仪表板状态",
  484 + "delete-state-text": "确定要删除仪表板状态 '{{stateName}}' 吗?",
  485 + "show-details": "显示详情",
  486 + "hide-details": "隐藏详情",
  487 + "select-state": "选择目标状态",
  488 + "state-controller": "状态控制"
  489 + },
  490 + "datakey": {
295 491 "settings": "设置",
296 492 "advanced": "高级",
297 493 "label": "标签",
298 494 "color": "颜色",
  495 + "units": "单位符号",
  496 + "decimals": "小数位数",
299 497 "data-generation-func": "数据生成功能",
300 498 "use-data-post-processing-func": "使用数据后处理功能",
301 499 "configuration": "数据键配置",
302 500 "timeseries": "时间序列",
303 501 "attributes": "属性",
  502 + "alarm": "Alarm fields",
304 503 "timeseries-required": "需要设备时间序列。",
305   - "timeseries-or-attributes-required": "设备时间/属性是必需的。",
  504 + "timeseries-or-attributes-required": "设备时间/属性必填。",
  505 + "maximum-timeseries-or-attributes": "最大允许 { count, select, 1 {1 时间序列/属性} other {# 时间序列/属性} }",
  506 + "alarm-fields-required": "警告字段必填。",
306 507 "function-types": "函数类型",
307   - "function-types-required": "需要函数类型。"
  508 + "function-types-required": "需要函数类型。",
  509 + "maximum-function-types": "至少需要 { count, select, 1 {1 函数类型} other {# 函数类型} }"
308 510 },
309   - "datasource" : {
  511 + "datasource": {
310 512 "type": "数据源类型",
  513 + "name": "数据源名称",
311 514 "add-datasource-prompt": "请添加数据源"
312 515 },
313   - "details" : {
  516 + "details": {
314 517 "edit-mode": "编辑模式",
315 518 "toggle-edit-mode": "切换编辑模式"
316 519 },
317   - "device" : {
  520 + "device": {
318 521 "device": "设备",
319   - "device-required": "设备是必需的",
  522 + "device-required": "设备必填",
320 523 "devices": "设备",
321 524 "management": "设备管理",
322 525 "view-devices": "查看设备",
323 526 "device-alias": "设备别名",
324 527 "aliases": "设备别名",
325   - "no-alias-matching" : "'{{alias}}' 没有找到。",
326   - "no-aliases-found" : "找不到别名。",
327   - "no-key-matching" : "'{{key}}' 没有找到。",
328   - "no-keys-found" : "找不到密钥。",
  528 + "no-alias-matching": "'{{alias}}' 没有找到。",
  529 + "no-aliases-found": "找不到别名。",
  530 + "no-key-matching": "'{{key}}' 没有找到。",
  531 + "no-keys-found": "找不到密钥。",
329 532 "create-new-alias": "创建一个新的!",
330 533 "create-new-key": "创建一个新的!",
331   - "duplicate-alias-error" : "找到重复别名 '{{alias}}'。 <br> 设备别名必须是唯一的。",
332   - "configure-alias" : "配置 '{{alias}}' 别名",
333   - "no-devices-matching" : "找不到与 '{{entity}}' 匹配的设备。",
334   - "alias" : "别名",
335   - "alias-required" : "需要设备别名。",
  534 + "duplicate-alias-error": "找到重复别名 '{{alias}}'。 <br> 设备别名必须是唯一的。",
  535 + "configure-alias": "配置 '{{alias}}' 别名",
  536 + "no-devices-matching": "找不到与 '{{entity}}' 匹配的设备。",
  537 + "alias": "别名",
  538 + "alias-required": "需要设备别名。",
336 539 "remove-alias": "删除设备别名",
337 540 "add-alias": "添加设备别名",
338   - "name-starts-with" : "名称前缀",
339   - "device-list" : "设备列表",
340   - "use-device-name-filter" : "使用过滤器",
341   - "device-list-empty" : "没有被选中的设备",
342   - "device-name-filter-required" : "设备名称过滤器是必需得。",
343   - "device-name-filter-no-device-matched" : "找不到以'{{device}}' 开头的设备。",
344   - "add" : "添加设备",
  541 + "name-starts-with": "名称前缀",
  542 + "device-list": "设备列表",
  543 + "use-device-name-filter": "使用过滤器",
  544 + "device-list-empty": "没有被选中的设备",
  545 + "device-name-filter-required": "设备名称过滤器必填。",
  546 + "device-name-filter-no-device-matched": "找不到以'{{device}}' 开头的设备。",
  547 + "add": "添加设备",
345 548 "assign-to-customer": "分配给客户",
346 549 "assign-device-to-customer": "将设备分配给客户",
347 550 "assign-device-to-customer-text": "请选择要分配给客户的设备",
348   - "make-public" : "公有",
349   - "make-private" : "私有",
  551 + "make-public": "公开",
  552 + "make-private": "私有",
350 553 "no-devices-text": "找不到设备",
351 554 "assign-to-customer-text": "请选择客户分配设备",
352 555 "device-details": "设备详细信息",
... ... @@ -355,26 +558,26 @@ export default function addLocaleChinese(locales) {
355 558 "manage-credentials": "管理凭据",
356 559 "delete": "删除设备",
357 560 "assign-devices": "分配设备",
358   - "assign-devices-text": "将{count,select,1 {1 device} other {# devices}}分配给客户",
  561 + "assign-devices-text": "将{count,select,1 {1 设备} other {# 设备}}分配给客户",
359 562 "delete-devices": "删除设备",
360 563 "unassign-from-customer": "取消分配客户",
361 564 "unassign-devices": "取消分配设备",
362   - "unassign-devices-action-title": "从客户处取消分配{count,select,1 {1 device} other {# devices}}",
  565 + "unassign-devices-action-title": "从客户处取消分配{count,select,1 {1 设备} other {# 设备}}",
363 566 "assign-new-device": "分配新设备",
364   - "make-public-device-title" : "您确定要将设备 '{{deviceName}}' 设为公开吗?",
365   - "make-public-device-text" : "确认后,设备及其所有数据将被公开并可被其他人访问。",
366   - "make-private-device-title" : "您确定要将设备 '{{deviceName}}' 设为私有吗?",
367   - "make-private-device-text" : "确认后,设备及其所有数据将被私有化,不被其他人访问。",
  567 + "make-public-device-title": "您确定要将设备 '{{deviceName}}' 设为公开吗?",
  568 + "make-public-device-text": "确认后,设备及其所有数据将被设为公开并可被其他人访问。",
  569 + "make-private-device-title": "您确定要将设备 '{{deviceName}}' 设为私有吗?",
  570 + "make-private-device-text": "确认后,设备及其所有数据将被设为私有,不被其他人访问。",
368 571 "view-credentials": "查看凭据",
369 572 "delete-device-title": "您确定要删除设备的{{deviceName}}吗?",
370 573 "delete-device-text": "小心!确认后设备及其所有相关数据将不可恢复。",
371   - "delete-devices-title": "您确定要删除{count,select,1 {1 device} other {# devices}} 吗?",
372   - "delete-devices-action-title": "删除 {count,select,1 {1 device} other {# devices}}",
  574 + "delete-devices-title": "您确定要删除{count,select,1 {1 设备} other {# 设备}} 吗?",
  575 + "delete-devices-action-title": "删除 {count,select,1 {1 设备} other {# 设备}}",
373 576 "delete-devices-text": "小心!确认后所有选定的设备将被删除,所有相关数据将不可恢复。",
374 577 "unassign-device-title": "您确定要取消分配设备 '{{deviceName}}'?",
375 578 "unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。",
376 579 "unassign-device": "取消分配设备",
377   - "unassign-devices-title": "您确定要取消分配{count,select,1 {1 device} other {# devices}} 吗?",
  580 + "unassign-devices-title": "您确定要取消分配{count,select,1 {1 设备} other {# 设备}} 吗?",
378 581 "unassign-devices-text": "确认后,所有选定的设备将被取消分配,并且客户将无法访问。",
379 582 "device-credentials": "设备凭据",
380 583 "credentials-type": "凭据类型",
... ... @@ -384,9 +587,17 @@ export default function addLocaleChinese(locales) {
384 587 "rsa-key": "RSA公钥",
385 588 "rsa-key-required": "需要RSA公钥",
386 589 "secret": "密钥",
387   - "secret-required": "密钥是必需的",
  590 + "secret-required": "密钥必填",
  591 + "device-type": "设备类型",
  592 + "device-type-required": "设备类型必填。",
  593 + "select-device-type": "选择设备类型",
  594 + "enter-device-type": "输入设备类型",
  595 + "any-device": "任意设备",
  596 + "no-device-types-matching": "没有找到符合 '{{entitySubtype}}' 的设备类型。",
  597 + "device-type-list-empty": "未选择设备类型",
  598 + "device-types": "设备类型",
388 599 "name": "名称",
389   - "name-required": "名称是必需的。",
  600 + "name-required": "名称必填。",
390 601 "description": "说明",
391 602 "events": "事件",
392 603 "details": "详细信息",
... ... @@ -398,18 +609,102 @@ export default function addLocaleChinese(locales) {
398 609 "unable-delete-device-alias-title": "无法删除设备别名",
399 610 "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用: <br/> {{widgetsList}}",
400 611 "is-gateway": "是网关",
401   - "public" : "公共",
402   - "device-public" : "设备是公共的"
  612 + "public": "公开",
  613 + "device-public": "设备公开",
  614 + "select-device": "选择设备"
403 615 },
404   - "dialog" : {
405   - "close" : "关闭对话框"
  616 + "dialog": {
  617 + "close": "关闭对话框"
406 618 },
407   - "error" : {
  619 + "error": {
408 620 "unable-to-connect": "无法连接到服务器!请检查您的互联网连接。",
409 621 "unhandled-error-code": "未处理的错误代码: {{errorCode}}",
410 622 "unknown-error": "未知错误"
411 623 },
412   - "event" : {
  624 + "entity": {
  625 + "entity": "实体",
  626 + "entities": "实体",
  627 + "aliases": "实体别名",
  628 + "entity-alias": "实体别名",
  629 + "unable-delete-entity-alias-title": "无法删除实体别名",
  630 + "unable-delete-entity-alias-text": "实体别名 '{{entityAlias}}' 被以下部件使用不能删除:<br/>{{widgetsList}}",
  631 + "duplicate-alias-error": "别名 '{{alias}}' 重复。<br>同一仪表板别名必须唯一。",
  632 + "missing-entity-filter-error": "别名 '{{alias}}' 缺少过滤器",
  633 + "configure-alias": "别名 '{{alias}}' 配置",
  634 + "alias": "别名",
  635 + "alias-required": "实体别名必填。",
  636 + "remove-alias": "移除实体别名",
  637 + "add-alias": "添加实体别名",
  638 + "entity-list": "实体列表",
  639 + "entity-type": "实体类型",
  640 + "entity-types": "实体类型",
  641 + "entity-type-list": "实体类型列表",
  642 + "any-entity": "任意实体",
  643 + "enter-entity-type": "输入实体类型",
  644 + "no-entities-matching": "没有找到符合 '{{entity}}' 的实体。",
  645 + "no-entity-types-matching": "没有找到符合 '{{entityType}}' 类型的实体。",
  646 + "name-starts-with": "名称开始于",
  647 + "use-entity-name-filter": "用户过滤",
  648 + "entity-list-empty": "没有选择实体。",
  649 + "entity-type-list-empty": "没有选择实体类型。",
  650 + "entity-name-filter-required": "实体名过滤器必填。",
  651 + "entity-name-filter-no-entity-matched": "没有找到以 '{{entity}}' 开头的实体",
  652 + "all-subtypes": "所有",
  653 + "select-entities": "选择实体",
  654 + "no-aliases-found": "没有找到别名",
  655 + "no-alias-matching": "没有找到 '{{alias}}'",
  656 + "create-new-alias": "创建新别名",
  657 + "key": "键",
  658 + "key-name": "键名",
  659 + "no-keys-found": "没有找到键",
  660 + "no-key-matching": "没有找到键 '{{key}}'",
  661 + "create-new-key": "创建新键",
  662 + "type": "类型",
  663 + "type-required": "实体类型必填。",
  664 + "type-device": "设备",
  665 + "type-devices": "设备",
  666 + "list-of-devices": "{ count, select, 1 {设备} other {# 设备列表} }",
  667 + "device-name-starts-with": "以 '{{prefix}}' 开头的设备",
  668 + "type-asset": "资产",
  669 + "type-assets": "资产",
  670 + "list-of-assets": "{ count, select, 1 {资产} other {# 资产列表} }",
  671 + "asset-name-starts-with": "以 '{{prefix}}' 开头的资产",
  672 + "type-rule": "规则",
  673 + "type-rules": "规则",
  674 + "list-of-rules": "{ count, select, 1 {规则} other {# 规则列表} }",
  675 + "rule-name-starts-with": "以 '{{prefix}}' 开头的规则",
  676 + "type-plugin": "插件",
  677 + "type-plugins": "插件",
  678 + "list-of-plugins": "{ count, select, 1 {插件} other {# 插件列表} }",
  679 + "plugin-name-starts-with": "以 '{{prefix}}' 开头的插件",
  680 + "type-tenant": "租户",
  681 + "type-tenants": "租户",
  682 + "list-of-tenants": "{ count, select, 1 {租户} other {# 租户列表} }",
  683 + "tenant-name-starts-with": "以 '{{prefix}}' 开头的租户",
  684 + "type-customer": "客户",
  685 + "type-customers": "客户",
  686 + "list-of-customers": "{ count, select, 1 {客户} other {# 客户列表} }",
  687 + "customer-name-starts-with": "以 '{{prefix}}' 开头的客户",
  688 + "type-user": "用户",
  689 + "type-users": "用户",
  690 + "list-of-users": "{ count, select, 1 {用户} other {# 用户列表} }",
  691 + "user-name-starts-with": "以 '{{prefix}}' 开头的用户",
  692 + "type-dashboard": "仪表板",
  693 + "type-dashboards": "仪表板",
  694 + "list-of-dashboards": "{ count, select, 1 {仪表板} other {# 仪表板列表} }",
  695 + "dashboard-name-starts-with": "以 '{{prefix}}' 开头的仪表板",
  696 + "type-alarm": "警告",
  697 + "type-alarms": "警告",
  698 + "list-of-alarms": "{ count, select, 1 {警告} other {# 警告列表} }",
  699 + "alarm-name-starts-with": "以 '{{prefix}}' 开头的警告",
  700 + "search": "实体检索",
  701 + "selected-entities": "{ count, select, 1 {1 实体} other {# 实体} } 被选中",
  702 + "entity-name": "实体名",
  703 + "details": "实体详情",
  704 + "no-entities-prompt": "没有找到实体",
  705 + "no-data": "无数据"
  706 + },
  707 + "event": {
413 708 "event-type": "事件类型",
414 709 "type-error": "错误",
415 710 "type-lc-event": "生命周期事件",
... ... @@ -428,20 +723,20 @@ export default function addLocaleChinese(locales) {
428 723 "messages-processed": "消息处理",
429 724 "errors-occurred": "错误发生"
430 725 },
431   - "fullscreen" : {
  726 + "fullscreen": {
432 727 "expand": "展开到全屏",
433 728 "exit": "退出全屏",
434 729 "toggle": "切换全屏模式",
435 730 "fullscreen": "全屏"
436 731 },
437   - "function" : {
438   - "function" : "函数"
  732 + "function": {
  733 + "function": "函数"
439 734 },
440   - "grid" : {
  735 + "grid": {
441 736 "delete-item-title": "您确定要删除此项吗?",
442 737 "delete-item-text": "注意,确认后此项及其所有相关数据将变得不可恢复。",
443   - "delete-items-title" : "你确定你要删除 { count, select, 1 {1 item} other {# items} }吗?",
444   - "delete-items-action-title" : "删除 { count, select, 1 {1 item} other {# items} }",
  738 + "delete-items-title": "你确定你要删除 { count, select, 1 {1 项} other {# 项} }吗?",
  739 + "delete-items-action-title": "删除 { count, select, 1 {1 项} other {# 项} }",
445 740 "delete-items-text": "注意,确认后所有选择的项目将被删除,所有相关数据将不可恢复。",
446 741 "add-item-text": "添加新项目",
447 742 "no-items-text": "没有找到项目",
... ... @@ -450,10 +745,10 @@ export default function addLocaleChinese(locales) {
450 745 "delete-items": "删除项目",
451 746 "scroll-to-top": "滚动到顶部"
452 747 },
453   - "help" : {
454   - "goto-help-page" : "转到帮助页面"
  748 + "help": {
  749 + "goto-help-page": "转到帮助页面"
455 750 },
456   - "home" : {
  751 + "home": {
457 752 "home": "首页",
458 753 "profile": "属性",
459 754 "logout": "注销",
... ... @@ -461,30 +756,39 @@ export default function addLocaleChinese(locales) {
461 756 "avatar": "头像",
462 757 "open-user-menu": "打开用户菜单"
463 758 },
464   - "import" : {
465   - "no-file" : "没有选择文件",
466   - "drop-file" : "拖动一个JSON文件或者单击以选择要上传的文件。"
  759 + "import": {
  760 + "no-file": "没有选择文件",
  761 + "drop-file": "拖动一个JSON文件或者单击以选择要上传的文件。"
467 762 },
468   - "item" : {
469   - "selected" : "选择"
  763 + "item": {
  764 + "selected": "选择"
470 765 },
471   - "js-func" : {
  766 + "js-func": {
472 767 "no-return-error": "函数必须返回值!",
473 768 "return-type-mismatch": "函数必须返回 '{{type}}' 类型的值!"
474 769 },
475   - "legend" : {
476   - "position" : "图例位置",
477   - "show-max" : "显示最大值",
478   - "show-min" : "显示最小值",
479   - "show-avg" : "显示平均值",
480   - "show-total" : "显示总数",
481   - "settings" : "图例设置",
482   - "min" : "最小值",
483   - "max" : "最大值",
484   - "avg" : "平均值",
485   - "total" : "总数"
486   - },
487   - "login" : {
  770 + "layout": {
  771 + "layout": "布局",
  772 + "manage": "布局管理",
  773 + "settings": "布局设置",
  774 + "color": "颜色",
  775 + "main": "主体",
  776 + "right": "右侧",
  777 + "select": "选择目标布局"
  778 + },
  779 + "legend": {
  780 + "position": "图例位置",
  781 + "show-max": "显示最大值",
  782 + "show-min": "显示最小值",
  783 + "show-avg": "显示平均值",
  784 + "show-total": "显示总数",
  785 + "settings": "图例设置",
  786 + "min": "最小值",
  787 + "max": "最大值",
  788 + "avg": "平均值",
  789 + "total": "总数"
  790 + },
  791 + "login": {
488 792 "login": "登录",
489 793 "request-password-reset": "请求密码重置",
490 794 "reset-password": "重置密码",
... ... @@ -501,319 +805,428 @@ export default function addLocaleChinese(locales) {
501 805 "password-link-sent-message": "密码重置链接已成功发送!",
502 806 "email": "电子邮件"
503 807 },
504   - "plugin" : {
505   - "plugins" : "插件",
506   - "delete" : "删除插件",
507   - "activate" : "激活插件",
508   - "suspend" : "暂停插件",
509   - "active" : "激活",
510   - "suspended" : "暂停",
511   - "name" : "名称",
512   - "name-required" : "名称是必填项。",
513   - "description" : "描述",
514   - "add" : "添加插件",
515   - "delete-plugin-title" : "你确定要删除插件 '{{pluginName}}' 吗?",
516   - "delete-plugin-text" : "小心!确认后,插件和所有相关数据将不可恢复。",
517   - "delete-plugins-title" : "你确定你要删除 { count, select, 1 {1 plugin} other {# plugins} } 吗?",
518   - "delete-plugins-action-title" : "删除 { count, select, 1 {1 plugin} other {# plugins} }",
519   - "delete-plugins-text" : "小心!确认后,所有选定的插件将被删除,所有相关数据将不可恢复。",
520   - "add-plugin-text" : "添加新的插件",
521   - "no-plugins-text" : "没有找到插件",
522   - "plugin-details" : "插件详细信息",
523   - "api-token" : "API令牌",
524   - "api-token-required" : "API令牌是必需的。",
525   - "type" : "插件类型",
526   - "type-required" : "插件类型是必需的。",
527   - "configuration" : "插件配置",
528   - "system" : "系统",
529   - "select-plugin" : "选择插件",
530   - "plugin" : "插件",
531   - "no-plugins-matching" : "没有找到匹配'{{entity}}'的插件。",
532   - "plugin-required" : "插件是必需的。",
533   - "plugin-require-match" : "请选择一个现有的插件。",
534   - "events" : "事件",
535   - "details" : "详情",
536   - "import" : "导入插件",
537   - "export" : "导出插件",
538   - "export-failed-error" : "无法导出插件:{{error}}",
539   - "create-new-plugin" : "创建新的插件",
540   - "plugin-file" : "插件文件",
541   - "invalid-plugin-file-error" : "无法导入插件:插件数据结构无效。"
542   - },
543   - "position" : {
544   - "top" : "顶部",
545   - "bottom" : "底部",
546   - "left" : "左侧",
547   - "right" : "右侧"
548   - },
549   - "profile" : {
  808 + "plugin": {
  809 + "plugins": "插件",
  810 + "delete": "删除插件",
  811 + "activate": "激活插件",
  812 + "suspend": "暂停插件",
  813 + "active": "激活",
  814 + "suspended": "暂停",
  815 + "name": "名称",
  816 + "name-required": "名称必填。",
  817 + "description": "描述",
  818 + "add": "添加插件",
  819 + "delete-plugin-title": "你确定要删除插件 '{{pluginName}}' 吗?",
  820 + "delete-plugin-text": "小心!确认后,插件和所有相关数据将不可恢复。",
  821 + "delete-plugins-title": "你确定你要删除 { count, select, 1 {1 插件} other {# 插件} } 吗?",
  822 + "delete-plugins-action-title": "删除 { count, select, 1 {1 插件} other {# 插件} }",
  823 + "delete-plugins-text": "小心!确认后,所有选定的插件将被删除,所有相关数据将不可恢复。",
  824 + "add-plugin-text": "添加新的插件",
  825 + "no-plugins-text": "没有找到插件",
  826 + "plugin-details": "插件详细信息",
  827 + "api-token": "API令牌",
  828 + "api-token-required": "API令牌必填。",
  829 + "type": "插件类型",
  830 + "type-required": "插件类型必填。",
  831 + "configuration": "插件配置",
  832 + "system": "系统",
  833 + "select-plugin": "选择插件",
  834 + "plugin": "插件",
  835 + "no-plugins-matching": "没有找到匹配'{{entity}}'的插件。",
  836 + "plugin-required": "插件必填。",
  837 + "plugin-require-match": "请选择一个现有的插件。",
  838 + "events": "事件",
  839 + "details": "详情",
  840 + "import": "导入插件",
  841 + "export": "导出插件",
  842 + "export-failed-error": "无法导出插件:{{error}}",
  843 + "create-new-plugin": "创建新的插件",
  844 + "plugin-file": "插件文件",
  845 + "invalid-plugin-file-error": "无法导入插件:插件数据结构无效。",
  846 + "copyId": "复制插件ID",
  847 + "idCopiedMessage": "插件ID已经复制到粘贴板"
  848 + },
  849 + "position": {
  850 + "top": "顶部",
  851 + "bottom": "底部",
  852 + "left": "左侧",
  853 + "right": "右侧"
  854 + },
  855 + "profile": {
550 856 "profile": "属性",
551 857 "change-password": "更改密码",
552 858 "current-password": "当前密码"
553 859 },
554   - "rule" : {
555   - "rules" : "规则",
556   - "delete" : "删除规则",
557   - "activate" : "激活规则",
558   - "suspend" : "暂停规则",
559   - "active" : "激活",
560   - "suspended" : "暂停",
561   - "name" : "名称",
562   - "name-required" : "名称是必填项。",
563   - "description" : "描述",
564   - "add" : "添加规则",
565   - "delete-rule-title" : "您确定要删除规则'{{ruleName}}'吗?",
566   - "delete-rule-text" : "小心!确认后,规则和所有相关数据将不可恢复。",
567   - "delete-rules-title" : "你确定要删除 {count, select, 1 {1 rule} other {# rules}} 吗?",
568   - "delete-rules-action-title" : "删除 { count, select, 1 {1 rule} other {# rules} }",
569   - "delete-rules-text" : "小心!确认后,所有选定的规则将被删除,所有相关数据将不可恢复。",
570   - "add-rule-text" : "添加新规则",
571   - "no-rules-text" : "没有找到规则",
572   - "rule-details" : "规则详情",
573   - "filters" : "过滤器",
574   - "filter" : "过滤器",
575   - "add-filter-prompt" : "请添加过滤器",
576   - "remove-filter" : "删除过滤器",
577   - "add-filter" : "添加过滤器",
578   - "filter-name" : "过滤器名称",
579   - "filter-type" : "过滤器类型",
580   - "edit-filter" : "编辑过滤器",
581   - "view-filter" : "查看过滤器",
582   - "component-name" : "名称",
583   - "component-name-required" : "名称是必填项。",
584   - "component-type" : "类型",
585   - "component-type-required" : "类型是必填项。",
586   - "processor" : "处理器",
587   - "no-processor-configured" : "未配置处理器",
588   - "create-processor" : "创建处理器",
589   - "processor-name" : "处理器名称",
590   - "processor-type" : "处理器类型",
591   - "plugin-action" : "插件动作",
592   - "action-name" : "动作名称",
593   - "action-type" : "动作类型",
594   - "create-action-prompt" : "请创建动作",
595   - "create-action" : "创建动作",
596   - "details" : "详情",
597   - "events" : "事件",
598   - "system" : "系统",
599   - "import" : "导入规则",
600   - "export" : "导出规则",
601   - "export-failed-error" : "无法导出规则:{{error}}",
602   - "create-new-rule" : "创建新规则",
603   - "rule-file" : "规则文件",
604   - "invalid-rule-file-error" : "无法导入规则:规则数据结构无效。"
605   - },
606   - "rule-plugin" : {
607   - "management" : "规则和插件管理"
608   - },
609   - "tenant" : {
610   - "tenants" : "租户",
611   - "management" : "租户管理",
612   - "add" : "添加租户",
613   - "admins" : "管理员",
614   - "manage-tenant-admins" : "管理租户管理员",
615   - "delete" : "删除租户",
616   - "add-tenant-text" : "添加新租户",
617   - "no-tenants-text" : "没有找到租户",
618   - "tenant-details" : "租客详情",
619   - "delete-tenant-title" : "您确定要删除租户'{{tenantTitle}}'吗?",
620   - "delete-tenant-text" : "小心!确认后,租户和所有相关数据将不可恢复。",
621   - "delete-tenants-title" : "您确定要删除 {count,select,1 {1 tenant} other {# tenants}} 吗?",
622   - "delete-tenants-action-title" : "删除 { count, select, 1 {1 tenant} other {# tenants} }",
623   - "delete-tenants-text" : "小心!确认后,所有选定的租户将被删除,所有相关数据将不可恢复。",
624   - "title" : "标题",
625   - "title-required" : "标题是必填项。",
626   - "description" : "描述"
627   - },
628   - "timeinterval" : {
629   - "seconds-interval" : "{ seconds, select, 1 {1 second} other {# seconds} }",
630   - "minutes-interval" : "{ minutes, select, 1 {1 minute} other {# minutes} }",
631   - "hours-interval" : "{ hours, select, 1 {1 hour} other {# hours} }",
632   - "days-interval" : "{ days, select, 1 {1 day} other {# days} }",
633   - "days" : "天",
634   - "hours" : "时",
635   - "minutes" : "分",
636   - "seconds" : "秒",
637   - "advanced" : "高级"
638   - },
639   - "timewindow" : {
640   - "days" : "{ days, select, 1 { day } other {# days } }",
641   - "hours" : "{ hours, select, 0 { hour } 1 {1 hour } other {# hours } }",
642   - "minutes" : "{ minutes, select, 0 { minute } 1 {1 minute } other {# minutes } }",
643   - "seconds" : "{ seconds, select, 0 { second } 1 {1 second } other {# seconds } }",
644   - "realtime" : "实时",
645   - "history" : "历史",
646   - "last-prefix" : "最后",
647   - "period" : "从 {{ startTime }} 到 {{ endTime }}",
648   - "edit" : "编辑时间窗口",
649   - "date-range" : "日期范围",
650   - "last" : "最后",
651   - "time-period" : "时间段"
652   - },
653   - "user" : {
654   - "users" : "用户",
655   - "customer-users" : "客户用户",
656   - "tenant-admins" : "租户管理员",
657   - "sys-admin" : "系统管理员",
658   - "tenant-admin" : "租户管理员",
659   - "customer" : "客户",
660   - "anonymous" : "匿名",
661   - "add" : "添加用户",
662   - "delete" : "删除用户",
663   - "add-user-text" : "添加新用户",
664   - "no-users-text" : "找不到用户",
665   - "user-details" : "用户详细信息",
666   - "delete-user-title" : "您确定要删除用户 '{{userEmail}}' 吗?",
667   - "delete-user-text" : "小心!确认后,用户和所有相关数据将不可恢复。",
668   - "delete-users-title" : "你确定你要删除 { count, select, 1 {1 user} other {# users} } 吗?",
669   - "delete-users-action-title" : "删除 { count, select, 1 {1 user} other {# users} }",
670   - "delete-users-text" : "小心!确认后,所有选定的用户将被删除,所有相关数据将不可恢复。",
671   - "activation-email-sent-message" : "激活电子邮件已成功发送!",
672   - "resend-activation" : "重新发送激活",
673   - "email" : "电子邮件",
674   - "email-required" : "电子邮件是必需的。",
675   - "first-name" : "名字",
676   - "last-name" : "姓",
677   - "description" : "描述",
678   - "default-dashboard" : "默认面板",
679   - "always-fullscreen" : "始终全屏"
680   - },
681   - "value" : {
682   - "type" : "值类型",
683   - "string" : "字符串",
684   - "string-value" : "字符串值",
685   - "integer" : "数字",
686   - "integer-value" : "数字值",
687   - "invalid-integer-value" : "整数值无效",
688   - "double" : "双精度小数",
689   - "double-value" : "双精度小数值",
690   - "boolean" : "布尔",
691   - "boolean-value" : "布尔值",
692   - "false" : "假",
693   - "true" : "真"
694   - },
695   - "widget" : {
696   - "widget-library" : "部件库",
697   - "widget-bundle" : "部件包",
698   - "select-widgets-bundle" : "选择部件包",
699   - "management" : "部件管理",
700   - "editor" : "部件编辑器",
701   - "widget-type-not-found" : "加载部件配置时出现问题。<br> 可能关联的\n 部件类型已删除。",
702   - "widget-type-load-error" : "由于以下错误,部件未加载:",
703   - "remove" : "删除部件",
704   - "edit" : "编辑部件",
705   - "remove-widget-title" : "您确定要删除部件 '{{widgetTitle}}' 吗?",
706   - "remove-widget-text" : "确认后,窗口部件和所有相关数据将不可恢复。",
707   - "timeseries" : "时间序列",
708   - "latest-values" : "最新值",
709   - "rpc" : "控件部件",
710   - "static" : "静态部件",
711   - "select-widget-type" : "选择窗口部件类型",
712   - "missing-widget-title-error" : "部件标题必须指定!",
713   - "widget-saved" : "部件已保存",
714   - "unable-to-save-widget-error" : "无法保存窗口部件! 部件有错误!",
715   - "save" : "保存部件",
716   - "saveAs" : "将部件另存为",
717   - "save-widget-type-as" : "将部件类型另存为",
718   - "save-widget-type-as-text" : "请输入新的部件标题和/或选择目标部件包",
719   - "toggle-fullscreen" : "切换全屏",
720   - "run" : "运行部件",
721   - "title" : "部件标题",
722   - "title-required" : "需要部件标题。",
723   - "type" : "部件类型",
724   - "resources" : "资源",
725   - "resource-url" : "JavaScript/CSS URL",
726   - "remove-resource" : "删除资源",
727   - "add-resource" : "添加资源",
728   - "html" : "HTML",
729   - "tidy" : "整理",
730   - "css" : "CSS",
731   - "settings-schema" : "设置模式",
732   - "datakey-settings-schema" : "数据键设置模式",
733   - "javascript" : "Javascript",
734   - "remove-widget-type-title" : "您确定要删除部件类型 '{{widgetName}}'吗?",
735   - "remove-widget-type-text" : "确认后,窗口部件类型和所有相关数据将不可恢复。",
736   - "remove-widget-type" : "删除部件类型",
737   - "add-widget-type" : "添加新的部件类型",
738   - "widget-type-load-failed-error" : "无法加载部件类型!",
739   - "widget-template-load-failed-error" : "无法加载部件模板!",
740   - "add" : "添加部件",
741   - "undo" : "撤消部件更改",
742   - "export" : "导出部件"
743   - },
744   - "widgets-bundle" : {
745   - "current" : "当前包",
746   - "widgets-bundles" : "部件包",
747   - "add" : "添加部件包",
748   - "delete" : "删除部件包",
749   - "title" : "标题",
750   - "title-required" : "标题是必填项。",
751   - "add-widgets-bundle-text" : "添加新的部件包",
752   - "no-widgets-bundles-text" : "找不到部件包",
753   - "empty" : "部件包是空的",
754   - "details" : "详情",
755   - "widgets-bundle-details" : "部件包详细信息",
756   - "delete-widgets-bundle-title" : "您确定要删除部件包 '{{widgetsBundleTitle}}'吗?",
757   - "delete-widgets-bundle-text" : "小心!确认后,部件包和所有相关数据将不可恢复。",
758   - "delete-widgets-bundles-title" : "你确定你要删除 { count, select, 1 {1 widgets bundle} other {# widgets bundles} } 吗?",
759   - "delete-widgets-bundles-action-title" : "删除 { count, select, 1 {1 widgets bundle} other {# widgets bundles} }",
760   - "delete-widgets-bundles-text" : "小心!确认后,所有选定的部件包将被删除,所有相关数据将不可恢复。",
761   - "no-widgets-bundles-matching" : "没有找到与 '{{widgetsBundle}}' 匹配的部件包。",
762   - "widgets-bundle-required" : "需要部件包。",
763   - "system" : "系统",
764   - "import" : "导入部件包",
765   - "export" : "导出部件包",
766   - "export-failed-error" : "无法导出部件包: {{error}}",
767   - "create-new-widgets-bundle" : "创建新的部件包",
768   - "widgets-bundle-file" : "部件包文件",
769   - "invalid-widgets-bundle-file-error" : "无法导入部件包:无效的部件包数据结构。"
770   - },
771   - "widget-config" : {
772   - "data" : "数据",
773   - "settings" : "设置",
774   - "advanced" : "高级",
775   - "title" : "标题",
776   - "general-settings" : "常规设置",
777   - "display-title" : "显示标题",
778   - "drop-shadow" : "阴影",
779   - "enable-fullscreen" : "启用全屏",
780   - "background-color" : "背景颜色",
781   - "text-color" : "文字颜色",
782   - "padding" : "填充",
783   - "title-style" : "标题风格",
784   - "mobile-mode-settings" : "移动模式设置",
785   - "order" : "顺序",
786   - "height" : "高度",
787   - "units" : "特殊符号展示值",
788   - "decimals" : "浮点数后的位数",
789   - "timewindow" : "时间窗口",
790   - "use-dashboard-timewindow" : "使用仪表板的时间窗口",
791   - "display-legend" : "显示图例",
792   - "datasources" : "数据源",
793   - "datasource-type" : "类型",
794   - "datasource-parameters" : "参数",
795   - "remove-datasource" : "移除数据源",
796   - "add-datasource" : "添加数据源",
797   - "target-device" : "目标设备"
798   - },
799   - "widget-type" : {
800   - "import" : "导入部件类型",
801   - "export" : "导出部件类型",
802   - "export-failed-error" : "无法导出部件类型: {{error}}",
803   - "create-new-widget-type" : "创建新的部件类型",
804   - "widget-type-file" : "部件类型文件",
805   - "invalid-widget-type-file-error" : "无法导入部件类型:无效的部件类型数据结构。"
806   - },
807   - "language" : {
808   - "language" : "语言",
809   - "en_US" : "英语",
810   - "ko_KR" : "韩语",
811   - "zh_CN" : "汉语",
812   - "ru_RU" : "俄语",
  860 + "relation": {
  861 + "relations": "关联",
  862 + "direction": "方向",
  863 + "search-direction": {
  864 + "FROM": "从",
  865 + "TO": "到"
  866 + },
  867 + "direction-type": {
  868 + "FROM": "从",
  869 + "TO": "到"
  870 + },
  871 + "from-relations": "向外的关联",
  872 + "to-relations": "向内的关联",
  873 + "selected-relations": "{ count, select, 1 {1 关联} other {# 关联} } 被选中",
  874 + "type": "类型",
  875 + "to-entity-type": "到实体类型",
  876 + "to-entity-name": "到实体名称",
  877 + "from-entity-type": "从实体类型",
  878 + "from-entity-name": "从实体类型",
  879 + "to-entity": "到实体",
  880 + "from-entity": "从实体",
  881 + "delete": "删除关联",
  882 + "relation-type": "关联类型",
  883 + "relation-type-required": "关联类型必填",
  884 + "any-relation-type": "任意类型",
  885 + "add": "添加关联",
  886 + "edit": "编辑关联",
  887 + "delete-to-relation-title": "确定要删除实体 '{{entityName}}' 的关联吗?",
  888 + "delete-to-relation-text": "确定删除后实体 '{{entityName}}' 将取消与当前实体的关联关系。",
  889 + "delete-to-relations-title": "确定要删除 { count, select, 1 {1 关联} other {# 关联} }?",
  890 + "delete-to-relations-text": "确定删除所有选择的关联关系后,与当前实体对应的所有关联关系将被移除。",
  891 + "delete-from-relation-title": "确定要从实体 '{{entityName}}' 删除关联吗?",
  892 + "delete-from-relation-text": "确定删除后,当前实体将与实体 '{{entityName}}' 取消关联",
  893 + "delete-from-relations-title": "确定删除 { count, select, 1 {1 关联} other {# 关联} } 吗?",
  894 + "delete-from-relations-text": "确定删除所有选择的关联关系后,当前实体将与对应的实体取消关联",
  895 + "remove-relation-filter": "移除关联过滤器",
  896 + "add-relation-filter": "添加关联过滤器",
  897 + "any-relation": "任意关联",
  898 + "relation-filters": "关联过滤器",
  899 + "additional-info": "附加信息 (JSON)",
  900 + "invalid-additional-info": "无法解析附加信息json。"
  901 + },
  902 + "rule": {
  903 + "rule": "规则",
  904 + "rules": "规则",
  905 + "delete": "删除规则",
  906 + "activate": "激活规则",
  907 + "suspend": "暂停规则",
  908 + "active": "激活",
  909 + "suspended": "暂停",
  910 + "name": "名称",
  911 + "name-required": "名称必填。",
  912 + "description": "描述",
  913 + "add": "添加规则",
  914 + "delete-rule-title": "您确定要删除规则'{{ruleName}}'吗?",
  915 + "delete-rule-text": "小心!确认后,规则和所有相关数据将不可恢复。",
  916 + "delete-rules-title": "你确定要删除 {count, select, 1 {1 规则} other {# 规则}} 吗?",
  917 + "delete-rules-action-title": "删除 { count, select, 1 {1 规则} other {# 规则} }",
  918 + "delete-rules-text": "小心!确认后,所有选定的规则将被删除,所有相关数据将不可恢复。",
  919 + "add-rule-text": "添加新规则",
  920 + "no-rules-text": "没有找到规则",
  921 + "rule-details": "规则详情",
  922 + "filters": "过滤器",
  923 + "filter": "过滤器",
  924 + "add-filter-prompt": "请添加过滤器",
  925 + "remove-filter": "删除过滤器",
  926 + "add-filter": "添加过滤器",
  927 + "filter-name": "过滤器名称",
  928 + "filter-type": "过滤器类型",
  929 + "edit-filter": "编辑过滤器",
  930 + "view-filter": "查看过滤器",
  931 + "component-name": "名称",
  932 + "component-name-required": "名称必填。",
  933 + "component-type": "类型",
  934 + "component-type-required": "类型必填。",
  935 + "processor": "处理器",
  936 + "no-processor-configured": "未配置处理器",
  937 + "create-processor": "创建处理器",
  938 + "processor-name": "处理器名称",
  939 + "processor-type": "处理器类型",
  940 + "plugin-action": "插件动作",
  941 + "action-name": "动作名称",
  942 + "action-type": "动作类型",
  943 + "create-action-prompt": "请创建动作",
  944 + "create-action": "创建动作",
  945 + "details": "详情",
  946 + "events": "事件",
  947 + "system": "系统",
  948 + "import": "导入规则",
  949 + "export": "导出规则",
  950 + "export-failed-error": "无法导出规则:{{error}}",
  951 + "create-new-rule": "创建新规则",
  952 + "rule-file": "规则文件",
  953 + "invalid-rule-file-error": "无法导入规则:规则数据结构无效。",
  954 + "copyId": "Copy rule Id",
  955 + "idCopiedMessage": "规则ID已经复制到粘贴板",
  956 + "select-rule": "选择规则",
  957 + "no-rules-matching": "没有找到符合 '{{entity}}' 的规则。",
  958 + "rule-required": "规则必填"
  959 + },
  960 + "rule-plugin": {
  961 + "management": "规则和插件管理"
  962 + },
  963 + "tenant": {
  964 + "tenant": "租户",
  965 + "tenants": "租户",
  966 + "management": "租户管理",
  967 + "add": "添加租户",
  968 + "admins": "管理员",
  969 + "manage-tenant-admins": "管理租户管理员",
  970 + "delete": "删除租户",
  971 + "add-tenant-text": "添加新租户",
  972 + "no-tenants-text": "没有找到租户",
  973 + "tenant-details": "租客详情",
  974 + "delete-tenant-title": "您确定要删除租户'{{tenantTitle}}'吗?",
  975 + "delete-tenant-text": "小心!确认后,租户和所有相关数据将不可恢复。",
  976 + "delete-tenants-title": "您确定要删除 {count,select,1 {1 租户} other {# 租户}} 吗?",
  977 + "delete-tenants-action-title": "删除 { count, select, 1 {1 租户} other {# 租户} }",
  978 + "delete-tenants-text": "小心!确认后,所有选定的租户将被删除,所有相关数据将不可恢复。",
  979 + "title": "标题",
  980 + "title-required": "标题必填。",
  981 + "description": "描述",
  982 + "details": "详情",
  983 + "events": "事件",
  984 + "copyId": "复制租户ID",
  985 + "idCopiedMessage": "租户ID已经复制到粘贴板",
  986 + "select-tenant": "选择租户",
  987 + "no-tenants-matching": "没有找到符合 '{{entity}}' 的租户",
  988 + "tenant-required": "租户必填"
  989 + },
  990 + "timeinterval": {
  991 + "seconds-interval": "{ seconds, select, 1 {1 秒} other {# 秒} }",
  992 + "minutes-interval": "{ minutes, select, 1 {1 分} other {# 分} }",
  993 + "hours-interval": "{ hours, select, 1 {1 小时} other {# 小时} }",
  994 + "days-interval": "{ days, select, 1 {1 天} other {# 天} }",
  995 + "days": "天",
  996 + "hours": "时",
  997 + "minutes": "分",
  998 + "seconds": "秒",
  999 + "advanced": "高级"
  1000 + },
  1001 + "timewindow": {
  1002 + "days": "{ days, select, 1 { 天 } other {# 天 } }",
  1003 + "hours": "{ hours, select, 0 { 小时 } 1 {1 小时 } other {# 小时 } }",
  1004 + "minutes": "{ minutes, select, 0 { 分 } 1 {1 分 } other {# 分 } }",
  1005 + "seconds": "{ seconds, select, 0 { 秒 } 1 {1 秒 } other {# 秒 } }",
  1006 + "realtime": "实时",
  1007 + "history": "历史",
  1008 + "last-prefix": "最后",
  1009 + "period": "从 {{ startTime }} 到 {{ endTime }}",
  1010 + "edit": "编辑时间窗口",
  1011 + "date-range": "日期范围",
  1012 + "last": "最后",
  1013 + "time-period": "时间段"
  1014 + },
  1015 + "user": {
  1016 + "user": "用户",
  1017 + "users": "用户",
  1018 + "customer-users": "客户用户",
  1019 + "tenant-admins": "租户管理员",
  1020 + "sys-admin": "系统管理员",
  1021 + "tenant-admin": "租户管理员",
  1022 + "customer": "客户",
  1023 + "anonymous": "匿名",
  1024 + "add": "添加用户",
  1025 + "delete": "删除用户",
  1026 + "add-user-text": "添加新用户",
  1027 + "no-users-text": "找不到用户",
  1028 + "user-details": "用户详细信息",
  1029 + "delete-user-title": "您确定要删除用户 '{{userEmail}}' 吗?",
  1030 + "delete-user-text": "小心!确认后,用户和所有相关数据将不可恢复。",
  1031 + "delete-users-title": "你确定你要删除 { count, select, 1 {1 用户} other {# 用户} } 吗?",
  1032 + "delete-users-action-title": "删除 { count, select, 1 {1 用户} other {# 用户} }",
  1033 + "delete-users-text": "小心!确认后,所有选定的用户将被删除,所有相关数据将不可恢复。",
  1034 + "activation-email-sent-message": "激活电子邮件已成功发送!",
  1035 + "resend-activation": "重新发送激活",
  1036 + "email": "电子邮件",
  1037 + "email-required": "电子邮件必填。",
  1038 + "invalid-email-format": "无效的邮件格式。",
  1039 + "first-name": "名字",
  1040 + "last-name": "姓",
  1041 + "description": "描述",
  1042 + "default-dashboard": "默认面板",
  1043 + "always-fullscreen": "始终全屏",
  1044 + "select-user": "选择用户",
  1045 + "no-users-matching": "没有找到符合 '{{entity}}' 的用户。",
  1046 + "user-required": "用户必填",
  1047 + "activation-method": "激活方式",
  1048 + "display-activation-link": "显示激活链接",
  1049 + "send-activation-mail": "发送激活邮件",
  1050 + "activation-link": "用户激活链接",
  1051 + "activation-link-text": "使用该链接 <a href='{{activationLink}}' target='_blank'>激活</a> 激活用户:",
  1052 + "copy-activation-link": "复制用户激活链接",
  1053 + "activation-link-copied-message": "用户激活链接已经复制到粘贴板"
  1054 + },
  1055 + "value": {
  1056 + "type": "值类型",
  1057 + "string": "字符串",
  1058 + "string-value": "字符串值",
  1059 + "integer": "数字",
  1060 + "integer-value": "数字值",
  1061 + "invalid-integer-value": "整数值无效",
  1062 + "double": "双精度小数",
  1063 + "double-value": "双精度小数值",
  1064 + "boolean": "布尔",
  1065 + "boolean-value": "布尔值",
  1066 + "false": "假",
  1067 + "true": "真"
  1068 + },
  1069 + "widget": {
  1070 + "widget-library": "部件库",
  1071 + "widget-bundle": "部件包",
  1072 + "select-widgets-bundle": "选择部件包",
  1073 + "management": "部件管理",
  1074 + "editor": "部件编辑器",
  1075 + "widget-type-not-found": "加载部件配置时出现问题。<br> 可能关联的\n 部件类型已删除。",
  1076 + "widget-type-load-error": "由于以下错误,部件未加载:",
  1077 + "remove": "删除部件",
  1078 + "edit": "编辑部件",
  1079 + "remove-widget-title": "您确定要删除部件 '{{widgetTitle}}' 吗?",
  1080 + "remove-widget-text": "确认后,窗口部件和所有相关数据将不可恢复。",
  1081 + "timeseries": "时间序列",
  1082 + "latest-values": "最新值",
  1083 + "rpc": "控件部件",
  1084 + "alarm": "警告部件",
  1085 + "static": "静态部件",
  1086 + "select-widget-type": "选择窗口部件类型",
  1087 + "missing-widget-title-error": "部件标题必须指定!",
  1088 + "widget-saved": "部件已保存",
  1089 + "unable-to-save-widget-error": "无法保存窗口部件! 部件有错误!",
  1090 + "save": "保存部件",
  1091 + "saveAs": "将部件另存为",
  1092 + "save-widget-type-as": "将部件类型另存为",
  1093 + "save-widget-type-as-text": "请输入新的部件标题和/或选择目标部件包",
  1094 + "toggle-fullscreen": "切换全屏",
  1095 + "run": "运行部件",
  1096 + "title": "部件标题",
  1097 + "title-required": "需要部件标题。",
  1098 + "type": "部件类型",
  1099 + "resources": "资源",
  1100 + "resource-url": "JavaScript/CSS URL",
  1101 + "remove-resource": "删除资源",
  1102 + "add-resource": "添加资源",
  1103 + "html": "HTML",
  1104 + "tidy": "整理",
  1105 + "css": "CSS",
  1106 + "settings-schema": "设置模式",
  1107 + "datakey-settings-schema": "数据键设置模式",
  1108 + "javascript": "Javascript",
  1109 + "remove-widget-type-title": "您确定要删除部件类型 '{{widgetName}}'吗?",
  1110 + "remove-widget-type-text": "确认后,窗口部件类型和所有相关数据将不可恢复。",
  1111 + "remove-widget-type": "删除部件类型",
  1112 + "add-widget-type": "添加新的部件类型",
  1113 + "widget-type-load-failed-error": "无法加载部件类型!",
  1114 + "widget-template-load-failed-error": "无法加载部件模板!",
  1115 + "add": "添加部件",
  1116 + "undo": "撤消部件更改",
  1117 + "export": "导出部件"
  1118 + },
  1119 + "widget-action": {
  1120 + "header-button": "部件顶部按钮",
  1121 + "open-dashboard-state": "切换到新仪表板状态",
  1122 + "update-dashboard-state": "更新当前仪表板状态",
  1123 + "open-dashboard": "切换到另一个仪表板",
  1124 + "custom": "自定义动作",
  1125 + "target-dashboard-state": "目标仪表板状态",
  1126 + "target-dashboard-state-required": "目标仪表板状态必填",
  1127 + "set-entity-from-widget": "从部件中设置实体",
  1128 + "target-dashboard": "目标仪表板",
  1129 + "open-right-layout": "打开右侧布局 (移动端视图)"
  1130 + },
  1131 + "widgets-bundle": {
  1132 + "current": "当前包",
  1133 + "widgets-bundles": "部件包",
  1134 + "add": "添加部件包",
  1135 + "delete": "删除部件包",
  1136 + "title": "标题",
  1137 + "title-required": "标题必填。",
  1138 + "add-widgets-bundle-text": "添加新的部件包",
  1139 + "no-widgets-bundles-text": "找不到部件包",
  1140 + "empty": "部件包是空的",
  1141 + "details": "详情",
  1142 + "widgets-bundle-details": "部件包详细信息",
  1143 + "delete-widgets-bundle-title": "您确定要删除部件包 '{{widgetsBundleTitle}}'吗?",
  1144 + "delete-widgets-bundle-text": "小心!确认后,部件包和所有相关数据将不可恢复。",
  1145 + "delete-widgets-bundles-title": "你确定你要删除 { count, select, 1 {1 部件包} other {# 部件包} } 吗?",
  1146 + "delete-widgets-bundles-action-title": "删除 { count, select, 1 {1 部件包} other {# 部件包} }",
  1147 + "delete-widgets-bundles-text": "小心!确认后,所有选定的部件包将被删除,所有相关数据将不可恢复。",
  1148 + "no-widgets-bundles-matching": "没有找到与 '{{widgetsBundle}}' 匹配的部件包。",
  1149 + "widgets-bundle-required": "需要部件包。",
  1150 + "system": "系统",
  1151 + "import": "导入部件包",
  1152 + "export": "导出部件包",
  1153 + "export-failed-error": "无法导出部件包: {{error}}",
  1154 + "create-new-widgets-bundle": "创建新的部件包",
  1155 + "widgets-bundle-file": "部件包文件",
  1156 + "invalid-widgets-bundle-file-error": "无法导入部件包:无效的部件包数据结构。"
  1157 + },
  1158 + "widget-config": {
  1159 + "data": "数据",
  1160 + "settings": "设置",
  1161 + "advanced": "高级",
  1162 + "title": "标题",
  1163 + "general-settings": "常规设置",
  1164 + "display-title": "显示标题",
  1165 + "drop-shadow": "阴影",
  1166 + "enable-fullscreen": "启用全屏",
  1167 + "background-color": "背景颜色",
  1168 + "text-color": "文字颜色",
  1169 + "padding": "填充",
  1170 + "margin": "Margin",
  1171 + "widget-style": "部件风格",
  1172 + "title-style": "标题风格",
  1173 + "mobile-mode-settings": "移动端设置",
  1174 + "order": "顺序",
  1175 + "height": "高度",
  1176 + "units": "特殊符号展示值",
  1177 + "decimals": "浮点数后的位数",
  1178 + "timewindow": "时间窗口",
  1179 + "use-dashboard-timewindow": "使用仪表板的时间窗口",
  1180 + "display-legend": "显示图例",
  1181 + "datasources": "数据源",
  1182 + "maximum-datasources": "最大允许 { count, select, 1 {1 数据} other {# 数据} }",
  1183 + "datasource-type": "类型",
  1184 + "datasource-parameters": "参数",
  1185 + "remove-datasource": "移除数据源",
  1186 + "add-datasource": "添加数据源",
  1187 + "target-device": "目标设备",
  1188 + "alarm-source": "警告源",
  1189 + "actions": "动作",
  1190 + "action": "动作",
  1191 + "add-action": "添加动作",
  1192 + "search-actions": "动作检索",
  1193 + "action-source": "动作源",
  1194 + "action-source-required": "动作源必填",
  1195 + "action-name": "动作名称",
  1196 + "action-name-required": "动作名称必填。",
  1197 + "action-name-not-unique": "动作名称已经存在。<br/>统一动作源的动作名称必须唯一。",
  1198 + "action-icon": "图标",
  1199 + "action-type": "类型",
  1200 + "action-type-required": "类型必填",
  1201 + "edit-action": "编辑动作",
  1202 + "delete-action": "删除动作",
  1203 + "delete-action-title": "删除部件动作",
  1204 + "delete-action-text": "确定要删除部件动作 '{{actionName}}' 吗?"
  1205 + },
  1206 + "widget-type": {
  1207 + "import": "导入部件类型",
  1208 + "export": "导出部件类型",
  1209 + "export-failed-error": "无法导出部件类型: {{error}}",
  1210 + "create-new-widget-type": "创建新的部件类型",
  1211 + "widget-type-file": "部件类型文件",
  1212 + "invalid-widget-type-file-error": "无法导入部件类型:无效的部件类型数据结构。"
  1213 + },
  1214 + "icon": {
  1215 + "icon": "图标",
  1216 + "select-icon": "选择图标",
  1217 + "material-icons": "素材图标",
  1218 + "show-all": "显示所有图标"
  1219 + },
  1220 + "language": {
  1221 + "language": "语言",
  1222 + "en_US": "英语",
  1223 + "ko_KR": "韩语",
  1224 + "zh_CN": "汉语",
  1225 + "ru_RU": "俄语",
813 1226 "es_ES": "西班牙语"
814 1227 }
815 1228 };
816 1229 angular.extend(locales, {
817   - 'zh_CN' : zh_CN
  1230 + 'zh_CN': zh_CN
818 1231 });
819 1232 }
... ...