This commit is contained in:
xuyu0v0
2023-09-05 06:22:46 -04:00
committed by GitHub
37 changed files with 527 additions and 173 deletions

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="inject">
<script type="text/html" data-help-name="inject">
<p>手动或定期得将消息注入流中消息的有效荷载可以为多种类型包括字符串JavaScript对象或当前时间</p>
<h3>输出</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="debug">
<script type="text/html" data-help-name="debug">
<p>调试侧边栏选项卡和运行时日志中显示选定的消息属性 默认情况下它会显示<code>msg.payload</code>JSONata</p>
<h3>详细</h3>
<p>调试侧边栏会提供已发消息的结构化视图方便您查询消息的结构</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="complete">
<script type="text/html" data-help-name="complete">
<p>当另一个节点完成对消息的处理时触发流</p>
<h3>详细</h3>
<p>如果一个节点通知运行时它已完成消息的处理该节点可用于触发第二个流</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="catch">
<script type="text/html" data-help-name="catch">
<p>捕获由同一标签页上的节点引发的错误</p>
<h3>输出</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="status">
<script type="text/html" data-help-name="status">
<p>获取在同一标签页上的其他节点的状态消息</p>
<h3>输出</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="link in">
<script type="text/html" data-help-name="link in">
<p>在流之间创建虚拟连线</p>
<h3>详细</h3>
<p>该节点可以连接到任何标签页上存在的任何<code>link out</code></p>
@@ -22,10 +22,31 @@
<p><b>注意</b></p>
</script>
<script type="text/x-red" data-help-name="link out">
<script type="text/html" data-help-name="link out">
<p>在流之间创建虚拟连线</p>
<h3>详细</h3>
<p>该节点可以连接到任何标签页上存在的任何<code>link in</code></p>
<p>仅当选择链接节点时才会显示链接节点之间的链接如果有指向另一个选项卡的链接则显示一个虚拟节点单击该虚拟节点将带您到相应的选项卡</p>
<p><b>注意</b></p>
</script>
<script type="text/html" data-help-name="link call">
<p>调用以 <code>link in</code> </p>
<h3>输入</h3>
<dl class="message-properties">
<dt class="optional">target<span class="property-type">字符串</span></dt>
<dd>当选项<b>链接类型</b><code>msg.target</code><code></code></dd>
</dl>
<h3>详细</h3>
<p>此节点可以连接到任何选项卡上存在的<code>link in</code> <code>link out</code></p>
<p>当该节点收到消息时会将其传递到所连接的 <code>link in</code> </p>
<p>如果在配置的超时默认 30 内未收到响应节点将记录一个错误可以使用 <code>catch</code> </p>
<p>当选项<b>链接类型</b><code>msg.target</code><code></code> ID
<ul>
<li>如果</code>id<code></li>
<li>如果有两个或多个 <code>link in</code> </li>
<li><code>链接调用</code><code>link in</code></li>
</ul>
</p>
连接到该节点的流必须以配置为返回模式的<code>link out</code></p>
</script>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="comment">
<script type="text/html" data-help-name="comment">
<p>可用于向流添加注释的节点</p>
<h3>详细</h3>
<p>编辑面板接受Markdown语法输入的文本将在信息侧面板中显示</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="unknown">
<script type="text/html" data-help-name="unknown">
<p>您安装的Node-RED无法识别该节点的类型</p>
<h3>详细</h3>
<p><i>如果在此状态下部署节点其配置会被保存但是在安装缺少的类型之前流不会开始</i></p>

View File

@@ -14,11 +14,13 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="function">
<script type="text/html" data-help-name="function">
<p>定义对接收到的消息进行处理的JavaScript代码函数的主体</p>
<p>输入消息在名为<code>msg</code>JavaScript</p>
<p>通常<code>msg</code><code>msg.payload</code></p>
<p>该函数一般会返回一个消息对象或多个消息对象但也可以为了停止流而什么都不返回</p>
<p><b>On Start</b> <b>On Stop</b> </p>
<p>如果 On Start 代码返回 Promise 对象则在解决 Promise 之前节点不会开始处理消息</p>
<h3>详细</h3>
<p>请参见<a target="_blank" href="http://nodered.org/docs/writing-functions.html">在线文档</a></p>
<h4>传送消息</h4>
@@ -28,6 +30,7 @@
<li>单个消息对象 - 传递给连接到第一个输出的节点</li>
<li>消息对象数组传递给连接到相应输出的节点</li>
</ul>
<p>注意设置代码在节点初始化期间执行 因此如果在setup选项卡中调用<code>node.send</code></p>
<p>如果数组元素是数组则将多个消息发送到相应的输出</p>
<p>无论return方法是单个值还是数组元素如果返回值为null则不会发送任何消息</p>
<h4>日志输出和错误处理</h4>
@@ -45,6 +48,7 @@
<ul>
<li><code>node.id</code> - ID</li>
<li><code>node.name</code> - </li>
<li><code>node.outputCount</code> - </li>
</ul>
<h4>使用环境变量</h4>
<p>环境变量可以通过<code>env.get("MY_ENV_VAR")</code>访</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="switch">
<script type="text/html" data-help-name="switch">
<p>按属性值来分配消息的传送路线</p>
<h3>详细</h3>
<p>根据接收到的消息评估指定的规则然后将消息发送到与匹配的规则相对应的输出端口</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="change">
<script type="text/html" data-help-name="change">
<p>设置更改删除或移动消息流上下文或全局上下文的属性</p>
<p>如果指定了多个规则则将按定义的顺序来应用它们</p>
<h3>详细</h3>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="range">
<script type="text/html" data-help-name="range">
<p>将数值映射为另一个区间的数值</p>
<h3>输入</h3>
<dl class="message-properties">

View File

