# Russian and French translations needed for the Blockly node

**URL:** <https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905>\
**Category:** General\
**Created:** [19 August 2021 09:24 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905 "2021-08-19T09:24:11Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)\
**Post date:** [19 August 2021 09:24 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905/1 "2021-08-19T09:24:11Z")

</div>

Hi folks,

@cymplecy and I want to publish version 2.0.0 of the [node-red-contrib-blockly](https://github.com/bartbutenaers/node-red-contrib-blockly) node on NPM. However we still need [Russian](https://github.com/bartbutenaers/node-red-contrib-blockly/blob/master/messages/ru.js) and [French](https://github.com/bartbutenaers/node-red-contrib-blockly/blob/master/messages/fr.js) translations for some sentences, since we got no response from the original translators. You don't need to do a pull request: simply post the translations in this discussion below ...

We would appreciate it a lot if somebody could translate this for us in a short notice, so we can go live! If you want to help us, please post a short message to avoid that multiple people are doing a translation simultaneously.

These are the original [english](https://github.com/bartbutenaers/node-red-contrib-blockly/blob/master/messages/en.js) sentences, which need to be translated:

```auto
Blockly.Msg.NODE_PROPERTIES_OUTPUT_COUNT = "output count";

Blockly.Msg.NODE_DONE = "message done";
Blockly.Msg.NODE_DONE_TOOLTIP = "Handling the message has been finished.";

Blockly.Msg.NODE_ENV = "get environment variable %1";
Blockly.Msg.NODE_ENV_TOOLTIP = "Access the value of an environment variable.";

Blockly.Msg.BUFFER_CONCATENATE = "Concatenate buffer %1 and %2";
Blockly.Msg.BUFFER_CONCATENATE_TOOLTIP = "Concatenate the two buffers to create a new buffer";

Blockly.Msg.BUFFER_GET_INDEX = "get value at index %1 of buffer %2";
Blockly.Msg.BUFFER_GET_INDEX_TOOLTIP = "Get the value of the specified buffer index";

Blockly.Msg.TEXT_SPECIAL_CHARACTER = "special character %1";
Blockly.Msg.TEXT_SPECIAL_CHARACTER_TOOLTIP = "A special character that shouldn't be escaped (by a '\' prefix";
Blockly.Msg.TEXT_SPECIAL_CHARACTER_LF = "line feed (\\n)";
Blockly.Msg.TEXT_SPECIAL_CHARACTER_CR = "carriage return (\\r)";
Blockly.Msg.TEXT_SPECIAL_CHARACTER_CRLF = "carriage return line feed (\\r\\n)";
Blockly.Msg.TEXT_SPECIAL_CHARACTER_TAB = "tab (\\t)";

Blockly.Msg.MISC_JSEXPRESS= "Javascript expression %1";
Blockly.Msg.MISC_JSEXPRESS_TOOLTIP = "Use with caution. Enter JS code when no blocks offer certain functionality.";

Blockly.Msg.MISC_JSMULTILINE = "Multiline JS code %1";
Blockly.Msg.MISC_JSMULTILINE_TOOLTIP = "Enter multiline Javascript code when no blocks offer certain functionality.";

Blockly.Msg.DATETIME_TIMESTAMP = "%1 timestamp";
Blockly.Msg.DATETIME_UTC = "UTC";
Blockly.Msg.DATETIME_LOCAL = "local";

Blockly.Msg.TIMER_SET_TIMEOUT = "Execute timeout %1 in %2 %3";
Blockly.Msg.TIMER_SET_TIMEOUT_1 = "%1";
Blockly.Msg.TIMER_SET_TIMEOUT_NAME = "timeout";
Blockly.Msg.TIMER_SET_TIMEOUT_TOOLTIP = "Execute the included blocks after a specified time delay.";

Blockly.Msg.TIMER_CLEAR_TIMEOUT = "Stop timeout %1";
Blockly.Msg.TIMER_CLEAR_TIMEOUT_TOOLTIP = "Cancel the execution after the timeout";

Blockly.Msg.TIMER_SET_INTERVAL = "Execute interval %1 every %2 %3";
Blockly.Msg.TIMER_SET_INTERVAL_1 = "%1";
Blockly.Msg.TIMER_SET_INTERVAL_NAME = "interval";
Blockly.Msg.TIMER_SET_INTERVAL_TOOLTIP = "Execute the included blocks periodically at the specified time interval.";

Blockly.Msg.TIMER_CLEAR_INTERVAL = "Stop interval %1";
Blockly.Msg.TIMER_CLEAR_INTERVAL_TOOLTIP = "Cancel the block execution at intervals.";

Blockly.Msg.TIMER_TIMER_MS = "msec";
Blockly.Msg.TIMER_TIMER_SEC = "sec";
Blockly.Msg.TIMER_TIMER_MIN = "min";
Blockly.Msg.TIMER_NONE_SELECTED = "none";

```

Some sentences contain _ **placeholders** _ (%1, %2, ...). Blockly will show input fields at the location of those placeholders. For example `Execute interval %1 every %2 %3` is rendered like this:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/3/2/32480ba0580633ae156d57b104c9c3304451914b.png)

Note that you are allowed to change the order of those placeholders, if that is better for the translation in your language. For example instead of `Execute interval %1 every %2 %3` you could also say `Execute every %2 %3 the interval %1`. Blockly will automatically show the input fields at the corresponding placeholders...

I have added screenshots below of all the related blocks, so you can see in which contexts those texts are being used without having to install the beta version of our node.

Thanks a lot!!  
Simon and Bart

## Some screenshots ...

NODE\_PROPERTIES\_OUTPUT\_COUNT (the number of outputs of this node):

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/b/8bae5a81726683aeecbd8a5b9062c8debb8a41f6.png)

NODE\_DONE (node is done with processing of the input message):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/6/c687f37b2ac0940fb104eadc45d88ae326fffdaf.png)

