thingsboard-aplcache
Details
ui/src/app/app.config.js 5(+4 -1)
diff --git a/ui/src/app/app.config.js b/ui/src/app/app.config.js
index 12e6b15..0cd9a9c 100644
--- a/ui/src/app/app.config.js
+++ b/ui/src/app/app.config.js
@@ -46,18 +46,21 @@ export default function AppConfig($provide,
$translateProvider.useSanitizeValueStrategy('sce');
$translateProvider.preferredLanguage('en_US');
+ //$translateProvider.preferredLanguage('zh_CN');
$translateProvider.useLocalStorage();
$translateProvider.useMissingTranslationHandlerLog();
$translateProvider.addInterpolation('$translateMessageFormatInterpolation');
addLocaleKorean(locales);
addLocaleChinese(locales);
+
var $window = angular.injector(['ng']).get('$window');
var lang = $window.navigator.language || $window.navigator.userLanguage;
+ //$log.log("----====User language ====----"+lang);
if (lang === 'ko') {
$translateProvider.useSanitizeValueStrategy(null);
$translateProvider.preferredLanguage('ko_KR');
- }else if(lang === 'zh') {
+ } else if (lang === 'zh') {
$translateProvider.useSanitizeValueStrategy(null);
$translateProvider.preferredLanguage('zh_CN');
}
ui/src/app/locale/locale.constant-zh.js 578(+289 -289)
diff --git a/ui/src/app/locale/locale.constant-zh.js b/ui/src/app/locale/locale.constant-zh.js
index 3175f9c..050f423 100644
--- a/ui/src/app/locale/locale.constant-zh.js
+++ b/ui/src/app/locale/locale.constant-zh.js
@@ -21,7 +21,7 @@ export default function addLocaleChinese(locales) {
"unauthorized-access" : "未授权访问",
"unauthorized-access-text" : "您应该登录以访问此资源!",
"access-forbidden" : "禁止访问",
- "access-forbidden-text" : "您没有访问此位置的权限<br/>如果您仍希望访问此位置,请尝试使用其他用户登录。",
+ "access-forbidden-text" : "您没有访问此位置的权限! <br/> 如果您仍希望访问此位置,请尝试使用其他用户登录。",
"refresh-token-expired" : "会话已过期",
"refresh-token-failed" : "无法刷新会话"
},
@@ -109,7 +109,7 @@ export default function addLocaleChinese(locales) {
"key-required" : "属性键是必需的。",
"value" : "值",
"value-required" : "属性值是必需的。",
- "delete-attributes-title" : "您确定要删除 { count, select, 1 {1 attribute} other {# attributes} }?",
+ "delete-attributes-title" : "您确定要删除 { count, select, 1 {1 attribute} other {# attributes} } 吗?",
"delete-attributes-text" : "注意,确认后所有选中的属性都会被删除。",
"delete-attributes" : "删除属性",
"enter-attribute-value" : "输入属性值",
@@ -124,7 +124,7 @@ export default function addLocaleChinese(locales) {
},
"confirm-on-exit" : {
"message" : "您有未保存的更改。确定要离开此页吗?",
- "html-message" : "您有未保存的更改。<br/>确定要离开此页面吗?",
+ "html-message" : "您有未保存的更改。 <br/> 确定要离开此页面吗?",
"title" : "未保存的更改"
},
"contact" : {
@@ -162,7 +162,7 @@ export default function addLocaleChinese(locales) {
"customer-details" : "客户详情",
"delete-customer-title" : "您确定要删除客户'{{customerTitle}}'吗?",
"delete-customer-text" : "小心!确认后,客户及其所有相关数据将不可恢复。",
- "delete-customers-title" : "您确定要删除 { count, select, 1 {1 customer} other {# customers} }?",
+ "delete-customers-title" : "您确定要删除 { count, select, 1 {1 customer} other {# customers} } 吗?",
"delete-customers-action-title" : "删除 { count, select, 1 {1 customer} other {# customers} }",
"delete-customers-text" : "小心!确认后,所有选定的客户将被删除,所有相关数据将不可恢复。",
"manage-users" : "管理用户",
@@ -209,13 +209,13 @@ export default function addLocaleChinese(locales) {
"unassign-dashboards-action-title" : "从客户取消分配 { count, select, 1 {1 dashboard} other {# dashboards} }",
"delete-dashboard-title" : "您确定要删除仪表板 '{{dashboardTitle}}'?",
"delete-dashboard-text" : "小心!确认后仪表板及其所有相关数据将不可恢复。",
- "delete-dashboards-title" : "你确定要删除 { count, select, 1 {1 dashboard} other {# dashboards} }?",
+ "delete-dashboards-title" : "你确定要删除 { count, select, 1 {1 dashboard} other {# dashboards} } 吗?",
"delete-dashboards-action-title" : "删除 { count, select, 1 {1 dashboard} other {# dashboards} }",
"delete-dashboards-text" : "小心!确认后所有被选中的仪表板将被删除,所有相关数据将不可恢复。",
"unassign-dashboard-title" : "您确定要取消分配仪表板 '{{dashboardTitle}}'?",
"unassign-dashboard-text" : "确认后,仪表板将取消分配,客户将无法访问。",
"unassign-dashboard" : "取消分配仪表板",
- "unassign-dashboards-title" : "您确定要取消分配 { count, select, 1 {1 dashboard} other {# dashboards} }?",
+ "unassign-dashboards-title" : "您确定要取消分配 { count, select, 1 {1 dashboard} other {# dashboards} } 吗?",
"unassign-dashboards-text" : "确认后,所有选定的仪表板将被取消分配,并且用户将无法访问。",
"select-dashboard" : "选择仪表板",
"no-dashboards-matching" : "找不到符合 '{{dashboard}}' 的仪表板。",
@@ -234,7 +234,7 @@ export default function addLocaleChinese(locales) {
"columns-count" : "列数",
"columns-count-required" : "需要列数。",
"min-columns-count-message" : "只允许最少10列",
- "max-columns-count-message" : "只允许最大1000列",
+ "max-columns-count-message" : "只允许最多1000列",
"widgets-margins" : "部件间边距",
"horizontal-margin" : "水平边距",
"horizontal-margin-required" : "需要水平边距值。",
@@ -262,7 +262,7 @@ export default function addLocaleChinese(locales) {
"close-toolbar" : "关闭工具栏",
"configuration-error" : "配置错误",
"alias-resolution-error-title" : "仪表板别名配置错误",
- "invalid-aliases-config" : "无法找到与某些别名过滤器匹配的任何设备。<br/>" +
+ "invalid-aliases-config" : "无法找到与某些别名过滤器匹配的任何设备。 <br/>" +
"请联系您的管理员以解决此问题。",
"select-devices" : "选择设备",
"assignedToCustomer" : "分配给客户"
@@ -304,7 +304,7 @@ export default function addLocaleChinese(locales) {
"no-keys-found" : "找不到密钥。",
"create-new-alias": "创建一个新的!",
"create-new-key": "创建一个新的!",
- "duplicate-alias-error" : "找到重复别名 '{{alias}}'.<br>设备别名必须是唯一的。",
+ "duplicate-alias-error" : "找到重复别名 '{{alias}}'。 <br> 设备别名必须是唯一的。",
"configure-alias" : "配置 '{{alias}}' 别名",
"no-devices-matching" : "找不到与 '{{device}}' 匹配的设备。",
"alias" : "别名",
@@ -329,22 +329,22 @@ export default function addLocaleChinese(locales) {
"manage-credentials": "管理凭据",
"delete": "删除设备",
"assign-devices": "分配设备",
- "assign-devices-text": "将{count,select,1 {1 device} other {#devices}}分配给客户",
+ "assign-devices-text": "将{count,select,1 {1 device} other {# devices}}分配给客户",
"delete-devices": "删除设备",
"unassign-from-customer": "取消分配客户",
"unassign-devices": "取消分配设备",
- "unassign-devices-action-title": "从客户处取消分配{count,select,1 {1 device} other {#devices}}",
+ "unassign-devices-action-title": "从客户处取消分配{count,select,1 {1 device} other {# devices}}",
"assign-new-device": "分配新设备",
"view-credentials": "查看凭据",
"delete-device-title": "您确定要删除设备的{{deviceName}}吗?",
"delete-device-text": "小心!确认后设备及其所有相关数据将不可恢复。",
- "delete-devices-title": "您确定要删除{count,select,1 {1 device} other {#devices}}?",
- "delete-devices-action-title": "删除 {count,select,1 {1 device} other {#devices}}",
+ "delete-devices-title": "您确定要删除{count,select,1 {1 device} other {# devices}} 吗?",
+ "delete-devices-action-title": "删除 {count,select,1 {1 device} other {# devices}}",
"delete-devices-text": "小心!确认后所有选定的设备将被删除,所有相关数据将不可恢复。",
"unassign-device-title": "您确定要取消分配设备 '{{deviceName}}'?",
"unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。",
"unassign-device": "取消分配设备",
- "unassign-devices-title": "您确定要取消分配{count,select,1 {1 device} other {#devices}}?",
+ "unassign-devices-title": "您确定要取消分配{count,select,1 {1 device} other {# devices}} 吗?",
"unassign-devices-text": "确认后,所有选定的设备将被取消分配,并且客户将无法访问。",
"device-credentials": "设备凭据",
"credentials-type": "凭据类型",
@@ -366,7 +366,7 @@ export default function addLocaleChinese(locales) {
"accessTokenCopiedMessage": "设备访问令牌已复制到剪贴板",
"assignedToCustomer": "分配给客户",
"unable-delete-device-alias-title": "无法删除设备别名",
- "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用:<br/>{{widgetsList}}",
+ "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用: <br/> {{widgetsList}}",
"is-gateway": "是网关"
},
"dialog" : {
@@ -404,13 +404,13 @@ export default function addLocaleChinese(locales) {
"fullscreen": "全屏"
},
"function" : {
- "function" : "功能"
+ "function" : "函数"
},
"grid" : {
"delete-item-title": "您确定要删除此项吗?",
"delete-item-text": "注意,确认后此项和所有相关数据将变得不可恢复。",
- "delete-items-title": "您确定要删除{count,select,1 {1 item} other {#items}}?",
- "delete-items-action-title": "删除{count,select,1 {1 item} other {#items}}",
+ "delete-items-title": "您确定要删除{count, select, 1 {1 item} other {# items}} 吗?",
+ "delete-items-action-title": "删除{count, select, 1 {1 item} other {# items}}",
"delete-items-text": "注意,确认后所有选择的项目将被删除,所有相关数据将变得不可恢复。",
"add-item-text": "添加新项目",
"no-items-text": "没有找到项目",
@@ -442,16 +442,16 @@ export default function addLocaleChinese(locales) {
"return-type-mismatch": "函数必须返回'{{type}}'类型的值!"
},
"legend" : {
- "position" : "Legend position",
- "show-max" : "Show max value",
- "show-min" : "Show min value",
- "show-avg" : "Show average value",
- "show-total" : "Show total value",
- "settings" : "Legend settings",
- "min" : "min",
- "max" : "max",
- "avg" : "avg",
- "total" : "total"
+ "position" : "图例位置",
+ "show-max" : "显示最大值",
+ "show-min" : "显示最小值",
+ "show-avg" : "显示平均值",
+ "show-total" : "显示总数",
+ "settings" : "图例设置",
+ "min" : "最小值",
+ "max" : "最大值",
+ "avg" : "平均值",
+ "total" : "总数"
},
"login" : {
"login": "登录",
@@ -471,49 +471,49 @@ export default function addLocaleChinese(locales) {
"email": "电子邮件"
},
"plugin" : {
- "plugins" : "Plugins",
- "delete" : "Delete plugin",
- "activate" : "Activate plugin",
- "suspend" : "Suspend plugin",
- "active" : "Active",
- "suspended" : "Suspended",
- "name" : "Name",
- "name-required" : "Name is required.",
- "description" : "Description",
- "add" : "Add Plugin",
- "delete-plugin-title" : "Are you sure you want to delete the plugin '{{pluginName}}'?",
- "delete-plugin-text" : "Be careful, after the confirmation the plugin and all related data will become unrecoverable.",
- "delete-plugins-title" : "Are you sure you want to delete { count, select, 1 {1 plugin} other {# plugins} }?",
- "delete-plugins-action-title" : "Delete { count, select, 1 {1 plugin} other {# plugins} }",
- "delete-plugins-text" : "Be careful, after the confirmation all selected plugins will be removed and all related data will become unrecoverable.",
- "add-plugin-text" : "Add new plugin",
- "no-plugins-text" : "No plugins found",
- "plugin-details" : "Plugin details",
- "api-token" : "API token",
- "api-token-required" : "API token is required.",
- "type" : "Plugin type",
- "type-required" : "Plugin type is required.",
- "configuration" : "Plugin configuration",
- "system" : "System",
- "select-plugin" : "Select plugin",
- "plugin" : "Plugin",
- "no-plugins-matching" : "No plugins matching '{{plugin}}' were found.",
- "plugin-required" : "Plugin is required.",
- "plugin-require-match" : "Please select an existing plugin.",
- "events" : "Events",
- "details" : "Details",
- "import" : "Import plugin",
- "export" : "Export plugin",
- "export-failed-error" : "Unable to export plugin: {{error}}",
- "create-new-plugin" : "Create new plugin",
- "plugin-file" : "Plugin file",
- "invalid-plugin-file-error" : "Unable to import plugin: Invalid plugin data structure."
+ "plugins" : "插件",
+ "delete" : "删除插件",
+ "activate" : "激活插件",
+ "suspend" : "暂停插件",
+ "active" : "激活",
+ "suspended" : "暂停",
+ "name" : "名称",
+ "name-required" : "名称是必填项。",
+ "description" : "描述",
+ "add" : "添加插件",
+ "delete-plugin-title" : "你确定要删除插件 '{{pluginName}}' 吗?",
+ "delete-plugin-text" : "小心!确认后,插件和所有相关数据将不可恢复。",
+ "delete-plugins-title" : "你确定你要删除 { count, select, 1 {1 plugin} other {# plugins} } 吗?",
+ "delete-plugins-action-title" : "删除 { count, select, 1 {1 plugin} other {# plugins} }",
+ "delete-plugins-text" : "小心!确认后,所有选定的插件将被删除,所有相关数据将不可恢复。",
+ "add-plugin-text" : "添加新的插件",
+ "no-plugins-text" : "没有找到插件",
+ "plugin-details" : "插件详细信息",
+ "api-token" : "API令牌",
+ "api-token-required" : "API令牌是必需的。",
+ "type" : "插件类型",
+ "type-required" : "插件类型是必需的。",
+ "configuration" : "插件配置",
+ "system" : "系统",
+ "select-plugin" : "选择插件",
+ "plugin" : "插件",
+ "no-plugins-matching" : "没有找到匹配'{{plugin}}'的插件。",
+ "plugin-required" : "插件是必需的。",
+ "plugin-require-match" : "请选择一个现有的插件。",
+ "events" : "事件",
+ "details" : "详情",
+ "import" : "导入插件",
+ "export" : "导出插件",
+ "export-failed-error" : "无法导出插件:{{error}}",
+ "create-new-plugin" : "创建新的插件",
+ "plugin-file" : "插件文件",
+ "invalid-plugin-file-error" : "无法导入插件:插件数据结构无效。"
},
"position" : {
- "top" : "Top",
- "bottom" : "Bottom",
- "left" : "Left",
- "right" : "Right"
+ "top" : "顶部",
+ "bottom" : "底部",
+ "left" : "左侧",
+ "right" : "右侧"
},
"profile" : {
"profile": "属性",
@@ -521,263 +521,263 @@ export default function addLocaleChinese(locales) {
"current-password": "当前密码"
},
"rule" : {
- "rules" : "Rules",
- "delete" : "Delete rule",
- "activate" : "Activate rule",
- "suspend" : "Suspend rule",
- "active" : "Active",
- "suspended" : "Suspended",
- "name" : "Name",
- "name-required" : "Name is required.",
- "description" : "Description",
- "add" : "Add Rule",
- "delete-rule-title" : "Are you sure you want to delete the rule '{{ruleName}}'?",
- "delete-rule-text" : "Be careful, after the confirmation the rule and all related data will become unrecoverable.",
- "delete-rules-title" : "Are you sure you want to delete { count, select, 1 {1 rule} other {# rules} }?",
- "delete-rules-action-title" : "Delete { count, select, 1 {1 rule} other {# rules} }",
- "delete-rules-text" : "Be careful, after the confirmation all selected rules will be removed and all related data will become unrecoverable.",
- "add-rule-text" : "Add new rule",
- "no-rules-text" : "No rules found",
- "rule-details" : "Rule details",
- "filters" : "Filters",
- "filter" : "Filter",
- "add-filter-prompt" : "Please add filter",
- "remove-filter" : "Remove filter",
- "add-filter" : "Add filter",
- "filter-name" : "Filter name",
- "filter-type" : "Filter type",
- "edit-filter" : "Edit filter",
- "view-filter" : "View filter",
- "component-name" : "Name",
- "component-name-required" : "Name is required.",
- "component-type" : "Type",
- "component-type-required" : "Type is required.",
- "processor" : "Processor",
- "no-processor-configured" : "No processor configured",
- "create-processor" : "Create processor",
- "processor-name" : "Processor name",
- "processor-type" : "Processor type",
- "plugin-action" : "Plugin action",
- "action-name" : "Action name",
- "action-type" : "Action type",
- "create-action-prompt" : "Please create action",
- "create-action" : "Create action",
- "details" : "Details",
- "events" : "Events",
- "system" : "System",
- "import" : "Import rule",
- "export" : "Export rule",
- "export-failed-error" : "Unable to export rule: {{error}}",
- "create-new-rule" : "Create new rule",
- "rule-file" : "Rule file",
- "invalid-rule-file-error" : "Unable to import rule: Invalid rule data structure."
+ "rules" : "规则",
+ "delete" : "删除规则",
+ "activate" : "激活规则",
+ "suspend" : "暂停规则",
+ "active" : "激活",
+ "suspended" : "暂停",
+ "name" : "名称",
+ "name-required" : "名称是必填项。",
+ "description" : "描述",
+ "add" : "添加规则",
+ "delete-rule-title" : "您确定要删除规则'{{ruleName}}'吗?",
+ "delete-rule-text" : "小心!确认后,规则和所有相关数据将不可恢复。",
+ "delete-rules-title" : "你确定要删除 {count, select, 1 {1 rule} other {# rules}} 吗?",
+ "delete-rules-action-title" : "删除 { count, select, 1 {1 rule} other {# rules} }",
+ "delete-rules-text" : "小心!确认后,所有选定的规则将被删除,所有相关数据将不可恢复。",
+ "add-rule-text" : "添加新规则",
+ "no-rules-text" : "没有找到规则",
+ "rule-details" : "规则详情",
+ "filters" : "过滤器",
+ "filter" : "过滤器",
+ "add-filter-prompt" : "请添加过滤器",
+ "remove-filter" : "删除过滤器",
+ "add-filter" : "添加过滤器",
+ "filter-name" : "过滤器名称",
+ "filter-type" : "过滤器类型",
+ "edit-filter" : "编辑过滤器",
+ "view-filter" : "查看过滤器",
+ "component-name" : "名称",
+ "component-name-required" : "名称是必填项。",
+ "component-type" : "类型",
+ "component-type-required" : "类型是必填项。",
+ "processor" : "处理器",
+ "no-processor-configured" : "未配置处理器",
+ "create-processor" : "创建处理器",
+ "processor-name" : "处理器名称",
+ "processor-type" : "处理器类型",
+ "plugin-action" : "插件动作",
+ "action-name" : "动作名称",
+ "action-type" : "动作类型",
+ "create-action-prompt" : "请创建动作",
+ "create-action" : "创建动作",
+ "details" : "详情",
+ "events" : "事件",
+ "system" : "系统",
+ "import" : "导入规则",
+ "export" : "导出规则",
+ "export-failed-error" : "无法导出规则:{{error}}",
+ "create-new-rule" : "创建新规则",
+ "rule-file" : "规则文件",
+ "invalid-rule-file-error" : "无法导入规则:规则数据结构无效。"
},
"rule-plugin" : {
- "management" : "Rules and plugins management"
+ "management" : "规则和插件管理"
},
"tenant" : {
- "tenants" : "Tenants",
- "management" : "Tenant management",
- "add" : "Add Tenant",
- "admins" : "Admins",
- "manage-tenant-admins" : "Manage tenant admins",
- "delete" : "Delete tenant",
- "add-tenant-text" : "Add new tenant",
- "no-tenants-text" : "No tenants found",
- "tenant-details" : "Tenant details",
- "delete-tenant-title" : "Are you sure you want to delete the tenant '{{tenantTitle}}'?",
- "delete-tenant-text" : "Be careful, after the confirmation the tenant and all related data will become unrecoverable.",
- "delete-tenants-title" : "Are you sure you want to delete { count, select, 1 {1 tenant} other {# tenants} }?",
- "delete-tenants-action-title" : "Delete { count, select, 1 {1 tenant} other {# tenants} }",
- "delete-tenants-text" : "Be careful, after the confirmation all selected tenants will be removed and all related data will become unrecoverable.",
- "title" : "Title",
- "title-required" : "Title is required.",
- "description" : "Description"
+ "tenants" : "租户",
+ "management" : "租户管理",
+ "add" : "添加租户",
+ "admins" : "管理员",
+ "manage-tenant-admins" : "管理租户管理员",
+ "delete" : "删除租户",
+ "add-tenant-text" : "添加新租户",
+ "no-tenants-text" : "没有找到租户",
+ "tenant-details" : "租客详情",
+ "delete-tenant-title" : "您确定要删除租户'{{tenantTitle}}'?",
+ "delete-tenant-text" : "小心!确认后,租户和所有相关数据将不可恢复。",
+ "delete-tenants-title" : "您确定要删除 {count,select,1 {1 tenant} other {# tenants}} 吗?",
+ "delete-tenants-action-title" : "删除 { count, select, 1 {1 tenant} other {# tenants} }",
+ "delete-tenants-text" : "小心!确认后,所有选定的租户将被删除,所有相关数据将不可恢复。",
+ "title" : "标题",
+ "title-required" : "标题是必填项。",
+ "description" : "描述"
},
"timeinterval" : {
"seconds-interval" : "{ seconds, select, 1 {1 second} other {# seconds} }",
"minutes-interval" : "{ minutes, select, 1 {1 minute} other {# minutes} }",
"hours-interval" : "{ hours, select, 1 {1 hour} other {# hours} }",
"days-interval" : "{ days, select, 1 {1 day} other {# days} }",
- "days" : "Days",
- "hours" : "Hours",
- "minutes" : "Minutes",
- "seconds" : "Seconds",
- "advanced" : "Advanced"
+ "days" : "天",
+ "hours" : "时",
+ "minutes" : "分",
+ "seconds" : "秒",
+ "advanced" : "高级"
},
"timewindow" : {
"days" : "{ days, select, 1 { day } other {# days } }",
"hours" : "{ hours, select, 0 { hour } 1 {1 hour } other {# hours } }",
"minutes" : "{ minutes, select, 0 { minute } 1 {1 minute } other {# minutes } }",
"seconds" : "{ seconds, select, 0 { second } 1 {1 second } other {# seconds } }",
- "realtime" : "Realtime",
- "history" : "History",
- "last-prefix" : "last",
- "period" : "from {{ startTime }} to {{ endTime }}",
- "edit" : "Edit timewindow",
- "date-range" : "Date range",
- "last" : "Last",
- "time-period" : "Time period"
+ "realtime" : "实时",
+ "history" : "历史",
+ "last-prefix" : "最后",
+ "period" : "从 {{ startTime }} 到 {{ endTime }}",
+ "edit" : "编辑时间窗口",
+ "date-range" : "日期范围",
+ "last" : "最后",
+ "time-period" : "时间段"
},
"user" : {
- "users" : "Users",
- "customer-users" : "Customer Users",
- "tenant-admins" : "Tenant Admins",
- "sys-admin" : "System administrator",
- "tenant-admin" : "Tenant administrator",
- "customer" : "Customer",
- "anonymous" : "Anonymous",
- "add" : "Add User",
- "delete" : "Delete user",
- "add-user-text" : "Add new user",
- "no-users-text" : "No users found",
- "user-details" : "User details",
- "delete-user-title" : "Are you sure you want to delete the user '{{userEmail}}'?",
- "delete-user-text" : "Be careful, after the confirmation the user and all related data will become unrecoverable.",
- "delete-users-title" : "Are you sure you want to delete { count, select, 1 {1 user} other {# users} }?",
- "delete-users-action-title" : "Delete { count, select, 1 {1 user} other {# users} }",
- "delete-users-text" : "Be careful, after the confirmation all selected users will be removed and all related data will become unrecoverable.",
- "activation-email-sent-message" : "Activation email was successfully sent!",
- "resend-activation" : "Resend activation",
- "email" : "Email",
- "email-required" : "Email is required.",
- "first-name" : "First Name",
- "last-name" : "Last Name",
- "description" : "Description",
- "default-dashboard" : "Default dashboard",
- "always-fullscreen" : "Always fullscreen"
+ "users" : "用户",
+ "customer-users" : "客户用户",
+ "tenant-admins" : "租户管理员",
+ "sys-admin" : "系统管理员",
+ "tenant-admin" : "租户管理员",
+ "customer" : "客户",
+ "anonymous" : "匿名",
+ "add" : "添加用户",
+ "delete" : "删除用户",
+ "add-user-text" : "添加新用户",
+ "no-users-text" : "找不到用户",
+ "user-details" : "用户详细信息",
+ "delete-user-title" : "您确定要删除用户 '{{userEmail}}' 吗?",
+ "delete-user-text" : "小心!确认后,用户和所有相关数据将不可恢复。",
+ "delete-users-title" : "你确定你要删除 { count, select, 1 {1 user} other {# users} }吗?",
+ "delete-users-action-title" : "删除 { count, select, 1 {1 user} other {# users} }",
+ "delete-users-text" : "小心!确认后,所有选定的用户将被删除,所有相关数据将不可恢复。",
+ "activation-email-sent-message" : "激活电子邮件已成功发送!",
+ "resend-activation" : "重新发送激活",
+ "email" : "电子邮件",
+ "email-required" : "电子邮件是必需的。",
+ "first-name" : "名字",
+ "last-name" : "姓",
+ "description" : "描述",
+ "default-dashboard" : "默认面板",
+ "always-fullscreen" : "始终全屏"
},
"value" : {
- "type" : "Value type",
- "string" : "String",
- "string-value" : "String value",
- "integer" : "Integer",
- "integer-value" : "Integer value",
- "invalid-integer-value" : "Invalid integer value",
- "double" : "Double",
- "double-value" : "Double value",
- "boolean" : "Boolean",
- "boolean-value" : "Boolean value",
- "false" : "False",
- "true" : "True"
+ "type" : "值类型",
+ "string" : "字符串",
+ "string-value" : "字符串值",
+ "integer" : "数字",
+ "integer-value" : "数字值",
+ "invalid-integer-value" : "整数值无效",
+ "double" : "双精度小数",
+ "double-value" : "双精度小数值",
+ "boolean" : "布尔",
+ "boolean-value" : "布尔值",
+ "false" : "假",
+ "true" : "真"
},
"widget" : {
- "widget-library" : "Widgets Library",
- "widget-bundle" : "Widgets Bundle",
- "select-widgets-bundle" : "Select widgets bundle",
- "management" : "Widget management",
- "editor" : "Widget Editor",
- "widget-type-not-found" : "Problem loading widget configuration.<br>Probably associated\n widget type was removed.",
- "widget-type-load-error" : "Widget wasn't loaded due to the following errors:",
- "remove" : "Remove widget",
- "edit" : "Edit widget",
- "remove-widget-title" : "Are you sure you want to remove the widget '{{widgetTitle}}'?",
- "remove-widget-text" : "After the confirmation the widget and all related data will become unrecoverable.",
- "timeseries" : "Time series",
- "latest-values" : "Latest values",
- "rpc" : "Control widget",
- "static" : "Static widget",
- "select-widget-type" : "Select widget type",
- "missing-widget-title-error" : "Widget title must be specified!",
- "widget-saved" : "Widget saved",
- "unable-to-save-widget-error" : "Unable to save widget! Widget has errors!",
- "save" : "Save widget",
- "saveAs" : "Save widget as",
- "save-widget-type-as" : "Save widget type as",
- "save-widget-type-as-text" : "Please enter new widget title and/or select target widgets bundle",
- "toggle-fullscreen" : "Toggle fullscreen",
- "run" : "Run widget",
- "title" : "Widget title",
- "title-required" : "Widget title is required.",
- "type" : "Widget type",
- "resources" : "Resources",
+ "widget-library" : "小部件库",
+ "widget-bundle" : "小部件包",
+ "select-widgets-bundle" : "选择小部件包",
+ "management" : "小部件管理",
+ "editor" : "小部件编辑器",
+ "widget-type-not-found" : "加载小部件配置时出现问题。<br> 可能关联的\n 小部件类型已删除。",
+ "widget-type-load-error" : "由于以下错误,小工具未加载:",
+ "remove" : "删除小部件",
+ "edit" : "编辑小部件",
+ "remove-widget-title" : "您确定要删除小部件 '{{widgetTitle}}' 吗?",
+ "remove-widget-text" : "确认后,窗口小部件和所有相关数据将不可恢复。",
+ "timeseries" : "时间序列",
+ "latest-values" : "最新值",
+ "rpc" : "控件小部件",
+ "static" : "静态小部件",
+ "select-widget-type" : "选择窗口小部件类型",
+ "missing-widget-title-error" : "小部件标题必须指定!",
+ "widget-saved" : "小部件已保存",
+ "unable-to-save-widget-error" : "无法保存窗口小部件! 小部件有错误!",
+ "save" : "保存小部件",
+ "saveAs" : "将小部件另存为",
+ "save-widget-type-as" : "将小部件类型另存为",
+ "save-widget-type-as-text" : "请输入新的小部件标题和/或选择目标小部件包",
+ "toggle-fullscreen" : "切换全屏",
+ "run" : "运行小部件",
+ "title" : "小部件标题",
+ "title-required" : "需要小部件标题。",
+ "type" : "小部件类型",
+ "resources" : "资源",
"resource-url" : "JavaScript/CSS URL",
- "remove-resource" : "Remove resource",
- "add-resource" : "Add resource",
+ "remove-resource" : "删除资源",
+ "add-resource" : "添加资源",
"html" : "HTML",
- "tidy" : "Tidy",
+ "tidy" : "整理",
"css" : "CSS",
- "settings-schema" : "Settings schema",
- "datakey-settings-schema" : "Data key settings schema",
+ "settings-schema" : "设置模式",
+ "datakey-settings-schema" : "数据键设置模式",
"javascript" : "Javascript",
- "remove-widget-type-title" : "Are you sure you want to remove the widget type '{{widgetName}}'?",
- "remove-widget-type-text" : "After the confirmation the widget type and all related data will become unrecoverable.",
- "remove-widget-type" : "Remove widget type",
- "add-widget-type" : "Add new widget type",
- "widget-type-load-failed-error" : "Failed to load widget type!",
- "widget-template-load-failed-error" : "Failed to load widget template!",
- "add" : "Add Widget",
- "undo" : "Undo widget changes",
- "export" : "Export widget"
+ "remove-widget-type-title" : "您确定要删除小部件类型 '{{widgetName}}'吗?",
+ "remove-widget-type-text" : "确认后,窗口小部件类型和所有相关数据将不可恢复。",
+ "remove-widget-type" : "删除小部件类型",
+ "add-widget-type" : "添加新的小部件类型",
+ "widget-type-load-failed-error" : "无法加载小部件类型!",
+ "widget-template-load-failed-error" : "无法加载小部件模板!",
+ "add" : "添加小部件",
+ "undo" : "撤消小部件更改",
+ "export" : "导出小部件"
},
"widgets-bundle" : {
- "current" : "Current bundle",
- "widgets-bundles" : "Widgets Bundles",
- "add" : "Add Widgets Bundle",
- "delete" : "Delete widgets bundle",
- "title" : "Title",
- "title-required" : "Title is required.",
- "add-widgets-bundle-text" : "Add new widgets bundle",
- "no-widgets-bundles-text" : "No widgets bundles found",
- "empty" : "Widgets bundle is empty",
- "details" : "Details",
- "widgets-bundle-details" : "Widgets bundle details",
- "delete-widgets-bundle-title" : "Are you sure you want to delete the widgets bundle '{{widgetsBundleTitle}}'?",
- "delete-widgets-bundle-text" : "Be careful, after the confirmation the widgets bundle and all related data will become unrecoverable.",
- "delete-widgets-bundles-title" : "Are you sure you want to delete { count, select, 1 {1 widgets bundle} other {# widgets bundles} }?",
- "delete-widgets-bundles-action-title" : "Delete { count, select, 1 {1 widgets bundle} other {# widgets bundles} }",
- "delete-widgets-bundles-text" : "Be careful, after the confirmation all selected widgets bundles will be removed and all related data will become unrecoverable.",
- "no-widgets-bundles-matching" : "No widgets bundles matching '{{widgetsBundle}}' were found.",
- "widgets-bundle-required" : "Widgets bundle is required.",
- "system" : "System",
- "import" : "Import widgets bundle",
- "export" : "Export widgets bundle",
- "export-failed-error" : "Unable to export widgets bundle: {{error}}",
- "create-new-widgets-bundle" : "Create new widgets bundle",
- "widgets-bundle-file" : "Widgets bundle file",
- "invalid-widgets-bundle-file-error" : "Unable to import widgets bundle: Invalid widgets bundle data structure."
+ "current" : "当前包",
+ "widgets-bundles" : "小部件包",
+ "add" : "添加小部件包",
+ "delete" : "删除小部件包",
+ "title" : "标题",
+ "title-required" : "标题是必填项。",
+ "add-widgets-bundle-text" : "添加新的小部件包",
+ "no-widgets-bundles-text" : "找不到小工具包",
+ "empty" : "小部件包是空的",
+ "details" : "详情",
+ "widgets-bundle-details" : "小部件包详细信息",
+ "delete-widgets-bundle-title" : "您确定要删除小部件包 '{{widgetsBundleTitle}}'吗?",
+ "delete-widgets-bundle-text" : "小心!确认后,小部件包和所有相关数据将不可恢复。",
+ "delete-widgets-bundles-title" : "你确定你要删除 { count, select, 1 {1 widgets bundle} other {# widgets bundles} } 吗?",
+ "delete-widgets-bundles-action-title" : "删除 { count, select, 1 {1 widgets bundle} other {# widgets bundles} }",
+ "delete-widgets-bundles-text" : "小心!确认后,所有选定的小部件包将被删除,所有相关数据将不可恢复。",
+ "no-widgets-bundles-matching" : "没有找到与 '{{widgetsBundle}}' 匹配的小部件包。",
+ "widgets-bundle-required" : "需要小部件包。",
+ "system" : "系统",
+ "import" : "导入小部件包",
+ "export" : "导出小部件包",
+ "export-failed-error" : "无法导出小部件包: {{error}}",
+ "create-new-widgets-bundle" : "创建新的小部件包",
+ "widgets-bundle-file" : "小部件包文件",
+ "invalid-widgets-bundle-file-error" : "无法导入小部件包:无效的小部件包数据结构。"
},
"widget-config" : {
- "data" : "Data",
- "settings" : "Settings",
- "advanced" : "Advanced",
- "title" : "Title",
- "general-settings" : "General settings",
- "display-title" : "Display title",
- "drop-shadow" : "Drop shadow",
- "enable-fullscreen" : "Enable fullscreen",
- "background-color" : "Background color",
- "text-color" : "Text color",
- "padding" : "Padding",
- "title-style" : "Title style",
- "mobile-mode-settings" : "Mobile mode settings",
- "order" : "Order",
- "height" : "Height",
- "units" : "Special symbol to show next to value",
- "decimals" : "Number of digits after floating point",
- "timewindow" : "Timewindow",
- "use-dashboard-timewindow" : "Use dashboard timewindow",
- "display-legend" : "Display legend",
- "datasources" : "Datasources",
- "datasource-type" : "Type",
- "datasource-parameters" : "Parameters",
- "remove-datasource" : "Remove datasource",
- "add-datasource" : "Add datasource",
- "target-device" : "Target device"
+ "data" : "数据",
+ "settings" : "设置",
+ "advanced" : "高级",
+ "title" : "标题",
+ "general-settings" : "常规设置",
+ "display-title" : "显示标题",
+ "drop-shadow" : "阴影",
+ "enable-fullscreen" : "启用全屏",
+ "background-color" : "背景颜色",
+ "text-color" : "文字颜色",
+ "padding" : "填充",
+ "title-style" : "标题风格",
+ "mobile-mode-settings" : "移动模式设置",
+ "order" : "顺序",
+ "height" : "高度",
+ "units" : "特殊符号展示值",
+ "decimals" : "浮点数后的位数",
+ "timewindow" : "时间窗口",
+ "use-dashboard-timewindow" : "使用仪表板的时间窗口",
+ "display-legend" : "显示图例",
+ "datasources" : "数据源",
+ "datasource-type" : "类型",
+ "datasource-parameters" : "参数",
+ "remove-datasource" : "移除数据源",
+ "add-datasource" : "添加数据源",
+ "target-device" : "目标设备"
},
"widget-type" : {
- "import" : "Import widget type",
- "export" : "Export widget type",
- "export-failed-error" : "Unable to export widget type: {{error}}",
- "create-new-widget-type" : "Create new widget type",
- "widget-type-file" : "Widget type file",
- "invalid-widget-type-file-error" : "Unable to import widget type: Invalid widget type data structure."
+ "import" : "导入小部件类型",
+ "export" : "导出小部件类型",
+ "export-failed-error" : "无法导出小部件类型: {{error}}",
+ "create-new-widget-type" : "创建新的小部件类型",
+ "widget-type-file" : "小部件类型文件",
+ "invalid-widget-type-file-error" : "无法导入小部件类型:无效的小部件类型数据结构。"
},
"language" : {
"language" : "语言",
"en_US" : "英语",
"ko_KR" : "韩语",
- "zh_CN": "汉语"
+ "zh_CN" : "汉语"
}
};
angular.extend(locales, {
diff --git a/ui/src/app/profile/profile.controller.js b/ui/src/app/profile/profile.controller.js
index 19a16da..53fa265 100644
--- a/ui/src/app/profile/profile.controller.js
+++ b/ui/src/app/profile/profile.controller.js
@@ -27,7 +27,11 @@ export default function ProfileController(userService, $scope, $document, $mdDia
vm.save = save;
vm.changePassword = changePassword;
- vm.languageList = {en_US: {value: "en_US", name: "language.en_US"}, ko_KR: {value : "ko_KR", name: "language.ko_KR"}};
+ vm.languageList = {
+ en_US: {value: "en_US", name: "language.en_US"},
+ ko_KR: {value : "ko_KR", name: "language.ko_KR"},
+ zh_CN: {value : "zh_CN", name: "language.zh_CN"}
+};
loadProfile();