iobroker.javascript
Version:
Javascript/Coffescript Script Engine for ioBroker
125 lines (111 loc) • 171 kB
JavaScript
if (typeof Blockly === 'undefined') {
var Blockly = {};
}
// translations
Blockly.Words = {};
// --- ACTION --------------------------------------------------
Blockly.Words['Action'] = {'en': 'Actions', 'de': 'Aktionen', 'ru': 'Действия', 'pt': 'Ações', 'nl': 'Acties', 'fr': 'Actes', 'it': 'Azioni', 'es': 'Comportamiento', 'zh-cn': '系统指令'};
// --- action exec --------------------------------------------------
Blockly.Words['exec'] = {'en': 'exec', 'de': 'exec', 'ru': 'exec', 'pt': 'exec', 'nl': 'exec', 'fr': 'exec', 'it': 'exec', 'es': 'ejecutivo', 'zh-cn': '执行指令'};
Blockly.Words['exec_statement'] = {'en': 'with results', 'de': 'mit Ergebnissen', 'ru': 'анализировать результаты', 'pt': 'com resultados', 'nl': 'met resultaten', 'fr': 'avec des résultats', 'it': 'con risultati', 'es': 'con resultados', 'zh-cn': '处理返回值'};
Blockly.Words['exec_command'] = {'en': 'command', 'de': 'Befehl', 'ru': 'команда', 'pt': 'comando', 'nl': 'opdracht', 'fr': 'commander', 'it': 'comando', 'es': 'mando', 'zh-cn': '命令行指令'};
Blockly.Words['exec_tooltip'] = {'en': 'Execute some command', 'de': 'Einen System-Befehl ausführen', 'ru': 'Выполнить системную команду', 'pt': 'Execute algum comando', 'nl': 'Voer een commando uit', 'fr': 'Exécuter une commande', 'it': 'Esegui un comando', 'es': 'Ejecuta algún comando', 'zh-cn': '执行一些指令'};
Blockly.Words['exec_help'] = {'en': 'exec---execute-some-os-command-like-cp-file1-file2', 'de': 'exec---execute-some-os-command-like-cp-file1-file2', 'ru': 'exec---execute-some-os-command-like-cp-file1-file2', 'pt': 'exec---execute-some-os-command-like-cp-file1-file2', 'nl': 'exec---execute-some-os-command-like-cp-file1-file2', 'fr': 'exec---execute-some-os-command-like-cp-file1-file2', 'it': 'exec---execute-some-os-command-like-cp-file1-file2', 'es': 'exec---execute-some-os-command-like-cp-file1-file2', 'zh-cn': 'exec---execute-some-os-command-like-cp-file1-file2'};
Blockly.Words['exec_log'] = {'en': 'log level', 'de': 'Loglevel', 'ru': 'Протокол', 'pt': 'nível de log', 'nl': 'Log niveau', 'fr': 'niveau de journalisation', 'it': 'livello di registro', 'es': 'nivel de registro', 'zh-cn': '日志级别'};
Blockly.Words['exec_log_none'] = {'en': 'none', 'de': 'keins', 'ru': 'нет', 'pt': 'Nenhum', 'nl': 'geen', 'fr': 'aucun', 'it': 'nessuna', 'es': 'ninguna', 'zh-cn': '不输出'};
Blockly.Words['exec_log_info'] = {'en': 'info', 'de': 'info', 'ru': 'инфо', 'pt': 'informação', 'nl': 'info', 'fr': 'Info', 'it': 'Informazioni', 'es': 'información', 'zh-cn': '必要信息'};
Blockly.Words['exec_log_debug'] = {'en': 'debug', 'de': 'debug', 'ru': 'debug', 'pt': 'depurar', 'nl': 'debug', 'fr': 'déboguer', 'it': 'mettere a punto', 'es': 'depurar', 'zh-cn': '调试信息'};
Blockly.Words['exec_log_warn'] = {'en': 'warning', 'de': 'warning', 'ru': 'warning', 'pt': 'Atenção', 'nl': 'waarschuwing', 'fr': 'Attention', 'it': 'avvertimento', 'es': 'advertencia', 'zh-cn': '警告信息'};
Blockly.Words['exec_log_error'] = {'en': 'error', 'de': 'error', 'ru': 'ошибка', 'pt': 'erro', 'nl': 'fout', 'fr': 'Erreur', 'it': 'errore', 'es': 'error', 'zh-cn': '错误信息'};
// --- action request --------------------------------------------------
Blockly.Words['request'] = {'en': 'request', 'de': 'request', 'ru': 'request', 'pt': 'pedido', 'nl': 'verzoek', 'fr': 'demande', 'it': 'richiesta', 'es': 'solicitud', 'zh-cn': '请求网址'};
Blockly.Words['request_url'] = {'en': 'URL', 'de': 'URL', 'ru': 'URL', 'pt': 'URL', 'nl': 'URL', 'fr': 'URL', 'it': 'URL', 'es': 'URL', 'zh-cn': '网址'};
Blockly.Words['request_statement'] = {'en': 'with results', 'de': 'mit Ergebnissen', 'ru': 'анализировать результаты', 'pt': 'com resultados', 'nl': 'met resultaten', 'fr': 'avec des résultats', 'it': 'con risultati', 'es': 'con resultados', 'zh-cn': '处理返回值'};
Blockly.Words['request_tooltip'] = {'en': 'Request URL', 'de': 'URL abfragen', 'ru': 'Запросить URL', 'pt': 'URL do pedido', 'nl': 'Verzoek om URL', 'fr': 'Demander une URL', 'it': 'URL di richiesta', 'es': 'URL de solicitud', 'zh-cn': '请求网址'};
Blockly.Words['request_help'] = {'en': 'https://github.com/request/request', 'de': 'https://github.com/request/request', 'ru': 'https://github.com/request/request', 'pt': 'https://github.com/request/request', 'nl': 'https://github.com/request/request', 'fr': 'https://github.com/request/request', 'it': 'https://github.com/request/request', 'es': 'https://github.com/request/request', 'zh-cn': 'https://github.com/request/request'};
Blockly.Words['request_log'] = {'en': 'log level', 'de': 'Loglevel', 'ru': 'Протокол', 'pt': 'nível de log', 'nl': 'Log niveau', 'fr': 'niveau de journalisation', 'it': 'livello di registro', 'es': 'nivel de registro', 'zh-cn': '日志级别'};
Blockly.Words['request_log_none'] = {'en': 'none', 'de': 'keins', 'ru': 'нет', 'pt': 'Nenhum', 'nl': 'geen', 'fr': 'aucun', 'it': 'nessuna', 'es': 'ninguna', 'zh-cn': '不输出'};
Blockly.Words['request_log_info'] = {'en': 'info', 'de': 'info', 'ru': 'инфо', 'pt': 'informação', 'nl': 'info', 'fr': 'Info', 'it': 'Informazioni', 'es': 'información', 'zh-cn': '必要信息'};
Blockly.Words['request_log_debug'] = {'en': 'debug', 'de': 'debug', 'ru': 'debug', 'pt': 'depurar', 'nl': 'debug', 'fr': 'déboguer', 'it': 'mettere a punto', 'es': 'depurar', 'zh-cn': '调试信息'};
Blockly.Words['request_log_warn'] = {'en': 'warning', 'de': 'warning', 'ru': 'warning', 'pt': 'Atenção', 'nl': 'waarschuwing', 'fr': 'Attention', 'it': 'avvertimento', 'es': 'advertencia', 'zh-cn': '警告信息'};
Blockly.Words['request_log_error'] = {'en': 'error', 'de': 'error', 'ru': 'ошибка', 'pt': 'erro', 'nl': 'fout', 'fr': 'Erreur', 'it': 'errore', 'es': 'error', 'zh-cn': '错误信息'};
// --- CONVERT --------------------------------------------------
Blockly.Words['Convert'] = {'en': 'Convert', 'de': 'Konvertierung', 'ru': 'Конвертация', 'pt': 'Converter', 'nl': 'Converteren', 'fr': 'Convertir', 'it': 'Convertire', 'es': 'Convertir', 'zh-cn': '转换'};
// --- convert convert --------------------------------------------------
Blockly.Words['convert_tonumber'] = {'en': 'toNumber', 'de': 'nach Zahl', 'ru': 'в число', 'pt': 'enumerar', 'nl': 'toNumber', 'fr': 'toNumber', 'it': 'ToNumber', 'es': 'Al numero', 'zh-cn': '至数字'};
Blockly.Words['convert_tonumber_tooltip'] = {'en': 'Cast input to number', 'de': 'Wandle Eingang nach Zahl', 'ru': 'Преобразовать вход в число', 'pt': 'Transmitir entrada para o número', 'nl': 'Cast input naar nummer', 'fr': 'Transmettre l\'entrée au numéro', 'it': 'Trasmetti l\'input al numero', 'es': 'Emitir entrada al número', 'zh-cn': '将输入转换为数字'};
Blockly.Words['convert_toboolean'] = {'en': 'toBoolean', 'de': 'nach Logikwert', 'ru': 'в булево значение', 'pt': 'toBoolean', 'nl': 'toBoolean', 'fr': 'toBooléen', 'it': 'toBoolean', 'es': 'toBoolean', 'zh-cn': '至布尔值'};
Blockly.Words['convert_toboolean_tooltip'] = {'en': 'Cast input to boolean', 'de': 'Wandle Input nach Logikwert', 'ru': 'Преобразовать вход в булево значение', 'pt': 'Transmitir entrada para booleano', 'nl': 'Cast input naar boolean', 'fr': 'Transmettre l\'entrée au booléen', 'it': 'Trasmetti l\'input a booleano', 'es': 'Enviar entrada a boolean', 'zh-cn': '将输入转换为布尔值'};
Blockly.Words['convert_tostring'] = {'en': 'toString', 'de': 'nach String', 'ru': 'в строку', 'pt': 'para sequenciar', 'nl': 'toString', 'fr': 'toString', 'it': 'accordare', 'es': 'Encadenar', 'zh-cn': '至字符串'};
Blockly.Words['convert_tostring_tooltip'] = {'en': 'Cast input to number', 'de': 'Wandle Input nach String', 'ru': 'Преобразовать вход в строку', 'pt': 'Transmitir entrada para o número', 'nl': 'Cast input naar nummer', 'fr': 'Transmettre l\'entrée au numéro', 'it': 'Trasmetti l\'input al numero', 'es': 'Emitir entrada al número', 'zh-cn': '将输入转换为字符串'};
Blockly.Words['convert_type'] = {'en': 'type of', 'de': 'Typ von', 'ru': 'взять тип', 'pt': 'tipo de', 'nl': 'soort van', 'fr': 'Type de', 'it': 'tipo di', 'es': 'tipo de', 'zh-cn': '获取类型'};
Blockly.Words['convert_type_tooltip'] = {'en': 'Returns type of input', 'de': 'Typ von Input', 'ru': 'Взять тип входа', 'pt': 'Retorna o tipo de entrada', 'nl': 'Retourneert het type invoer', 'fr': 'Renvoie le type d\'entrée', 'it': 'Restituisce il tipo di input', 'es': 'Devuelve tipo de entrada', 'zh-cn': '返回输入类型'};
Blockly.Words['convert_to_date'] = {'en': 'to Date/Time', 'de': 'nach Datum/Zeit', 'ru': 'в дату/время', 'pt': 'até a data/hora', 'nl': 'tot datum/tijd', 'fr': 'à date/heure', 'it': 'alla data/ora', 'es': 'hasta la fecha/hora', 'zh-cn': '至日期/时间'};
Blockly.Words['convert_to_date_tooltip'] = {'en': 'Cast input to date', 'de': 'Wandle Input nach Datum', 'ru': 'Преобразовать вход в дату', 'pt': 'Entrada em destaque até à data', 'nl': 'Cast input tot op heden', 'fr': 'Diffuser l\'entrée à ce jour', 'it': 'Trasmetti l\'input fino alla data', 'es': 'Emitir entrada hasta la fecha', 'zh-cn': '将输入转换为至日期/时间'};
Blockly.Words['convert_from_date'] = {'en': 'date/time', 'de': 'Datum/Zeit', 'ru': 'дату/время', 'pt': 'data hora', 'nl': 'datum Tijd', 'fr': 'date/heure', 'it': 'appuntamento', 'es': 'fecha y hora', 'zh-cn': '从日期/时间'};
Blockly.Words['convert_to'] = {'en': 'to', 'de': 'nach', 'ru': 'в', 'pt': 'para', 'nl': 'naar', 'fr': 'à', 'it': 'a', 'es': 'a', 'zh-cn': '至'};
Blockly.Words['convert_from_date_tooltip'] = {'en': 'Cast input from date', 'de': 'erzeuge Input aus Datum', 'ru': 'Преобразовать вход из даты', 'pt': 'Entrada de elenco a partir da data', 'nl': 'Cast-invoer vanaf datum', 'fr': 'Transmettre l\'entrée de la date', 'it': 'Trasmetti input dalla data', 'es': 'Emitir entrada desde la fecha', 'zh-cn': '将输入时间转换目标格式的时间'};
Blockly.Words['convert_json2object'] = {'en': 'JSON to object', 'de': 'JSON nach Objekt', 'ru': 'JSON в объект', 'pt': 'JSON para objetar', 'nl': 'JSON om bezwaar aan te tekenen', 'fr': 'JSON à objet', 'it': 'JSON per obiettare', 'es': 'JSON para objetar', 'zh-cn': '从JSON到对象'};
Blockly.Words['convert_json2object_tooltip'] = {'en': 'Parse JSON string', 'de': 'Parse JSON', 'ru': 'Преобразовать JSON в объект', 'pt': 'Parse JSON string', 'nl': 'Ontleed JSON-tekenreeks', 'fr': 'Parse JSON chaîne', 'it': 'Analizza la stringa JSON', 'es': 'Cadena Parson JSON', 'zh-cn': '解析JSON字符串'};
Blockly.Words['convert_object2json'] = {'en': 'object to JSON', 'de': 'Objekt nach JSON', 'ru': 'объект в JSON', 'pt': 'Objeto para JSON', 'nl': 'bezwaar tegen JSON', 'fr': 'objet à JSON', 'it': 'oggetto a JSON', 'es': 'objetar a JSON', 'zh-cn': '从对象到JSON'};
Blockly.Words['convert_object2json_tooltip'] = {'en': 'Strinify object', 'de': 'Objekt nach JSON', 'ru': 'Преобразовать объект в JSON', 'pt': 'Strinify objeto', 'nl': 'Strinify-object', 'fr': 'Strinify objet', 'it': 'Strinificare l\'oggetto', 'es': 'Objeto Strinify', 'zh-cn': '将对象转为JSON字符串'};
Blockly.Words['convert_object2json_prettify'] = {'en': 'prettify', 'de': 'formatieren', 'ru': 'форматировать', 'pt': 'embelezar', 'nl': 'leuk maken', 'fr': 'enjoliver', 'it': 'abbellire', 'es': 'embellecer', 'zh-cn': '并格式化'};
// --- SENDTO --------------------------------------------------
Blockly.Words['Sendto'] = {'en': 'Sendto', 'de': 'Sendto', 'ru': 'Sendto', 'pt': 'Enviar para', 'nl': 'Verzenden naar', 'fr': 'Envoyer à', 'it': 'Inviare a', 'es': 'Enviar a', 'zh-cn': '发消息'};
// --- sendto sendto --------------------------------------------------
Blockly.Words['sendto_message'] = {'en': 'message', 'de': 'Meldung', 'ru': 'сообщение', 'pt': 'mensagem', 'nl': 'bericht', 'fr': 'message', 'it': 'Messaggio', 'es': 'mensaje', 'zh-cn': '消息'};
Blockly.Words['sendto_custom'] = {'en': 'sendTo', 'de': 'sendTo', 'ru': 'sendTo', 'pt': 'enviar para', 'nl': 'verzenden naar', 'fr': 'envoyer à', 'it': 'inviare a', 'es': 'enviar a', 'zh-cn': '发消息给'};
Blockly.Words['sendto_custom_tooltip'] = {'en': 'Text to speech', 'de': 'Text zu Sprache', 'ru': 'Произнести сообщение', 'pt': 'Texto para fala', 'nl': 'Tekst naar spraak', 'fr': 'Texte pour parler', 'it': 'Sintesi vocale', 'es': 'Texto a voz', 'zh-cn': '给适配器发消息'};
Blockly.Words['sendto_custom_help'] = {'en': 'sendto', 'de': 'sendto', 'ru': 'sendto', 'pt': 'enviar para', 'nl': 'verzenden naar', 'fr': 'envoyer à', 'it': 'inviare a', 'es': 'enviar a', 'zh-cn': '发消息给'};
Blockly.Words['sendto_custom_arguments'] = {'en': 'parameters', 'de': 'Parameter', 'ru': 'параметры', 'pt': 'parâmetros', 'nl': 'parameters', 'fr': 'paramètres', 'it': 'parametri', 'es': 'parámetros', 'zh-cn': '参数组'};
Blockly.Words['sendto_custom_command'] = {'en': 'command', 'de': 'Befehl', 'ru': 'команда', 'pt': 'comando', 'nl': 'opdracht', 'fr': 'commander', 'it': 'comando', 'es': 'mando', 'zh-cn': '命令'};
Blockly.Words['sendto_custom_argument'] = {'en': 'parameter', 'de': 'Parameter', 'ru': 'параметр', 'pt': 'parâmetro', 'nl': 'parameter', 'fr': 'paramètre', 'it': 'parametro', 'es': 'parámetro', 'zh-cn': '参数'};
Blockly.Words['sendto_custom_arg_tooltip'] = {'en': 'Add parameter to sendTo object.', 'de': 'Parameter zum sendTo-Objekt hinzufügen', 'ru': 'Добавить параметр к sendTo объекту', 'pt': 'Adicione o parâmetro ao objeto sendTo.', 'nl': 'Parameter toevoegen aan het object sendTo.', 'fr': 'Ajouter un paramètre à l\'objet sendTo.', 'it': 'Aggiungi parametro all\'oggetto sendTo.', 'es': 'Agregar parámetro al objeto sendTo.', 'zh-cn': '增加发送消息的参数'};
Blockly.Words['sendto_no_instances'] = {'en': 'No instances', 'de': 'Keine Instanzen', 'ru': 'Нет экземпляров', 'pt': 'No instances', 'nl': 'No instances', 'fr': 'No instances', 'it': 'No instances', 'es': 'No instances', 'zh-cn': '没有实例'};
Blockly.Words['sendto_log'] = {'en': 'log level', 'de': 'Loglevel', 'ru': 'Протокол', 'pt': 'nível de log', 'nl': 'Log niveau', 'fr': 'niveau de journalisation', 'it': 'livello di registro', 'es': 'nivel de registro', 'zh-cn': '日志级别'};
Blockly.Words['sendto_log_none'] = {'en': 'none', 'de': 'keins', 'ru': 'нет', 'pt': 'Nenhum', 'nl': 'geen', 'fr': 'aucun', 'it': 'nessuna', 'es': 'ninguna', 'zh-cn': '不输出'};
Blockly.Words['sendto_log_info'] = {'en': 'info', 'de': 'info', 'ru': 'инфо', 'pt': 'informação', 'nl': 'info', 'fr': 'Info', 'it': 'Informazioni', 'es': 'información', 'zh-cn': '必要信息'};
Blockly.Words['sendto_log_debug'] = {'en': 'debug', 'de': 'debug', 'ru': 'debug', 'pt': 'depurar', 'nl': 'debug', 'fr': 'déboguer', 'it': 'mettere a punto', 'es': 'depurar', 'zh-cn': '调试信息'};
Blockly.Words['sendto_log_warn'] = {'en': 'warning', 'de': 'warning', 'ru': 'warning', 'pt': 'Atenção', 'nl': 'waarschuwing', 'fr': 'Attention', 'it': 'avvertimento', 'es': 'advertencia', 'zh-cn': '警告信息'};
Blockly.Words['sendto_log_error'] = {'en': 'error', 'de': 'error', 'ru': 'ошибка', 'pt': 'erro', 'nl': 'fout', 'fr': 'Erreur', 'it': 'errore', 'es': 'error', 'zh-cn': '错误信息'};
// --- SYSTEM --------------------------------------------------
Blockly.Words['System'] = {'en': 'System', 'de': 'System', 'ru': 'Системные', 'pt': 'Sistema', 'nl': 'Systeem', 'fr': 'Système', 'it': 'Sistema', 'es': 'Sistema', 'zh-cn': '系统'};
// --- system debug --------------------------------------------------
Blockly.Words['debug'] = {'en': 'debug output', 'de': 'debug output', 'ru': 'debug output', 'pt': 'saída de depuração', 'nl': 'debug output', 'fr': 'sortie de débogage', 'it': 'uscita di debug', 'es': 'salida de depuración', 'zh-cn': '调试输出'};
Blockly.Words['debug_tooltip'] = {'en': 'Debug', 'de': 'Debug', 'ru': 'Debug', 'pt': 'Depurar', 'nl': 'debug', 'fr': 'Déboguer', 'it': 'mettere a punto', 'es': 'Depurar', 'zh-cn': '输出调试信息'};
Blockly.Words['debug_help'] = {'en': 'log---gives-out-the-message-into-log', 'de': 'log---gives-out-the-message-into-log', 'ru': 'log---gives-out-the-message-into-log', 'pt': 'log---gives-out-the-message-into-log', 'nl': 'log---gives-out-the-message-into-log', 'fr': 'log---gives-out-the-message-into-log', 'it': 'log---gives-out-the-message-into-log', 'es': 'log---gives-out-the-message-into-log', 'zh-cn': 'log---gives-out-the-message-into-log'};
// --- system comment --------------------------------------------------
Blockly.Words['comment'] = {'en': 'comment', 'de': 'Kommentar', 'ru': 'описание', 'pt': 'Comente', 'nl': 'commentaar', 'fr': 'commentaire', 'it': 'commento', 'es': 'comentario', 'zh-cn': '注释'};
Blockly.Words['comment_tooltip'] = {'en': 'Enter comment to explain the code', 'de': 'Debug', 'ru': 'Debug', 'pt': 'Digite o comentário para explicar o código', 'nl': 'Voer een opmerking in om de code uit te leggen', 'fr': 'Entrez un commentaire pour expliquer le code', 'it': 'Inserisci il commento per spiegare il codice', 'es': 'Ingrese un comentario para explicar el código', 'zh-cn': '输入注释来解释代码'};
// --- system control --------------------------------------------------
Blockly.Words['control'] = {'en': 'сontrol', 'de': 'steuere', 'ru': 'установить', 'pt': 'controlar', 'nl': 'сontrol', 'fr': 'contrôle', 'it': 'сontrol', 'es': 'ontrol', 'zh-cn': '将'};
Blockly.Words['control_tooltip'] = {'en': 'Control state', 'de': 'Steuere Zustand', 'ru': 'Установить состояние', 'pt': 'Estado de controle', 'nl': 'Controlestatus', 'fr': 'Etat de contrôle', 'it': 'Stato di controllo', 'es': 'Estado de control', 'zh-cn': '控制对象'};
Blockly.Words['control_help'] = {'en': 'setstate', 'de': 'setstate', 'ru': 'setstate', 'pt': 'settate', 'nl': 'setstate', 'fr': 'setstate', 'it': 'setstate', 'es': 'setstate', 'zh-cn': '设置状态'};
Blockly.Words['control_with'] = {'en': 'with', 'de': 'mit', 'ru': 'на', 'pt': 'com', 'nl': 'met', 'fr': 'avec', 'it': 'con', 'es': 'con', 'zh-cn': '的值设置为'};
Blockly.Words['control_delay'] = {'en': 'with delay', 'de': 'mit Verzögerung', 'ru': 'с задержкой', 'pt': 'com atraso', 'nl': 'met vertraging', 'fr': 'avec du retard', 'it': 'con ritardo', 'es': 'con retraso', 'zh-cn': '。要延时'};
Blockly.Words['control_ms'] = {'en': 'ms', 'de': 'ms', 'ru': 'мс', 'pt': 'Senhora', 'nl': 'Mevrouw', 'fr': 'Mme', 'it': 'Signorina', 'es': 'Sra', 'zh-cn': '毫秒'};
Blockly.Words['control_sec'] = {'en': 'sec', 'de': 'Sek', 'ru': 'сек.', 'pt': 'seg', 'nl': 'sec', 'fr': 'seconde', 'it': 'secondo', 'es': 'segundo', 'zh-cn': '秒'};
Blockly.Words['control_min'] = {'en': 'min', 'de': 'Min', 'ru': 'мин.', 'pt': 'min', 'nl': 'min', 'fr': 'min', 'it': 'min', 'es': 'min', 'zh-cn': '分'};
Blockly.Words['control_clear_running'] = {'en': ', clear running', 'de': ', löschen falls läuft', 'ru': ', остановить уже запущенный', 'pt': ', corrida clara', 'nl': ', helder rennen', 'fr': ', course libre', 'it': ', chiara corsa', 'es': ', claro funcionamiento', 'zh-cn': '后执行。清除未运行的指令'};
// --- system toggle --------------------------------------------------
Blockly.Words['toggle'] = {'en': 'toggle', 'de': 'umschalten', 'ru': 'переключить', 'pt': 'alternancia', 'nl': 'toggle', 'fr': 'basculer', 'it': 'ginocchiera', 'es': 'palanca', 'zh-cn': '将'};
Blockly.Words['toggle_tooltip'] = {'en': 'Toggle the state', 'de': 'Schalte Zustand um', 'ru': 'Изменить состояние', 'pt': 'Alternar o estado', 'nl': 'Schakel de staat in', 'fr': 'Basculer l\'état', 'it': 'Attiva/disattiva lo stato', 'es': 'Alternar el estado', 'zh-cn': '切换状态'};
Blockly.Words['toggle_help'] = {'en': 'setstate', 'de': 'setstate', 'ru': 'setstate', 'pt': 'settate', 'nl': 'setstate', 'fr': 'setstate', 'it': 'setstate', 'es': 'setstate', 'zh-cn': '设置状态'};
Blockly.Words['toggle_with'] = {'en': 'with', 'de': 'mit', 'ru': 'на', 'pt': 'com', 'nl': 'met', 'fr': 'avec', 'it': 'con', 'es': 'con', 'zh-cn': '伴随'};
Blockly.Words['toggle_delay'] = {'en': 'with delay', 'de': 'mit Verzögerung', 'ru': 'с задержкой', 'pt': 'com atraso', 'nl': 'met vertraging', 'fr': 'avec du retard', 'it': 'con ritardo', 'es': 'con retraso', 'zh-cn': '的值切换。要延时'};
Blockly.Words['toggle_ms'] = {'en': 'in ms', 'de': 'in ms', 'ru': 'в мс', 'pt': 'em ms', 'nl': 'in ms', 'fr': 'en ms', 'it': 'in ms', 'es': 'en ms', 'zh-cn': '毫秒'};
Blockly.Words['toggle_clear_running'] = {'en': ', clear running', 'de': ', löschen falls läuft', 'ru': ', остановить уже запущенный', 'pt': ', corrida clara', 'nl': ', helder rennen', 'fr': ', course libre', 'it': ', chiara corsa', 'es': ', claro funcionamiento', 'zh-cn': '后执行。清除未运行的指令'};
// --- system update --------------------------------------------------
Blockly.Words['update'] = {'en': 'update', 'de': 'aktualisiere', 'ru': 'обновить', 'pt': 'atualizar', 'nl': 'bijwerken', 'fr': 'mettre à jour', 'it': 'aggiornare', 'es': 'actualizar', 'zh-cn': '仅将'};
Blockly.Words['update_tooltip'] = {'en': 'Update state', 'de': 'Zustand aktualisieren', 'ru': 'Обновить состояние', 'pt': 'Estado de atualização', 'nl': 'Status bijwerken', 'fr': 'Mettre à jour', 'it': 'Stato di aggiornamento', 'es': 'Actualizar estado', 'zh-cn': '仅更新值'};
Blockly.Words['update_help'] = {'en': 'setstate', 'de': 'setstate', 'ru': 'setstate', 'pt': 'settate', 'nl': 'setstate', 'fr': 'setstate', 'it': 'setstate', 'es': 'setstate', 'zh-cn': '设置状态'};
Blockly.Words['update_with'] = {'en': 'with', 'de': 'mit', 'ru': 'с', 'pt': 'com', 'nl': 'met', 'fr': 'avec', 'it': 'con', 'es': 'con', 'zh-cn': '的值更新为'};
Blockly.Words['update_delay'] = {'en': 'with delay', 'de': 'mit Verzögerung', 'ru': 'с задержкой', 'pt': 'com atraso', 'nl': 'met vertraging', 'fr': 'avec du retard', 'it': 'con ritardo', 'es': 'con retraso', 'zh-cn': '。要延时'};
Blockly.Words['update_ms'] = {'en': 'in ms', 'de': 'in ms', 'ru': 'в мс', 'pt': 'em ms', 'nl': 'in ms', 'fr': 'en ms', 'it': 'in ms', 'es': 'en ms', 'zh-cn': '毫秒'};
// --- system direct --------------------------------------------------
Blockly.Words['direct'] = {'en': 'bind', 'de': 'binde', 'ru': 'связять', 'pt': 'ligar', 'nl': 'binden', 'fr': 'lier', 'it': 'legare', 'es': 'enlazar', 'zh-cn': '将'};
Blockly.Words['direct_tooltip'] = {'en': 'Bind two states with each other', 'de': 'Binde zwei Zustände miteinander', 'ru': 'Связать два состояния между собой', 'pt': 'Vincule dois estados uns com os outros', 'nl': 'Bind twee toestanden met elkaar', 'fr': 'Liez deux états l\'un à l\'autre', 'it': 'Associare due stati tra loro', 'es': 'Enlazar dos estados entre sí', 'zh-cn': '将两个设备状态绑定在一起'};
Blockly.Words['direct_help'] = {'en': 'setstate', 'de': 'setstate', 'ru': 'setstate', 'pt': 'settate', 'nl': 'setstate', 'fr': 'setstate', 'it': 'setstate', 'es': 'setstate', 'zh-cn': '设置状态'};
Blockly.Words['direct_oid_src'] = {'en': 'direct_oid_src', 'de': 'direct_oid_src', 'ru': 'direct_oid_src', 'pt': 'direct_oid_src', 'nl': 'direct_oid_src', 'fr': 'direct_oid_src', 'it': 'direct_oid_src', 'es': 'direct_oid_src', 'zh-cn': ''};
Blockly.Words['direct_only_changes'] = {'en': 'only changes', 'de': 'nur Änderungen', 'ru': 'только изменения', 'pt': 'apenas muda', 'nl': 'alleen veranderingen', 'fr': 'seulement des changements', 'it': 'solo cambiamenti', 'es': 'solo cambios', 'zh-cn': '。仅变化时更新'};
Blockly.Words['direct_oid_dst'] = {'en': 'with', 'de': 'mit', 'ru': 'c', 'pt': 'com', 'nl': 'met', 'fr': 'avec',