From 9a0cd250831fdf2ef57704752e8e932f27525488 Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 19 Jun 2024 04:25:15 +0000 Subject: [PATCH] Update translations from transifex --- devices/deviceDemo/translations.js | 30 ++++++--- extensions/apds9960/translations.js | 19 ++++++ extensions/arduinoDeviceDemo/translations.js | 25 ++++++++ extensions/chineseTTS/translations.js | 21 ++++++- .../cooperativeScheduler/translations.js | 15 ++++- extensions/dht/translations.js | 15 ++++- extensions/ds18b20/translations.js | 15 ++++- extensions/eightDigitDisplay/translations.js | 16 ++++- .../translations.js | 24 ++++++- extensions/espUltrasonic/translations.js | 13 +++- .../fourDigitClockDisplay/translations.js | 22 ++++++- extensions/insertSourceCode/translations.js | 19 +++++- extensions/irRemoteReceiver/translations.js | 16 ++++- extensions/l298n/translations.js | 16 ++++- extensions/lcd/translations.js | 24 ++++++- extensions/max30102/translations.js | 17 ++++- extensions/max6675/translations.js | 14 ++++- extensions/mfrc522/translations.js | 29 ++++++++- .../microPythonDeviceDemo2/translations.js | 25 ++++++++ extensions/moreComments/translations.js | 14 ++++- extensions/mpu6050/translations.js | 17 ++++- extensions/nrf24l01/translations.js | 21 ++++++- extensions/oled/translations.js | 37 ++++++++++- extensions/passiveBuzzer/translations.js | 33 ++++++++++ extensions/pca9685/translations.js | 19 +++++- extensions/ps2/translations.js | 26 +++++++- extensions/rgbLedStrip/translations.js | 19 +++++- extensions/sdCard/translations.js | 26 +++++++- extensions/servo/translations.js | 13 +++- extensions/sharpIR/translations.js | 14 ++++- extensions/shiftDigitDisplay/translations.js | 17 ++++- extensions/softwareSerialport/translations.js | 18 +++++- extensions/tcs3200/translations.js | 20 +++++- extensions/u8g2/translations.js | 62 ++++++++++++++++++- extensions/ultrasonic/translations.js | 11 ++++ 35 files changed, 704 insertions(+), 38 deletions(-) create mode 100644 extensions/arduinoDeviceDemo/translations.js create mode 100644 extensions/microPythonDeviceDemo2/translations.js diff --git a/devices/deviceDemo/translations.js b/devices/deviceDemo/translations.js index e8623235..a6b2810d 100644 --- a/devices/deviceDemo/translations.js +++ b/devices/deviceDemo/translations.js @@ -9,22 +9,34 @@ function getInterfaceTranslations () { return { "en": { "deviceDemo.name": "Third Party Device Demo", - "deviceDemo.description": "An example showing how to add a third-party board.", - "deviceDemo.connectingMessage": "Connecting" + "deviceDemo.description": "An example showing how to add a third-party board by inheriting a built-in board." + }, + "ru": { + "deviceDemo.name": "Third Party Device Demo", + "deviceDemo.description": "An example showing how to add a third-party board by inheriting a built-in board." }, "zh-cn": { - "deviceDemo.name": "第三方设备演示", - "deviceDemo.description": "演示如何添加第三方控制板的示例。", - "deviceDemo.connectingMessage": "连接中" + "deviceDemo.name": "Third Party Device Demo", + "deviceDemo.description": "An example showing how to add a third-party board by inheriting a built-in board." }, "zh-tw": { - "deviceDemo.name": "第三方裝置示範", - "deviceDemo.description": "示範如何新增第三方控制板的範例。", - "deviceDemo.connectingMessage": "連接中" + "deviceDemo.name": "Third Party Device Demo", + "deviceDemo.description": "An example showing how to add a third-party board by inheriting a built-in board." } - }; + } + ; +} + +function registerScratchExtensionTranslations () { + return {}; +} + +function registerBlocksMessages (Blockly) { + return Blockly; } if (typeof module !== 'undefined') { module.exports = {getInterfaceTranslations}; } +exports = registerScratchExtensionTranslations; +exports = registerBlocksMessages; diff --git a/extensions/apds9960/translations.js b/extensions/apds9960/translations.js index 29f9455e..0911ab9e 100644 --- a/extensions/apds9960/translations.js +++ b/extensions/apds9960/translations.js @@ -10,6 +10,9 @@ function getInterfaceTranslations () { "en": { "apds9960.description": "Proximity, Light, RGB, and Gesture Sensor which uses an I2C interface." }, + "ru": { + "apds9960.description": "Датчик приближения, света, RGB и жестов, использующий интерфейс I2C." + }, "zh-cn": { "apds9960.description": "使用 I2C 接口的接近、灯光、RGB和手势传感器。" }, @@ -41,6 +44,22 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "APDS9960_CATEGORY": "APDS9960", + "APDS9960_GESTURE_DOWN": "вниз", + "APDS9960_GESTURE_LEFT": "налево", + "APDS9960_GESTURE_RIGHT": "направо", + "APDS9960_GESTURE_UP": "вверх", + "APDS9960_INIT": "инициализировать apds9960", + "APDS9960_ISGESTURE": "apds9960 прочитать жест %1", + "APDS9960_ISGESTUREAVAILABLE": "Данные датчика жестов apds9960 готовы?", + "APDS9960_ISPROXIMITYAVAILABLE": "apds9960 доступны данные о цвете?", + "APDS9960_READGESTURE": "apds9960 прочитать жест", + "APDS9960_READPROXIMITY": "apds9960 определить расстояние" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "APDS9960_CATEGORY": "APDS9960", diff --git a/extensions/arduinoDeviceDemo/translations.js b/extensions/arduinoDeviceDemo/translations.js new file mode 100644 index 00000000..6fcb4b06 --- /dev/null +++ b/extensions/arduinoDeviceDemo/translations.js @@ -0,0 +1,25 @@ +// This file was automatically generated. Do not modify. +/* eslint-disable func-style */ +/* eslint-disable require-jsdoc */ +/* eslint-disable quotes */ +/* eslint-disable quote-props */ +/* eslint-disable dot-notation */ +/* eslint-disable max-len */ +function getInterfaceTranslations () { + return {} + ; +} + +function registerScratchExtensionTranslations () { + return {}; +} + +function registerBlocksMessages (Blockly) { + return Blockly; +} + +if (typeof module !== 'undefined') { + module.exports = {getInterfaceTranslations}; +} +exports = registerScratchExtensionTranslations; +exports = registerBlocksMessages; diff --git a/extensions/chineseTTS/translations.js b/extensions/chineseTTS/translations.js index d53c6f10..619e1103 100644 --- a/extensions/chineseTTS/translations.js +++ b/extensions/chineseTTS/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "chineseTTS.name": "Chinese TTS", "chineseTTS.description": "Text to speech module based on SYN6288, support Chinese and English letters and numbers." }, + "ru": { + "chineseTTS.name": "Перевод текста в речь на китайском", + "chineseTTS.description": "Модуль преобразования текста в речь на основе SYN6288, поддерживает китайские и английские буквы и цифры." + }, "zh-cn": { "chineseTTS.name": "中文 TTS", "chineseTTS.description": "基于 SYN6288 的语音合成模块, 支持中文、英文字母以及数字。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "CHINESETTS_CATEGORY": "Chinese TTS", @@ -43,6 +47,21 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "CHINESETTS_CATEGORY": "Модуль текст-в-речь на китайском", + "CHINESETTS_INIT": "Инициализировать модуль текст-в-речь на китайском пины RX %1 TX %2", + "CHINESETTS_PLAYSOUND": "Модуль текст-в-речь на китайском проиграет звук %1", + "CHINESETTS_PLAYSOUNDUNTILLFINISH": "Модуль текст-в-речь на китайском проиграет звук %1 до конца", + "CHINESETTS_SAY": "Модуль текст-в-речь на китайском скажет %1", + "CHINESETTS_SAYUNTILLFINISH": "Модуль текст-в-речь на китайском скажет %1 до конка", + "CHINESETTS_SETPOWERONPROMPT": "Модулю текст-в-речь на китайском установить звук включения подсказки %1", + "CHINESETTS_SETSPEECHRATE": "Модулю текст-в-речь на китайском установить скорость речи %1", + "CHINESETTS_SETVOLUME": "Модулю текст-в-речь на китайском установить громкость %1", + "CHINESETTS_STATE_OFF": "Выключить" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "CHINESETTS_CATEGORY": "中文 TTS", diff --git a/extensions/cooperativeScheduler/translations.js b/extensions/cooperativeScheduler/translations.js index 418849fe..378c33dd 100644 --- a/extensions/cooperativeScheduler/translations.js +++ b/extensions/cooperativeScheduler/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "cooperativeScheduler.name": "Cooperative Scheduler", "cooperativeScheduler.description": "Allow Arduino run multiple tasks." }, + "ru": { + "cooperativeScheduler.name": "Совместный планировщик", + "cooperativeScheduler.description": "Разрешить Arduino выполнять несколько задач." + }, "zh-cn": { "cooperativeScheduler.name": "多任务调度器", "cooperativeScheduler.description": "使 Arduino 可以运行多个任务。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "COOPERATIVESCHEDULER_CATEGORY": "Cooperative scheduler", @@ -37,6 +41,15 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "COOPERATIVESCHEDULER_CATEGORY": "Совместный планировщик", + "COOPERATIVESCHEDULER_SETUP": "настройка задачи %1", + "COOPERATIVESCHEDULER_SLEEP": "задержка задачи %1 мс", + "COOPERATIVESCHEDULER_START": "запустить совместный планировщик" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "COOPERATIVESCHEDULER_CATEGORY": "多任务调度器", diff --git a/extensions/dht/translations.js b/extensions/dht/translations.js index 61263009..e2e90052 100644 --- a/extensions/dht/translations.js +++ b/extensions/dht/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "dht.name": "DHT Sensor", "dht.description": "DHT Temperature and humidity sensor module." }, + "ru": { + "dht.name": "Датчик DHT ", + "dht.description": "Датчик температуры и влажности DHT " + }, "zh-cn": { "dht.name": "DHT 传感器", "dht.description": "DHT 温湿度传感器模块。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "DHT_CATEGORY": "DHT", @@ -37,6 +41,15 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "DHT_CATEGORY": "датчик температуры и влажности DHT", + "DHT_INIT": "инициализировать dht %1 пин %2 модель %3", + "DHT_READ_HUMIDITY": "dht %1 считать влажность", + "DHT_READ_TEMPERATURE": "dht %1 считать температуру %2" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "DHT_CATEGORY": "DHT", diff --git a/extensions/ds18b20/translations.js b/extensions/ds18b20/translations.js index a25d2633..489af853 100644 --- a/extensions/ds18b20/translations.js +++ b/extensions/ds18b20/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "ds18b20.name": "DS18B20 Sensor", "ds18b20.description": "Single bus digital temperature sensor based on DS18B20." }, + "ru": { + "ds18b20.name": "Датчик DS18B20 ", + "ds18b20.description": "Цифровой датчик температуры DS18B20" + }, "zh-cn": { "ds18b20.name": "DS18B20 传感器", "ds18b20.description": "基于 DS18B20 的单总线数字温度传感器。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "DS18B20_CATEGORY": "DS18B20", @@ -37,6 +41,15 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "DS18B20_CATEGORY": "DS18B20", + "DS18B20_GETTEMPERATURE": "ds18b20 %1 температуры %2", + "DS18B20_INIT": "инициализировать ds18b20 пин %1 количество %2", + "DS18B20_READALLTEMPERATURES": "ds18b20 считать все температуры" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "DS18B20_CATEGORY": "DS18B20", diff --git a/extensions/eightDigitDisplay/translations.js b/extensions/eightDigitDisplay/translations.js index dda777a8..da508d45 100644 --- a/extensions/eightDigitDisplay/translations.js +++ b/extensions/eightDigitDisplay/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "eightDigitDisplay.name": "8-Digit Display", "eightDigitDisplay.description": "8-digit display module based on MAX7219." }, + "ru": { + "eightDigitDisplay.name": "8-разрядный дисплей", + "eightDigitDisplay.description": "8-разрядный дисплейный модуль на базе MAX7219." + }, "zh-cn": { "eightDigitDisplay.name": "8位数码管", "eightDigitDisplay.description": "基于 MAX7219 的8位数码管。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "EIGHTDIGITDISPLAY_CATEGORY": "8-Digit Display", @@ -38,6 +42,16 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "EIGHTDIGITDISPLAY_CATEGORY": "8-разрядный дисплей", + "EIGHTDIGITDISPLAY_CLEAR": "Очистить 8-разрядный дисплей", + "EIGHTDIGITDISPLAY_DISPLAYNUMBER": "8-разрядный дисплей показывает число %1 десятичный %2", + "EIGHTDIGITDISPLAY_INIT": "init 8-разрядный контакт дисплея DIN %1 CS %2 CLK %3", + "EIGHTDIGITDISPLAY_SETBRIGHTNESS": "установить яркость 8-разрядного дисплея %1" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "EIGHTDIGITDISPLAY_CATEGORY": "8位数码管", diff --git a/extensions/eitghtTimesEightMatirxDisplay/translations.js b/extensions/eitghtTimesEightMatirxDisplay/translations.js index bf4c7a00..2ab14223 100644 --- a/extensions/eitghtTimesEightMatirxDisplay/translations.js +++ b/extensions/eitghtTimesEightMatirxDisplay/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "eitghtTimesEightMatirxDisplay.name": "8x8 Matrix Display", "eitghtTimesEightMatirxDisplay.description": "8x8 matrix display module based on MAX7219." }, + "ru": { + "eitghtTimesEightMatirxDisplay.name": "Матричный дисплей 8x8", + "eitghtTimesEightMatirxDisplay.description": "Матричный дисплейный модуль 8x8 на базе MAX7219." + }, "zh-cn": { "eitghtTimesEightMatirxDisplay.name": "8x8点阵屏", "eitghtTimesEightMatirxDisplay.description": "基于MAX7219的8x8点阵屏。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "EITGHTTIMESEIGHTMATIRXDISPLAY_CATEGORY": "8x8 Matrix Display", @@ -46,6 +50,24 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "EITGHTTIMESEIGHTMATIRXDISPLAY_CATEGORY": "Матричный дисплей 8x8", + "EITGHTTIMESEIGHTMATIRXDISPLAY_COLOR_BLACK": "Черный", + "EITGHTTIMESEIGHTMATIRXDISPLAY_COLOR_RED": "Красный", + "EITGHTTIMESEIGHTMATIRXDISPLAY_DRAWLINE": "На матрице 8x8 нарисовать линию из (x0: %1 y0: %2) в (x1: %3 y1: %4) цвет %5", + "EITGHTTIMESEIGHTMATIRXDISPLAY_DRAWPIXEL": "На матричном дисплее 8x8 нарисовать пиксель в точке (x: %1 y: %2) цвет %3", + "EITGHTTIMESEIGHTMATIRXDISPLAY_FILL": "Матричный дисплей 8х8 залить цветом %1", + "EITGHTTIMESEIGHTMATIRXDISPLAY_INIT": "инициализировать матричный дисплей 8x8 пин CS %1", + "EITGHTTIMESEIGHTMATIRXDISPLAY_INIT_TOOLTIP": "пин DIN к MOSI и CLK к SCK.", + "EITGHTTIMESEIGHTMATIRXDISPLAY_REFRESH": "Обновить матричный дисплей 8х8", + "EITGHTTIMESEIGHTMATIRXDISPLAY_SETBRIGHTNESS": "Установить яркость матричного дисплея 8х8 в %1", + "EITGHTTIMESEIGHTMATIRXDISPLAY_SETROTATION": "Установить вращение матричного дисплея 8х8 в %1", + "EITGHTTIMESEIGHTMATIRXDISPLAY_SHOWCHAR": "На матричном дисплее 8x8 отобразить символ %1 цвет %2", + "EITGHTTIMESEIGHTMATIRXDISPLAY_SHOWNUMBER": "На матричном дисплее 8x8 отобразить число %1 цвет %2" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "EITGHTTIMESEIGHTMATIRXDISPLAY_CATEGORY": "8x8点阵屏", diff --git a/extensions/espUltrasonic/translations.js b/extensions/espUltrasonic/translations.js index f530b93d..c40e8684 100644 --- a/extensions/espUltrasonic/translations.js +++ b/extensions/espUltrasonic/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "ultrasonic.name": "Ultrasonic", "ultrasonic.description": "Standard ultrasonic distance measurement module." }, + "ru": { + "ultrasonic.name": "Ультразвуковой", + "ultrasonic.description": "Стандартный модуль ультразвукового измерения расстояния." + }, "zh-cn": { "ultrasonic.name": "超声波", "ultrasonic.description": "标准的超声波测距传感器模块。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "ULTRASONIC_CATEGORY": "Ultrasonic", @@ -35,6 +39,13 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "ULTRASONIC_CATEGORY": "Ультразвуковой", + "ULTRASONIC_READ_DISTANCE": "пины ультразвукового датчика TRIG %1 ECHO %2 расстояние считывания %3" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "ULTRASONIC_CATEGORY": "超声波", diff --git a/extensions/fourDigitClockDisplay/translations.js b/extensions/fourDigitClockDisplay/translations.js index 11976f75..cd0bd48b 100644 --- a/extensions/fourDigitClockDisplay/translations.js +++ b/extensions/fourDigitClockDisplay/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "fourDigitClockDisplay.name": "4-Digit Clock Display", "fourDigitClockDisplay.description": "4-digit clock display module based on TM1637." }, + "ru": { + "fourDigitClockDisplay.name": "4-разрядный индикатор для часов", + "fourDigitClockDisplay.description": "4-разрядный индикатор для часов на базе TM1637." + }, "zh-cn": { "fourDigitClockDisplay.name": "4位时钟数码管", "fourDigitClockDisplay.description": "基于 TM1637 的4位时钟数码管。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "FOURDIGITCLOCKDISPLAY_CATEGORY": "4-Digit Clock Display", @@ -44,6 +48,22 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "FOURDIGITCLOCKDISPLAY_CATEGORY": "4-значный дисплей часов", + "FOURDIGITCLOCKDISPLAY_CLEAR": "Очистить 4-значный дисплей часов", + "FOURDIGITCLOCKDISPLAY_DISPLAY": "Отобразить число %1 как бит %2 на 4-разрядном дисплее часов", + "FOURDIGITCLOCKDISPLAY_DISPLAYNUMBER": "Отобразить число %1 на 4-разрядном дисплее часов", + "FOURDIGITCLOCKDISPLAY_DISPLAYSTRING": "Отобразить строку %1 на 4-разрядном дисплее часов", + "FOURDIGITCLOCKDISPLAY_INIT": "Инициализировать 4-разрядный дисплей часов DIO %1 CLK %2", + "FOURDIGITCLOCKDISPLAY_SETBRIGHTNESS": "установить яркость 4-разрядного дисплея часов в %1", + "FOURDIGITCLOCKDISPLAY_SETPOINT": "Отобразить точку %1 на 4-разрядном дисплее часов", + "FOURDIGITCLOCKDISPLAY_SETPOINT_TOOLTIP": "Это вступит в силу после следующего обновления дисплея.", + "FOURDIGITCLOCKDISPLAY_STATE_OFF": "Выключить", + "FOURDIGITCLOCKDISPLAY_STATE_ON": "Включить" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "FOURDIGITCLOCKDISPLAY_CATEGORY": "4位时钟数码管", diff --git a/extensions/insertSourceCode/translations.js b/extensions/insertSourceCode/translations.js index 4badfd72..ecd4aeba 100644 --- a/extensions/insertSourceCode/translations.js +++ b/extensions/insertSourceCode/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "insertSourceCode.name": "Insert Source Code", "insertSourceCode.description": "Insert the source code directly into the blocks, so that professional users can realize some more advanced functions." }, + "ru": { + "insertSourceCode.name": "Вставьте исходный код", + "insertSourceCode.description": "Вставьте исходный код непосредственно в блоки, чтобы профессиональные пользователи могли реализовать некоторые более продвинутые функции." + }, "zh-cn": { "insertSourceCode.name": "插入源代码", "insertSourceCode.description": "将源代码直接插入积木中,让专业用户可以实现一些更高级的功能。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "INSERTSOURCECODE_BOOLEANBLOCK": "insert source code %1", @@ -41,6 +45,19 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "INSERTSOURCECODE_BOOLEANBLOCK": "вставить исходный код %1", + "INSERTSOURCECODE_CATEGORY": "вставить исходный код", + "INSERTSOURCECODE_COMMANDBLOCK": "вставить исходный код %1 %2", + "INSERTSOURCECODE_DONTESCAPE": "не экранировать новую строку", + "INSERTSOURCECODE_ESCAPE": "экранировать новую строку", + "INSERTSOURCECODE_INSERTINDEFINEAREA": "вставить исходный код %1 в область определения %2", + "INSERTSOURCECODE_INSERTININCLUDEAREA": "вставить исходный код %1 во включаемую область %2", + "INSERTSOURCECODE_ROUNDBLOCK": "вставить исходный код %1" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "INSERTSOURCECODE_BOOLEANBLOCK": "插入源代码 %1", diff --git a/extensions/irRemoteReceiver/translations.js b/extensions/irRemoteReceiver/translations.js index d3ab950a..d6b2ac63 100644 --- a/extensions/irRemoteReceiver/translations.js +++ b/extensions/irRemoteReceiver/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "irRemoteReceiver.name": "IR Remote Receiver", "irRemoteReceiver.description": "Receiving and decoding data in infrared carrier." }, + "ru": { + "irRemoteReceiver.name": "ИК-пульт дистанционного управления", + "irRemoteReceiver.description": "Прием и декодирование данных в инфракрасном носителе." + }, "zh-cn": { "irRemoteReceiver.name": "红外遥控接收器", "irRemoteReceiver.description": "接收并解码红外载波中的数据。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "IRREMOTERECEIVER_CATEGORY": "IR Remote Receiver", @@ -38,6 +42,16 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "IRREMOTERECEIVER_CATEGORY": "ИК-пульт", + "IRREMOTERECEIVER_DATAAVAILABLE": "Доступны данные ИК-пульта?", + "IRREMOTERECEIVER_INIT": "Инициализировать ИК-пульт на пине %1", + "IRREMOTERECEIVER_RECIVEDCOMMAND": "Полученная команда с ИК-пульта", + "IRREMOTERECEIVER_RESUME": "Получена команда с ИК-пульта" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "IRREMOTERECEIVER_CATEGORY": "红外遥控接收器", diff --git a/extensions/l298n/translations.js b/extensions/l298n/translations.js index 54cdc839..e8e240c3 100644 --- a/extensions/l298n/translations.js +++ b/extensions/l298n/translations.js @@ -10,6 +10,9 @@ function getInterfaceTranslations () { "en": { "l298n.description": "Common high power dual motor drive module." }, + "ru": { + "l298n.description": "Общий модуль привода с двумя двигателями высокой мощности." + }, "zh-cn": { "l298n.description": "常见的高功率双路电机驱动模块。" }, @@ -24,7 +27,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "L298N_BACK": "back", @@ -36,6 +39,17 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "L298N_BACK": "Назад", + "L298N_CATEGORY": "L298N", + "L298N_FORWARD": "Вперед", + "L298N_INIT": "Инициализировать канал %1 на пинах IN1 %2 IN2 %3 EN %4", + "L298N_RUN": "Канал %1 включить %2 скорость %3", + "L298N_STOP": "Канал %1 остановить" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "L298N_BACK": "后", diff --git a/extensions/lcd/translations.js b/extensions/lcd/translations.js index 59c7adff..94395b1a 100644 --- a/extensions/lcd/translations.js +++ b/extensions/lcd/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "lcd.name": "1602 LCD", "lcd.description": "1602 liquid crystal display which based on I2C bus." }, + "ru": { + "lcd.name": "Символьный дисплей 1602 LCD", + "lcd.description": "1602 символьный дисплей на шине I2C." + }, "zh-cn": { "lcd.name": "1602 液晶显示器", "lcd.description": "基于 I2C 总线的1602液晶显示器。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "LCD_CATEGORY": "1602 LCD", @@ -46,6 +50,24 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "LCD_CATEGORY": "1602 LCD", + "LCD_CLEAR": "Очистить ЖК-дисплей", + "LCD_INIT": "Инициализировать ЖК-дисплей адрес I2C %1", + "LCD_PRINT": "Напечатать %1 на ЖК-дисплее", + "LCD_SATE_DISPLAY": "Дисплей", + "LCD_SATE_HIDE": "Скрыть", + "LCD_SATE_OFF": "Выключить", + "LCD_SATE_ON": "Включить", + "LCD_SETBACKLIGHT": "установить подсветку ЖК-дисплея в %1", + "LCD_SETCURSORPOSITION": "установить позицию курсора ЖК-дисплея в (x: %1 y: %2)", + "LCD_SETCURSORSTYLE": "установить курсор на ЖК-дисплее в %1 стиль %2", + "LCD_STYLE_BLINK": "Мерцать", + "LCD_STYLE_NOBLINK": "Не мерцать" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "LCD_CATEGORY": "1602 LCD", diff --git a/extensions/max30102/translations.js b/extensions/max30102/translations.js index 558e46f5..d9bc6fff 100644 --- a/extensions/max30102/translations.js +++ b/extensions/max30102/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "max30102.name": "MAX30102 Sensor", "max30102.description": "Blood oxygen and heart rate detection module based on MAX30102." }, + "ru": { + "max30102.name": "Датчик MAX30102 ", + "max30102.description": "Модуль определения кислорода в крови и пульса на базе MAX30102." + }, "zh-cn": { "max30102.name": "MAX30102 传感器", "max30102.description": "基于 MAX30102 的血氧心跳探测模块。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "MAX30102_CATEGORY": "MAX30102", @@ -39,6 +43,17 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "MAX30102_CATEGORY": "MAX30102", + "MAX30102_GETDATA": "получить дату с max30102", + "MAX30102_HEARTBEAT": "max30102 количество ударов сердца в минуту", + "MAX30102_INIT": "инициализировать max30102", + "MAX30102_IRVALUE": "max30102 значение IR", + "MAX30102_ISTOUCHED": "коснулся max30102?" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "MAX30102_CATEGORY": "MAX30102", diff --git a/extensions/max6675/translations.js b/extensions/max6675/translations.js index f6f6eba4..2dec18c9 100644 --- a/extensions/max6675/translations.js +++ b/extensions/max6675/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "max6675.name": "MAX6675 Module", "max6675.description": "K-type thermocouple temperature measurement module based on MAX6675, the measurement range is 0 ~ 1024 ℃" }, + "ru": { + "max6675.name": "Модуль MAX6675 ", + "max6675.description": "Модуль измерения температуры на основе термопары и MAX6675, диапазон измерения 0 ~ 1024 ℃" + }, "zh-cn": { "max6675.name": "MAX6675 模块", "max6675.description": "基于 MAX6675 的 K 型热电偶温度测量模块,可测量范围为 0 ~ 1024℃" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "MAX6675_CATEGORY": "MAX6675", @@ -36,6 +40,14 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "MAX6675_CATEGORY": "MAX6675", + "MAX6675_INIT": "инициализировать max6675 пины DO %1 CLK %2 CS %3", + "MAX6675_READTEMPERATURE": "max6675 считать температуру %1" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "MAX6675_CATEGORY": "MAX6675", diff --git a/extensions/mfrc522/translations.js b/extensions/mfrc522/translations.js index 962ab565..f0a8a06a 100644 --- a/extensions/mfrc522/translations.js +++ b/extensions/mfrc522/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "mfrc522.name": "MFRC-522 Module", "mfrc522.description": "13.56MHz radio frequency identification module using spi interface." }, + "ru": { + "mfrc522.name": "Модуль MFRC-522", + "mfrc522.description": "Модуль радиочастотной идентификации 13,56 МГц с использованием интерфейса spi." + }, "zh-cn": { "mfrc522.name": "MFRC-522 模块", "mfrc522.description": "使用 SPI 接口的 13.56MHz 射频识别模块。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "MFRC522_CATEGORY": "MFRC522", @@ -51,6 +55,29 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "MFRC522_CATEGORY": "MFRC522", + "MFRC522_DATATYPE_NUBMER": "число", + "MFRC522_DATATYPE_STRING": "строка", + "MFRC522_GETBLOCKDATA": "данные блока mfrc522 (тип %1)", + "MFRC522_GETBLOCKDATA_TOOLTIP": "Длина строки менее 16 байт.", + "MFRC522_GETCARDTYPENAME": "mfrc522 получил название типа карты", + "MFRC522_GETCARDUID": "mfrc522 получил UID карты", + "MFRC522_HALT": "остановить mfrc522", + "MFRC522_INIT": "инициализировать mfrc522 пины CS %1 RST %2", + "MFRC522_ISNEWCARDPRESENT": "новая карта присутствует?", + "MFRC522_NUMBERTOHEXSTRING": "mfrc522 %1 в шестнадцатеричный формат", + "MFRC522_PRINTSECTORDATA": "mfrc522 печать данные в сектор %1", + "MFRC522_READBLOCKDATA": "mfrc522 прочитать блок %1", + "MFRC522_READCARDSERIAL": "mfrc522 успешно прочитал серийный номер карты?", + "MFRC522_SETKEY": "mfrc522 установить секретный ключ %1", + "MFRC522_VERIFICATIONKEY": "mfrc522 блок проверки %1 ключ правильный?", + "MFRC522_WRITEBLOCKDATA": "mfrc522 записать %1 в блок %2 (тип %3)", + "MFRC522_WRITEKEYTOSECTOR": "mfrc522 записать ключ %1 в сектор %2" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "MFRC522_CATEGORY": "MFRC522", diff --git a/extensions/microPythonDeviceDemo2/translations.js b/extensions/microPythonDeviceDemo2/translations.js new file mode 100644 index 00000000..6fcb4b06 --- /dev/null +++ b/extensions/microPythonDeviceDemo2/translations.js @@ -0,0 +1,25 @@ +// This file was automatically generated. Do not modify. +/* eslint-disable func-style */ +/* eslint-disable require-jsdoc */ +/* eslint-disable quotes */ +/* eslint-disable quote-props */ +/* eslint-disable dot-notation */ +/* eslint-disable max-len */ +function getInterfaceTranslations () { + return {} + ; +} + +function registerScratchExtensionTranslations () { + return {}; +} + +function registerBlocksMessages (Blockly) { + return Blockly; +} + +if (typeof module !== 'undefined') { + module.exports = {getInterfaceTranslations}; +} +exports = registerScratchExtensionTranslations; +exports = registerBlocksMessages; diff --git a/extensions/moreComments/translations.js b/extensions/moreComments/translations.js index a660e4bd..b108be15 100644 --- a/extensions/moreComments/translations.js +++ b/extensions/moreComments/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "moreComments.name": "More Comments", "moreComments.description": "Allows you to add comments in the form of blocks to increase program readability." }, + "ru": { + "moreComments.name": "Больше комментариев", + "moreComments.description": "Позволяет добавлять комментарии в виде блоков для повышения читабельности программы." + }, "zh-cn": { "moreComments.name": "更多注释", "moreComments.description": "让你能够以积木块的形式添加注释来增加程序的可读性。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "MORECOMMENTS_BRANCHBLOCK": "comments: %1", @@ -36,6 +40,14 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "MORECOMMENTS_BRANCHBLOCK": "комментарии: %1", + "MORECOMMENTS_CATEGORY": "Еще комментарии", + "MORECOMMENTS_COMMANDBLOCK": "комментарии: %1" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "MORECOMMENTS_BRANCHBLOCK": "注释:%1", diff --git a/extensions/mpu6050/translations.js b/extensions/mpu6050/translations.js index 5dfe3d42..9877704f 100644 --- a/extensions/mpu6050/translations.js +++ b/extensions/mpu6050/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "mpu6050.name": "MPU6050 Sensor", "mpu6050.description": "6-axis attitude sensor module based on MPU6050." }, + "ru": { + "mpu6050.name": "Датчик MPU6050 ", + "mpu6050.description": "Модуль 6-осевого датчика положения на базе MPU6050." + }, "zh-cn": { "mpu6050.name": "MPU6050 传感器", "mpu6050.description": "基于 MPU6050 的6轴姿态传感器。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "MPU6050_ACCELERATION": "mpu6050 %1 axis acceleration (m/s^2)", @@ -39,6 +43,17 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "MPU6050_ACCELERATION": "mpu6050 %1 ускорение по оси (м/с^2)", + "MPU6050_CATEGORY": "MPU6050", + "MPU6050_GYRO": "mpu6050 %1 вращение вокруг оси (рад/с)", + "MPU6050_INIT": "инициализировать mpu6050 диапазон акселерометра %1 диапазон гироскопа %2 полоса пропускания фильтра %3", + "MPU6050_READDATA": "считать данные с mpu6050 ", + "MPU6050_TEMPERATURE": "Температура mpu6050 (℃)" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "MPU6050_ACCELERATION": "mpu6050 %1 轴加速度 (m/s^2)", diff --git a/extensions/nrf24l01/translations.js b/extensions/nrf24l01/translations.js index f6d8b2a3..079a4f34 100644 --- a/extensions/nrf24l01/translations.js +++ b/extensions/nrf24l01/translations.js @@ -10,6 +10,9 @@ function getInterfaceTranslations () { "en": { "nrf24l01.description": "2.4G RF transceiver module." }, + "ru": { + "nrf24l01.description": "Модуль приемопередатчика 2,4 ГГц." + }, "zh-cn": { "nrf24l01.description": "2.4G 无线射频传输模块。" }, @@ -24,7 +27,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "NRF24L01_CATEGORY": "NRF24l01", @@ -41,6 +44,22 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "NRF24L01_CATEGORY": "NRF24l01", + "NRF24L01_HASDATA": "nrf24l01 получены данные?", + "NRF24L01_INIT": "Инициализировать nrf24l01 на пинах CE %1 CSN %2 id %3", + "NRF24L01_PARSENUMBER": "nrf24l01 парсить номер", + "NRF24L01_PARSESTRING": "nrf24l01 парсить строку", + "NRF24L01_PARSEVALUE": "nrf24l01 парсить значение %1", + "NRF24L01_READDATA": "nrf24l01 читать данные", + "NRF24L01_SENDNUMBER": "nrf24l01 отправить номер %1 на id %2", + "NRF24L01_SENDSTRING": "nrf24l01 отправить строку %1 to id %2", + "NRF24L01_SENDVALUE": "nrf24l01 отправить значение %1 = %2 на id %3", + "NRF24L01_VALUEAVAILABLE": "nrf24l01 значение %1 доступно?" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "NRF24L01_CATEGORY": "NRF24l01", diff --git a/extensions/oled/translations.js b/extensions/oled/translations.js index 99791898..496f7363 100644 --- a/extensions/oled/translations.js +++ b/extensions/oled/translations.js @@ -10,6 +10,9 @@ function getInterfaceTranslations () { "en": { "oled.description": "I2C oled display based on SSD1306 drivers." }, + "ru": { + "oled.description": "OLED-дисплей I2C на основе драйверов SSD1306." + }, "zh-cn": { "oled.description": "基于 SSD1306 驱动的 I2C oled 显示屏。" }, @@ -24,7 +27,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "OLED_CATEGORY": "OLED", @@ -57,6 +60,38 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "OLED_CATEGORY": "OLED", + "OLED_CLEAR": "Очистить OLED-дисплей", + "OLED_COLOR_BLACK": "Черный", + "OLED_COLOR_INVERSE": "Инверсия", + "OLED_COLOR_WHITE": "Белый", + "OLED_DRAWCIRCLE": "нарисовать окружность на OLED-дисплее из точки (x: %1 y: %2) радиус %3 цвет %4", + "OLED_DRAWLINE": "нарисовать линию на OLED-дисплее из точки (x0: %1 y0: %2) в (x1: %3 y1:%4) цвет %5", + "OLED_DRAWRECT": "нарисовать прямоугольник на OLED-дисплее из точки (x: %1 y: %2) ширина %3 высота %4 цвет %5", + "OLED_DRAWROUNDRECT": "нарисовать скругленный прямоугольник на OLED-дисплее из точки (x: %1 y: %2) ширина %3 высота %4 радиус %5 цвет %6", + "OLED_DRAWTRIANGLE": "нарисовать треугольник на OLED-дисплее с углами (x: %1 y: %2) (x1: %3 y1: %4) (x2: %5 y2: %6) цвет %7", + "OLED_EOL_NOWARP": "Не переносить", + "OLED_EOL_WARP": "Переносить", + "OLED_FILLCIRCLE": "закрасить окружность на OLED-дисплее из точки (x: %1 y: %2) радиус %3 цвет %4", + "OLED_FILLRECT": "закрасить прямоугольник на OLED-дисплее из точки (x: %1 y: %2) ширина %3 высота %4 цвет %5", + "OLED_FILLROUNDRECT": "закрасить скругленный прямоугольник на OLED-дисплее из точки (x: %1 y: %2) ширина %3 высота %4 радиус %5 цвет %6", + "OLED_FILLTRIANGLE": "закрасить треугольник на OLED-дисплее с углами (x: %1 y: %2) (x1: %3 y1: %4) (x2: %5 y2: %6) цвет %7", + "OLED_INIT": "инициализация OLED-дисплея %1 высота %2 адрес I2C %3", + "OLED_PRINT": "напечатать %1 %2 на OLED-дисплее ", + "OLED_REFRESH": "Обновить OLED-дисплей", + "OLED_SCROLL_DIAGLEFT": "По диагонали налево", + "OLED_SCROLL_DIAGRIGHT": "По диагонали направо", + "OLED_SCROLL_LEFT": "Налево", + "OLED_SCROLL_RIGHT": "Направо", + "OLED_SETCURSOR": "установить курсор на OLED-дисплее в (x: %1 y: %2)", + "OLED_SETTEXT": "установить размер текста OLED-дисплея %1 цвет %2 цвет фона %3", + "OLED_STARTSCROLL": "oled начало прокрутки %1 y0: %2 y1: %3", + "OLED_STOPSCROLL": "Остановить прокрутку OLED-дисплея" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "OLED_CATEGORY": "OLED", diff --git a/extensions/passiveBuzzer/translations.js b/extensions/passiveBuzzer/translations.js index 63149c35..ab0b5696 100644 --- a/extensions/passiveBuzzer/translations.js +++ b/extensions/passiveBuzzer/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "passiveBuzzer.name": "Passive Buzzer", "passiveBuzzer.description": "Unlike the active buzzer, the passive buzzer can be used to make different tones of sound and play some ringtones." }, + "ru": { + "passiveBuzzer.name": "Пассивный зуммер", + "passiveBuzzer.description": "В отличие от активного зуммера, пассивный зуммер можно использовать для создания различных тонов звука и воспроизведения некоторых мелодий звонка." + }, "zh-cn": { "passiveBuzzer.name": "无源蜂鸣器", "passiveBuzzer.description": "不同于有源蜂鸣器,无源蜂鸣器可以用来播放不同音调的声音和播放铃声。" @@ -57,6 +61,35 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "PASSIVEBUZZER_CATEGORY": "Пассивный зуммер", + "PASSIVEBUZZER_CONFUSED": "Смущенный", + "PASSIVEBUZZER_CONNECTION": "Соединение", + "PASSIVEBUZZER_CUDDLY": "Приятный", + "PASSIVEBUZZER_DIDI": "Кнопка нажата", + "PASSIVEBUZZER_DISCONNECTION": "Отключить", + "PASSIVEBUZZER_FART1": "Выдох1", + "PASSIVEBUZZER_FART2": "Выдох2", + "PASSIVEBUZZER_FART3": "Выдох3", + "PASSIVEBUZZER_HAPPY": "Счастливый", + "PASSIVEBUZZER_HAPPYSHORT": "Немного счастлив", + "PASSIVEBUZZER_INIT": "Инициализировать пассивный зуммер на пине %1", + "PASSIVEBUZZER_MODE1": "Режим1", + "PASSIVEBUZZER_MODE2": "Режим2", + "PASSIVEBUZZER_MODE3": "Режим3", + "PASSIVEBUZZER_OHOOH": "Ой-ой", + "PASSIVEBUZZER_OHOOH2": "Ой-ой-ой", + "PASSIVEBUZZER_PLAYRINGTONE": "Проиграть рингтон %1", + "PASSIVEBUZZER_PLAYTONEFORBEAT": "Играть ноту %1 длительностью %2 ударов", + "PASSIVEBUZZER_SAD": "Грустный", + "PASSIVEBUZZER_SETTEMPO": "Установить темп в %1 ударов в минуту", + "PASSIVEBUZZER_SLEEPING": "Спящий", + "PASSIVEBUZZER_SUPERHAPPY": "Очень счастливый", + "PASSIVEBUZZER_SURPRISE": "Сюрприз" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "PASSIVEBUZZER_CATEGORY": "无源蜂鸣器", diff --git a/extensions/pca9685/translations.js b/extensions/pca9685/translations.js index a090c80f..1f4eb1bb 100644 --- a/extensions/pca9685/translations.js +++ b/extensions/pca9685/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "pca9685.name": "PCA9685 Module", "pca9685.description": "The 16 channel PWM driver module based on PCA9685, uses IIC bus for communication." }, + "ru": { + "pca9685.name": "Модуль PCA9685 ", + "pca9685.description": "16-канальный модуль ШИМ-драйвера на базе PCA9685 использующий для связи шину IIC." + }, "zh-cn": { "pca9685.name": "PCA9685 模块", "pca9685.description": "基于 PCA9685 的16通道 PWM 驱动模块, 使用 I2C 总线进行通讯。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "PCA9685_CATEGORY": "PCA9685", @@ -41,6 +45,19 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "PCA9685_CATEGORY": "PCA9685", + "PCA9685_INIT": "инициализировать pca9685 iic адрес %1", + "PCA9685_SETALLCHANNELPWM": "драйверу pca9685 установить значение ШИМ для всех каналов %1", + "PCA9685_SETALLSERVOANGLE": "драйверу pca9685 установить все углы сервопривода %1", + "PCA9685_SETCHANNELPWM": "драйверу pca9685 установить канал %1 значение ШИМ %2", + "PCA9685_SETPWMFREQUENCY": "драйверу pca9685 установить частоту ШИМ %1", + "PCA9685_SETSERVOANGLE": "драйверу pca9685 установить канал %1 угол сервопривода %2", + "PCA9685_SETTOSERVOMODE": "драйвер pca9685 установить в режим сервопривода" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "PCA9685_CATEGORY": "PCA9685", diff --git a/extensions/ps2/translations.js b/extensions/ps2/translations.js index b3313bf3..abe6959e 100644 --- a/extensions/ps2/translations.js +++ b/extensions/ps2/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "ps2.name": "PS2 Remote Control", "ps2.description": "PS2 wireless remote controller with 4 signal lines." }, + "ru": { + "ps2.name": "Пульт дистанционного управления PS2", + "ps2.description": "Беспроводной пульт дистанционного управления PS2 с 4 сигнальными линиями." + }, "zh-cn": { "ps2.name": "PS2 无线遥控器", "ps2.description": "使用4根信号线的 PS2 无线遥控器。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "PS2_CATEGORY": "PS2", @@ -48,6 +52,26 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "PS2_CATEGORY": "PS2", + "PS2_CIRCLE": "Окружность", + "PS2_CROSS": "Крест", + "PS2_DOWN": "Вниз", + "PS2_GETBUTTON": "PS2 %1 кнопка нажата?", + "PS2_GETJOYSTICK": "PS2 получить с джойстика %1", + "PS2_INIT": "init приемник ps2 DIN %1 DOUT %2 CS %3 CLK %4", + "PS2_LEFT": "Налево", + "PS2_READDATA": "читать данные приемника PS2", + "PS2_RIGHT": "Направо", + "PS2_SELECT": "Выбор", + "PS2_SQUARE": "Квадрат", + "PS2_START": "Старт", + "PS2_TRIANGLE": "Треугольник", + "PS2_UP": "Вверх" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "PS2_CATEGORY": "PS2", diff --git a/extensions/rgbLedStrip/translations.js b/extensions/rgbLedStrip/translations.js index 4655797c..2ab1c77f 100644 --- a/extensions/rgbLedStrip/translations.js +++ b/extensions/rgbLedStrip/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "rgbLedStrip.name": "RGB LED Strip", "rgbLedStrip.description": "Single-wire-based RGB LED pixels and strip." }, + "ru": { + "rgbLedStrip.name": "RGB-светодиодная лента", + "rgbLedStrip.description": "Светодиодные RGB-пиксели и лента на основе одножильных проводов." + }, "zh-cn": { "rgbLedStrip.name": "RGB LED 灯条", "rgbLedStrip.description": "基于单总线的 RGB LED 的单个像素或灯条。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "RGBLEDSTRIP_CATEGORY": "RGB LED Strip", @@ -41,6 +45,19 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "RGBLEDSTRIP_CATEGORY": "Светодиодная лента RGB", + "RGBLEDSTRIP_CLEAR": "очистить все светодиоды rgb", + "RGBLEDSTRIP_COLOR": "цвет RGB ленты R %1 G %2 B %3", + "RGBLEDSTRIP_FILL": "заливка RGB от пикселя %1 длиной %2 цвет %3", + "RGBLEDSTRIP_INIT": "инициализировать RGB ленту %1 пин %2", + "RGBLEDSTRIP_SETBRIGHTNESS": "установить яркость светодиодной ленты в %1", + "RGBLEDSTRIP_SETPIXELCOLOR": "установить пиксель RGB ленты %1 цвет %2", + "RGBLEDSTRIP_SHOW": "обновить светодиодный rgb-дисплей" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "RGBLEDSTRIP_CATEGORY": "RGB LED灯条", diff --git a/extensions/sdCard/translations.js b/extensions/sdCard/translations.js index c0dd8008..3fb567d1 100644 --- a/extensions/sdCard/translations.js +++ b/extensions/sdCard/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "sdCard.name": "SD Card Module", "sdCard.description": "Save or read your data in SD card." }, + "ru": { + "sdCard.name": "Модуль SD карты", + "sdCard.description": "Сохраните или прочитайте свои данные на SD-карте." + }, "zh-cn": { "sdCard.name": "SD卡模块", "sdCard.description": "在SD卡中保存和读取你的数据。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "SDCARD_CATEGORY": "SD Card", @@ -48,6 +52,26 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "SDCARD_CATEGORY": "SD-карта", + "SDCARD_CLOSEFILE": "SD-карта закрыть файл", + "SDCARD_CREATEFILE": "создать файл %1 на SD-карте", + "SDCARD_DELETEFILE": "удалить файл %1 с SD-карты", + "SDCARD_EOL_NOWARP": "не деформировать", + "SDCARD_EOL_WARP": "деформировать", + "SDCARD_FILEDATAAVAILABLE": "Доступны данные файла SD-карты", + "SDCARD_INIT": "инициировать SD-карту на пине CS %1", + "SDCARD_ISFILEEXISTS": "файл %1 на SD-карте существует?", + "SDCARD_MODE_READ": "только для чтения", + "SDCARD_MODE_READWRITE": "чтение и запись", + "SDCARD_OPENFILE": "открыть файл %1 на SD-карте в режиме %2", + "SDCARD_OPENFILE_TOOLTIP": "Если файл не существует, он будет создан автоматически.", + "SDCARD_PRINT": "распечатать %1 %2 в файл", + "SDCARD_READFILEDATA": "читать данные файла с SD-карты" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "SDCARD_CATEGORY": "SD卡", diff --git a/extensions/servo/translations.js b/extensions/servo/translations.js index 8287cc53..90098cc5 100644 --- a/extensions/servo/translations.js +++ b/extensions/servo/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "servo.name": "Servo", "servo.description": "Classic servo support for microbit." }, + "ru": { + "servo.name": "Сервомотор", + "servo.description": "Классическая поддержка сервопривода для microbit." + }, "zh-cn": { "servo.name": "舵机", "servo.description": "让 Microbit 可以控制普通的舵机。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "SERVO_CATEGORY": "Servo", @@ -35,6 +39,13 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "SERVO_CATEGORY": "Сервопривод", + "SERVO_WRITE": "установить сервопривод в %1 вне %2" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "SERVO_CATEGORY": "舵机", diff --git a/extensions/sharpIR/translations.js b/extensions/sharpIR/translations.js index ab807a47..0668859f 100644 --- a/extensions/sharpIR/translations.js +++ b/extensions/sharpIR/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "sharpIR.name": "Sharp IR Sensor", "sharpIR.description": "Infrared distance sensor based on the principle of triangle ranging." }, + "ru": { + "sharpIR.name": "Инфракрасный датчик Sharp ", + "sharpIR.description": "Инфракрасный датчик расстояния, основанный на принципе треугольной дальности." + }, "zh-cn": { "sharpIR.name": "夏普红外传感器", "sharpIR.description": "基于三角测量原理的红外测距传感器。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "SHARPIR_CATEGORY": "Sharp IR", @@ -36,6 +40,14 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "SHARPIR_CATEGORY": "ИК-дальномер Sharp ", + "SHARPIR_INIT": "инициализировать ИК-датчик sharp %1 пин %2 модель %3", + "SHARPIR_READDISTANCE": "считать расстояние с ИК-датчика sharp %1" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "SHARPIR_CATEGORY": "夏普红外", diff --git a/extensions/shiftDigitDisplay/translations.js b/extensions/shiftDigitDisplay/translations.js index 55c9c67a..4ccdb223 100644 --- a/extensions/shiftDigitDisplay/translations.js +++ b/extensions/shiftDigitDisplay/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "shiftDigitDisplay.name": "Shift Digit Display", "shiftDigitDisplay.description": "Digital dislapy based on 74HC595 with dynamic scanning display." }, + "ru": { + "shiftDigitDisplay.name": "Цифровой дисплей со сдвигом", + "shiftDigitDisplay.description": "Цифровой дисплей на базе 74HC595 с динамической разверткой дисплея." + }, "zh-cn": { "shiftDigitDisplay.name": "移位数码管", "shiftDigitDisplay.description": "使用动态扫描方式显示的基于 74HC595 的数码管。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "SHIFTDIGITDISPLAY_CATEGORY": "Shift Digit Display", @@ -39,6 +43,17 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "SHIFTDIGITDISPLAY_CATEGORY": "Цифровой дисплей со сдвигом\n ", + "SHIFTDIGITDISPLAY_DISPLAYNUMBER": "цифровому индикатору отобразить число %1 десятичное %2", + "SHIFTDIGITDISPLAY_DISPLAYSTRING": "цифровому индикатору отобразить строку %1", + "SHIFTDIGITDISPLAY_INIT": "инициализировать сдвиговый дисплей %1 пин SCLK %2 RCLK %3 DIO %4", + "SHIFTDIGITDISPLAY_REFRESH_TOOLTIP": "Эта команда заблокирует программу.", + "SHIFTDIGITDISPLAY_SHOW": "цифровому индикатору отобразить на %1 мс" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "SHIFTDIGITDISPLAY_CATEGORY": "移位数码管", diff --git a/extensions/softwareSerialport/translations.js b/extensions/softwareSerialport/translations.js index 09cf64cf..68d418cd 100644 --- a/extensions/softwareSerialport/translations.js +++ b/extensions/softwareSerialport/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "softwareSerial.name": "Software Serial", "softwareSerial.description": "Allow serial communication on other digital pins of the Arduino." }, + "ru": { + "softwareSerial.name": "Серийный номер программного обеспечения", + "softwareSerial.description": "Разрешите последовательную связь на других цифровых выводах Arduino." + }, "zh-cn": { "softwareSerial.name": "软件串口", "softwareSerial.description": "使 Arduino 可以使用其他数字口进行串口通信。" @@ -27,7 +31,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "SOFTWARESERIAL_AVAILABLE": "software serial %1 available data length", @@ -40,6 +44,18 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "SOFTWARESERIAL_AVAILABLE": "доступная длина данных в последовательном порту %1", + "SOFTWARESERIAL_BEGIN": "последовательный порт %1 пины RX %2 TX %3 скорость передачи %4", + "SOFTWARESERIAL_CATEGORY": "последовательный порт", + "SOFTWARESERIAL_NOWARP": "не деформировать", + "SOFTWARESERIAL_PRINT": "В последовательный порт %1 печатать %2 %3", + "SOFTWARESERIAL_READABYTE": "Считать байт из последовательного порта %1", + "SOFTWARESERIAL_WARP": "деформировать" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "SOFTWARESERIAL_AVAILABLE": "软件串口 %1 可用数据长度", diff --git a/extensions/tcs3200/translations.js b/extensions/tcs3200/translations.js index 39f0d5f1..12fa95c0 100644 --- a/extensions/tcs3200/translations.js +++ b/extensions/tcs3200/translations.js @@ -10,6 +10,9 @@ function getInterfaceTranslations () { "en": { "tcs3200.description": "Color sensor module based on TCS3200." }, + "ru": { + "tcs3200.description": "Модуль датчика цвета на базе TCS3200." + }, "zh-cn": { "tcs3200.description": "基于 TCS3200 的颜色传感器模块。" }, @@ -24,7 +27,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "TCS3200_CALIBRATEBLACK": "tcs3200 calibrate black", @@ -40,6 +43,21 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "TCS3200_CALIBRATEBLACK": "tcs3200 калибровать черный", + "TCS3200_CALIBRATEWHITE": "tcs3200 калибровать белый", + "TCS3200_CATEGORY": "TCS3200", + "TCS3200_COLOR_BLUE": "синий", + "TCS3200_COLOR_GREEN": "зеленый", + "TCS3200_COLOR_RED": "красный", + "TCS3200_GETCOLORVALUE": "tcs3200 получить %1 значение", + "TCS3200_INIT": "инициализировать tcs3200 пины S0 %1 S1 %2 S2 %3 S3 %4 S5 %5", + "TCS3200_INIT_TOOLTIP": "Выходной контакт фиксирован: Arduino Uno, контакт 5, Arduino Leonardo, контакт 12, Arduino Mega, контакт 47.", + "TCS3200_MEASURECOLOR": "tcs3200 измерить цвет" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "TCS3200_CALIBRATEBLACK": "tcs3200 校准黑色", diff --git a/extensions/u8g2/translations.js b/extensions/u8g2/translations.js index 4b87a147..7563f8fd 100644 --- a/extensions/u8g2/translations.js +++ b/extensions/u8g2/translations.js @@ -10,6 +10,9 @@ function getInterfaceTranslations () { "en": { "u8g2.description": "U8g2 is a general graphics library for multiple screens, which is suitable for LCD (base on ST7920) or OLED (base on SSD1306) screens." }, + "ru": { + "u8g2.description": "U8g2 — это общая графическая библиотека для нескольких экранов, которая подходит для ЖК-экранов (на базе ST7920) или OLED (на базе SSD1306)." + }, "zh-cn": { "u8g2.description": "U8g2 是一个适配多种屏幕的通用图形库,适用于 LCD(基于ST7920)或 OLED(基于SSD1306)屏幕。" }, @@ -24,7 +27,7 @@ function registerScratchExtensionTranslations () { return {}; } -function registerBlocksMessages (Blockly) { +function registerBlocksMessages (Blockly) { Object.assign(Blockly.ScratchMsgs.locales["en"], { "U8G2_12832OLED_INIT": "init u8g2 128x32 oled pin SCL %1 SDA %2", @@ -82,6 +85,63 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "U8G2_12832OLED_INIT": "инициализировать u8g2 128x32 oled дисплей пины SCL %1 SDA %2", + "U8G2_12864LCD_INIT": "инициализировать u8g2 128x64 ЖК дисплей пины RS (CS) %1 R/W (DATA) %2 E (CLK) %3", + "U8G2_12864LCD_INIT_TOOLTIP": "Поддерживается только ST7920 контроллер ЖК дисплея", + "U8G2_12864OLED_INIT": "инициализировать u8g2 128x64 oled дисплей пины SCL %1 SDA %2", + "U8G2_CATEGORY": "U8G2", + "U8G2_CLEAR": "очистить дисплей u8g2", + "U8G2_COLOR_COLORED": "Цветной", + "U8G2_COLOR_NOCOLORED": "Не цветной", + "U8G2_DISPLAYROTATION_MIRROR": "зеркало", + "U8G2_DRAWCIRCLE": "на дисплее u8g2 нарисовать %1 окружность из точки x: %2 y: %3 радиус %4 часть %5", + "U8G2_DRAWELLIPSE": "на дисплее u8g2 нарисовать %1 эллипс x: %2 y: %3 шириной %4 высотой %5 часть %6", + "U8G2_DRAWLINE": "на дисплее u8g2 нарисовать линию из точки x0: %1 y0: %2 в точку x1: %3 y1: %4", + "U8G2_DRAWPIXEL": "на дисплее u8g2 нарисовать пиксель в точке x: %1 y: %2", + "U8G2_DRAWRECTANGLE": "на дисплее u8g2 нарисовать %1 прямоугольник из точки x: %2 y: %3 шириной %4 высотой %5", + "U8G2_DRAWROUNDRECTANGLE": "на дисплее u8g2 нарисовать %1 закругленный прямоугольник из точки x: %2 y: %3 шириной %4 высотой %5 радиус закругления %6", + "U8G2_DRAWSTRING": "на дисплее u8g2 написать строку %1 из точки x: %2 y: %3", + "U8G2_DRAWTRIANGLE": "на дисплее u8g2 нарисовать треугольник по точкам x0: %1 y0: %2, x1: %3 y1: %4, x2: %5 y2: %6", + "U8G2_DRAWVHLINE": "на дисплее u8g2 нарисовать %1 линию из точки x: %2 y: %3 длиной %4", + "U8G2_FONT_10X20": "X11 10x20", + "U8G2_FONT_11X11C": "WQY 11x11 (с поддержкой китайского языка)", + "U8G2_FONT_13X13C": "WQY 13x13 (с поддержкой китайского языка)", + "U8G2_FONT_14X14C": "WQY 14x14 (с поддержкой китайского языка)", + "U8G2_FONT_15X15C": "WQY 15x15 (с поддержкой китайского языка)", + "U8G2_FONT_16X16C": "WQY 16x16 (с поддержкой китайского языка)", + "U8G2_FONT_4X6": "X11 4x6", + "U8G2_FONT_5X7": "X11 5x7", + "U8G2_FONT_5X8": "X11 5x8", + "U8G2_FONT_6X10": "X11 3x10", + "U8G2_FONT_6X12": "X11 6x12", + "U8G2_FONT_6X13": "X11 6x13", + "U8G2_FONT_7X13": "X11 7x13", + "U8G2_FONT_7X14": "X11 7x14", + "U8G2_FONT_8X13": "X11 8x13", + "U8G2_FONT_9X15": "X11 9x15", + "U8G2_FONT_9X18": "X11 9x18", + "U8G2_OLED_INIT_TOOLTIP": "поддерживается только SSD1306 контроллер oled дисплея ", + "U8G2_PART_ALL": "все", + "U8G2_PART_LOWER_LEFT": "нижний левый", + "U8G2_PART_LOWER_RIGHT": "нижний правый", + "U8G2_PART_UPPER_LEFT": "верхний левый", + "U8G2_PART_UPPER_RIGHT": "верхний правый", + "U8G2_PRINT": "на дисплее u8g2 напечатать %1", + "U8G2_REFRESH": "обновить дисплей u8g2", + "U8G2_SETCURSOR": "на дисплее u8g2 установить курсор в позицию x: %1 y: %2", + "U8G2_SETDISPLAYROTATION": "установить угол поворота дисплея u8g2 в %1", + "U8G2_SETDRAWCOLOR": "дисплею u8g2 установить цвет рисования %1", + "U8G2_SETFONT": "на дисплее u8g2 установить шрифт %1 направление %2", + "U8G2_SETFONT_TOOLTIP": "Ограничено размером ПЗУ, поддерживаются только некоторые китайские символы. Вы можете попробовать ввести их. Если не поддерживает, они не будут отображаться", + "U8G2_STYLE_FILLED": "заполненный", + "U8G2_STYLE_HORIZONTAL": "горизонтально", + "U8G2_STYLE_NOFILLED": "незаполненный", + "U8G2_STYLE_VERTICAL": "Вертикальный" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "U8G2_12832OLED_INIT": "初始化 u8g2 128x32 oled 引脚 SCL %1 SDA %2", diff --git a/extensions/ultrasonic/translations.js b/extensions/ultrasonic/translations.js index ad0395cf..c40e8684 100644 --- a/extensions/ultrasonic/translations.js +++ b/extensions/ultrasonic/translations.js @@ -11,6 +11,10 @@ function getInterfaceTranslations () { "ultrasonic.name": "Ultrasonic", "ultrasonic.description": "Standard ultrasonic distance measurement module." }, + "ru": { + "ultrasonic.name": "Ультразвуковой", + "ultrasonic.description": "Стандартный модуль ультразвукового измерения расстояния." + }, "zh-cn": { "ultrasonic.name": "超声波", "ultrasonic.description": "标准的超声波测距传感器模块。" @@ -35,6 +39,13 @@ function registerBlocksMessages (Blockly) { } ); + Object.assign(Blockly.ScratchMsgs.locales["ru"], + { + "ULTRASONIC_CATEGORY": "Ультразвуковой", + "ULTRASONIC_READ_DISTANCE": "пины ультразвукового датчика TRIG %1 ECHO %2 расстояние считывания %3" + } + ); + Object.assign(Blockly.ScratchMsgs.locales["zh-cn"], { "ULTRASONIC_CATEGORY": "超声波",