thingsboard-memoizeit

Details

diff --git a/ui/src/app/locale/locale.constant-zh.js b/ui/src/app/locale/locale.constant-zh.js
index 2744c95..967e8ac 100644
--- a/ui/src/app/locale/locale.constant-zh.js
+++ b/ui/src/app/locale/locale.constant-zh.js
@@ -987,11 +987,11 @@ export default function addLocaleChinese(locales) {
 		"tidy": "Tidy"
 	},
 	"key-val": {
-		"key": "Key",
-		"value": "Value",
-		"remove-entry": "Remove entry",
-		"add-entry": "Add entry",
-		"no-data": "No entries"
+		"key": "键名",
+		"value": "值",
+		"remove-entry": "删除条目",
+		"add-entry": "增加条目",
+		"no-data": "没有条目"
 	},
 	"layout": {
 		"layout": "布局",
@@ -1139,87 +1139,87 @@ export default function addLocaleChinese(locales) {
 		"description": "描述",
 		"add": "添加规则",
 		"set-root": "创建规则链根",
-		"set-root-rulechain-title": "Are you sure you want to make the rule chain '{{ruleChainName}}' root?",
-		"set-root-rulechain-text": "After the confirmation the rule chain will become root and will handle all incoming transport messages.",
-		"delete-rulechain-title": "Are you sure you want to delete the rule chain '{{ruleChainName}}'?",
-		"delete-rulechain-text": "Be careful, after the confirmation the rule chain and all related data will become unrecoverable.",
-		"delete-rulechains-title": "Are you sure you want to delete { count, select, 1 {1 rule chain} other {# rule chains} }?",
-		"delete-rulechains-action-title": "Delete { count, select, 1 {1 rule chain} other {# rule chains} }",
-		"delete-rulechains-text": "Be careful, after the confirmation all selected rule chains will be removed and all related data will become unrecoverable.",
-		"add-rulechain-text": "Add new rule chain",
-		"no-rulechains-text": "No rule chains found",
-		"rulechain-details": "Rule chain details",
+		"set-root-rulechain-title": "您确定要生成规则链'{{RuleChainName}}'根吗?",
+		"set-root-rulechain-text": "确认之后,规则链将变为根规格链,并将处理所有传入的传输消息。",
+		"delete-rulechain-title": " 确实要删除规则链'{{ruleChainName}}'吗?",
+		"delete-rulechain-text": "小心,在确认规则链和所有相关数据将变得不可恢复。",
+		"delete-rulechains-title": "确实要删除{count, select, 1 { 1 规则链}其他{# 规则链库}}吗?",
+		"delete-rulechains-action-title": "删除 { count, select, 1 {1 规则链} other {# 规则链库} }",
+		"delete-rulechains-text": "小心,确认后,所有选定的规则链将被删除,所有相关的数据将变得不可恢复。",
+		"add-rulechain-text": "添加新的规则链",
+		"no-rulechains-text": "规则链没有发现",
+		"rulechain-details": "规则链详情",
 		"details": "详情",
 		"events": "事件",
 		"system": "系统",
 		"import": "导入规则",
 		"export": "导出规则",
 		"export-failed-error": "无法导出规则:{{error}}",
-		"create-new-rulechain": "Create new rule chain",
-		"rulechain-file": "Rule chain file",
-		"invalid-rulechain-file-error": "Unable to import rule chain: Invalid rule chain data structure.",
-		"copyId": "Copy rule chain Id",
+		"create-new-rulechain": "创建新的规则链",
+		"rulechain-file": "规则链文件",
+		"invalid-rulechain-file-error": "不能导入规则链:无效的规则链数据格式。",
+		"copyId": "复制规则链ID",
 		"idCopiedMessage": "规则ID已经复制到粘贴板",
-		"select-rulechain": "Select rule chain",
-		"no-rulechains-matching": "No rule chains matching '{{entity}}' were found.",
-		"rulechain-required": "Rule chain is required",
+		"select-rulechain": "选择规则链",
+		"no-rulechains-matching": "没有发现匹配'{{entity}}'的规则链。",
+		"rulechain-required": "规则链必填",
 		"management": "规则集管理",
 		"debug-mode": "调试模式"
 	},
 	"rulenode": {
-		"details": "Details",
-		"events": "Events",
-		"search": "Search nodes",
-		"open-node-library": "Open node library",
-		"add": "Add rule node",
-		"name": "Name",
-		"name-required": "Name is required.",
-		"type": "Type",
-		"description": "Description",
-		"delete": "Delete rule node",
-		"select-all-objects": "Select all nodes and connections",
-		"deselect-all-objects": "Deselect all nodes and connections",
-		"delete-selected-objects": "Delete selected nodes and connections",
-		"delete-selected": "Delete selected",
-		"select-all": "Select all",
-		"copy-selected": "Copy selected",
-		"deselect-all": "Deselect all",
-		"rulenode-details": "Rule node details",
-		"debug-mode": "Debug mode",
-		"configuration": "Configuration",
-		"link": "Link",
-		"link-details": "Rule node link details",
-		"add-link": "Add link",
-		"link-label": "Link label",
-		"link-label-required": "Link label is required.",
-		"custom-link-label": "Custom link label",
-		"custom-link-label-required": "Custom link label is required.",
-		"type-filter": "Filter",
-		"type-filter-details": "Filter incoming messages with configured conditions",
-		"type-enrichment": "Enrichment",
-		"type-enrichment-details": "Add additional information into Message Metadata",
-		"type-transformation": "Transformation",
-		"type-transformation-details": "Change Message payload and Metadata",
-		"type-action": "Action",
-		"type-action-details": "Perform special action",
-		"type-external": "External",
-		"type-external-details": "Interacts with external system",
-		"type-rule-chain": "Rule Chain",
-		"type-rule-chain-details": "Forwards incoming messages to specified Rule Chain",
-		"type-input": "Input",
-		"type-input-details": "Logical input of Rule Chain, forwards incoming messages to next related Rule Node",
-		"directive-is-not-loaded": "Defined configuration directive '{{directiveName}}' is not available.",
-		"ui-resources-load-error": "Failed to load configuration ui resources.",
-		"invalid-target-rulechain": "Unable to resolve target rule chain!",
-		"test-script-function": "Test script function",
-		"message": "Message",
-		"message-type": "Message type",
-		"message-type-required": "Message type is required",
-		"metadata": "Metadata",
-		"metadata-required": "Metadata entries can't be empty.",
-		"output": "Output",
-		"test": "Test",
-		"help": "Help"
+		"details": "详情",
+		"events": "事件",
+		"search": "搜索节点",
+		"open-node-library": "打开节点库",
+		"add": "添加规则节点",
+		"name": "名称",
+		"name-required": "名称必填。",
+		"type": "类型",
+		"description": "描述",
+		"delete": "删除规则节点",
+		"select-all-objects": "选择所有节点和连接",
+		"deselect-all-objects": "取消选择所有节点和连接",
+		"delete-selected-objects": "删除选定的节点和连接",
+		"delete-selected": "删除选定",
+		"select-all": "选择全部",
+		"copy-selected": "选择副本",
+		"deselect-all": "取消选择",
+		"rulenode-details": "规则节点详情",
+		"debug-mode": "调试模式",
+		"configuration": "配置",
+		"link": "链接",
+		"link-details": "规则节点链接详情",
+		"add-link": "添加链接",
+		"link-label": "链接标签",
+		"link-label-required": "链接标签必填",
+		"custom-link-label": "自定义链接标签",
+		"custom-link-label-required": "自定义链接标签必填",
+		"type-filter": "滤波器",
+		"type-filter-details": "使用配置条件过滤传入消息",
+		"type-enrichment": "丰富",
+		"type-enrichment-details": "向消息元数据中添加附加信息",
+		"type-transformation": "变换",
+		"type-transformation-details": "更改消息有效载荷和元数据",
+		"type-action": "动作",
+		"type-action-details": "执行特别动作",
+		"type-external": "外部的",
+		"type-external-details": "与外部系统交互",
+		"type-rule-chain": "规则链",
+		"type-rule-chain-details": "将传入消息转发到指定的规则链",
+		"type-input": "输入",
+		"type-input-details": "规则链的逻辑输入,将传入消息转发到下一个相关规则节点",
+		"directive-is-not-loaded": "定义的配置指令 '{{directiveName}}' 不可用。",
+		"ui-resources-load-error": "加载配置UI资源失败。",
+		"invalid-target-rulechain": "无法解析目标规则链!",
+		"test-script-function": "测试脚本功能",
+		"message": "消息",
+		"message-type": "消息类型",
+		"message-type-required": "消息类型必填",
+		"metadata": "元数据",
+		"metadata-required": "元数据项不能为空。",
+		"output": "输出",
+		"test": "测试",
+		"help": "帮助"
 	},
 	"tenant": {
 		"tenant": "租户",
@@ -1333,29 +1333,29 @@ export default function addLocaleChinese(locales) {
 		"widget-library": "部件库",
 		"widget-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.",
+		"management": "管理部件",
+		"editor": "部件编辑器",
+		"widget-type-not-found": "加载部件配置出错。<br>可能关联的\n    部件已经删除了。",
+		"widget-type-load-error": "由于以下错误未加载小部件:",
+		"remove": "删除部件",
+		"edit": "编辑部件",
+		"remove-widget-title": "确实要删除 '{{widgetTitle}}'部件吗?",
+		"remove-widget-text": "确认后,控件和所有相关数据将变得不可恢复。",
 		"timeseries": "时间序列",
-		"search-data": "Search data",
-		"no-data-found": "No data found",
+		"search-data": "搜索数据",
+		"no-data-found": "没有找到数据",
 		"latest-values": "最新值",
 		"rpc": "控件部件",
 		"alarm": "警告部件",
 		"static": "静态部件",
 		"select-widget-type": "选择窗口部件类型",
 		"missing-widget-title-error": "部件标题必须指定!",
-		"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",
+		"widget-saved": "部件已保存",
+		"unable-to-save-widget-error": "无法保存部件!控件有错误!",
+		"save": "保存部件",
+		"saveAs": "部件另存为",
+		"save-widget-type-as": "部件类型另存为",
+		"save-widget-type-as-text": "请输入新的部件标题或选择目标部件包",
 
 		"toggle-fullscreen": "切换全屏",
 		"run": "运行部件",