Russian and French translations needed for the Blockly node

Hi folks,

@cymplecy and I want to publish version 2.0.0 of the node-red-contrib-blockly node on NPM. However we still need Russian and French 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 sentences, which need to be translated:

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

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

NODE_DONE (node is done with processing of the input message):
image

NODE_ENV (get an environment variable value):
image

MISC_JSEXPRESS (Javascript expression):
image

MISC_JSMULTILINE (multiline javascript code):
image

BUFFER_CONCATENATE (concatenate 2 buffers to create a new one):
image

BUFFER_GET_INDEX (get the value of a buffer at a specified index):
image

TEXT_SPECIAL_CHARACTER (special text characters):
image

DATETIME_TIMESTAMP (get timestamp in utc or local format):
image

TIMER_SET_TIMEOUT (create a timer to execute actions delayed after some timeout):
image

TIMER_CLEAR_TIMEOUT (stop an existing timeout timer):
image

TIMER_SET_INTERVAL (create a timer to execute actions at periodical time intervals):
image

TIMER_CLEAR_INTERVAL (stop an existing interval timer):
image

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

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 ...

For that, I really can’t help haha.

It was worth to try :joy:

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

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.

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