{
  "common": {
    "label": {
      "payload": "内容",
      "topic": "主题",
      "name": "名称",
      "username": "用户名",
      "password": "密码",
      "property": "属性",
      "selectNodes": "选择节点...",
      "expand": "扩展"
    },
    "status": {
      "connected": "已连接",
      "not-connected": "未连接",
      "disconnected": "已断开",
      "connecting": "连接中",
      "error": "错误",
      "ok": "确定"
    },
    "notification": {
      "error": "<strong>错误</strong>: __message__",
      "errors": {
        "not-deployed": "节点未部署",
        "no-response": "服务器无反应",
        "unexpected": "发生意外错误 (__status__) __message__"
      }
    },
    "errors": {
      "nooverride": "警告: 信息的属性已经不可以改写节点的属性，详情参考 bit.ly/nr-override-msg-props"
    }
  },
  "inject": {
    "inject": "注入",
    "injectNow": "立即注入",
    "repeat": "重复 = __repeat__",
    "crontab": "crontab = __crontab__",
    "stopped": "停止",
    "failed": "注入失败: __error__",
    "label": {
      "properties": "属性",
      "repeat": "重复",
      "flow": "流上下午",
      "global": "全局上下文",
      "str": "字符串",
      "num": "数值",
      "bool": "布尔值",
      "json": "JSON对象",
      "bin": "buffer",
      "date": "时间戳",
      "env": "环境变量",
      "object": "对象",
      "string": "字符串",
      "boolean": "布尔值",
      "number": "数值",
      "Array": "数组",
      "invalid": "无效的JSON对象"
    },
    "timestamp": "时间戳",
    "none": "无",
    "interval": "周期性执行",
    "interval-time": "指定时间段周期性执行",
    "time": "指定时间",
    "seconds": "秒",
    "minutes": "分钟",
    "hours": "小时",
    "between": "介于",
    "previous": "之前数值",
    "at": "在",
    "and": "至",
    "every": "每隔",
    "days": [
      "星期一",
      "星期二",
      "星期三",
      "星期四",
      "星期五",
      "星期六",
      "星期天"
    ],
    "on": "在",
    "onstart": "立刻执行于",
    "onceDelay": "秒后, 此后",
    "success": "成功注入: __label__",
    "errors": {
      "failed": "注入失败, 请查看日志",
      "toolong": "周期过长",
      "invalid-expr": "无效的JSONata表达式： __error__",
      "invalid-jsonata": "__prop__: 无效的属性表达式: __error__",
      "invalid-prop": "__prop__: 无效的属性表达式: __error__",
      "invalid-json": "__prop__: 无效的 JSON 数据: __error__",
      "invalid-repeat": "重复值无效"
    }
  },
  "catch": {
    "catch": "捕获：所有节点",
    "catchNodes": "捕获：__number__ 个节点",
    "catchUncaught": "捕获：未捕获",
    "label": {
      "source": "捕获范围",
      "selectAll": "全选",
      "uncaught": "忽略其他捕获节点处理的错误"
    },
    "scope": {
      "all": "所有节点",
      "selected": "指定节点"
    }
  },
  "status": {
    "status": "报告所有节点状态",
    "statusNodes": "报告 __number__ 个节点状态",
    "label": {
      "source": "报告状态范围",
      "sortByType": "按类型排序"
    },
    "scope": {
      "all": "所有节点",
      "selected": "指定节点"
    }
  },
  "complete": {
    "completeNodes": "完成: __number__ 个节点"
  },
  "debug": {
    "output": "输出",
    "status": "状态",
    "none": "None",
    "invalid-exp": "无效的JSONata表达式: __error__",
    "msgprop": "信息属性",
    "msgobj": "与调试输出相同",
    "autostatus": "自动的",
    "messageCount": "消息数量",
    "to": "目标",
    "debtab": "调试窗口",
    "tabcon": "调试窗口及控制台",
    "toSidebar": "调试窗口",
    "toConsole": "控制台",
    "toStatus": "节点状态 (32位字符)",
    "severity": "级别",
    "node": "节点",
    "notification": {
      "activated": "成功激活: __label__",
      "deactivated": "成功取消: __label__"
    },
    "sidebar": {
      "label": "调试窗口",
      "name": "名称",
      "filterAll": "所有节点",
      "filterSelected": "已选节点",
      "filterCurrent": "当前流程",
      "debugNodes": "调试节点",
      "clearLog": "清空日志",
      "clearFilteredLog": "清空已过滤的日志",
      "filterLog": "过滤日志",
      "openWindow": "在新窗口打开",
      "copyPath": "复制路径",
      "copyPayload": "复制值",
      "pinPath": "固定展开",
      "selectAll": "选择所有",
      "selectNone": "取消选择所有节点",
      "all": "所有",
      "filtered": "已过滤"
    },
    "messageMenu": {
      "collapseAll": "折叠所有路径",
      "clearPinned": "清空已固定路径",
      "filterNode": "过滤此节点",
      "clearFilter": "清空过滤条件"
    }
  },
  "link": {
    "linkIn": "链接输入",
    "linkOut": "链接输出",
    "linkCall": "链接调用",
    "linkOutReturn": "链接返回",
    "outMode": "模式",
    "sendToAll": "发送到所有连接的链接节点",
    "returnToCaller": "返回调用链接节点",
    "timeout": "超时",
    "linkCallType": "链接类型",
    "staticLinkCall": "固定目标",
    "dynamicLinkCall": "动态目标 (msg.target)",
    "dynamicLinkLabel": "动态",
    "error": {
      "missingReturn": "缺少返回节点信息"
    }
  },
  "tls": {
    "tls": "TLS设置",
    "label": {
      "use-local-files": "使用本地密匙及证书文件",
      "upload": "上传",
      "cert": "证书",
      "key": "私钥",
      "passphrase": "密码",
      "ca": "CA证书",
      "verify-server-cert": "验证服务器证书",
      "servername": "服务器名",
      "alpnprotocol": "ALPN协议"
    },
    "placeholder": {
      "cert": "证书路径 (PEM 格式)",
      "key": "私钥路径 (PEM 格式)",
      "ca": "CA证书路径 (PEM 格式)",
      "passphrase": "私钥密码 (可选)",
      "servername": "用于SNI",
      "alpnprotocol": "用于ALPN"
    },
    "error": {
      "missing-file": "未提供证书/密钥文件",
      "invalid-cert": "未指定证书",
      "invalid-key": "未指定私钥"
    }
  },
  "exec": {
    "exec": "执行",
    "spawn": "spawn",
    "label": {
      "command": "命令",
      "append": "追加",
      "timeout": "超时",
      "timeoutplace": "可选项",
      "return": "输出",
      "seconds": "秒",
      "stdout": "标准输出",
      "stderr": "标准错误输出",
      "retcode": "返回码",
      "winHide": "隐藏控制台"
    },
    "placeholder": {
      "extraparams": "额外的输入参数"
    },
    "opt": {
      "exec": "当命令完成时 - exec模式",
      "spawn": "当命令进行时 - spawn模式"
    },
    "oldrc": "使用旧式输出 (兼容模式)"
  },
  "function": {
    "function": "函数",
    "label": {
      "setup": "设置",
      "function": "运行函数",
      "initialize": "初始化函数",
      "finalize": "终止函数",
      "outputs": "输出",
      "modules": "模块"
    },
    "text": {
      "initialize": "// 部署节点后，此处添加的代码将运行一次。 \n",
      "finalize": "// 此处添加的代码，将在停止或重新部署节点时运行。 \n"
    },
    "require": {
      "var": "变量",
      "module": "模块",
      "moduleName": "模块名称",
      "importAs": "导入为"
    },
    "error": {
      "externalModuleNotAllowed": "不允许加载外部模块",
      "moduleNotAllowed": "不允许 __module__ 模块",
      "externalModuleLoadError": "加载外部模块失败",
      "moduleLoadError": "__module__ 加载失败: __error__",
      "moduleNameError": "无效的模块变量名: __name__",
      "moduleNameReserved": "保留的变量名: __name__",
      "inputListener": "无法在函数中监听对'注入'事件",
      "non-message-returned": "函数节点尝试返回类型为 __type__ 的信息",
      "invalid-js": "JavaScript 代码错误",
      "missing-module": "模块 __module__ 缺少"
    }
  },
  "template": {
    "template": "模板",
    "label": {
      "template": "模版",
      "property": "属性",
      "format": "语法高亮",
      "syntax": "格式",
      "output": "输出为",
      "mustache": "Mustache 模版",
      "plain": "纯文本",
      "json": "JSON",
      "yaml": "YAML",
      "none": "无"
    },
    "templatevalue": "这是一个默认的payload调用示例: {{payload}} !"
  },
  "delay": {
    "action": "行为设置",
    "for": "时长",
    "delaymsg": "延迟每一条信息",
    "delayfixed": "固定延迟时间",
    "delayvarmsg": "允许msg.delay复写延迟时长",
    "randomdelay": "随机延迟",
    "limitrate": "限制信息速率",
    "limitall": "所有信息",
    "limittopic": "每一个msg.topic",
    "fairqueue": "依次发送每一个topic",
    "timedqueue": "发所有topic",
    "milisecs": "毫秒",
    "secs": "秒",
    "sec": "秒",
    "mins": "分",
    "min": "分",
    "hours": "小时",
    "hour": "小时",
    "days": "天",
    "day": "天",
    "between": "介于",
    "and": "至",
    "rate": "速度",
    "msgper": "条信息  每",
    "queuemsg": "将中间消息排队",
    "dropmsg": "不传输中间信息",
    "sendmsg": "在第2个输出端发送中间消息",
    "allowrate": "允许msg.rate (毫秒) 重写速率",
    "label": {
      "delay": "延迟",
      "variable": "变量",
      "limit": "限制",
      "limitTopic": "限制速率",
      "random": "随机",
      "rate": "速率",
      "random-first": "最小随机值",
      "random-last": "最大随机值",
      "units": {
        "second": {
          "plural": "秒",
          "singular": "秒"
        },
        "minute": {
          "plural": "分钟",
          "singular": "分钟"
        },
        "hour": {
          "plural": "小时",
          "singular": "小时"
        },
        "day": {
          "plural": "天",
          "singular": "天"
        }
      }
    },
    "errors": {
      "too-many": "delay节点中的待处理消息过多",
      "invalid-timeout": "延迟时间无效",
      "invalid-rate": "无效的速率值",
      "invalid-rate-unit": "速率值单位无效",
      "invalid-random-first": "最小随机值无效",
      "invalid-random-last": "最大随机值无效"
    }
  },
  "trigger": {
    "send": "发送",
    "then": "然后",
    "then-send": "再然后发送",
    "output": {
      "string": "字符串",
      "number": "数字",
      "existing": "现有信息对象",
      "original": "原始信息对象",
      "latest": "最新信息对象",
      "nothing": "无"
    },
    "wait-reset": "等待被重置",
    "wait-for": "等待",
    "wait-loop": "周期性重发",
    "for": "处理",
    "bytopics": "每个msg.topic",
    "alltopics": "所有消息",
    "duration": {
      "ms": "毫秒",
      "s": "秒",
      "m": "分钟",
      "h": "小时"
    },
    "extend": " 如有新信息，延长延迟",
    "override": "使用 msg.delay 重写延迟时间",
    "second": " 发送第二条消息到单独的输出",
    "label": {
      "trigger": "触发",
      "trigger-block": "触发并阻止",
      "trigger-loop": "周期性重发",
      "reset": "满足以下要求，则重置trigger节点:",
      "resetMessage": "已设置 msg.reset",
      "resetPayload": "msg.payload 等于  ",
      "resetprompt": "可选项",
      "duration": "持续",
      "topic": "主题"
    }
  },
  "comment": {
    "comment": "注释"
  },
  "unknown": {
    "label": {
      "unknown": "未知"
    },
    "tip": "<p>此节点是您安装，但该节点是Node-RED所不知道的类型。</p><p><i>如果在此状态下部署节点，它的配置将被保留，但是流程将不会启动，直到安装缺少的类型。</i></p><p>有关更多帮助，请参阅信息侧栏</p>"
  },
  "mqtt": {
    "label": {
      "broker": "服务端",
      "example": "比如：本地主机",
      "output": "输出",
      "qos": "QoS",
      "retain": "保持",
      "clientid": "客户端ID",
      "port": "端口",
      "keepalive": "KeepAlive计时(秒)",
      "cleansession": "使用新的会话",
      "cleanstart": "全新创建",
      "use-tls": "启用 TLS",
      "tls-config": "TLS 设置",
      "verify-server-cert": "验证服务器证书",
      "compatmode": "使用旧式MQTT 3.1支持",
      "userProperties": "自定义属性",
      "subscriptionIdentifier": "订阅ID",
      "flags": "Flags",
      "nl": "不接收此客户端发布的消息",
      "rap": "保留原始发布的保留标志",
      "rh": "保留消息处理 ",
      "rh0": "发送保留消息",
      "rh1": "仅发送新订阅",
      "rh2": "请勿发送",
      "responseTopic": "Response 主题",
      "contentType": "Content 类型",
      "correlationData": "关联数据",
      "expiry": "过期时间 (秒)",
      "sessionExpiry": "会话过期时间 (秒)",
      "topicAlias": "别名",
      "payloadFormatIndicator": "格式",
      "payloadFormatIndicatorFalse": "未指定的bytes (默认)",
      "payloadFormatIndicatorTrue": "UTF-8 编码payload",
      "protocolVersion": "协议",
      "protocolVersion3": "MQTT V3.1 (legacy)",
      "protocolVersion4": "MQTT V3.1.1",
      "protocolVersion5": "MQTT V5",
      "topicAliasMaximum": "Alias Max",
      "maximumPacketSize": "最大数据包大小",
      "receiveMaximum": "Receive Max",
      "session": "会话",
      "delay": "延迟",
      "action": "Action",
      "staticTopic": "订阅单个主题",
      "dynamicTopic": "动态订阅",
      "auto-connect": "自动连接",
      "auto-mode-depreciated": "此选项已弃用，请使用新的自动检测模式。",
      "none": "无",
      "other": "其它"
    },
    "sections-label": {
      "birth-message": "连接时发送的消息（初始消息）",
      "will-message": "意外断开连接时的发送消息（Will消息）",
      "close-message": "断开连接前发送的消息（关闭消息）"
    },
    "tabs-label": {
      "connection": "连接参数",
      "security": "安全",
      "messages": "消息"
    },
    "placeholder": {
      "clientid": "留空自动生成",
      "clientid-nonclean": "如非新会话，必须设置客户端ID",
      "will-topic": "输入主题内容以启用Will信息",
      "birth-topic": "输入主题内容以启用初始信息",
      "close-topic": "输入主题内容以启用关闭消息"
    },
    "state": {
      "connected": "已连接到服务端: __broker__",
      "disconnected": "已断开与服务端 __broker__ 的链接",
      "connect-failed": "与服务端 __broker__ 的连接失败",
      "broker-disconnected": "客户端连接被 __broker__ 断开: __reasonCode__ __reasonString__"
    },
    "retain": "保留",
    "output": {
      "buffer": "buffer",
      "string": "字符串",
      "base64": "Base64编码字符串",
      "auto": "自动检测 (字符串或buffer)",
      "auto-detect": "自动检测 (JSON对象、字符串或buffer)",
      "json": "JSON对象"
    },
    "true": "是",
    "false": "否",
    "tip": "提示: 若希望通过msg属性对topic(信息), qos及retain(保留)进行设置, 则将上述项留白",
    "errors": {
      "not-defined": "主题未设置",
      "missing-config": "未设置服务端",
      "invalid-topic": "主题无效",
      "nonclean-missingclientid": "客户端ID未设定，使用新会话",
      "invalid-json-string": "无效的JSON字符串",
      "invalid-json-parse": "无法解析JSON字符串",
      "invalid-action-action": "指定的操作无效",
      "invalid-action-alreadyconnected": "连接之前,请先断开已有的连接",
      "invalid-action-badsubscription": "msg.topic 丢失或无效",
      "invalid-client-id": "缺少客户端 ID"
    }
  },
  "httpin": {
    "label": {
      "method": "请求方式",
      "url": "URL 地址",
      "doc": "文档",
      "return": "返回",
      "upload": "接受文件上传",
      "status": "状态码",
      "headers": "头",
      "other": "其他",
      "paytoqs": {
        "ignore": "忽略",
        "query": "附加到查询字符串参数",
        "body": "作为请求正文发送"
      },
      "utf8String": "UTF8格式的字符串",
      "binaryBuffer": "二进制buffer",
      "jsonObject": "解析的JSON对象",
      "authType": "类型",
      "bearerToken": "Token"
    },
    "setby": "- 用 msg.method 设定 -",
    "basicauth": "基本认证",
    "use-tls": "使用安全连接 (SSL/TLS) ",
    "tls-config": "TLS 设置",
    "basic": "基本认证",
    "digest": "摘要认证",
    "bearer": "bearer认证",
    "use-proxy": "使用代理服务器",
    "persist": "对连接启用keep-alive",
    "proxy-config": "代理服务器设置",
    "use-proxyauth": "使用代理身份验证",
    "noproxy-hosts": "代理例外",
    "senderr": "仅向 Catch 节点发送非 2xx 响应",
    "utf8": "UTF-8 字符串",
    "binary": "二进制数据",
    "json": "JSON对象",
    "tip": {
      "in": "相对URL",
      "res": "发送到此节点的消息<b>必须</b>来自<i>http input</i>节点",
      "req": "提示：如果JSON解析失败，则获取的字符串将按原样返回."
    },
    "httpreq": "http 请求",
    "errors": {
      "not-created": "当httpNodeRoot为否时，无法创建http-in节点",
      "missing-path": "无路径",
      "no-response": "无响应对象",
      "json-error": "JSON 解析错误",
      "no-url": "未指定URL地址",
      "deprecated-call": "__method__ 方法已弃用",
      "invalid-transport": "非HTTP传输请求",
      "timeout-isnan": "超时值不是有效数字，忽略",
      "timeout-isnegative": "超时值为负，忽略",
      "invalid-payload": "无效的有效载荷",
      "invalid-url": "无效的url地址"
    },
    "status": {
      "requesting": "请求中"
    },
    "insecureHTTPParser": "禁用严格的 HTTP 解析"
  },
  "websocket": {
    "label": {
      "type": "类型",
      "path": "路径",
      "url": "URL 地址",
      "subprotocol": "子协议"
    },
    "listenon": "监听",
    "connectto": "连接",
    "sendrec": "发送/接收",
    "payload": "payload",
    "message": "完整信息",
    "sendheartbeat": "发送心跳消息",
    "tip": {
      "path1": "默认情况下，<code>payload</code>将包含要发送或从Websocket接收的数据。侦听器可以配置为以JSON格式的字符串发送或接收整个消息对象.",
      "path2": "这条路径将相对于 <code>__path__</code>.",
      "url1": "URL 应该使用ws:&#47;&#47;或者wss:&#47;&#47;方案并指向现有的websocket侦听器.",
      "url2": "默认情况下，<code>payload</code> 将包含要发送或从Websocket接收的数据。可以将客户端配置为以JSON格式的字符串发送或接收整个消息对象."
    },
    "status": {
      "connected": "已连接数量 __count__",
      "connected_plural": "已连接数量 __count__"
    },
    "errors": {
      "connect-error": "ws连接发生了错误: ",
      "send-error": "发送时发生了错误: ",
      "missing-conf": "未设置服务器",
      "duplicate-path": "同一路径上不能有两个WebSocket侦听器: __path__",
      "missing-server": "服务器配置缺失",
      "missing-client": "客户端配置缺失"
    }
  },
  "watch": {
    "watch": "watch",
    "label": {
      "files": "文件",
      "recursive": "查找所有子文件夹"
    },
    "placeholder": {
      "files": "用英文逗号分开文件或文件夹"
    },
    "tip": "在Windows上，请务必使用双斜杠 \\\\ 来隔开文件夹名字"
  },
  "tcpin": {
    "label": {
      "type": "类型",
      "output": "输出",
      "port": "端口 ",
      "host": "主机地址 ",
      "payload": "payload(s)",
      "delimited": "分隔符号 ",
      "close-connection": "成功发送信息后断开连接",
      "decode-base64": "使用 Base64 解码信息",
      "server": "服务器",
      "return": "返回",
      "ms": "毫秒",
      "chars": "字符",
      "close": "关闭",
      "optional": "（可选）",
      "reattach": "重新添加分隔符"
    },
    "type": {
      "listen": "监听客户端连接",
      "connect": "连接到服务器",
      "reply": "响应 TCP"
    },
    "output": {
      "stream": "字串流",
      "single": "单个数据",
      "buffer": "Buffer",
      "string": "字符串",
      "base64": "Base64 字符串"
    },
    "return": {
      "timeout": "指定时间后",
      "character": "当收到某个字符为",
      "number": "指定字符数",
      "never": "永不 - 保持连接",
      "immed": "马上 - 不需要等待回复"
    },
    "status": {
      "connecting": "正在连接到 __host__:__port__",
      "connected": "已连接到 __host__:__port__",
      "listening-port": "监听端口 __port__",
      "stopped-listening": "已停止监听端口",
      "connection-from": "连接来自 __host__:__port__",
      "connection-closed": "连接已关闭 __host__:__port__",
      "connections": "__count__ 个连接",
      "connections_plural": "__count__ 个连接"
    },
    "errors": {
      "connection-lost": "连接中断 __host__:__port__",
      "timeout": "超时关闭套接字连接，端口 __port__",
      "cannot-listen": "无法监听端口 __port__, 错误: __error__",
      "error": "错误: __error__",
      "socket-error": "套接字连接错误来自 __host__:__port__",
      "no-host": "主机地址或端口未设定",
      "connect-timeout": "连接超时",
      "connect-fail": "连接失败",
      "bad-string": "无法转换为字符串",
      "invalid-host": "服务器地址无效",
      "invalid-port": "端口号无效"
    }
  },
  "udp": {
    "label": {
      "listen": "监听",
      "onport": "端口",
      "using": "使用",
      "output": "输出",
      "group": "组",
      "interface": "本地IP",
      "send": "发送",
      "toport": " 到端口",
      "address": "地址",
      "decode-base64": "使用Base64解码信息",
      "port": "端口"
    },
    "placeholder": {
      "interface": "（可选）eth0的IP地址",
      "interfaceprompt": "(可选) 要绑定的本地接口或地址",
      "address": "目标IP地址"
    },
    "udpmsgs": "udp信息",
    "mcmsgs": "组播信息",
    "udpmsg": "udp信息",
    "bcmsg": "广播信息",
    "mcmsg": "组播信息",
    "output": {
      "buffer": "Buffer",
      "string": "字符串",
      "base64": "Base64编码字符串"
    },
    "bind": {
      "random": "绑定到任意本地端口",
      "local": "绑定到本地端口",
      "target": "绑定到目标端口"
    },
    "tip": {
      "in": "提示：请确保数据能够通过您的防火墙。",
      "out": "提示：如果要使用<code>msg.ip</code>和<code>msg.port</code>设置，请将地址和端口留空。",
      "port": "正在使用端口: "
    },
    "status": {
      "listener-at": "udp 监听器正在监听 __host__:__port__",
      "mc-group": "udp 组播到 __group__",
      "listener-stopped": "udp 监听器已停止",
      "output-stopped": "udp 输出已停止",
      "mc-ready": "udp 组播已就绪: __outport__ -> __host__:__port__",
      "bc-ready": "udp 广播已就绪: __outport__ -> __host__:__port__",
      "ready": "udp 已就绪: __outport__ -> __host__:__port__",
      "ready-nolocal": "udp 已就绪: __host__:__port__",
      "re-use": "udp 重用套接字: __outport__ -> __host__:__port__"
    },
    "errors": {
      "access-error": "UDP 访问错误, 你可能需要root权限才能接入1024以下的端口",
      "error": "错误: __error__",
      "bad-mcaddress": "无效的组播地址",
      "interface": "必须是指定接口的IP地址",
      "ip-notset": "udp: IP地址未设定",
      "port-notset": "udp: 端口未设定",
      "port-invalid": "udp: 无效端口号码",
      "alreadyused": "udp: 端口已被占用",
      "ifnotfound": "udp: 接口 __iface__ 未发现",
      "invalid-group": "无效的多播组"
    }
  },
  "switch": {
    "switch": "switch",
    "label": {
      "property": "属性",
      "rule": "规则",
      "repair": "重建信息队列",
      "value-rules": "输入值匹配",
      "sequence-rules": "顺序匹配"
    },
    "previous": "先前值",
    "and": "与",
    "checkall": "全选所有规则",
    "stopfirst": "接受第一条匹配信息后停止",
    "ignorecase": "忽略大小写",
    "rules": {
      "btwn": "在..之间",
      "cont": "包含",
      "regex": "正则表达式",
      "true": "为真",
      "false": "为假",
      "null": "为空",
      "nnull": "非空",
      "istype": "类型是",
      "empty": "为空",
      "nempty": "非空",
      "head": "开头是",
      "tail": "结尾是",
      "index": "索引在..之间",
      "exp": "JSONata表达式",
      "else": "除此以外",
      "hask": "拥有键"
    },
    "errors": {
      "invalid-expr": "无效的JSONata表达式: __error__",
      "too-many": "Switch节点中有太多待定信息"
    }
  },
  "change": {
    "label": {
      "rules": "规则",
      "rule": "规则",
      "set": "设定 __property__",
      "change": "修改 __property__",
      "delete": "删除 __property__",
      "move": "移动 __property__",
      "changeCount": "修改: __count__ 条规则",
      "regex": "使用正则表达式",
      "deepCopy": "对值进行深拷贝"
    },
    "action": {
      "set": "设定值",
      "change": "替换值",
      "delete": "删除",
      "move": "转移",
      "toValue": "值为",
      "to": "到",
      "search": "查找",
      "replace": "替换为"
    },
    "errors": {
      "invalid-from": "无效的'from'属性: __error__",
      "invalid-json": "无效的'to'JSON 属性",
      "invalid-expr": "无效的JSONata表达式: __error__",
      "no-override": "无法设置非对象类型的属性： __property__",
      "invalid-prop": "无效的属性表达式: __property__",
      "invalid-json-data": "无效的 JSON 数据: __error__"
    }
  },
  "range": {
    "range": "range",
    "label": {
      "action": "操作",
      "inputrange": "映射输入数据",
      "resultrange": "至目标范围",
      "from": "从 ",
      "to": "到 ",
      "roundresult": "取最接近整数",
      "minin": "输入值从",
      "maxin": "输入值到",
      "minout": "目标值从",
      "maxout": "目标值到"
    },
    "placeholder": {
      "min": "例如： 0",
      "maxin": "例如： 99",
      "maxout": "例如： 255"
    },
    "scale": {
      "payload": "按比例msg.payload",
      "limit": "按比例并设定界限至目标范围",
      "wrap": "按比例并包含在目标范围内"
    },
    "tip": "提示: 此节点仅对数字有效。",
    "errors": {
      "notnumber": "不是一个数字"
    }
  },
  "csv": {
    "label": {
      "columns": "列",
      "separator": "分隔符",
      "c2o": "CSV至对象",
      "o2c": "对象至CSV",
      "input": "输入",
      "skip-s": "忽略前",
      "skip-e": "行",
      "firstrow": "第一行包含列名",
      "output": "输出",
      "includerow": "包含列名行",
      "newline": "换行符",
      "usestrings": "解析数值",
      "include_empty_strings": "包含空字符串",
      "include_null_values": "包含空值"
    },
    "placeholder": {
      "columns": "用逗号分割列名"
    },
    "separator": {
      "comma": "逗号（英文半角）",
      "tab": "Tab",
      "space": "空格（英文半角）",
      "semicolon": "分号（英文半角）",
      "colon": "冒号（英文半角）",
      "hashtag": "#号",
      "other": "其他..."
    },
    "output": {
      "row": "每行一条信息",
      "array": "仅一条信息 [数组]"
    },
    "newline": {
      "linux": "Linux (\\n)",
      "mac": "Mac (\\r)",
      "windows": "Windows (\\r\\n)"
    },
    "hdrout": {
      "none": "从不发送列标题",
      "all": "总是发送列标题",
      "once": "发送头一次，直到 msg.reset"
    },
    "errors": {
      "csv_js": "此节点仅处理CSV字符串或JS对象",
      "obj_csv": "对象->CSV转换未设定列模版",
      "bad_csv": "CSV数据格式错误-输出可能已损坏。"
    }
  },
  "html": {
    "label": {
      "select": "选取项",
      "output": "输出",
      "in": "位于"
    },
    "output": {
      "html": "选定元素的html内容",
      "text": "选定元素的纯文本内容",
      "attr": "包含选定元素的所有属性的对象"
    },
    "format": {
      "single": "一条信息 [数组]",
      "multi": "多条信息，每条一个元素"
    }
  },
  "json": {
    "errors": {
      "dropped-object": "忽略非对象格式的有效负载",
      "dropped": "忽略不支持格式的有效负载类型",
      "dropped-error": "转换有效负载失败",
      "schema-error": "JSON架构错误",
      "schema-error-compile": "JSON架构错误: 未能编译架构"
    },
    "label": {
      "o2j": "对象至JSON",
      "pretty": "格式化JSON字符串",
      "action": "操作",
      "property": "属性",
      "actions": {
        "toggle": "JSON字符串与对象互转",
        "str": "总是转为JSON字符串",
        "obj": "总是转为JS对象"
      }
    }
  },
  "yaml": {
    "errors": {
      "dropped-object": "忽略非对象格式的有效负载",
      "dropped": "忽略不支持格式的有效负载类型",
      "dropped-error": "转换有效负载失败"
    }
  },
  "xml": {
    "label": {
      "represent": "XML标签属性的属性名称",
      "prefix": "标签文本内容的属性名称",
      "advanced": "高级选项",
      "x2o": "XML到对象选项"
    },
    "errors": {
      "xml_js": "此节点仅处理XML字符串或JS对象."
    }
  },
  "file": {
    "label": {
      "write": "写入文件",
      "read": "读取文件",
      "filename": "文件名",
      "path": "路径",
      "action": "操作",
      "addnewline": "向每个 payload 添加换行符（\\n）",
      "createdir": "目录不存在自动创建",
      "outputas": "输出",
      "breakchunks": "分拆成块",
      "breaklines": "分拆成行",
      "sendError": "发生错误时发送消息（传统模式）",
      "encoding": "编码",
      "deletelabel": "删除 __file__",
      "utf8String": "UTF8字符串",
      "utf8String_plural": "UTF8字符串",
      "binaryBuffer": "二进制buffer",
      "binaryBuffer_plural": "二进制buffer",
      "allProps": "在每个 msg 中包含所有现有属性"
    },
    "action": {
      "append": "追加至文件",
      "overwrite": "覆盖文件",
      "delete": "删除文件"
    },
    "output": {
      "utf8": "utf8字符串",
      "buffer": "Buffer对象",
      "lines": "每行一条信息",
      "stream": "Buffer流"
    },
    "status": {
      "wrotefile": "写入至文件: __file__",
      "deletedfile": "删除文件: __file__",
      "appendedfile": "追加至文件: __file__"
    },
    "encoding": {
      "none": "默认",
      "native": "Node-RED原生",
      "setbymsg": "通过 msg.encoding 设置",
      "unicode": "Unicode",
      "japanese": "日本",
      "chinese": "中国",
      "korean": "韩国",
      "taiwan": "台湾/香港",
      "windows": "Windows编码",
      "iso": "ISO编码",
      "ibm": "IBM编码",
      "mac": "Mac编码",
      "koi8": "KOI8编码",
      "misc": "其它"
    },
    "errors": {
      "nofilename": "未指定文件名",
      "invaliddelete": "警告：删除无效，请在配置对话框中使用特定的删除选项",
      "deletefail": "无法删除文件: __error__",
      "writefail": "无法写入文件: __error__",
      "appendfail": "无法追加到文件: __error__",
      "createfail": "文件创建失败: __error__"
    },
    "tip": "提示: 文件名应该是绝对路径，使用相对路径时为相对于Node-RED进程的工作目录。"
  },
  "split": {
    "split": "split",
    "intro": "基于以下类型拆分<code>msg.payload</code>:",
    "object": "<b>对象</b>",
    "objectSend": "每个键值对作为单个消息发送",
    "strBuff": "<b>字符串</b> / <b>Buffer</b>",
    "array": "<b>数组</b>",
    "splitUsing": "拆分使用",
    "splitLength": "固定长度",
    "stream": "作为消息流处理",
    "addname": " 复制键到 "
  },
  "join": {
    "join": "join",
    "mode": {
      "mode": "模式",
      "auto": "自动",
      "merge": "合并序列",
      "reduce": "缩减序列",
      "custom": "手动"
    },
    "combine": "合并每个",
    "completeMessage": "完整的消息",
    "create": "输出为",
    "type": {
      "string": "字符串",
      "array": "数组",
      "buffer": "Buffer",
      "object": "键值对对象",
      "merged": "合并对象"
    },
    "using": "使用此值",
    "key": "作为键",
    "joinedUsing": "合并符号",
    "send": "发送信息:",
    "afterCount": "达到一定数量的信息时",
    "count": "数量",
    "subsequent": "和每个后续的消息",
    "afterTimeout": "第一条消息的若干时间后",
    "seconds": "秒",
    "complete": "在收到存在<code>msg.complete</code>的消息后",
    "tip": "此模式假定此节点与<i>split</i>相连, 或者接收到的消息有正确配置的<code>msg.parts</code>属性.",
    "too-many": "join节点中有太多待定信息",
    "message-prop": "消息属性",
    "merge": {
      "topics-label": "合并主题",
      "topics": "主题",
      "topic": "主题",
      "on-change": "当收到一个新主题时发送已合并信息"
    },
    "reduce": {
      "exp": "Reduce表达式",
      "exp-value": "exp",
      "init": "初始值",
      "right": "反向求值(从后往前)",
      "fixup": "Fix-up exp"
    },
    "errors": {
      "invalid-expr": "无效的JSONata表达式: __error__",
      "invalid-type": "Cannot join __error__ to buffer"
    }
  },
  "sort": {
    "sort": "排序",
    "target": "排序属性",
    "seq": "信息队列",
    "key": "键值",
    "elem": "元素值",
    "order": "顺序",
    "ascending": "升序",
    "descending": "降序",
    "as-number": "作为数值",
    "invalid-exp": "排序节点中存在无效的JSONata表达式",
    "too-many": "排序节点中有太多待定信息",
    "clear": "清空排序节点中的待定信息"
  },
  "batch": {
    "batch": "batch",
    "mode": {
      "label": "模式",
      "num-msgs": "按指定数量分组",
      "interval": "按时间间隔分组",
      "concat": "按主题分组"
    },
    "count": {
      "label": "分组数量",
      "overlap": "队末队首重叠数量",
      "count": "数量",
      "invalid": "无效的分组数量或重叠数量"
    },
    "interval": {
      "label": "时间间隔",
      "seconds": "秒",
      "empty": "无数据到达时发送空信息"
    },
    "concat": {
      "topics-label": "主题",
      "topic": "主题"
    },
    "too-many": "batch节点中有太多待定信息",
    "unexpected": "未知模式",
    "no-parts": "信息中没有parts属性",
    "error": {
      "invalid-count": "计数无效",
      "invalid-overlap": "overlap无效",
      "invalid-interval": "间隔无效"
    }
  },
  "rbe": {
    "rbe": "filter",
    "label": {
      "func": "模式",
      "init": "发送初始值",
      "start": "起始值",
      "name": "名称",
      "septopics": "分别为每个数据应用模式 ",
      "gap": "值变化",
      "property": "属性",
      "topic": "主题"
    },
    "placeholder": {
      "bandgap": "例如：10 或 5%",
      "start": "留空以使用收到的第一个数据"
    },
    "opts": {
      "rbe": "阻塞到值变化",
      "rbei": "阻塞到值变化 (忽略初始值)",
      "deadband": "除非值变化大于",
      "deadbandEq": "除非值变化大于或等于",
      "narrowband": "如果值变化大于则阻塞",
      "narrowbandEq": "如果值变化大于或等于则阻塞",
      "in": "与上一个输入值相比",
      "out": "与最后一个有效输出值相比"
    },
    "warn": {
      "nonumber": "在payload中找不到数值"
    }
  }
}
