Add Russian Locale (#2531)

This commit is contained in:
Alex Kaul
2020-11-13 00:01:44 +07:00
committed by GitHub
parent 70f3b7450f
commit 4023ab3f28
40 changed files with 4622 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="function">
<p>
Блок с JavaScript функцией, написанной во вкладке <b>Функция</b>, которая исполняется для сообщений, получаемых узлом.
</p>
<p>
Сообщения передаются в виде объекта JavaScript с именем <code>msg</code>.
</p>
<p>
Обычно он имеет свойство <code>msg.payload</code>, содержащее тело сообщения.
</p>
<p>
Ожидается, что функция вернет объект сообщения (или несколько объектов сообщения), но может также ничего не возвращать, чтобы остановить поток.
</p>
<p>
Код настройки, выполняемый один раз при запуске сервера или при развертывании новой конфигурации потока, можно указать во вкладке <b>Настройка</b>. Кроме того, код очистки, выполняемый при остановке или повторном развертывании узла, можно указать во вкладке <b>Закрытие</b>.
</p>
<p>
Если код настройки возвращает объект Promise, обработка входящих сообщений узлом начнется после его завершения.
</p>
<h3>Подробности</h3>
<p>
Смотрите <a target="_blank" href="http://nodered.org/docs/writing-functions.html">онлайн-документацию</a> для получения дополнительной информации по написанию функций.
</p>
<h4>Отправка сообщений</h4>
<p>
Функция может либо вернуть сообщения, которые она хочет передать следующим узлам в потоке, либо вызвать <code>node.send(сообщения)</code>.
</p>
<p>
Она может вернуть/отправить:
</p>
<ul>
<li>один объект сообщения - передается узлам, подключенным к первому выходу</li>
<li>массив объектов сообщений - передается на узлы, подключенные к соответствующим выходам</li>
</ul>
<p>
Примечание: код настройки выполняется во время инициализации узлов. Таким образом, если на вкладке настройки кода вызывается <code>node.send</code>, последующие узлы могут не получить это сообщение.
</p>
<p>
Если какой-либо элемент массива сам является массивом сообщений, тогда на соответствующий выход отправляется несколько сообщений.
</p>
<p>
Если возвращен null, либо сам по себе, либо как элемент массива, тогда сообщение не передается.
</p>
<h4>Ведение журнала и обработка ошибок</h4>
<p>
Для добавления информации в журнал или сообщения об ошибке доступны следующие функции:
</p>
<ul>
<li><code>node.log("Сообщение для журнала")</code></li>
<li><code>node.warn("Предупреждение")</code></li>
<li><code>node.error("Ошибка")</code></li>
</ul>
<p>
Узел Catch также может использоваться для обработки ошибок. Чтобы узел Catch мог ловить сообщение об ошибке, передайте <code>msg</code> в качестве второго аргумента в <code>node.error</code>:
</p>
<pre>node.error("Ошибка", msg);</pre>
<h4>Доступ к информации об узле</h4>
<p>
В функциональном блоке к идентификатору и имени узла можно обращаться, используя следующие свойства:
</p>
<ul>
<li><code>node.id</code> - идентификатор узла</li>
<li><code>node.name</code> - имя узла</li>
</ul>
<h4>Использование переменных среды</h4>
<p>
Доступ к переменным среды можно получить с помощью <code>env.get("MY_ENV_VAR")</code>.
</p>
</script>

View File

@@ -0,0 +1,59 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="switch">
<p>
Направляет сообщения по разным ветвям потока на основе значений свойств сообщения или его позиции в последовательности.
</p>
<h3>Подробности</h3>
<p>
Когда приходит сообщение, узел выполняет проверку соответствия каждому из определенных правил и перенаправляет сообщение на их выходы.
</p>
<p>
При желании узел может быть настроен на прекращение проверки правил, как только он найдет первое подходящее.
</p>
<p>
Правила могут выполняться для отдельного свойства сообщения, свойства потокового или глобального контекста, переменной среды или результата выражения JSONata.
</p>
<h4>Правила</h4>
<p>
Существует четыре типа правил:
</p>
<ol>
<li>Правила <b>value rules</b> сравниваются с указанным свойством</li>
<li>Правила <b>sequence rules</b> могут применяться для последовательностей сообщений, таких как сгенерированные узлом Split</li>
<li><b>Выражение JSONata</b> исполняется для сообщения и считается подходящим, если оно возвращает истинное значение</li>
<li>Правило <b>иначе</b> используется для сообщений, не подходящих ни под одно из предыдущих правил.</li>
</ol>
<h4>Примечание</h4>
<p>
Правила <code>равно true/false</code> и <code>равно null</code> проводят строгое сравнение с этими типами. Они не конвертируются между типами.
</p>
<p>
Правила <code>пустое</code> и <code>не пустое</code> могут быть использованы для проверки длины строк, массивов и буферов, или количества свойств, которые содержит объект. Эти правила не подходят, если тестируемое свойство содержит значение <code>логического типа</code>, <code>null</code> или <code>undefined</code>.
</p>
<h4>Обработка последовательностей сообщений</h4>
<p>
По умолчанию узел не изменяет свойство <code>msg.parts</code> у сообщений, которые являются частью последовательности.
</p>
<p>
Можно включить параметр <b>пересоздавать последовательности сообщений</b> для создания новых последовательностей сообщений для каждого соответствующего правила. В этом режиме узел будет помещать в буфер всю входящую последовательность перед отправкой новых последовательностей. Настройка <code>nodeMessageBufferMaxLength</code> может быть использована для ограничения количества сообщений в буфере.
</p>
</script>

View File

@@ -0,0 +1,42 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="change">
<p>
Устанавливает, изменяет, удаляет или перемещает свойства сообщения, контекста потока или глобального контекста.
</p>
<p>
В узле можно указать несколько правил, которые будут применяться в том порядке, в котором они определены.
</p>
<h3>Подробности</h3>
<p>
Доступные операции:
</p>
<dl class="message-properties">
<dt>Установить</dt>
<dd>установить свойство. Значение может быть разных типов или может быть взято из существующего свойства сообщения или контекста.</dd>
<dt>Изменить</dt>
<dd>найти &amp; заменить части свойства. Если используется регулярное выражение, настройка &quot;заменить на&quot; может включать группы захвата, например <code>$1</code>. При полном совпадении заменяет только тип.</dd>
<dt>Удалить</dt>
<dd>удалить свойство.</dd>
<dt>Переместить</dt>
<dd>переместить или переименовать свойство.</dd>
</dl>
<p>
Тип свойства &quot;выражение&quot; использует язык запросов и выражений <a href="http://jsonata.org/" target="_new">JSONata</a>.
</p>
</script>

View File

@@ -0,0 +1,59 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="range">
<p>
Соотносит значение одного числового диапазона к другому числовому диапазону.
</p>
<h3>Принимает</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">число</span></dt>
<dd>Данные <i>должны</i> быть числом. Данные другого типа будут преобразованы в число и отклонены, если это не удастся.</dd>
</dl>
<h3>Выводит</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">число</span></dt>
<dd>Значение, соотнесенное к новому диапазону.</dd>
</dl>
<h3>Подробности</h3>
<p>
Этот узел будет линейно масштабировать полученное значение. По умолчанию результат не ограничен диапазоном, определенным в узле.
</p>
<p>
<i>Масштабировать и ограничить целевым диапазоном</i> означает, что результат никогда не будет выходить за пределы диапазона, указанного в целевом диапазоне.
</p>
<p>
<i>Масштабировать и обернуть в целевой диапазон</i> означает, что результат будет обернут вокруг целевого диапазона:
</p>
<p>
Например, для входа 0 - 10 сопоставленного с 0 - 100.
</p>
<table style="outline-width:#888 solid thin">
<tr><th width="80px">режим</th><th width="80px">вход</th><th width="80px">выход</th></tr>
<tr><td><center>масштабировать</center></td><td><center>2</center></td><td><center>20</center></td></tr>
<tr><td><center>ограничить</center></td><td><center>2</center></td><td><center>20</center></td></tr>
<tr><td><center>обернуть</center></td><td><center>2</center></td><td><center>20</center></td></tr>
<tr><td><center>масштабировать</center></td><td><center>12</center></td><td><center>120</center></td></tr>
<tr><td><center>ограничить</center></td><td><center>12</center></td><td><center>100</center></td></tr>
<tr><td><center>обернуть</center></td><td><center>12</center></td><td><center>20</center></td></tr>
<tr><td><center>масштабировать</center></td><td><center>18</center></td><td><center>180</center></td></tr>
<tr><td><center>ограничить</center></td><td><center>18</center></td><td><center>100</center></td></tr>
<tr><td><center>обернуть</center></td><td><center>18</center></td><td><center>80</center></td></tr>
</table>
</script>

View File

@@ -0,0 +1,63 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="template">
<p>
Устанавливает свойство на основе предоставленного шаблона.
</p>
<h3>Принимает</h3>
<dl class="message-properties">
<dt>msg <span class="property-type">объект</span></dt>
<dd>Объект сообщения msg, содержащий информацию для заполнения шаблона.</dd>
<dt class="optional">шаблон <span class="property-type">строка</span></dt>
<dd>Шаблон для заполнения данными из сообщения msg. Если шаблон не настроен на панели редактирования, тогда он может быть установлен через свойство msg.template.</dd>
</dl>
<h3>Выводит</h3>
<dl class="message-properties">
<dt>msg <span class="property-type">объект</span></dt>
<dd>Сообщение 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>Привет, {{payload.name}}. Сегодня {{date}}</pre>
<p>
получает сообщение msg, содержащее:
</p>
<pre>{
date: "понедельник",
payload: {
name: "Иван"
}
}</pre>
<p>
Результирующее свойство будет:
</p>
<pre>Привет, Иван. Сегодня понедельник</pre>
<p>
Можно использовать свойство из контекста потока или глобального контекста. Просто используйте <code>{{flow.name}}</code> или <code>{{global.name}}</code>, или для постоянного хранилища <code>store</code> используйте <code>{{flow[store].name}}</code> или <code>{{global[store].name}}</code>.
</p>
<p>
<b>Примечание:</b> по умолчанию <i>mustache</i> кодирует любые не алфавитно-цифровых или HTML-сущности в значениях, которые он подставляет, для безопасного использования в HTML. Чтобы предотвратить это, используйте тройные фигурные скобки <code>{{{triple}}}</code>.
</p>
</script>

View File

@@ -0,0 +1,40 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">reset</dt>
<dd>Если в полученном сообщении этому свойству присвоено какое-либо значение, все ожидающие сообщения, удерживаемые узлом, очищаются без дальнейшей отправки.</dd>
<dt class="optional">flush</dt>
<dd>Если в полученном сообщении этому свойству присвоено какое-либо значение, все ожидающие сообщения, удерживаемые узлом, немедленно отправляются далее.</dd>
</dl>
<h3>Подробности</h3>
<p>
Когда настроено задерживать сообщения, интервал задержки может быть фиксированным значением, случайным значением в пределах диапазона или динамически установленным для каждого сообщения. Каждое сообщение задерживается независимо от любых других сообщений, основываясь на времени его прибытия.
</p>
<p>
Когда настроено ограничивать скорость сообщений, их доставка распределяется по настроенному периоду времени. Статус показывает количество сообщений, находящихся в данный момент в очереди. Если выбрано он может отбрасывать промежуточные сообщений по мере их поступления.
</p>
<p>
Ограничение скорости может применяться ко всем сообщениям или группировать их в соответствии со значением <code>msg.topic</code>. При группировании промежуточные сообщения автоматически отбрасываются. В каждом интервале времени узел может либо выпустить самое последнее сообщение для всех тем, либо выпустить самое последнее сообщение для следующей темы.
</p>
</script>

View File

@@ -0,0 +1,55 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="trigger">
<p>
При срабатывании может отправить сообщение, а затем дополнительно второе сообщение, если оно не продлено или не сброшено.
</p>
<h3>Принимает</h3>
<dl class="message-properties">
<dt class="optional">delay <span class="property-type">число</span></dt>
<dd>Устанавливает задержку в миллисекундах, которая будет применяться к сообщению. Этот параметр применяется только в том случае, если узел настроен так, чтобы сообщение могло отменять настроенный интервал задержки по умолчанию.</dd>
<dt class="optional">reset</dt>
<dd>Если сообщение получено с этим свойством, любой тайм-аут или повтор, находящийся в обработке в текущий момент, будет сброшен, и сообщение не сработает.</dd>
</dl>
<h3>Подробности</h3>
<p>
Этот узел можно использовать для создания тайм-аута в потоке. По умолчанию, когда узел получает сообщение, он отправляет сообщение с <code>payload</code> равным <code>1</code>. Затем он ждет 250 мс, прежде чем отправить второе сообщение с <code>payload</code> равным <code>0</code>. Это можно использовать, например, для мигания светодиода, подключенного к выводу Raspberry Pi GPIO.
</p>
<p>
Данные каждого отправленного сообщения могут быть настроены на различные значения, включая возможность ничего не отправлять. Например, если установить начальное сообщение на <i>ничего</i> и выбрать опцию продления таймера с каждым новым сообщением, узел будет действовать как сторожевой таймер, отправляя сообщение только в том случае, если ничего не получено в течение установленного интервала.
</p>
<p>
Если установлен тип <i>строка</i>, узел поддерживает синтаксис шаблона mustache.
</p>
<p>
Задержка между отправкой сообщений может быть изменена с помощью <code>msg.delay</code>, если эта опция включена в узле. Значение должно быть указано в миллисекундах.
</p>
<p>
Если узел получает сообщение со свойством <code>reset</code> или <code>payload</code>, который совпадает с настроенным в узле, любой тайм-аут или повтор, находящийся в обработке в текущий момент, будет сброшен, и сообщение не сработает.
</p>
<p>
Узел может быть настроен на повторную отправку сообщения с регулярным интервалом, пока оно не будет сброшено полученным сообщением.
</p>
<p>
При желании узел может быть настроен на обработку сообщений, как если бы они были отдельными потоками, используя свойство msg для идентификации каждого потока. По умолчанию <code>msg.topic</code>.
</p>
<p>
Статус показывает, что узел в данный момент активен. Если используется несколько потоков, статус показывает количество удерживаемых потоков.
</p>
</script>

View File

@@ -0,0 +1,106 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="exec">
<p>
Запускает системную команду и возвращает ее вывод.
</p>
<p>
Узел может быть настроен либо на ожидание завершения команды, либо на отправку своих выходных данных, пока команда их генерирует.
</p>
<p>
Выполняемая команда может быть настроена в узле или предоставлена полученным сообщением.
</p>
<h3>Принимает</h3>
<dl class="message-properties">
<dt class="optional">payload <span class="property-type">строка</span></dt>
<dd>будет добавлено к выполненной команде, если настроено так делать.</dd>
<dt class="optional">kill <span class="property-type">строка</span></dt>
<dd>тип сигнала уничтожения для отправки существующему процессу узла exec.</dd>
<dt class="optional">pid <span class="property-type">число|строка</span></dt>
<dd>идентификатор существующего процесса узла exec для уничтожения.</dd>
</dl>
<h3>Выводит</h3>
<ol class="node-ports">
<li>Стандартный вывод
<dl class="message-properties">
<dt>payload <span class="property-type">строка</span></dt>
<dd>стандартный вывод команды.</dd>
</dl>
<dl class="message-properties">
<dt>rc <span class="property-type">объект</span></dt>
<dd>только в exec режиме, копия объекта кода возврата (также доступна на порту 3)</dd>
</dl>
</li>
<li>Стандартный вывод ошибок
<dl class="message-properties">
<dt>payload <span class="property-type">строка</span></dt>
<dd>стандартная ошибка команды.</dd>
</dl>
<dl class="message-properties">
<dt>rc <span class="property-type">объект</span></dt>
<dd>только в exec режиме, копия объекта кода возврата (также доступна на порту 3)</dd>
</dl>
</li>
<li>Код возврата
<dl class="message-properties">
<dt>payload <span class="property-type">объект</span></dt>
<dd>объект, содержащий код возврата и, возможно, свойства <code>message</code>, <code>signal</code>.</dd>
</dl>
</li>
</ol>
<h3>Подробности</h3>
<p>
По умолчанию используется системный вызов <code>exec</code>, который вызывает команду, ожидает ее завершения и возвращает результат. Например, успешная команда должна иметь код возврата <code>{code: 0}</code>.
</p>
<p>
При желании вместо этого можно использовать <code>spawn</code>, который возвращает выходные данные из stdout и stderr по ходу выполнения команды, обычно по одной строке за раз. После завершения он возвращает объект на 3-й порт. Например, успешная команда должна вернуть <code>{code: 0}</code>.
</p>
<p>
Ошибки могут возвращать дополнительную информацию на 3-м порту в <code>msg.payload</code>, такую как строка <code>message</code>, строка <code>signal</code>.
</p>
<p>
Выполняемая команда настраивается в узле, с возможностью добавления к ней <code>msg.payload</code> и дополнительного набора параметров.
</p>
<p>
Команды или параметры с пробелами должны быть заключены в кавычки - <code>"Это один параметр"</code>
</p>
<p>
Возвращаемый <code>payload</code> обычно представляет собой <i>строку</i>, пока не обнаружены символы, отличные от UTF8, в этом случае это <i>буфер</i>.
</p>
<p>
Значок состояния узла и PID будут видны, пока узел активен. Изменения в статусе могут быть прочитаны узлом <code>Status</code>.
</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>
<p>
Если в поле <code>Тайм-аут</code> указано значение, то, если процесс не завершится по истечении указанного количества секунд, он будет автоматически уничтожен
</p>
<p>
Совет: если Вы запускаете Python приложение, Вам может потребоваться использовать параметр <code>-u</code>, чтобы остановить буферизацию вывода.
</p>
</script>