@@ -14,25 +14,25 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="template">
<script type="text/html" data-help-name="template">
<p>根据提供的模板设置属性</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>msg <span class="property-type">object</span></dt>
<dd>一个msg对象其中包含着用于填充模板的信息</dd>
<dt class="optional">template <span class="property-type">string</span></dt>
<dt class="optional">template <span class="property-type">字符串</span></dt>
<dd><code>msg.payload</code>msg</dd>
</dl>
<h3>Outputs</h3>
<h3>输出</h3>
<dl class="message-properties">
<dt>msg <span class="property-type">object</span></dt>
<dd>由来自传入msg的属性来填充已配置的模板后输出的带有属性的msg</dd>
</dl>
<h3>详细</h3>
<p>默认情况下使用<i><a href="http://mustache.github.io/mustache.5.html" target="_blank">mustache</a></i>格式如有需要也可以切换其他格式</p>
<p>例如:
<p>例如当模板为:
<pre>Hello {{payload.name}}. Today is {{date}}</pre>
<p>receives a message containing:
<p>收到一条消息其中包含
<pre>{
date: "Monday",
payload: {
@@ -42,5 +42,11 @@
<p>输出的消息将会是:
<pre>Hello Fred. Today is Monday</pre>
<p>也可以使用流上下文或全局上下文中的属性<code>{{flow.name}}</code><code>{{global.name}}</code><code>store</code>使<code>{{flow[store].name}}</code><code>{{global[store].name}}</code>
<p><b>注意</b>默认情况下,<i>mustache</i>将在其替换的值中转义任何非字母数字或HTML实体为了防止这种情况请使用<code>{{{triple}}}</code>
<p><b>注意</b>默认情况下,<i>mustache</i>将在其替换的值中转义任何非字母数字或HTML实体为了防止这种情况请使用<code>{{{triple}}}</code></p>
<p>如果您需要在内容中使用<code>{{ }}</code>
例如要使用<code>[[ ]]</code></p>
<pre>{{=[[ ]]=}}</pre>
<h4>使用环境变量</h4>
<p>模板节点可以使用以下语法访问环境变量</p>
<pre>My favourite colour is {{env.COLOUR}}.</pre>
</script>

View File

@@ -14,19 +14,29 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="delay">
<script type="text/html" data-help-name="delay">
<p>对通过节点的消息进行延迟发送或限制</p>
<h3>输入</h3>
<dl class="message-properties">
<dt class="optional">delay <span class="property-type">数值</span></dt>
<dd>设置要应用于消息的延迟以毫秒为单位仅当节点配置为允许消息去覆盖配置的默认延迟间隔时此选项才适用</dd>
<dt class="optional">rate <span class="property-type">数值</span></dt>
<dd>设置消息之间的速率值以毫秒为单位 当该节点收到包含 <code>msg.rate</code> </dd>
<dt class="optional">reset</dt>
<dd>如果接收到的消息将此属性设置为任何值则将清空该节点保留的所有的未发送消息</dd>
<dt class="optional">flush</dt>
<dd>如果收到的消息此属性设置为任何值立即发送节点保留的所有未发送消息</dd>
<dd>如果收到的消息此属性设置为数值则将立即释放该多条消息 如果设置为任何其他类型例如布尔值则立即发送节点持有的所有未完成的消息</dd>
<dt class="optional">toFront</dt>
<dd>在速率限制模式下如果收到的消息将此属性设置为布尔值<code>true</code> <code>msg.flush=1</code> 使
</dd>
</dl>
<h3>详细</h3>
<p>当配置为延迟发送消息时延迟间隔可以是一个固定值一个范围内的随机值或为每个消息动态设置</p>
<p>当配置为对消息进行限制时它们的传递将分散在配置的时间段内状态显示队列中当前的消息数可以选择在中间消息到达时丢弃它们</p>
<p>速率限制可以应用于所有消息也可以根据<code>msg.topic</code></p>
<p>当配置为延迟消息时延迟间隔可以是固定值一定范围内的随机值或为每个消息动态设置 每条消息都会根据其到达时间独立于任何其他消息进行延迟 </p>
<p>当配置为限制消息速率时它们的传递将分布在配置的时间段内 状态显示当前队列中的消息数 它可以选择在中间消息到达时丢弃它们</p>
<p>如果设置为允许覆盖速率则新速率将立即应用并将一直有效直到再次更改重置节点或重新启动流程</p>
<p>速率限制可以应用于所有消息或根据其 <code>msg.topic</code> </p>
<p><b>注意</b>:在速率限制模式下,可以通过 <i>settings.js</i> 文件中的属性设置最大队列深度 例如<code>nodeMessageBufferMaxLength1000</code></p>
</script>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="trigger">
<script type="text/html" data-help-name="trigger">
<p>触发后将会发送一条消息如果被拓展或重置则可以选择发送第二条消息</p>
<h3>输入</h3>
@@ -26,11 +26,12 @@
</dl>
<h3>详细</h3>
<p>该节点可用于在流中创建一个超时 默认情况下当它收到一条消息时它将发送一条带有<code>1</code>250<code>0</code>使Raspberry Pi GPIOLED</p>
<p>该节点可用于在流中创建一个超时 默认情况下当它收到一条消息时它将发送一条带有<code>1</code><code>payload</code>250<code>payload</code><code>0</code>使 GPIOLED</p>
<p>可以将发送的每个消息的有效荷载配置为各种值包括不发送任何内容的选项例如将初始消息设置为<i>nothing</i></p>
<p>如果设置为<i>字符串</i>类型,则该节点支持<i>mustache</i>模板语法</p>
<p>如果节点中启用了该选项则可以通过<code> msg.delay </code></p>
<p>如果节点收到具有<code>reset</code><code></code></p>
<p>如果节点收到具有<code>reset</code><code>payload</code></p>
<p>可以将节点配置为以固定的时间间隔重新发送消息直到被收到的消息重置为止</p>
<p>可选可以将节点配置为将带有<code>msg.topic</code></p>
<p>或者可以将节点配置为将消息视为单独的流并使用 msg 属性来标识每个流默认 <code>msg.topic</code></p>
<p>状态指示节点当前处于活动状态 如果使用多个流则状态指示所持有的流的数量</p>
</script>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="exec">
<script type="text/html" data-help-name="exec">
<p>运行系统命令并返回其输出</p>
<p>可以将节点配置为等待命令完成或者在命令生成时发送其输出</p>
<p>运行的命令可以在节点中配置也可以由收到的消息提供</p>
@@ -31,7 +31,7 @@
<h3>输出</h3>
<ol class="node-ports">
<li>标准输出(stdout)
<li>标准输出
<dl class="message-properties">
<dt>payload <span class="property-type">字符串</span></dt>
<dd>命令的标准输出</dd>
@@ -41,7 +41,7 @@
<dd>仅执行模式一个返回代码对象的副本在端口3上也可用</dd>
</dl>
</li>
<li>标准error输出(stderr)
<li>标准错误
<dl class="message-properties">
<dt>payload <span class="property-type">字符串</span></dt>
<dd>命令的标准错误输出</dd>
@@ -66,6 +66,7 @@
<p>带空格的命令或参数应该用引号引起来<code>这是一个参数</code></p>
<p>返回的<code>有效荷载</code>通常是<i>字符串</i>类型除非检测到非UTF8字符在这种情况下它会是<i>buffer</i></p>
<p>节点处于活动状态时该节点的状态图标和PID将可见对此更改可以通过<code>Status</code></p>
<p><code>隐藏控制台</code> Windows</p>
<h4>杀死进程</h4>
<p>发送<code>msg.kill</code><code>msg.kill</code><code>SIGINT</code><code>SIGQUIT</code><code>SIGHUP</code><code>SIGTERM</code></p>
<p>如果节点有多个进程在运行则还必须设置<code>msg.pid</code>PID</p>

View File

@@ -0,0 +1,30 @@
<script type="text/html" data-help-name="rbe">
<p>异常报告 (RBE) 节点 - 仅在负载发生更改时才传递数据
它还可以阻止除外或者忽略值更改指定量死区和窄带模式</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload
<span class="property-type">数值|字符串| (object)</span>
</dt>
<dd>RBE 模式将接受数字字符串和简单对象 其他模式必须提供可解析的数字</dd>
<dt class="optional">topic <span class="property-type">字符串</span>
</dt>
<dd>如果指定该函数将在每个主题的基础上运行 该属性可以通过配置来设置</dd>
<dt class="optional">reset<span class="property-type">任意</span></dt>
<dd>如果设置则清除指定 msgtopic 的存储值如果未指定 msgtopic则清除所有主题</dd>
</dl>
<h3>输出</h3>
<dl class="message-properties">
<dt>payload
<span class="property-type">与输入一致</span>
</dt>
<dd>如果触发输出将与输入相同</dd>
</dl>
<h3>详细</h3>
<p> RBE 模式下此节点将阻塞直到 <code>msgpayload</code> </p>
<p><a href="https://en.wikipedia.org/wiki/Deadband" target="_blank">死区</a>模式将阻止传入值<i>除非</i>其变化更大或 大于等于+ 与先前值的带隙</p>
<p>如果输入值的变化大于或大于等于 +/- </p>
<p>在死区和窄带模式下传入值都必须包含可解析的数字并且都支持 % - 仅当/除非输入与原始值的差异超过 x% 时才发送</p>
<p>死区和窄带都允许与先前的有效输出值进行比较从而忽略任何超出范围的值或与先前的输入值进行比较这会重置设定点从而允许逐渐漂移死区或阶跃变化 窄带</p>
<p><b>注意</b> <code>msgtopic</code> </p>
</script>

View File

@@ -32,6 +32,7 @@
},
"inject": {
"inject": "注入",
"injectNow": "立即注入",
"repeat": "重复 = __repeat__",
"crontab": "crontab = __crontab__",
"stopped": "停止",
@@ -44,7 +45,7 @@
"str": "字符串",
"num": "数值",
"bool": "布尔值",
"json": "JSON对象",
"json": "对象",
"bin": "buffer",
"date": "时间戳",
"env": "环境变量",
@@ -84,9 +85,12 @@
"errors": {
"failed": "注入失败, 请查看日志",
"toolong": "周期过长",
"invalid-expr": "无效的JSONata表达式 __error__"
},
"tip": "<b>注意:</b> \"指定时间段周期性执行\" 和 \"指定时间\" 会使用cron系统.<br/> 详情查看信息页."
"invalid-expr": "无效的JSONata表达式 __error__",
"invalid-jsonata": "__prop__: 无效的属性表达式: __error__",
"invalid-prop": "__prop__: 无效的属性表达式: __error__",
"invalid-json": "__prop__: 无效的 JSON 数据: __error__",
"invalid-repeat": "重复值无效"
}
},
"catch": {
"catch": "捕获:所有节点",
@@ -115,16 +119,20 @@
}
},
"complete": {
"completeNodes": "完成: __number__ 个节点"
"completeNodes": "完成: __number__ 个节点",
"errors": {
"scopeUndefined": "范围未定义"
}
},
"debug": {
"output": "输出",
"status": "状态",
"none": "None",
"none": "",
"invalid-exp": "无效的JSONata表达式: __error__",
"msgprop": "信息属性",
"msgobj": "与调试输出相同",
"autostatus": "自动的",
"messageCount": "消息数",
"to": "目标",
"debtab": "调试窗口",
"tabcon": "调试窗口及控制台",
@@ -132,6 +140,7 @@
"toConsole": "控制台",
"toStatus": "节点状态 (32位字符)",
"severity": "级别",
"node": "节点",
"notification": {
"activated": "成功激活: __label__",
"deactivated": "成功取消: __label__"
@@ -144,11 +153,16 @@
"filterCurrent": "当前流程",
"debugNodes": "调试节点",
"clearLog": "清空日志",
"clearFilteredLog": "清除筛选的消息",
"filterLog": "过滤日志",
"openWindow": "在新窗口打开",
"copyPath": "复制路径",
"copyPayload": "复制值",
"pinPath": "固定展开"
"pinPath": "固定展开",
"selectAll": "全选",
"selectNone": "全不选",
"all": "所有",
"filtered": "筛选"
},
"messageMenu": {
"collapseAll": "折叠所有路径",
@@ -159,7 +173,21 @@
},
"link": {
"linkIn": "输入",
"linkOut": "输出"
"linkOut": "输出",
"linkCall": "链接调用",
"linkOutReturn": "链接返回",
"outMode": "模式",
"sendToAll": "发送到所有连接的链接节点",
"returnToCaller": "返回调用链接节点",
"timeout": "超时",
"linkCallType": "链接类型",
"staticLinkCall": "固定目标",
"dynamicLinkCall": "动态目标 (msg.target)",
"dynamicLinkLabel": "动态",
"errors": {
"missingReturn": "缺少返回节点信息",
"linkUndefined": "链接未定义"
}
},
"tls": {
"tls": "TLS设置",
@@ -171,22 +199,26 @@
"passphrase": "密码",
"ca": "CA证书",
"verify-server-cert": "验证服务器证书",
"servername": "服务器名"
"servername": "服务器名",
"alpnprotocol": "ALPN协议"
},
"placeholder": {
"cert": "证书路径 (PEM 格式)",
"key": "私钥路径 (PEM 格式)",
"ca": "CA证书路径 (PEM 格式)",
"passphrase": "私钥密码 (可选)",
"servername": "用于SNI"
"servername": "用于SNI",
"alpnprotocol": "与 ALPN 一起使用"
},
"error": {
"missing-file": "未提供证书/密钥文件"
"missing-file": "未提供证书/密钥文件",
"invalid-cert": "未指定证书",
"invalid-key": "未指定私钥"
}
},
"exec": {
"exec": "执行",
"spawn": "spawn",
"spawn": "生成",
"label": {
"command": "命令",
"append": "追加",
@@ -196,32 +228,49 @@
"seconds": "秒",
"stdout": "标准输出",
"stderr": "标准错误输出",
"retcode": "返回码"
"retcode": "返回码",
"winHide": "隐藏控制台"
},
"placeholder": {
"extraparams": "额外的输入参数"
},
"opt": {
"exec": "当命令完成时 - exec模式",
"spawn": "当命令进行时 - spawn模式"
"exec": "当命令完成时 - 执行模式",
"spawn": "当命令进行时 - 生成模式"
},
"oldrc": "使用旧式输出 (兼容模式)"
},
"function": {
"function": "函数",
"label": {
"setup": "设置",
"function": "函数",
"initialize": "设置",
"finalize": "关闭",
"outputs": "输出"
"outputs": "输出",
"modules": "模块"
},
"text": {
"initialize": "// 部署节点后,此处添加的代码将运行一次。 \n",
"finalize": "// 节点正在停止或重新部署时,将运行此处添加的代码。 \n"
},
"require": {
"var": "变量",
"module": "模块",
"moduleName": "模块名",
"importAs": "导入为"
},
"error": {
"externalModuleNotAllowed": "功能节点不允许加载外部模块",
"moduleNotAllowed": "不允许使用模块 __module__",
"externalModuleLoadError": "功能节点加载外部模块失败s",
"moduleLoadError": "无法加载__module__模块 : __error__",
"moduleNameError": "无效的模块变量名称: __name__",
"moduleNameReserved": "保留变量名称: __name__",
"inputListener": "无法在函数中监听对'注入'事件",
"non-message-returned": "函数节点尝试返回类型为 __type__ 的信息"
"non-message-returned": "函数节点尝试返回类型为 __type__ 的信息",
"invalid-js": "JavaScript 代码错误",
"missing-module": "__module__模块丢失"
}
},
"template": {
@@ -234,8 +283,8 @@
"output": "输出为",
"mustache": "Mustache模版",
"plain": "纯文本",
"json": "JSON",
"yaml": "YAML",
"json": "解析的JSON",
"yaml": "解析的YAML",
"none": "无"
},
"templatevalue": "这是有效载荷: {{payload}} !"
@@ -262,16 +311,22 @@
"days": "天",
"day": "天",
"between": "介于",
"and": "",
"and": "",
"rate": "速度",
"msgper": "信息 每",
"queuemsg": "队列中间消息",
"dropmsg": "不传输中间信息",
"sendmsg": "在第二个输出上发送中间消息",
"allowrate": "允许 msg.rate以毫秒为单位覆盖速率",
"label": {
"delay": "延迟",
"variable": "变量",
"limit": "限制",
"limitTopic": "限制主题",
"random": "随机",
"rate": "速度",
"random-first": "第一个随机值",
"random-last": "最后一个随机值",
"units": {
"second": {
"plural": "秒",
@@ -290,6 +345,14 @@
"singular": "天"
}
}
},
"errors": {
"too-many": "延迟节点中挂起的消息太多",
"invalid-timeout": "无效的延迟值",
"invalid-rate": "无效的速度值",
"invalid-rate-unit": "无效的速度单位值",
"invalid-random-first": "第一个随机值无效",
"invalid-random-last": "最后一个随机值无效"
}
},
"trigger": {
@@ -326,7 +389,9 @@
"reset": "重置触发节点条件 如果:",
"resetMessage": "msg.reset已设置",
"resetPayload": "msg.payload等于",
"resetprompt": "可选填"
"resetprompt": "可选填",
"duration": "期间",
"topic": "主题"
}
},
"comment": {
@@ -349,10 +414,45 @@
"port": "端口",
"keepalive": "Keepalive计时(秒)",
"cleansession": "使用新的会话",
"cleanstart": "使用干净启动",
"use-tls": "使用 TLS",
"tls-config": "TLS 设置",
"verify-server-cert": "验证服务器证书",
"compatmode": "使用旧式MQTT 3.1支持"
"compatmode": "使用旧式MQTT 3.1支持",
"userProperties": "用户属性",
"subscriptionIdentifier": "订阅 ID",
"flags": "标志",
"nl": "不接收该客户端发布的消息",
"rap": "保留原始发布的标志",
"rh": "保留消息处理",
"rh0": "发送保留消息",
"rh1": "仅发送新订阅",
"rh2": "不发送",
"responseTopic": "回复主题",
"contentType": "内容类型",
"correlationData": "相关数据",
"expiry": "过期(秒)",
"sessionExpiry": "会话过期(秒)",
"topicAlias": "别名",
"payloadFormatIndicator": "格式",
"payloadFormatIndicatorFalse": "未指定的字节(默认)",
"payloadFormatIndicatorTrue": "UTF-8 编码的有效负载",
"protocolVersion": "协议",
"protocolVersion3": "MQTT V3.1 (旧版)",
"protocolVersion4": "MQTT V3.1.1",
"protocolVersion5": "MQTT V5",
"topicAliasMaximum": "别名最大值",
"maximumPacketSize": "最大数据包大小",
"receiveMaximum": "接收最大值",
"session": "会话",
"delay": "延迟",
"action": "行动",
"staticTopic": "订阅单个主题",
"dynamicTopic": "动态订阅",
"auto-connect": "自动连接",
"auto-mode-depreciated": "此选项已弃用。请使用新的自动检测模式。",
"none": "无",
"other": "其他"
},
"sections-label": {
"birth-message": "连接时发送的消息(出生消息)",
@@ -374,7 +474,8 @@
"state": {
"connected": "已连接到服务端: __broker__",
"disconnected": "已断开与服务端 __broker__ 的链接",
"connect-failed": "与服务端 __broker__ 的连接失败"
"connect-failed": "与服务端 __broker__ 的连接失败",
"broker-disconnected": "代理__broker__ 已断开客户端连接: __reasonCode__ __reasonString__"
},
"retain": "保留",
"output": {
@@ -394,7 +495,11 @@
"invalid-topic": "主题无效",
"nonclean-missingclientid": "客户端ID未设定使用新会话",
"invalid-json-string": "无效的JSON字符串",
"invalid-json-parse": "无法解析JSON字符串"
"invalid-json-parse": "无法解析JSON字符串",
"invalid-action-action": "指定的操作无效",
"invalid-action-alreadyconnected": "连接前断开与代理的连接",
"invalid-action-badsubscription": "msg.topic 丢失或无效",
"invalid-client-id": "缺少客户端 ID"
}
},
"httpin": {
@@ -407,7 +512,11 @@
"status": "状态码",
"headers": "头",
"other": "其他",
"paytoqs": "将msg.payload附加为查询字符串参数",
"paytoqs":{
"ignore": "忽略",
"query": "附加到查询字符串参数",
"body": "作为请求正文发送"
},
"utf8String": "UTF8格式的字符串",
"binaryBuffer": "二进制buffer",
"jsonObject": "解析的JSON对象",
@@ -426,6 +535,7 @@
"proxy-config": "代理服务器设置",
"use-proxyauth": "使用代理身份验证",
"noproxy-hosts": "代理例外",
"senderr": "只向 Catch 节点发送非 2xx 响应",
"utf8": "UTF-8 字符串",
"binary": "二进制数据",
"json": "JSON对象",
@@ -445,11 +555,13 @@
"invalid-transport": "非HTTP传输请求",
"timeout-isnan": "超时值不是有效数字,忽略",
"timeout-isnegative": "超时值为负,忽略",
"invalid-payload": "无效的有效载荷"
"invalid-payload": "无效的有效载荷",
"invalid-url": "无效的网址"
},
"status": {
"requesting": "请求中"
}
},
"insecureHTTPParser": "禁用严格的 HTTP 解析"
},
"websocket": {
"label": {
@@ -463,6 +575,7 @@
"sendrec": "发送/接受",
"payload": "有效载荷",
"message": "完整信息",
"sendheartbeat": "发送心跳",
"tip": {
"path1": "默认情况下,<code>payload</code>将包含要发送或从Websocket接收的数据。侦听器可以配置为以JSON格式的字符串发送或接收整个消息对象.",
"path2": "这条路径将相对于 <code>__path__</code>.",
@@ -477,11 +590,13 @@
"connect-error": "ws连接发生了错误: ",
"send-error": "发送时发生了错误: ",
"missing-conf": "未设置服务器",
"duplicate-path": "同一路径上不能有两个WebSocket侦听器: __path__"
"duplicate-path": "同一路径上不能有两个WebSocket侦听器: __path__",
"missing-server": "缺少服务器配置",
"missing-client": "缺少客户端配置"
}
},
"watch": {
"watch": "watch",
"watch": "监视",
"label": {
"files": "文件",
"recursive": "递归所有子文件夹"
@@ -504,7 +619,10 @@
"server": "服务器",
"return": "返回",
"ms": "毫秒",
"chars": "字符"
"chars": "字符",
"close": "关闭",
"optional": "(可选)",
"reattach": "重新附加分隔符"
},
"type": {
"listen": "监听",
@@ -543,7 +661,10 @@
"socket-error": "套接字连接错误来自 __host__:__port__",
"no-host": "主机地址或端口未设定",
"connect-timeout": "连接超时",
"connect-fail": "连接失败"
"connect-fail": "连接失败",
"bad-string": "转换为字符串失败",
"invalid-host": "无效主机",
"invalid-port": "无效端口"
}
},
"udp": {
@@ -557,7 +678,8 @@
"send": "发送一个",
"toport": "到端口",
"address": "地址",
"decode-base64": "是否解码Base64编码的信息?"
"decode-base64": "是否解码Base64编码的信息?",
"port": "端口"
},
"placeholder": {
"interface": "可选eth0的IP地址",
@@ -604,15 +726,18 @@
"port-notset": "udp: 端口未设定",
"port-invalid": "udp: 无效端口号码",
"alreadyused": "udp: 端口已被占用",
"ifnotfound": "udp: 接口 __iface__ 未发现"
"ifnotfound": "udp: 接口 __iface__ 未发现",
"invalid-group": "无效的多播组"
}
},
"switch": {
"switch": "switch",
"switch": "交换",
"label": {
"property": "属性",
"rule": "规则",
"repair": "重建信息队列"
"repair": "重建信息队列",
"value-rules": "价值规则",
"sequence-rules": "顺序规则"
},
"previous": "先前值",
"and": "与",
@@ -651,13 +776,15 @@
"delete": "删除 __property__",
"move": "移动 __property__",
"changeCount": "修改: __count__ 条规矩",
"regex": "使用正则表达式"
"regex": "使用正则表达式",
"deepCopy": "深复制值"
},
"action": {
"set": "设定",
"change": "修改",
"delete": "删除",
"move": "转移",
"toValue": "到...值",
"to": "到",
"search": "搜索",
"replace": "替代为"
@@ -666,18 +793,24 @@
"invalid-from": "无效的'from'属性: __error__",
"invalid-json": "无效的'to'JSON 属性",
"invalid-expr": "无效的JSONata表达式: __error__",
"no-override": "无法设置非对象类型的属性: __property__"
"no-override": "无法设置非对象类型的属性: __property__",
"invalid-prop": "无效的属性表达式: __property__",
"invalid-json-data": "无效的 JSON 数据: __error__"
}
},
"range": {
"range": "range",
"range": "范围",
"label": {
"action": "操作",
"inputrange": "映射输入数据",
"resultrange": "至目标范围",
"from": "从",
"to": "到",
"roundresult": "取最接近整数?"
"roundresult": "取最接近整数?",
"minin": "输入来自",
"maxin": "输入到",
"minout": "目标来自",
"maxout": "目标到"
},
"placeholder": {
"min": "比如: 0",
@@ -747,7 +880,7 @@
"label": {
"select": "选取项",
"output": "输出",
"in": "in"
"in": ""
},
"output": {
"html": "选定元素的html内容",
@@ -799,7 +932,10 @@
},
"file": {
"label": {
"write": "写入文件",
"read": "读取文件",
"filename": "文件名",
"path": "路径",
"action": "行为",
"addnewline": "向每个有效载荷添加换行符(\\n?",
"createdir": "创建目录(如果不存在)?",
@@ -810,7 +946,10 @@
"encoding": "编码",
"deletelabel": "删除 __file__",
"utf8String": "UTF8字符串",
"binaryBuffer": "二进制buffer"
"utf8String_plural": "UTF8字符串",
"binaryBuffer": "二进制buffer",
"binaryBuffer_plural": "二进制buffers",
"allProps": "在每个消息中包含所有现有属性"
},
"action": {
"append": "追加至文件",
@@ -830,8 +969,9 @@
},
"encoding": {
"none": "默认",
"native": "Native",
"unicode": "Unicode",
"setbymsg": "通过 msg.encoding 设置",
"native": "本国的",
"unicode": "Unicode编码",
"japanese": "日本",
"chinese": "中国",
"korean": "韩国",
@@ -854,7 +994,7 @@
"tip": "提示: 文件名应该是绝对路径否则它将相对于Node-RED进程的工作目录。"
},
"split": {
"split": "split",
"split": "拆分",
"intro": "基于以下类型拆分<code>msg.payload</code>:",
"object": "<b>对象</b>",
"objectSend": "每个键值对作为单个消息发送",
@@ -896,6 +1036,7 @@
"complete": "在收到存在<code>msg.complete</code>的消息后",
"tip": "此模式假定此节点与<i>split</i>相连, 或者接收到的消息有正确配置的<code>msg.parts</code>属性.",
"too-many": "join节点中有太多待定信息",
"message-prop": "消息属性",
"merge": {
"topics-label": "合并主题",
"topics": "主题",
@@ -903,15 +1044,15 @@
"on-change": "当收到一个新主题时发送已合并信息"
},
"reduce": {
"exp": "Reduce表达式",
"exp-value": "exp",
"exp": "缩减表达式",
"exp-value": "表达式",
"init": "初始值",
"right": "反向求值(从后往前)",
"fixup": "Fix-up exp"
"fixup": "改进表达式"
},
"errors": {
"invalid-expr": "无效的JSONata表达式: __error__",
"invalid-type": "Cannot join __error__ to buffer"
"invalid-type": "无法将 __error__ 连接到缓冲区"
}
},
"sort": {
@@ -929,7 +1070,7 @@
"clear": "清空排序节点中的待定信息"
},
"batch": {
"batch": "batch",
"batch": "批量",
"mode": {
"label": "模式",
"num-msgs": "按指定数量分组",
@@ -953,6 +1094,41 @@
},
"too-many": "batch节点中有太多待定信息",
"unexpected": "未知模式",
"no-parts": "信息中没有parts属性"
"no-parts": "信息中没有parts属性",
"error": {
"invalid-count": "无效计数",
"invalid-overlap": "无效重叠",
"invalid-interval": "无效间隔"
}
},
"rbe": {
"rbe": "筛选",
"label": {
"func": "模式",
"init": "发送初始值",
"start": "起始值",
"name": "名字",
"septopics": "为每个单独应用模式",
"gap": "值变化",
"property": "属性",
"topic": "主题"
},
"placeholder": {
"bandgap": "例如 10 或 5%",
"start": "留空以使用收到的第一个数据"
},
"opts": {
"rbe": "阻止除非值改变",
"rbei": "阻止除非值改变忽略初始值b",
"deadband": "阻止除非值变化大于",
"deadbandEq": "阻止除非值变化大于或等于",
"narrowband": "如果值变化大于则阻止",
"narrowbandEq": "如果值变化大于或等于则阻止",
"in": "与上次输入值相比",
"out": "与最后一个有效输出值相比"
},
"warn": {
"nonumber": "在有效负载中找不到号码"
}
}
}

View File

@@ -14,6 +14,6 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="tls-config">
<script type="text/html" data-help-name="tls-config">
<p>TLS连接的配置选项</p>
</script>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="http proxy">
<script type="text/html" data-help-name="http proxy">
<p>HTTP代理的配置选项</p>
<h3>详细</h3>

View File

@@ -11,7 +11,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="mqtt in">
<script type="text/html" data-help-name="mqtt in">
<p>连接到MQTT代理并订阅来自指定主题的消息</p>
<h3>输出</h3>
<dl class="message-properties">
@@ -23,14 +23,51 @@
<dd>QoS服务质量0, 最多一次 1, 最少一次 2, 只一次</dd>
<dt>retain <span class="property-type">布尔值</span></dt>
<dd>值为true时表示消息已保留且可能是旧的</dd>
<dt class="optional">responseTopic <span class="property-type">字符串</span></dt>
<dd><b>MQTTv5</b>: MQTT </dd>
<dt class="optional">correlationData <span class="property-type">Buffer</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">contentType <span class="property-type">字符串</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">userProperties <span class="property-type">object</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">messageExpiryInterval <span class="property-type">数值</span></dt>
<dd><b>MQTTv5</b>: </dd>
</dl>
<h3>详细</h3>
<p>订阅主题可以包括MQTT通配符+一个级别多个级别</p>
<p>使用该节点您首先需要建立与MQTT代理的连接通过单击铅笔图标来进行配置</p>
<p>如有需要几个MQTT节点输入或输出可以共享相同的代理连接</p>
<h4>动态订阅</h4>
可以将节点配置为动态控制 MQTT 连接及其订阅 启用后节点将有一个输入并且可以通过向其传递消息来控制
<h3>输入</h3>
<p>这些仅在节点配置为动态订阅时适用</p>
<dl class="message-properties">
<dt>action <span class="property-type">字符串</span></dt>
<dd>节点应执行的操作的名称 可用的操作有: <code>"connect"</code>,
<code>"disconnect"</code>, <code>"subscribe"</code><code>"unsubscribe"</code>.</dd>
<dt class="optional">topic <span class="property-type">字符串|object|数组</span></dt>
<dd>对于<code>"subscribe"</code><code>"unsubscribe"</code> , :<ul>
<li>包含主题过滤器的字符串</li>
<li>包含<code>topic</code><code>qos</code></li>
<li>用于处理多个主题的字符串或对象数组</li>
</ul>
</dd>
<dt class="optional">broker <span class="property-type">broker</span> </dt>
<dd>对于<code>"connect"</code> ,: <ul>
<li><code>broker</code></li>
<li><code>port</code></li>
<li><code>url</code> - /url</li>
<li><code>username</code></li>
<li><code>password</code></li>
</ul>
<p>如果设置了此属性并且代理已连接则会记录错误除非它设置了 <code>force</code> - </p>
</dd>
</dl>
</script>
<script type="text/x-red" data-help-name="mqtt out">
<script type="text/html" data-help-name="mqtt out">
<p>连接到MQTT代理并发布消息</p>
<h3>输入</h3>
<dl class="message-properties">
@@ -42,9 +79,20 @@
<dt class="optional">qos <span class="property-type">number</span></dt>
<dd>QoS服务质量0, 最多一次 1, 最少一次 2, 只一次默认值为0</dd>
<dt class="optional">retain <span class="property-type">布尔值</span></dt>
<dd>设置为<code>true</code><code>false</code></dd>
<dd>设置为true来将消息保留在代理上默认值为false</dd>
<dt class="optional">responseTopic <span class="property-type">字符串</span></dt>
<dd><b>MQTTv5</b>: MQTT </dd>
<dt class="optional">correlationData <span class="property-type">Buffer</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">contentType <span class="property-type">字符串</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">userProperties <span class="property-type">object</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">messageExpiryInterval <span class="property-type">数值</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">topicAlias <span class="property-type">数值</span></dt>
<dd><b>MQTTv5</b>: 使 MQTT </dd>
</dl>
<h3>详细</h3>
<p><code>msg.payload</code>ObjectJSONbuffer</p>
@@ -52,9 +100,28 @@
<p>同样可以在节点中配置QoS和保留值或者如果保留空白则分别由<code>msg.qos</code><code>msg.retain</code></p>
<p>该节点需要与要配置的MQTT代理的连接通过单击铅笔图标进行配置</p>
<p>如果需要几个MQTT节点输入或输出可以共享相同的代理连接</p>
<h4>动态控制</h4>
节点共享的连接可以动态控制 如果节点收到以下控制消息之一它也不会发布消息负载
<h3>输入</h3>
<dl class="message-properties">
<dt>action <span class="property-type">字符串</span></dt>
<dd>节点应执行的操作的名称 可用的操作有<code>"connect"</code><code>"disconnect"</code>.</dd>
<dt class="optional">broker <span class="property-type">broker</span> </dt>
<dd>对于<code>"connect"</code>, : <ul>
<li><code>broker</code></li>
<li><code>port</code></li>
<li><code>url</code> - /url</li>
<li><code>username</code></li>
<li><code>password</code></li>
</ul>
<p>如果设置了此属性并且代理已连接则会记录错误除非它设置了 <code>force</code> - </p>
</dd>
</dl>
</script>
<script type="text/x-red" data-help-name="mqtt-broker">
<script type="text/html" data-help-name="mqtt-broker">
<p>与MQTT代理的连接设置</p>
<p>创建与代理的连接设置可以在<code>MQTT In</code><code>MQTT Out</code></p>
<p>如果未为该节点设置客户端ID并且设置了会话初始化则将生成一个随机客户端ID设置客户端ID时请确保它对于连接目标处的代理是唯一的</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="http in">
<script type="text/html" data-help-name="http in">
<p>创建用于创建Web服务的HTTP端点</p>
<h3>输出</h3>
<dl class="message-properties">
@@ -41,7 +41,7 @@
<p><b>注意</b>HTTP</p>
</script>
<script type="text/x-red" data-help-name="http response">
<script type="text/html" data-help-name="http response">
<p>将响应发送回从HTTP输入节点接收的请求</p>
<h3>输入</h3>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="http request">
<script type="text/html" data-help-name="http request">
<p>发送HTTP请求并返回响应</p>
<h3>输入</h3>

View File

@@ -14,22 +14,22 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="websocket in">
<script type="text/html" data-help-name="websocket in">
<p>WebSocket输入节点</p>
<p>默认情况下从WebSocket接收的数据将位于<code>msg.payload</code>JSONJSON</p>
</script>
<script type="text/x-red" data-help-name="websocket out">
<script type="text/html" data-help-name="websocket out">
<p>WebSocket输出节点</p>
<p>默认情况下<code>msg.payload</code>WebSocket<code>msg</code>JSONWebSocket</p>
<p>如果到达此节点的消息是从WebSocket In节点开始的则该消息将发送回触发流程的客户端否则消息将广播给所有连接的客户端</p>
<p>如果要广播从WebSocket输入节点开始的消息则可以应该删除流中的<code>msg._session</code></p>
</script>
<script type="text/x-red" data-help-name="websocket-listener">
<script type="text/html" data-help-name="websocket-listener">
<p>此配置节点使用指定的路径创建WebSocket服务器端点</p>
</script>
<script type="text/x-red" data-help-name="websocket-client">
<script type="text/html" data-help-name="websocket-client">
<p>此配置节点将WebSocket客户端连接到指定的URL</p>
</script>

View File

@@ -14,12 +14,12 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="tcp in">
<script type="text/html" data-help-name="tcp in">
<p>提供TCP输入选择可以连接到远程TCP端口或接受传入连接</p>
<p><b>注意</b>root访1024</p>
</script>
<script type="text/x-red" data-help-name="tcp out">
<script type="text/html" data-help-name="tcp out">
<p>提供TCP输出的选择可以连接到远程TCP端口接受传入的连接或回复从TCP In节点收到的消息</p>
<p>仅发送<code>msg.payload</code></p>
<p>如果<code>msg.payload</code>Base64Base64</p>
@@ -27,7 +27,7 @@
<p><b>注意</b>root访1024</p>
</script>
<script type="text/x-red" data-help-name="tcp request">
<script type="text/html" data-help-name="tcp request">
<p>一个简单的TCP请求节点<code>msg.payload</code>tcp</p>
<p>连接到服务器发送请求并接收响应 可以从固定数量的字符与指定字符匹配的字符中选择操作从第一个答复到达起等待指定的时间等待数据到达发送数据并立即取消连接而无需等待答复等操作中进行选择</p>
<p>响应将在<code>msg.payload</code>buffer<code>.toString()</code></p>

View File

@@ -14,13 +14,13 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="udp in">
<script type="text/html" data-help-name="udp in">
<p>UDP输入节点<code>msg.payload</code>BufferBase64</p>
<p><code>msg.ip</code><code>msg.port</code>IP</p>
<p><b>注意</b>root使1024广</p>
</script>
<script type="text/x-red" data-help-name="udp out">
<script type="text/html" data-help-name="udp out">
<p>该节点将<code>msg.payload</code>UDP</p>
<p>您也可以使用<code>msg.ip</code><code>msg.port</code></p>
<p>如果选择广播则将地址设置为本地广播IP地址或者也可以尝试使用全局广播地址255.255.255.255</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="csv">
<script type="text/html" data-help-name="csv">
<p>在CSV格式的字符串及其JavaScript对象表示形式之间进行相互转换</p>
<h3>输入</h3>
<dl class="message-properties">
@@ -36,7 +36,12 @@
<h3>详细</h3>
<p>列模板可以包含列名称的有序列表将CSV转换为对象时列名将用作属性名称或者也可以从CSV的第一行中获取列名称</p>
<p>转换为CSV时列模板用于标识从对象中提取的属性以及提取的顺序</p>
<p>如果列模板为空那么您可以使用<code>msg.columns</code>
如果两者都不存在则按顺序输出所有对象属性其中属性位于第一行</p>
<p>如果输入是数组则列模板仅用于有选择地生成一行列标题</p>
<p>如果选中解析数值选项则字符串数值将以数字形式返回 中间值 '1,"1.5",2'</p>
<p>如果选中包含空字符串选项则结果中将返回空字符串 中间值'"1","",3'</p>
<p>如果选中包含空值选项则结果中将返回空值 中间值'"1",,3'</p>
<p>只要正确设置<code>parts</code></p>
<p>如果输出多个消息则将设置其<code>parts</code></p>
<p><b>注意</b>使</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="html">
<script type="text/html" data-help-name="html">
<p>使用CSS选择器从<code>msg.payload</code>html</p>
<h3>输入</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="json">
<script type="text/html" data-help-name="json">
<p>在JSON字符串及其JavaScript对象表示形式之间相互转换</p>
<h3>输入</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="xml">
<script type="text/html" data-help-name="xml">
<p>在XML字符串及其JavaScript对象表示形式之间进行相互转换</p>
<h3>输入</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="yaml">
<script type="text/html" data-help-name="yaml">
<p>在YAML格式的字符串及其JavaScript对象表示形式之间相互转换</p>
<h3>输入</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="split">
<script type="text/html" data-help-name="split">
<p>将一条消息拆分为一系列消息</p>
<h3>输入</h3>
@@ -51,7 +51,7 @@
<p>在此模式下运行时该节点将不会设置<code>msg.parts.count</code><b>join</b>使</p>
</script>
<script type="text/x-red" data-help-name="join">
<script type="text/html" data-help-name="join">
<p>将消息序列合并为一条消息.</p>
<p>共有三种模式</p>
<dl>
@@ -72,12 +72,17 @@
<li><code>count</code> - </li>
<li><code>type</code> - -///buffer</li>
<li><code>ch</code> - buffer</li>
<li><code>key</code> - <code>msg.topic</code>/li>
<li><code>key</code> - </li>
<li><code>len</code> - 使</li>
</ul>
</dd>
<dt class="optional">complete</dt>
<dd>如果设置节点将以当前状态发送输出消息</dd>
<dd>如果设置节点将附加有效负载然后以当前状态发送输出消息
如果您不想附加有效负载请将其从消息中删除</dd>
<dt class="optional">reset</dt>
<dd>如果设置节点将清除任何部分完成的消息并且不发送它</dd>
<dt class="optional">restartTimeout</dt>
<dd>如果设置并且节点配置了超时则该超时将重新启动</dd>
</dl>
<h3>详细</h3>
@@ -120,6 +125,7 @@
</ul>
</dd>
<p>默认情况下按顺序从序列的第一条消息到最后一条消息应用聚合表达式也可以选择以相反的顺序应用聚合表达式</p>
<p>$N 是到达的消息数 - 即使它们是相同的</p>
</dl>
<p><b>例子</b>
<ul>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="sort">
<script type="text/html" data-help-name="sort">
<p>对消息属性或消息序列进行排序的函数</p>
<p>当配置为对消息属性进行排序时节点将对指定消息属性所指向的数组数据进行排序</p>
<p>当配置为对消息序列排序时它将对消息重新排序</p>

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="batch">
<script type="text/html" data-help-name="batch">
<p>根据各种规则创建消息序列</p>
<h3>详细</h3>
<p>有三种创建消息序列的模式</p>
@@ -31,4 +31,5 @@
</dl>
<h4>储存讯息</h4>
<p>该节点将在内部缓冲消息以便跨序列工作运行时设置<code>nodeMessageBufferMaxLength</code></p>
<p>如果接收到的消息设置了<code>msg.reset</code></p>
</script>

View File

@@ -19,7 +19,11 @@
<h3>输入</h3>
<dl class="message-properties">
<dt class="optional">filename<span class="property-type">字符串</span></dt>
<dd>如果未在节点配置则此可选属性可以设置文件名</dd>
<dd>要更新的文件名称可在节点配置中修改或作为一个信息属性修改
默认情况下它将使用<code>msg.filename</code>
</dd>
<dt class="optional">encoding <span class="property-type">字符串</span></dt>
<dd>如果编码配置为由msg设置那么这个可选属性可以设置编码</dt>
</dl>
<h3>输出</h3>
<p>写入完成后输入消息将发送到输出端口</p>
@@ -36,7 +40,8 @@
<h3>输入</h3>
<dl class="message-properties">
<dt class="optional">filename<span class="property-type">字符串</span></dt>
<dd>如果未在节点配置中设置该属性可以选择要读取的文件名</dd>
<dd>要读取的文件的名称可以在节点配置中修改也可以作为消息属性修改
默认情况下它将使用<code>msg.filename</code></dd>
</dl>
<h3>输出</h3>
<dl class="message-properties">

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<script type="text/x-red" data-help-name="watch">
<script type="text/html" data-help-name="watch">
<p>监视目录或文件中的更改</p>
<p>您可以输入用逗号分隔的目录和/或文件的列表您需要在所有带有空格的地方加上引号...</p>
<p>在Windows上必须在任何目录名称中使用双反斜杠<code>\\</code></p>

View File

@@ -1,65 +1,76 @@
{
"runtime": {
"welcome": "欢迎使用Node-RED",
"version": "__component__ 版本 __version__",
"version": "__component__ 版本: __version__",
"unsupported_version": "__component__的不受支持的版本。要求: __requires__ 找到: __version__",
"paths": {
"settings": "设置文件 : __path__",
"httpStatic": "HTTP Static : __path__"
}
},
"server": {
"loading": "加载控制板节点",
"palette-editor": {
"disabled": "控制板编辑器已禁用用户设置",
"npm-not-found": "控制板编辑器已禁用找不到npm命令",
"npm-too-old": "控制板编辑器已禁用 npm版本太旧。需要版本npm >= 3.x"
"disabled": "控制板编辑器已禁用: 用户设置",
"npm-not-found": "控制板编辑器已禁用: 找不到npm命令",
"npm-too-old": "控制板编辑器已禁用: npm版本太旧。需要版本npm >= 3.x"
},
"errors": "无法注册__count__节点类型",
"errors_plural": "无法注册__count__个节点类型",
"errors-help": "使用-v运行以获取详细信息",
"missing-modules": "缺少节点模块",
"node-version-mismatch": "无法在此版本上加载节点模块。要求__ version__",
"missing-modules": "缺少节点模块: ",
"node-version-mismatch": "无法在此版本上加载节点模块。要求: __ version__",
"set-has-no-types": "集没有任何类型。名字: '__name__', 模块: '__module__', 文件: '__file__'",
"type-already-registered": "'__type__'已由模块__module__注册",
"removing-modules": "从配置中删除模块",
"added-types": "添加的节点类型",
"removed-types": "删除的节点类型",
"added-types": "添加的节点类型: ",
"removed-types": "删除的节点类型: ",
"install": {
"invalid": "无效的模块名称",
"installing": "安装模块__ name__,版本:__ version__",
"installed": "已安装的模块__ name__",
"installing": "安装模块: __ name__, 版本: __ version__",
"installed": "已安装的模块: __ name__",
"install-failed": "安装失败",
"install-failed-long": "模块__name__安装失败",
"install-failed-long": "模块__name__安装失败: ",
"install-failed-not-found": "$t(server.install.install-failed-long) 模块未发现",
"install-failed-name": "$t(server.install.install-failed-long) 模块名称无效: __name__",
"install-failed-url": "$t(server.install.install-failed-long) 无效的网址: __url__",
"post-install-error": "运行'postInstall'挂钩时出错:",
"upgrading": "更新模块: __name__ 至版本: __version__",
"upgraded": "更新模块: __name__。 重新启动Node-RED以使用新版本",
"upgrade-failed-not-found": "$t(server.install.install-failed-long) 未发现版本",
"uninstalling": "卸载模块: __name__",
"uninstall-failed": "卸载失败",
"uninstall-failed-long": "卸载模块__name__失败:",
"uninstalled": "卸载模块: __name__"
"uninstalled": "卸载模块: __name__",
"old-ext-mod-dir-warning": "\n\n---------------------------------------------------------------------\n检测到 Node-RED 1.3 外部模块目录:\n __oldDir__\n该目录不再使用。外部模块将\n重新安装在您的 Node-RED 用户目录中:\n __newDir__\n删除旧的外部模块目录以停止此消息。\n---------------------------------------------------------------------\n"
},
"deprecatedOption": "不推荐使用__old__, 请使用__new__代替",
"unable-to-listen": "无法在__listenpath__上收听",
"port-in-use": "错误: 端口正在使用中",
"uncaught-exception": "未捕获的异常",
"uncaught-exception": "未捕获的异常: ",
"admin-ui-disabled": "管理员界面已禁用",
"now-running": "服务器现在在__listenpath__上运行",
"failed-to-start": "无法启动服务器",
"failed-to-start": "无法启动服务器: ",
"headless-mode": "在headless模式下运行",
"httpadminauth-deprecated": "不建议使用httpAdminAuth。请改用adminAuth"
"httpadminauth-deprecated": "不建议使用httpAdminAuth。请改用adminAuth",
"https": {
"refresh-interval": "每__interval__小时刷新一次 https 设置",
"settings-refreshed": "服务器 https 设置已刷新",
"refresh-failed": "刷新 https 设置失败: __message__",
"nodejs-version": "httpsRefreshInterval 需要 Node.js 11 或更高版本",
"function-required": "httpsRefreshInterval 要求 https 属性是一个函数"
}
},
"api": {
"flows": {
"error-save": "保存流程错误: __message__",
"error-reload": "重载流程错误: __message__"
},
"library": {
"error-load-entry": "加载库条目'__path__'时出错__message__",
"error-save-entry": "保存库条目'__path__'时出错__ message__",
"error-load-flow": "加载流程'__path__'时出错__ message__",
"error-save-flow": "保存流'__path__'时出错__ message__"
"error-load-entry": "加载库条目'__path__'时出错: __message__",
"error-save-entry": "保存库条目'__path__'时出错: __ message__",
"error-load-flow": "加载流程'__path__'时出错: __ message__",
"error-save-flow": "保存流'__path__'时出错: __ message__"
},
"nodes": {
"enabled": "启用的节点类型:",
@@ -67,30 +78,37 @@
"error-enable": "无法启用节点:"
}
},
"comms": {
"error": "通讯渠道错误__ message__",
"error-server": "通信服务器错误__ message__",
"error-send": "通讯发送错误__ message__"
"error": "通讯渠道错误: __ message__",
"error-server": "通信服务器错误: __ message__",
"error-send": "通讯发送错误: __ message__"
},
"settings": {
"user-not-available": "无法保存用户设置__ message__",
"user-not-available": "无法保存用户设置: __ message__",
"not-available": "设置不可用",
"property-read-only": "属性“ __prop__”是只读的"
"property-read-only": "属性“ __prop__”是只读的",
"readonly-mode": "运行时处于只读模式。 更改将不会被保存。"
},
"library": {
"unknownLibrary": "未知库: __library__",
"unknownType": "未知库类型: __type__",
"readOnly": "__library__库是只读的",
"failedToInit": "无法初始化__library__库: __error__",
"invalidProperty": "无效__prop__属性: '__value__'"
},
"nodes": {
"credentials": {
"error":"加载证书时出错__ message__",
"error-saving":"保存证书时出错__ message__",
"error":"加载证书时出错: __ message__",
"error-saving":"保存证书时出错: __ message__",
"not-registered": "证书类型'__type__'未注册",
"system-key-warning": "\n\n---------------------------------------------------------------------\n您的流程证书文件是使用系统生成的密钥加密的。\n\n如果系统生成的密钥由于任何原因丢失则您的证书文件将无法恢复您将必须删除它并重新输入您的证书。\n\n您应该使用您的设置文件中的'credentialSecret'选项设置自己的密钥。然后下次部署更改时Node-RED将使用选择的密钥重新加密您的证书文件。\n---------------------------------------------------------------------\n"
"system-key-warning": "\n\n---------------------------------------------------------------------\n您的流程证书文件是使用系统生成的密钥加密的。\n\n如果系统生成的密钥由于任何原因丢失, 则您的证书文件将无法恢复, 您将必须删除它并重新输入您的证书。\n\n您应该使用您的设置文件中的'credentialSecret'选项设置自己的密钥。然后, 下次部署更改时, Node-RED将使用选择的密钥重新加密您的证书文件。\n---------------------------------------------------------------------\n",
"unencrypted": "使用未加密的证书",
"encryptedNotFound": "未找到加密证书"
},
"flows": {
"safe-mode": "流程在安全模式下停止。部署开始。",
"registered-missing": "缺少注册的类型__ type__",
"error": "错误加载流程__ message__",
"registered-missing": "缺少注册的类型: __ type__",
"error": "错误加载流程: __ message__",
"starting-modified-nodes": "启动修改的节点",
"starting-modified-flows": "启动修改的流程",
"starting-flows": "启动流程",
@@ -104,19 +122,21 @@
"stopped-modified-flows": "修改的流程已停止",
"stopped-flows": "流程已停止",
"stopped": "已停止",
"stopping-error": "错误停止节点__ message__",
"stopping-error": "错误停止节点: __ message__",
"updated-flows": "更新流程",
"added-flow": "流程已添加: __label__",
"updated-flow": "流程已更新: __label__",
"removed-flow": "流程已移除: __label__",
"missing-types": "等待缺少的类型被注册",
"missing-types": "等待缺少的类型被注册: ",
"missing-type-provided": " - __type__ (由npm模块__module__提供)",
"missing-type-install-1": "要安装所有缺少的模块请运行",
"missing-type-install-2": "在目录中"
"missing-type-install-1": "要安装所有缺少的模块, 请运行: ",
"missing-type-install-2": "在目录中: "
},
"flow": {
"unknown-type": "未知类型: __type__",
"missing-types": "缺少类型",
"error-loop": "邮件已超过最大捕获数"
"error-loop": "邮件已超过最大捕获数",
"non-message-returned": "节点尝试发送 __type__ 类型的消息"
},
"index": {
"unrecognised-id": "无法识别的ID: __id__",
@@ -129,7 +149,6 @@
}
}
},
"storage": {
"index": {
"forbidden-flow-name": "禁止流程名称"
@@ -140,35 +159,37 @@
"create": "创建新__type__文件",
"empty": "现有__type__文件为空",
"invalid": "现有__type__文件为无效json",
"restore": "恢复__type__文件备份__path__",
"restore-fail": "恢复__type__文件备份失败__ message__",
"fsync-fail": "将文件__path__刷新到磁盘失败__message__",
"restore": "恢复__type__文件备份: __path__",
"restore-fail": "恢复__type__文件备份失败: __ message__",
"fsync-fail": "将文件__path__刷新到磁盘失败: __message__",
"warn_name": "未设置流程文件名。 使用主机名生成名称。",
"projects": {
"changing-project": "设置活动项目__ project__",
"active-project": "活动项目__ project__",
"project-not-found": "找不到项目:__ project__",
"no-active-project": "没有活动的项目:使用默认流文件",
"disabled": "项目已禁用editorTheme.projects.enabled = false",
"disabledNoFlag": "项目已禁用:设置editorTheme.projects.enabled = true来启用",
"git-not-found": "项目已禁用找不到git命令",
"git-version-old": "项目已禁用不支持的git __version__。 需要的git版本为2.x",
"changing-project": "设置活动项目: __ project__",
"active-project": "活动项目: __ project__",
"projects-directory": "项目目录: __projectsDirectory__",
"project-not-found": "找不到项目: __ project__",
"no-active-project": "没有活动的项目: 使用默认流文件",
"disabled": "项目已禁用: editorTheme.projects.enabled = false",
"disabledNoFlag": "项目已禁用: 设置editorTheme.projects.enabled = true来启用",
"git-not-found": "项目已禁用: 找不到git命令",
"git-version-old": "项目已禁用: 不支持的git __version__。 需要的git版本为2.x",
"summary": "一个Node-RED项目",
"readme": "### 关于\n\n这是您项目的README.md文件。它可以帮助用户了解您的项目如何使用它以及他们可能需要知道的其他任何信息。"
"readme": "### 关于\n\n这是您项目的README.md文件。它可以帮助用户了解您的项目, 如何使用它以及他们可能需要知道的其他任何信息。"
}
}
},
"context": {
"log-store-init": "上下文储存: '__name__' [__info__]",
"error-loading-module": "加载上下文存储时出错 __message__",
"error-loading-module": "加载上下文存储时出错: __message__",
"error-loading-module2": "加载上下文存储时出错 '__module__': __message__",
"error-module-not-defined": "上下文存储库'__storage__'缺少“模块”选项",
"error-invalid-module-name": "无效的上下文存储名称'__ name__'",
"error-invalid-default-module": "无效的默认的上下文存储库 '__storage__'",
"error-invalid-module-name": "无效的上下文存储名称: '__ name__'",
"error-invalid-default-module": "无效的默认的上下文存储库: '__storage__'",
"unknown-store": "指定了未知的上下文存储库'__name__'。 使用默认存储库。",
"localfilesystem": {
"invalid-json": "上下文文件'__file__'中的 JSON 无效",
"error-circular": "上下文__scope__包含无法保留的循环引用",
"error-write": "编写上下文时出错__ message__"
"error-write": "编写上下文时出错: __ message__"
}
}
}