Commit d27999ddf996e675800bf72ed7911ea31980240c
1 parent
cbdd0848
add the Chinese support.of all it support english,korean&chinese
Showing
3 changed files
with
298 additions
and
291 deletions
... | ... | @@ -46,18 +46,21 @@ export default function AppConfig($provide, |
46 | 46 | |
47 | 47 | $translateProvider.useSanitizeValueStrategy('sce'); |
48 | 48 | $translateProvider.preferredLanguage('en_US'); |
49 | + //$translateProvider.preferredLanguage('zh_CN'); | |
49 | 50 | $translateProvider.useLocalStorage(); |
50 | 51 | $translateProvider.useMissingTranslationHandlerLog(); |
51 | 52 | $translateProvider.addInterpolation('$translateMessageFormatInterpolation'); |
52 | 53 | |
53 | 54 | addLocaleKorean(locales); |
54 | 55 | addLocaleChinese(locales); |
56 | + | |
55 | 57 | var $window = angular.injector(['ng']).get('$window'); |
56 | 58 | var lang = $window.navigator.language || $window.navigator.userLanguage; |
59 | + //$log.log("----====User language ====----"+lang); | |
57 | 60 | if (lang === 'ko') { |
58 | 61 | $translateProvider.useSanitizeValueStrategy(null); |
59 | 62 | $translateProvider.preferredLanguage('ko_KR'); |
60 | - }else if(lang === 'zh') { | |
63 | + } else if (lang === 'zh') { | |
61 | 64 | $translateProvider.useSanitizeValueStrategy(null); |
62 | 65 | $translateProvider.preferredLanguage('zh_CN'); |
63 | 66 | } | ... | ... |
... | ... | @@ -21,7 +21,7 @@ export default function addLocaleChinese(locales) { |
21 | 21 | "unauthorized-access" : "未授权访问", |
22 | 22 | "unauthorized-access-text" : "您应该登录以访问此资源!", |
23 | 23 | "access-forbidden" : "禁止访问", |
24 | - "access-forbidden-text" : "您没有访问此位置的权限<br/>如果您仍希望访问此位置,请尝试使用其他用户登录。", | |
24 | + "access-forbidden-text" : "您没有访问此位置的权限! <br/> 如果您仍希望访问此位置,请尝试使用其他用户登录。", | |
25 | 25 | "refresh-token-expired" : "会话已过期", |
26 | 26 | "refresh-token-failed" : "无法刷新会话" |
27 | 27 | }, |
... | ... | @@ -109,7 +109,7 @@ export default function addLocaleChinese(locales) { |
109 | 109 | "key-required" : "属性键是必需的。", |
110 | 110 | "value" : "值", |
111 | 111 | "value-required" : "属性值是必需的。", |
112 | - "delete-attributes-title" : "您确定要删除 { count, select, 1 {1 attribute} other {# attributes} }?", | |
112 | + "delete-attributes-title" : "您确定要删除 { count, select, 1 {1 attribute} other {# attributes} } 吗?", | |
113 | 113 | "delete-attributes-text" : "注意,确认后所有选中的属性都会被删除。", |
114 | 114 | "delete-attributes" : "删除属性", |
115 | 115 | "enter-attribute-value" : "输入属性值", |
... | ... | @@ -124,7 +124,7 @@ export default function addLocaleChinese(locales) { |
124 | 124 | }, |
125 | 125 | "confirm-on-exit" : { |
126 | 126 | "message" : "您有未保存的更改。确定要离开此页吗?", |
127 | - "html-message" : "您有未保存的更改。<br/>确定要离开此页面吗?", | |
127 | + "html-message" : "您有未保存的更改。 <br/> 确定要离开此页面吗?", | |
128 | 128 | "title" : "未保存的更改" |
129 | 129 | }, |
130 | 130 | "contact" : { |
... | ... | @@ -162,7 +162,7 @@ export default function addLocaleChinese(locales) { |
162 | 162 | "customer-details" : "客户详情", |
163 | 163 | "delete-customer-title" : "您确定要删除客户'{{customerTitle}}'吗?", |
164 | 164 | "delete-customer-text" : "小心!确认后,客户及其所有相关数据将不可恢复。", |
165 | - "delete-customers-title" : "您确定要删除 { count, select, 1 {1 customer} other {# customers} }?", | |
165 | + "delete-customers-title" : "您确定要删除 { count, select, 1 {1 customer} other {# customers} } 吗?", | |
166 | 166 | "delete-customers-action-title" : "删除 { count, select, 1 {1 customer} other {# customers} }", |
167 | 167 | "delete-customers-text" : "小心!确认后,所有选定的客户将被删除,所有相关数据将不可恢复。", |
168 | 168 | "manage-users" : "管理用户", |
... | ... | @@ -209,13 +209,13 @@ export default function addLocaleChinese(locales) { |
209 | 209 | "unassign-dashboards-action-title" : "从客户取消分配 { count, select, 1 {1 dashboard} other {# dashboards} }", |
210 | 210 | "delete-dashboard-title" : "您确定要删除仪表板 '{{dashboardTitle}}'?", |
211 | 211 | "delete-dashboard-text" : "小心!确认后仪表板及其所有相关数据将不可恢复。", |
212 | - "delete-dashboards-title" : "你确定要删除 { count, select, 1 {1 dashboard} other {# dashboards} }?", | |
212 | + "delete-dashboards-title" : "你确定要删除 { count, select, 1 {1 dashboard} other {# dashboards} } 吗?", | |
213 | 213 | "delete-dashboards-action-title" : "删除 { count, select, 1 {1 dashboard} other {# dashboards} }", |
214 | 214 | "delete-dashboards-text" : "小心!确认后所有被选中的仪表板将被删除,所有相关数据将不可恢复。", |
215 | 215 | "unassign-dashboard-title" : "您确定要取消分配仪表板 '{{dashboardTitle}}'?", |
216 | 216 | "unassign-dashboard-text" : "确认后,仪表板将取消分配,客户将无法访问。", |
217 | 217 | "unassign-dashboard" : "取消分配仪表板", |
218 | - "unassign-dashboards-title" : "您确定要取消分配 { count, select, 1 {1 dashboard} other {# dashboards} }?", | |
218 | + "unassign-dashboards-title" : "您确定要取消分配 { count, select, 1 {1 dashboard} other {# dashboards} } 吗?", | |
219 | 219 | "unassign-dashboards-text" : "确认后,所有选定的仪表板将被取消分配,并且用户将无法访问。", |
220 | 220 | "select-dashboard" : "选择仪表板", |
221 | 221 | "no-dashboards-matching" : "找不到符合 '{{dashboard}}' 的仪表板。", |
... | ... | @@ -234,7 +234,7 @@ export default function addLocaleChinese(locales) { |
234 | 234 | "columns-count" : "列数", |
235 | 235 | "columns-count-required" : "需要列数。", |
236 | 236 | "min-columns-count-message" : "只允许最少10列", |
237 | - "max-columns-count-message" : "只允许最大1000列", | |
237 | + "max-columns-count-message" : "只允许最多1000列", | |
238 | 238 | "widgets-margins" : "部件间边距", |
239 | 239 | "horizontal-margin" : "水平边距", |
240 | 240 | "horizontal-margin-required" : "需要水平边距值。", |
... | ... | @@ -262,7 +262,7 @@ export default function addLocaleChinese(locales) { |
262 | 262 | "close-toolbar" : "关闭工具栏", |
263 | 263 | "configuration-error" : "配置错误", |
264 | 264 | "alias-resolution-error-title" : "仪表板别名配置错误", |
265 | - "invalid-aliases-config" : "无法找到与某些别名过滤器匹配的任何设备。<br/>" + | |
265 | + "invalid-aliases-config" : "无法找到与某些别名过滤器匹配的任何设备。 <br/>" + | |
266 | 266 | "请联系您的管理员以解决此问题。", |
267 | 267 | "select-devices" : "选择设备", |
268 | 268 | "assignedToCustomer" : "分配给客户" |
... | ... | @@ -304,7 +304,7 @@ export default function addLocaleChinese(locales) { |
304 | 304 | "no-keys-found" : "找不到密钥。", |
305 | 305 | "create-new-alias": "创建一个新的!", |
306 | 306 | "create-new-key": "创建一个新的!", |
307 | - "duplicate-alias-error" : "找到重复别名 '{{alias}}'.<br>设备别名必须是唯一的。", | |
307 | + "duplicate-alias-error" : "找到重复别名 '{{alias}}'。 <br> 设备别名必须是唯一的。", | |
308 | 308 | "configure-alias" : "配置 '{{alias}}' 别名", |
309 | 309 | "no-devices-matching" : "找不到与 '{{device}}' 匹配的设备。", |
310 | 310 | "alias" : "别名", |
... | ... | @@ -329,22 +329,22 @@ export default function addLocaleChinese(locales) { |
329 | 329 | "manage-credentials": "管理凭据", |
330 | 330 | "delete": "删除设备", |
331 | 331 | "assign-devices": "分配设备", |
332 | - "assign-devices-text": "将{count,select,1 {1 device} other {#devices}}分配给客户", | |
332 | + "assign-devices-text": "将{count,select,1 {1 device} other {# devices}}分配给客户", | |
333 | 333 | "delete-devices": "删除设备", |
334 | 334 | "unassign-from-customer": "取消分配客户", |
335 | 335 | "unassign-devices": "取消分配设备", |
336 | - "unassign-devices-action-title": "从客户处取消分配{count,select,1 {1 device} other {#devices}}", | |
336 | + "unassign-devices-action-title": "从客户处取消分配{count,select,1 {1 device} other {# devices}}", | |
337 | 337 | "assign-new-device": "分配新设备", |
338 | 338 | "view-credentials": "查看凭据", |
339 | 339 | "delete-device-title": "您确定要删除设备的{{deviceName}}吗?", |
340 | 340 | "delete-device-text": "小心!确认后设备及其所有相关数据将不可恢复。", |
341 | - "delete-devices-title": "您确定要删除{count,select,1 {1 device} other {#devices}}?", | |
342 | - "delete-devices-action-title": "删除 {count,select,1 {1 device} other {#devices}}", | |
341 | + "delete-devices-title": "您确定要删除{count,select,1 {1 device} other {# devices}} 吗?", | |
342 | + "delete-devices-action-title": "删除 {count,select,1 {1 device} other {# devices}}", | |
343 | 343 | "delete-devices-text": "小心!确认后所有选定的设备将被删除,所有相关数据将不可恢复。", |
344 | 344 | "unassign-device-title": "您确定要取消分配设备 '{{deviceName}}'?", |
345 | 345 | "unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。", |
346 | 346 | "unassign-device": "取消分配设备", |
347 | - "unassign-devices-title": "您确定要取消分配{count,select,1 {1 device} other {#devices}}?", | |
347 | + "unassign-devices-title": "您确定要取消分配{count,select,1 {1 device} other {# devices}} 吗?", | |
348 | 348 | "unassign-devices-text": "确认后,所有选定的设备将被取消分配,并且客户将无法访问。", |
349 | 349 | "device-credentials": "设备凭据", |
350 | 350 | "credentials-type": "凭据类型", |
... | ... | @@ -366,7 +366,7 @@ export default function addLocaleChinese(locales) { |
366 | 366 | "accessTokenCopiedMessage": "设备访问令牌已复制到剪贴板", |
367 | 367 | "assignedToCustomer": "分配给客户", |
368 | 368 | "unable-delete-device-alias-title": "无法删除设备别名", |
369 | - "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用:<br/>{{widgetsList}}", | |
369 | + "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用: <br/> {{widgetsList}}", | |
370 | 370 | "is-gateway": "是网关" |
371 | 371 | }, |
372 | 372 | "dialog" : { |
... | ... | @@ -404,13 +404,13 @@ export default function addLocaleChinese(locales) { |
404 | 404 | "fullscreen": "全屏" |
405 | 405 | }, |
406 | 406 | "function" : { |
407 | - "function" : "功能" | |
407 | + "function" : "函数" | |
408 | 408 | }, |
409 | 409 | "grid" : { |
410 | 410 | "delete-item-title": "您确定要删除此项吗?", |
411 | 411 | "delete-item-text": "注意,确认后此项和所有相关数据将变得不可恢复。", |
412 | - "delete-items-title": "您确定要删除{count,select,1 {1 item} other {#items}}?", | |
413 | - "delete-items-action-title": "删除{count,select,1 {1 item} other {#items}}", | |
412 | + "delete-items-title": "您确定要删除{count, select, 1 {1 item} other {# items}} 吗?", | |
413 | + "delete-items-action-title": "删除{count, select, 1 {1 item} other {# items}}", | |
414 | 414 | "delete-items-text": "注意,确认后所有选择的项目将被删除,所有相关数据将变得不可恢复。", |
415 | 415 | "add-item-text": "添加新项目", |
416 | 416 | "no-items-text": "没有找到项目", |
... | ... | @@ -442,16 +442,16 @@ export default function addLocaleChinese(locales) { |
442 | 442 | "return-type-mismatch": "函数必须返回'{{type}}'类型的值!" |
443 | 443 | }, |
444 | 444 | "legend" : { |
445 | - "position" : "Legend position", | |
446 | - "show-max" : "Show max value", | |
447 | - "show-min" : "Show min value", | |
448 | - "show-avg" : "Show average value", | |
449 | - "show-total" : "Show total value", | |
450 | - "settings" : "Legend settings", | |
451 | - "min" : "min", | |
452 | - "max" : "max", | |
453 | - "avg" : "avg", | |
454 | - "total" : "total" | |
445 | + "position" : "图例位置", | |
446 | + "show-max" : "显示最大值", | |
447 | + "show-min" : "显示最小值", | |
448 | + "show-avg" : "显示平均值", | |
449 | + "show-total" : "显示总数", | |
450 | + "settings" : "图例设置", | |
451 | + "min" : "最小值", | |
452 | + "max" : "最大值", | |
453 | + "avg" : "平均值", | |
454 | + "total" : "总数" | |
455 | 455 | }, |
456 | 456 | "login" : { |
457 | 457 | "login": "登录", |
... | ... | @@ -471,49 +471,49 @@ export default function addLocaleChinese(locales) { |
471 | 471 | "email": "电子邮件" |
472 | 472 | }, |
473 | 473 | "plugin" : { |
474 | - "plugins" : "Plugins", | |
475 | - "delete" : "Delete plugin", | |
476 | - "activate" : "Activate plugin", | |
477 | - "suspend" : "Suspend plugin", | |
478 | - "active" : "Active", | |
479 | - "suspended" : "Suspended", | |
480 | - "name" : "Name", | |
481 | - "name-required" : "Name is required.", | |
482 | - "description" : "Description", | |
483 | - "add" : "Add Plugin", | |
484 | - "delete-plugin-title" : "Are you sure you want to delete the plugin '{{pluginName}}'?", | |
485 | - "delete-plugin-text" : "Be careful, after the confirmation the plugin and all related data will become unrecoverable.", | |
486 | - "delete-plugins-title" : "Are you sure you want to delete { count, select, 1 {1 plugin} other {# plugins} }?", | |
487 | - "delete-plugins-action-title" : "Delete { count, select, 1 {1 plugin} other {# plugins} }", | |
488 | - "delete-plugins-text" : "Be careful, after the confirmation all selected plugins will be removed and all related data will become unrecoverable.", | |
489 | - "add-plugin-text" : "Add new plugin", | |
490 | - "no-plugins-text" : "No plugins found", | |
491 | - "plugin-details" : "Plugin details", | |
492 | - "api-token" : "API token", | |
493 | - "api-token-required" : "API token is required.", | |
494 | - "type" : "Plugin type", | |
495 | - "type-required" : "Plugin type is required.", | |
496 | - "configuration" : "Plugin configuration", | |
497 | - "system" : "System", | |
498 | - "select-plugin" : "Select plugin", | |
499 | - "plugin" : "Plugin", | |
500 | - "no-plugins-matching" : "No plugins matching '{{plugin}}' were found.", | |
501 | - "plugin-required" : "Plugin is required.", | |
502 | - "plugin-require-match" : "Please select an existing plugin.", | |
503 | - "events" : "Events", | |
504 | - "details" : "Details", | |
505 | - "import" : "Import plugin", | |
506 | - "export" : "Export plugin", | |
507 | - "export-failed-error" : "Unable to export plugin: {{error}}", | |
508 | - "create-new-plugin" : "Create new plugin", | |
509 | - "plugin-file" : "Plugin file", | |
510 | - "invalid-plugin-file-error" : "Unable to import plugin: Invalid plugin data structure." | |
474 | + "plugins" : "插件", | |
475 | + "delete" : "删除插件", | |
476 | + "activate" : "激活插件", | |
477 | + "suspend" : "暂停插件", | |
478 | + "active" : "激活", | |
479 | + "suspended" : "暂停", | |
480 | + "name" : "名称", | |
481 | + "name-required" : "名称是必填项。", | |
482 | + "description" : "描述", | |
483 | + "add" : "添加插件", | |
484 | + "delete-plugin-title" : "你确定要删除插件 '{{pluginName}}' 吗?", | |
485 | + "delete-plugin-text" : "小心!确认后,插件和所有相关数据将不可恢复。", | |
486 | + "delete-plugins-title" : "你确定你要删除 { count, select, 1 {1 plugin} other {# plugins} } 吗?", | |
487 | + "delete-plugins-action-title" : "删除 { count, select, 1 {1 plugin} other {# plugins} }", | |
488 | + "delete-plugins-text" : "小心!确认后,所有选定的插件将被删除,所有相关数据将不可恢复。", | |
489 | + "add-plugin-text" : "添加新的插件", | |
490 | + "no-plugins-text" : "没有找到插件", | |
491 | + "plugin-details" : "插件详细信息", | |
492 | + "api-token" : "API令牌", | |
493 | + "api-token-required" : "API令牌是必需的。", | |
494 | + "type" : "插件类型", | |
495 | + "type-required" : "插件类型是必需的。", | |
496 | + "configuration" : "插件配置", | |
497 | + "system" : "系统", | |
498 | + "select-plugin" : "选择插件", | |
499 | + "plugin" : "插件", | |
500 | + "no-plugins-matching" : "没有找到匹配'{{plugin}}'的插件。", | |
501 | + "plugin-required" : "插件是必需的。", | |
502 | + "plugin-require-match" : "请选择一个现有的插件。", | |
503 | + "events" : "事件", | |
504 | + "details" : "详情", | |
505 | + "import" : "导入插件", | |
506 | + "export" : "导出插件", | |
507 | + "export-failed-error" : "无法导出插件:{{error}}", | |
508 | + "create-new-plugin" : "创建新的插件", | |
509 | + "plugin-file" : "插件文件", | |
510 | + "invalid-plugin-file-error" : "无法导入插件:插件数据结构无效。" | |
511 | 511 | }, |
512 | 512 | "position" : { |
513 | - "top" : "Top", | |
514 | - "bottom" : "Bottom", | |
515 | - "left" : "Left", | |
516 | - "right" : "Right" | |
513 | + "top" : "顶部", | |
514 | + "bottom" : "底部", | |
515 | + "left" : "左侧", | |
516 | + "right" : "右侧" | |
517 | 517 | }, |
518 | 518 | "profile" : { |
519 | 519 | "profile": "属性", |
... | ... | @@ -521,263 +521,263 @@ export default function addLocaleChinese(locales) { |
521 | 521 | "current-password": "当前密码" |
522 | 522 | }, |
523 | 523 | "rule" : { |
524 | - "rules" : "Rules", | |
525 | - "delete" : "Delete rule", | |
526 | - "activate" : "Activate rule", | |
527 | - "suspend" : "Suspend rule", | |
528 | - "active" : "Active", | |
529 | - "suspended" : "Suspended", | |
530 | - "name" : "Name", | |
531 | - "name-required" : "Name is required.", | |
532 | - "description" : "Description", | |
533 | - "add" : "Add Rule", | |
534 | - "delete-rule-title" : "Are you sure you want to delete the rule '{{ruleName}}'?", | |
535 | - "delete-rule-text" : "Be careful, after the confirmation the rule and all related data will become unrecoverable.", | |
536 | - "delete-rules-title" : "Are you sure you want to delete { count, select, 1 {1 rule} other {# rules} }?", | |
537 | - "delete-rules-action-title" : "Delete { count, select, 1 {1 rule} other {# rules} }", | |
538 | - "delete-rules-text" : "Be careful, after the confirmation all selected rules will be removed and all related data will become unrecoverable.", | |
539 | - "add-rule-text" : "Add new rule", | |
540 | - "no-rules-text" : "No rules found", | |
541 | - "rule-details" : "Rule details", | |
542 | - "filters" : "Filters", | |
543 | - "filter" : "Filter", | |
544 | - "add-filter-prompt" : "Please add filter", | |
545 | - "remove-filter" : "Remove filter", | |
546 | - "add-filter" : "Add filter", | |
547 | - "filter-name" : "Filter name", | |
548 | - "filter-type" : "Filter type", | |
549 | - "edit-filter" : "Edit filter", | |
550 | - "view-filter" : "View filter", | |
551 | - "component-name" : "Name", | |
552 | - "component-name-required" : "Name is required.", | |
553 | - "component-type" : "Type", | |
554 | - "component-type-required" : "Type is required.", | |
555 | - "processor" : "Processor", | |
556 | - "no-processor-configured" : "No processor configured", | |
557 | - "create-processor" : "Create processor", | |
558 | - "processor-name" : "Processor name", | |
559 | - "processor-type" : "Processor type", | |
560 | - "plugin-action" : "Plugin action", | |
561 | - "action-name" : "Action name", | |
562 | - "action-type" : "Action type", | |
563 | - "create-action-prompt" : "Please create action", | |
564 | - "create-action" : "Create action", | |
565 | - "details" : "Details", | |
566 | - "events" : "Events", | |
567 | - "system" : "System", | |
568 | - "import" : "Import rule", | |
569 | - "export" : "Export rule", | |
570 | - "export-failed-error" : "Unable to export rule: {{error}}", | |
571 | - "create-new-rule" : "Create new rule", | |
572 | - "rule-file" : "Rule file", | |
573 | - "invalid-rule-file-error" : "Unable to import rule: Invalid rule data structure." | |
524 | + "rules" : "规则", | |
525 | + "delete" : "删除规则", | |
526 | + "activate" : "激活规则", | |
527 | + "suspend" : "暂停规则", | |
528 | + "active" : "激活", | |
529 | + "suspended" : "暂停", | |
530 | + "name" : "名称", | |
531 | + "name-required" : "名称是必填项。", | |
532 | + "description" : "描述", | |
533 | + "add" : "添加规则", | |
534 | + "delete-rule-title" : "您确定要删除规则'{{ruleName}}'吗?", | |
535 | + "delete-rule-text" : "小心!确认后,规则和所有相关数据将不可恢复。", | |
536 | + "delete-rules-title" : "你确定要删除 {count, select, 1 {1 rule} other {# rules}} 吗?", | |
537 | + "delete-rules-action-title" : "删除 { count, select, 1 {1 rule} other {# rules} }", | |
538 | + "delete-rules-text" : "小心!确认后,所有选定的规则将被删除,所有相关数据将不可恢复。", | |
539 | + "add-rule-text" : "添加新规则", | |
540 | + "no-rules-text" : "没有找到规则", | |
541 | + "rule-details" : "规则详情", | |
542 | + "filters" : "过滤器", | |
543 | + "filter" : "过滤器", | |
544 | + "add-filter-prompt" : "请添加过滤器", | |
545 | + "remove-filter" : "删除过滤器", | |
546 | + "add-filter" : "添加过滤器", | |
547 | + "filter-name" : "过滤器名称", | |
548 | + "filter-type" : "过滤器类型", | |
549 | + "edit-filter" : "编辑过滤器", | |
550 | + "view-filter" : "查看过滤器", | |
551 | + "component-name" : "名称", | |
552 | + "component-name-required" : "名称是必填项。", | |
553 | + "component-type" : "类型", | |
554 | + "component-type-required" : "类型是必填项。", | |
555 | + "processor" : "处理器", | |
556 | + "no-processor-configured" : "未配置处理器", | |
557 | + "create-processor" : "创建处理器", | |
558 | + "processor-name" : "处理器名称", | |
559 | + "processor-type" : "处理器类型", | |
560 | + "plugin-action" : "插件动作", | |
561 | + "action-name" : "动作名称", | |
562 | + "action-type" : "动作类型", | |
563 | + "create-action-prompt" : "请创建动作", | |
564 | + "create-action" : "创建动作", | |
565 | + "details" : "详情", | |
566 | + "events" : "事件", | |
567 | + "system" : "系统", | |
568 | + "import" : "导入规则", | |
569 | + "export" : "导出规则", | |
570 | + "export-failed-error" : "无法导出规则:{{error}}", | |
571 | + "create-new-rule" : "创建新规则", | |
572 | + "rule-file" : "规则文件", | |
573 | + "invalid-rule-file-error" : "无法导入规则:规则数据结构无效。" | |
574 | 574 | }, |
575 | 575 | "rule-plugin" : { |
576 | - "management" : "Rules and plugins management" | |
576 | + "management" : "规则和插件管理" | |
577 | 577 | }, |
578 | 578 | "tenant" : { |
579 | - "tenants" : "Tenants", | |
580 | - "management" : "Tenant management", | |
581 | - "add" : "Add Tenant", | |
582 | - "admins" : "Admins", | |
583 | - "manage-tenant-admins" : "Manage tenant admins", | |
584 | - "delete" : "Delete tenant", | |
585 | - "add-tenant-text" : "Add new tenant", | |
586 | - "no-tenants-text" : "No tenants found", | |
587 | - "tenant-details" : "Tenant details", | |
588 | - "delete-tenant-title" : "Are you sure you want to delete the tenant '{{tenantTitle}}'?", | |
589 | - "delete-tenant-text" : "Be careful, after the confirmation the tenant and all related data will become unrecoverable.", | |
590 | - "delete-tenants-title" : "Are you sure you want to delete { count, select, 1 {1 tenant} other {# tenants} }?", | |
591 | - "delete-tenants-action-title" : "Delete { count, select, 1 {1 tenant} other {# tenants} }", | |
592 | - "delete-tenants-text" : "Be careful, after the confirmation all selected tenants will be removed and all related data will become unrecoverable.", | |
593 | - "title" : "Title", | |
594 | - "title-required" : "Title is required.", | |
595 | - "description" : "Description" | |
579 | + "tenants" : "租户", | |
580 | + "management" : "租户管理", | |
581 | + "add" : "添加租户", | |
582 | + "admins" : "管理员", | |
583 | + "manage-tenant-admins" : "管理租户管理员", | |
584 | + "delete" : "删除租户", | |
585 | + "add-tenant-text" : "添加新租户", | |
586 | + "no-tenants-text" : "没有找到租户", | |
587 | + "tenant-details" : "租客详情", | |
588 | + "delete-tenant-title" : "您确定要删除租户'{{tenantTitle}}'?", | |
589 | + "delete-tenant-text" : "小心!确认后,租户和所有相关数据将不可恢复。", | |
590 | + "delete-tenants-title" : "您确定要删除 {count,select,1 {1 tenant} other {# tenants}} 吗?", | |
591 | + "delete-tenants-action-title" : "删除 { count, select, 1 {1 tenant} other {# tenants} }", | |
592 | + "delete-tenants-text" : "小心!确认后,所有选定的租户将被删除,所有相关数据将不可恢复。", | |
593 | + "title" : "标题", | |
594 | + "title-required" : "标题是必填项。", | |
595 | + "description" : "描述" | |
596 | 596 | }, |
597 | 597 | "timeinterval" : { |
598 | 598 | "seconds-interval" : "{ seconds, select, 1 {1 second} other {# seconds} }", |
599 | 599 | "minutes-interval" : "{ minutes, select, 1 {1 minute} other {# minutes} }", |
600 | 600 | "hours-interval" : "{ hours, select, 1 {1 hour} other {# hours} }", |
601 | 601 | "days-interval" : "{ days, select, 1 {1 day} other {# days} }", |
602 | - "days" : "Days", | |
603 | - "hours" : "Hours", | |
604 | - "minutes" : "Minutes", | |
605 | - "seconds" : "Seconds", | |
606 | - "advanced" : "Advanced" | |
602 | + "days" : "天", | |
603 | + "hours" : "时", | |
604 | + "minutes" : "分", | |
605 | + "seconds" : "秒", | |
606 | + "advanced" : "高级" | |
607 | 607 | }, |
608 | 608 | "timewindow" : { |
609 | 609 | "days" : "{ days, select, 1 { day } other {# days } }", |
610 | 610 | "hours" : "{ hours, select, 0 { hour } 1 {1 hour } other {# hours } }", |
611 | 611 | "minutes" : "{ minutes, select, 0 { minute } 1 {1 minute } other {# minutes } }", |
612 | 612 | "seconds" : "{ seconds, select, 0 { second } 1 {1 second } other {# seconds } }", |
613 | - "realtime" : "Realtime", | |
614 | - "history" : "History", | |
615 | - "last-prefix" : "last", | |
616 | - "period" : "from {{ startTime }} to {{ endTime }}", | |
617 | - "edit" : "Edit timewindow", | |
618 | - "date-range" : "Date range", | |
619 | - "last" : "Last", | |
620 | - "time-period" : "Time period" | |
613 | + "realtime" : "实时", | |
614 | + "history" : "历史", | |
615 | + "last-prefix" : "最后", | |
616 | + "period" : "从 {{ startTime }} 到 {{ endTime }}", | |
617 | + "edit" : "编辑时间窗口", | |
618 | + "date-range" : "日期范围", | |
619 | + "last" : "最后", | |
620 | + "time-period" : "时间段" | |
621 | 621 | }, |
622 | 622 | "user" : { |
623 | - "users" : "Users", | |
624 | - "customer-users" : "Customer Users", | |
625 | - "tenant-admins" : "Tenant Admins", | |
626 | - "sys-admin" : "System administrator", | |
627 | - "tenant-admin" : "Tenant administrator", | |
628 | - "customer" : "Customer", | |
629 | - "anonymous" : "Anonymous", | |
630 | - "add" : "Add User", | |
631 | - "delete" : "Delete user", | |
632 | - "add-user-text" : "Add new user", | |
633 | - "no-users-text" : "No users found", | |
634 | - "user-details" : "User details", | |
635 | - "delete-user-title" : "Are you sure you want to delete the user '{{userEmail}}'?", | |
636 | - "delete-user-text" : "Be careful, after the confirmation the user and all related data will become unrecoverable.", | |
637 | - "delete-users-title" : "Are you sure you want to delete { count, select, 1 {1 user} other {# users} }?", | |
638 | - "delete-users-action-title" : "Delete { count, select, 1 {1 user} other {# users} }", | |
639 | - "delete-users-text" : "Be careful, after the confirmation all selected users will be removed and all related data will become unrecoverable.", | |
640 | - "activation-email-sent-message" : "Activation email was successfully sent!", | |
641 | - "resend-activation" : "Resend activation", | |
642 | - "email" : "Email", | |
643 | - "email-required" : "Email is required.", | |
644 | - "first-name" : "First Name", | |
645 | - "last-name" : "Last Name", | |
646 | - "description" : "Description", | |
647 | - "default-dashboard" : "Default dashboard", | |
648 | - "always-fullscreen" : "Always fullscreen" | |
623 | + "users" : "用户", | |
624 | + "customer-users" : "客户用户", | |
625 | + "tenant-admins" : "租户管理员", | |
626 | + "sys-admin" : "系统管理员", | |
627 | + "tenant-admin" : "租户管理员", | |
628 | + "customer" : "客户", | |
629 | + "anonymous" : "匿名", | |
630 | + "add" : "添加用户", | |
631 | + "delete" : "删除用户", | |
632 | + "add-user-text" : "添加新用户", | |
633 | + "no-users-text" : "找不到用户", | |
634 | + "user-details" : "用户详细信息", | |
635 | + "delete-user-title" : "您确定要删除用户 '{{userEmail}}' 吗?", | |
636 | + "delete-user-text" : "小心!确认后,用户和所有相关数据将不可恢复。", | |
637 | + "delete-users-title" : "你确定你要删除 { count, select, 1 {1 user} other {# users} }吗?", | |
638 | + "delete-users-action-title" : "删除 { count, select, 1 {1 user} other {# users} }", | |
639 | + "delete-users-text" : "小心!确认后,所有选定的用户将被删除,所有相关数据将不可恢复。", | |
640 | + "activation-email-sent-message" : "激活电子邮件已成功发送!", | |
641 | + "resend-activation" : "重新发送激活", | |
642 | + "email" : "电子邮件", | |
643 | + "email-required" : "电子邮件是必需的。", | |
644 | + "first-name" : "名字", | |
645 | + "last-name" : "姓", | |
646 | + "description" : "描述", | |
647 | + "default-dashboard" : "默认面板", | |
648 | + "always-fullscreen" : "始终全屏" | |
649 | 649 | }, |
650 | 650 | "value" : { |
651 | - "type" : "Value type", | |
652 | - "string" : "String", | |
653 | - "string-value" : "String value", | |
654 | - "integer" : "Integer", | |
655 | - "integer-value" : "Integer value", | |
656 | - "invalid-integer-value" : "Invalid integer value", | |
657 | - "double" : "Double", | |
658 | - "double-value" : "Double value", | |
659 | - "boolean" : "Boolean", | |
660 | - "boolean-value" : "Boolean value", | |
661 | - "false" : "False", | |
662 | - "true" : "True" | |
651 | + "type" : "值类型", | |
652 | + "string" : "字符串", | |
653 | + "string-value" : "字符串值", | |
654 | + "integer" : "数字", | |
655 | + "integer-value" : "数字值", | |
656 | + "invalid-integer-value" : "整数值无效", | |
657 | + "double" : "双精度小数", | |
658 | + "double-value" : "双精度小数值", | |
659 | + "boolean" : "布尔", | |
660 | + "boolean-value" : "布尔值", | |
661 | + "false" : "假", | |
662 | + "true" : "真" | |
663 | 663 | }, |
664 | 664 | "widget" : { |
665 | - "widget-library" : "Widgets Library", | |
666 | - "widget-bundle" : "Widgets Bundle", | |
667 | - "select-widgets-bundle" : "Select widgets bundle", | |
668 | - "management" : "Widget management", | |
669 | - "editor" : "Widget Editor", | |
670 | - "widget-type-not-found" : "Problem loading widget configuration.<br>Probably associated\n widget type was removed.", | |
671 | - "widget-type-load-error" : "Widget wasn't loaded due to the following errors:", | |
672 | - "remove" : "Remove widget", | |
673 | - "edit" : "Edit widget", | |
674 | - "remove-widget-title" : "Are you sure you want to remove the widget '{{widgetTitle}}'?", | |
675 | - "remove-widget-text" : "After the confirmation the widget and all related data will become unrecoverable.", | |
676 | - "timeseries" : "Time series", | |
677 | - "latest-values" : "Latest values", | |
678 | - "rpc" : "Control widget", | |
679 | - "static" : "Static widget", | |
680 | - "select-widget-type" : "Select widget type", | |
681 | - "missing-widget-title-error" : "Widget title must be specified!", | |
682 | - "widget-saved" : "Widget saved", | |
683 | - "unable-to-save-widget-error" : "Unable to save widget! Widget has errors!", | |
684 | - "save" : "Save widget", | |
685 | - "saveAs" : "Save widget as", | |
686 | - "save-widget-type-as" : "Save widget type as", | |
687 | - "save-widget-type-as-text" : "Please enter new widget title and/or select target widgets bundle", | |
688 | - "toggle-fullscreen" : "Toggle fullscreen", | |
689 | - "run" : "Run widget", | |
690 | - "title" : "Widget title", | |
691 | - "title-required" : "Widget title is required.", | |
692 | - "type" : "Widget type", | |
693 | - "resources" : "Resources", | |
665 | + "widget-library" : "小部件库", | |
666 | + "widget-bundle" : "小部件包", | |
667 | + "select-widgets-bundle" : "选择小部件包", | |
668 | + "management" : "小部件管理", | |
669 | + "editor" : "小部件编辑器", | |
670 | + "widget-type-not-found" : "加载小部件配置时出现问题。<br> 可能关联的\n 小部件类型已删除。", | |
671 | + "widget-type-load-error" : "由于以下错误,小工具未加载:", | |
672 | + "remove" : "删除小部件", | |
673 | + "edit" : "编辑小部件", | |
674 | + "remove-widget-title" : "您确定要删除小部件 '{{widgetTitle}}' 吗?", | |
675 | + "remove-widget-text" : "确认后,窗口小部件和所有相关数据将不可恢复。", | |
676 | + "timeseries" : "时间序列", | |
677 | + "latest-values" : "最新值", | |
678 | + "rpc" : "控件小部件", | |
679 | + "static" : "静态小部件", | |
680 | + "select-widget-type" : "选择窗口小部件类型", | |
681 | + "missing-widget-title-error" : "小部件标题必须指定!", | |
682 | + "widget-saved" : "小部件已保存", | |
683 | + "unable-to-save-widget-error" : "无法保存窗口小部件! 小部件有错误!", | |
684 | + "save" : "保存小部件", | |
685 | + "saveAs" : "将小部件另存为", | |
686 | + "save-widget-type-as" : "将小部件类型另存为", | |
687 | + "save-widget-type-as-text" : "请输入新的小部件标题和/或选择目标小部件包", | |
688 | + "toggle-fullscreen" : "切换全屏", | |
689 | + "run" : "运行小部件", | |
690 | + "title" : "小部件标题", | |
691 | + "title-required" : "需要小部件标题。", | |
692 | + "type" : "小部件类型", | |
693 | + "resources" : "资源", | |
694 | 694 | "resource-url" : "JavaScript/CSS URL", |
695 | - "remove-resource" : "Remove resource", | |
696 | - "add-resource" : "Add resource", | |
695 | + "remove-resource" : "删除资源", | |
696 | + "add-resource" : "添加资源", | |
697 | 697 | "html" : "HTML", |
698 | - "tidy" : "Tidy", | |
698 | + "tidy" : "整理", | |
699 | 699 | "css" : "CSS", |
700 | - "settings-schema" : "Settings schema", | |
701 | - "datakey-settings-schema" : "Data key settings schema", | |
700 | + "settings-schema" : "设置模式", | |
701 | + "datakey-settings-schema" : "数据键设置模式", | |
702 | 702 | "javascript" : "Javascript", |
703 | - "remove-widget-type-title" : "Are you sure you want to remove the widget type '{{widgetName}}'?", | |
704 | - "remove-widget-type-text" : "After the confirmation the widget type and all related data will become unrecoverable.", | |
705 | - "remove-widget-type" : "Remove widget type", | |
706 | - "add-widget-type" : "Add new widget type", | |
707 | - "widget-type-load-failed-error" : "Failed to load widget type!", | |
708 | - "widget-template-load-failed-error" : "Failed to load widget template!", | |
709 | - "add" : "Add Widget", | |
710 | - "undo" : "Undo widget changes", | |
711 | - "export" : "Export widget" | |
703 | + "remove-widget-type-title" : "您确定要删除小部件类型 '{{widgetName}}'吗?", | |
704 | + "remove-widget-type-text" : "确认后,窗口小部件类型和所有相关数据将不可恢复。", | |
705 | + "remove-widget-type" : "删除小部件类型", | |
706 | + "add-widget-type" : "添加新的小部件类型", | |
707 | + "widget-type-load-failed-error" : "无法加载小部件类型!", | |
708 | + "widget-template-load-failed-error" : "无法加载小部件模板!", | |
709 | + "add" : "添加小部件", | |
710 | + "undo" : "撤消小部件更改", | |
711 | + "export" : "导出小部件" | |
712 | 712 | }, |
713 | 713 | "widgets-bundle" : { |
714 | - "current" : "Current bundle", | |
715 | - "widgets-bundles" : "Widgets Bundles", | |
716 | - "add" : "Add Widgets Bundle", | |
717 | - "delete" : "Delete widgets bundle", | |
718 | - "title" : "Title", | |
719 | - "title-required" : "Title is required.", | |
720 | - "add-widgets-bundle-text" : "Add new widgets bundle", | |
721 | - "no-widgets-bundles-text" : "No widgets bundles found", | |
722 | - "empty" : "Widgets bundle is empty", | |
723 | - "details" : "Details", | |
724 | - "widgets-bundle-details" : "Widgets bundle details", | |
725 | - "delete-widgets-bundle-title" : "Are you sure you want to delete the widgets bundle '{{widgetsBundleTitle}}'?", | |
726 | - "delete-widgets-bundle-text" : "Be careful, after the confirmation the widgets bundle and all related data will become unrecoverable.", | |
727 | - "delete-widgets-bundles-title" : "Are you sure you want to delete { count, select, 1 {1 widgets bundle} other {# widgets bundles} }?", | |
728 | - "delete-widgets-bundles-action-title" : "Delete { count, select, 1 {1 widgets bundle} other {# widgets bundles} }", | |
729 | - "delete-widgets-bundles-text" : "Be careful, after the confirmation all selected widgets bundles will be removed and all related data will become unrecoverable.", | |
730 | - "no-widgets-bundles-matching" : "No widgets bundles matching '{{widgetsBundle}}' were found.", | |
731 | - "widgets-bundle-required" : "Widgets bundle is required.", | |
732 | - "system" : "System", | |
733 | - "import" : "Import widgets bundle", | |
734 | - "export" : "Export widgets bundle", | |
735 | - "export-failed-error" : "Unable to export widgets bundle: {{error}}", | |
736 | - "create-new-widgets-bundle" : "Create new widgets bundle", | |
737 | - "widgets-bundle-file" : "Widgets bundle file", | |
738 | - "invalid-widgets-bundle-file-error" : "Unable to import widgets bundle: Invalid widgets bundle data structure." | |
714 | + "current" : "当前包", | |
715 | + "widgets-bundles" : "小部件包", | |
716 | + "add" : "添加小部件包", | |
717 | + "delete" : "删除小部件包", | |
718 | + "title" : "标题", | |
719 | + "title-required" : "标题是必填项。", | |
720 | + "add-widgets-bundle-text" : "添加新的小部件包", | |
721 | + "no-widgets-bundles-text" : "找不到小工具包", | |
722 | + "empty" : "小部件包是空的", | |
723 | + "details" : "详情", | |
724 | + "widgets-bundle-details" : "小部件包详细信息", | |
725 | + "delete-widgets-bundle-title" : "您确定要删除小部件包 '{{widgetsBundleTitle}}'吗?", | |
726 | + "delete-widgets-bundle-text" : "小心!确认后,小部件包和所有相关数据将不可恢复。", | |
727 | + "delete-widgets-bundles-title" : "你确定你要删除 { count, select, 1 {1 widgets bundle} other {# widgets bundles} } 吗?", | |
728 | + "delete-widgets-bundles-action-title" : "删除 { count, select, 1 {1 widgets bundle} other {# widgets bundles} }", | |
729 | + "delete-widgets-bundles-text" : "小心!确认后,所有选定的小部件包将被删除,所有相关数据将不可恢复。", | |
730 | + "no-widgets-bundles-matching" : "没有找到与 '{{widgetsBundle}}' 匹配的小部件包。", | |
731 | + "widgets-bundle-required" : "需要小部件包。", | |
732 | + "system" : "系统", | |
733 | + "import" : "导入小部件包", | |
734 | + "export" : "导出小部件包", | |
735 | + "export-failed-error" : "无法导出小部件包: {{error}}", | |
736 | + "create-new-widgets-bundle" : "创建新的小部件包", | |
737 | + "widgets-bundle-file" : "小部件包文件", | |
738 | + "invalid-widgets-bundle-file-error" : "无法导入小部件包:无效的小部件包数据结构。" | |
739 | 739 | }, |
740 | 740 | "widget-config" : { |
741 | - "data" : "Data", | |
742 | - "settings" : "Settings", | |
743 | - "advanced" : "Advanced", | |
744 | - "title" : "Title", | |
745 | - "general-settings" : "General settings", | |
746 | - "display-title" : "Display title", | |
747 | - "drop-shadow" : "Drop shadow", | |
748 | - "enable-fullscreen" : "Enable fullscreen", | |
749 | - "background-color" : "Background color", | |
750 | - "text-color" : "Text color", | |
751 | - "padding" : "Padding", | |
752 | - "title-style" : "Title style", | |
753 | - "mobile-mode-settings" : "Mobile mode settings", | |
754 | - "order" : "Order", | |
755 | - "height" : "Height", | |
756 | - "units" : "Special symbol to show next to value", | |
757 | - "decimals" : "Number of digits after floating point", | |
758 | - "timewindow" : "Timewindow", | |
759 | - "use-dashboard-timewindow" : "Use dashboard timewindow", | |
760 | - "display-legend" : "Display legend", | |
761 | - "datasources" : "Datasources", | |
762 | - "datasource-type" : "Type", | |
763 | - "datasource-parameters" : "Parameters", | |
764 | - "remove-datasource" : "Remove datasource", | |
765 | - "add-datasource" : "Add datasource", | |
766 | - "target-device" : "Target device" | |
741 | + "data" : "数据", | |
742 | + "settings" : "设置", | |
743 | + "advanced" : "高级", | |
744 | + "title" : "标题", | |
745 | + "general-settings" : "常规设置", | |
746 | + "display-title" : "显示标题", | |
747 | + "drop-shadow" : "阴影", | |
748 | + "enable-fullscreen" : "启用全屏", | |
749 | + "background-color" : "背景颜色", | |
750 | + "text-color" : "文字颜色", | |
751 | + "padding" : "填充", | |
752 | + "title-style" : "标题风格", | |
753 | + "mobile-mode-settings" : "移动模式设置", | |
754 | + "order" : "顺序", | |
755 | + "height" : "高度", | |
756 | + "units" : "特殊符号展示值", | |
757 | + "decimals" : "浮点数后的位数", | |
758 | + "timewindow" : "时间窗口", | |
759 | + "use-dashboard-timewindow" : "使用仪表板的时间窗口", | |
760 | + "display-legend" : "显示图例", | |
761 | + "datasources" : "数据源", | |
762 | + "datasource-type" : "类型", | |
763 | + "datasource-parameters" : "参数", | |
764 | + "remove-datasource" : "移除数据源", | |
765 | + "add-datasource" : "添加数据源", | |
766 | + "target-device" : "目标设备" | |
767 | 767 | }, |
768 | 768 | "widget-type" : { |
769 | - "import" : "Import widget type", | |
770 | - "export" : "Export widget type", | |
771 | - "export-failed-error" : "Unable to export widget type: {{error}}", | |
772 | - "create-new-widget-type" : "Create new widget type", | |
773 | - "widget-type-file" : "Widget type file", | |
774 | - "invalid-widget-type-file-error" : "Unable to import widget type: Invalid widget type data structure." | |
769 | + "import" : "导入小部件类型", | |
770 | + "export" : "导出小部件类型", | |
771 | + "export-failed-error" : "无法导出小部件类型: {{error}}", | |
772 | + "create-new-widget-type" : "创建新的小部件类型", | |
773 | + "widget-type-file" : "小部件类型文件", | |
774 | + "invalid-widget-type-file-error" : "无法导入小部件类型:无效的小部件类型数据结构。" | |
775 | 775 | }, |
776 | 776 | "language" : { |
777 | 777 | "language" : "语言", |
778 | 778 | "en_US" : "英语", |
779 | 779 | "ko_KR" : "韩语", |
780 | - "zh_CN": "汉语" | |
780 | + "zh_CN" : "汉语" | |
781 | 781 | } |
782 | 782 | }; |
783 | 783 | angular.extend(locales, { | ... | ... |
... | ... | @@ -27,7 +27,11 @@ export default function ProfileController(userService, $scope, $document, $mdDia |
27 | 27 | |
28 | 28 | vm.save = save; |
29 | 29 | vm.changePassword = changePassword; |
30 | - vm.languageList = {en_US: {value: "en_US", name: "language.en_US"}, ko_KR: {value : "ko_KR", name: "language.ko_KR"}}; | |
30 | + vm.languageList = { | |
31 | + en_US: {value: "en_US", name: "language.en_US"}, | |
32 | + ko_KR: {value : "ko_KR", name: "language.ko_KR"}, | |
33 | + zh_CN: {value : "zh_CN", name: "language.zh_CN"} | |
34 | +}; | |
31 | 35 | |
32 | 36 | loadProfile(); |
33 | 37 | ... | ... |