NODE\_ENV (get an environment variable value):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/3/93d014ad4fcf223af958fe0673eaae78290d383f.png)

MISC\_JSEXPRESS (Javascript expression):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/a/8a0991f11ffecec8d8cd3b3affb91425f158fe3d.png)

MISC\_JSMULTILINE (multiline javascript code):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/a/4a8e93abfcfe57aee6a86ed5b9b6f200db336398.png)

BUFFER\_CONCATENATE (concatenate 2 buffers to create a new one):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/4/647a4c69618752f39bffbbd6f133197322c76131.png)

BUFFER\_GET\_INDEX (get the value of a buffer at a specified index):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/2/b2a1e9725b52cd80e556c20b33111dd7d2f69e89.png)

TEXT\_SPECIAL\_CHARACTER (special text characters):

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/2/b29d00d56e69ebea8c9be2c25dc09e665083f6c5.png)

DATETIME\_TIMESTAMP (get timestamp in utc or local format):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/a/5a89db18525071e34e7edbdc2f8c043c97deffb9.png)

TIMER\_SET\_TIMEOUT (create a timer to execute actions delayed after some timeout):

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/3/7370a26fe694c0cf656511ea0c1c2ee6852c3ecc.png)

TIMER\_CLEAR\_TIMEOUT (stop an existing timeout timer):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/8/4881d6fb34c2e9cb006fae1a9d5403f9cf09bb6d.png)

TIMER\_SET\_INTERVAL (create a timer to execute actions at periodical time intervals):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/6/4644508afc7d32723974ac0be614dc2b2f312b7d.png)

TIMER\_CLEAR\_INTERVAL (stop an existing interval timer):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/a/9ae4331caa29375dcde00b2ebf2428f4c57a7f0c.png)

---

<div class="post-metadata">

**Author:** ![echoix](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/echoix/32/39627_2.png) [@echoix](https://discourse.nodered.org/u/echoix)\
**Post date:** [20 August 2021 19:23 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905/2 "2021-08-20T19:23:17Z")

</div>

I could help for French, I’ll try to do it this weekend or Monday.

---

<div class="post-metadata">

**Author:** ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)\
**Post date:** [20 August 2021 19:31 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905/3 "2021-08-20T19:31:27Z")

</div>

Hi @echoix,  
That is very kind of you! Thanks for contributing to our node!  
If something is not clear about the concept, don't hesitate to ask for information ..

Then we only need a Russion translation ...

---

<div class="post-metadata">

**Author:** ![echoix](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/echoix/32/39627_2.png) [@echoix](https://discourse.nodered.org/u/echoix)\
**Post date:** [20 August 2021 19:36 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905/4 "2021-08-20T19:36:49Z")

</div>

For that, I really can’t help haha.

---

<div class="post-metadata">

**Author:** ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)\
**Post date:** [20 August 2021 19:46 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905/5 "2021-08-20T19:46:09Z")

</div>

It was worth to try 😂

---

<div class="post-metadata">

**Author:** ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)\
**Post date:** [24 August 2021 06:56 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905/6 "2021-08-24T06:56:40Z")

</div>

Thanks to @echoix for the French translations. He has also fixed lots of other language related inconsistencies, which our technical staff had overlooked 😉

Now I need only some russian sentences to be translated...  
Hopefully somebody can help us with that, otherwise we will have to go live with an incomplete Russian language set.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [23 October 2021 06:57 UTC](https://discourse.nodered.org/t/russian-and-french-translations-needed-for-the-blockly-node/49905/7 "2021-10-23T06:57:18Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
