diff --git a/www/examples/matrixeyes.xml b/www/examples/matrixeyes.xml index 02fcccf96..268d94e93 100644 --- a/www/examples/matrixeyes.xml +++ b/www/examples/matrixeyes.xml @@ -1,5 +1,5 @@ - toolbox_arduino_all + toolbox_arduino_all-esp8266 @@ -180,126 +180,141 @@ - - angry_bmp + + sad_bmp - + s - + 1 - - angry2_bmp + + angry_bmp - + s - + 1 - - freetful_bmp + + angry2_bmp - + s - + 1 - - confused_bmp + + freetful_bmp - + s - + 1 - - sleep_bmp + + confused_bmp - + s - + 1 - - love_bmp + + sleep_bmp - + s - + 1 - - wave_bmp + + love_bmp - + s - + 1 - - magic_bmp + + wave_bmp - + s - + 1 - - fail_bmp + + magic_bmp - + s - + 1 - - logo_bmp + + fail_bmp - + s - + 1 - - XX_bmp + + logo_bmp - + s - + 1 + + + XX_bmp + + + s + + + 1 + + + + + + @@ -357,7 +372,4 @@ - - sad_bmp - \ No newline at end of file diff --git a/www/lang/Arduino_ar.js b/www/lang/Arduino_ar.js new file mode 100644 index 000000000..f59f3d883 --- /dev/null +++ b/www/lang/Arduino_ar.js @@ -0,0 +1,1226 @@ +'use strict'; +goog.provide ( 'Blockly.Msg.fr'); +goog.require ( 'Blockly.Msg'); +// Electron window +Blockly.Msg.com1 = "⚠️ Select USB port"; +Blockly.Msg.com2 = "⚠️ Select USB please" ; +Blockly.Msg.check = "Checking..."; +Blockly.Msg.upload = "Uploading..."; +Blockly.Msg.error = "🛑 ERROR: Blocks not connected"; +Blockly.Msg.verif = "⛔ Check the code first " +Blockly.Msg.save = "Save as format"; +Blockly.Msg.update = "Update"; +Blockly.Msg.new_update = "A new version is available, do you want to download and install it now?" ; +Blockly.Msg.yes = "Yes"; +Blockly.Msg.no = "No"; +Blockly.Msg.uptodate = "✅ Version is up to date!" ; +Blockly.Msg.download = "Download completed, the application will install and restart ..." +// common to all blocks +Blockly.Msg.HELPURL = "https://ottodiy.com"; // do not translate +Blockly.Msg.pin = "Pin"; +Blockly.Msg._AT = "to"; +Blockly.Msg.AV = "forward"; +Blockly.Msg.AR = "backward"; +Blockly.Msg.high = "HIGH"; // do not translate +Blockly.Msg.low = "LOW"; // do not translate +Blockly.Msg.right = "right"; +Blockly.Msg.left = "left"; +Blockly.Msg.LetR = "right & left"; +Blockly.Msg.direction = "direction"; +Blockly.Msg.vitesse = "speed"; +Blockly.Msg.values = "↺0-90 | ↻90-180"; +Blockly.Msg.Name = "Name"; +// categories (menu) +Blockly.Msg.CAT_TAB = "🔠 Arrays"; +Blockly.Msg.CAT_list = "🔤 List"; +Blockly.Msg.CAT_LOGIC = "🔂 Logic Control"; +Blockly.Msg.CAT_MATH = "🔢 Math Operators"; +Blockly.Msg.CAT_TEXT = "🔤 Text"; +Blockly.Msg.CAT_VARIABLES = "🔀 Variables"; +Blockly.Msg.CAT_FUNCTIONS = "🔣 Functions"; +Blockly.Msg.CAT_ARDUINO = "🔄 Structure"; +Blockly.Msg.CAT_ARDUINO_IN = "🔛 Input / Output"; +Blockly.Msg.CAT_ARDUINO_OUT = "↪️ Exit"; +Blockly.Msg.CAT_ARDUINO_TIME = "⏱️ Time"; +Blockly.Msg.CAT_OTTO = "🤖 Otto"; +Blockly.Msg.CAT_OTTO_ARMS = "🦾 Arms"; +Blockly.Msg.CAT_OTTO_WHEELS = "💿 Wheels"; +Blockly.Msg.CAT_OTTO_NINJA = "🐱‍👤 Ninja"; +Blockly.Msg.CAT_OTTO_QUAD = "🕷️ Quad"; +Blockly.Msg.CAT_ARDUINO_matrice8x8 = "👄 LED Mouth"; +Blockly.Msg.CAT_ARDUINO_matrice16x8 = "👀 LED Eyes"; +Blockly.Msg.CAT_ESCORNABOT="🐞 Escornabot"; +Blockly.Msg.CAT_servo = "🦾 Servo"; +Blockly.Msg.CAT_actionneur = "⚙️ Motor"; +Blockly.Msg.CAT_ARDUINO_moteur="⚙️ Motor Stepper"; +Blockly.Msg.CAT_ultrason = "👂 Sensors"; +Blockly.Msg.CAT_SENSORS = "👂 Sensing"; +Blockly.Msg.CAT_numerique = "0️⃣ Digital"; +Blockly.Msg.CAT_analogique = "🔢 Analog"; +Blockly.Msg.CAT_GYRO = "⚖️ Gyroscope"; +Blockly.Msg.CAT_VIBRATE = "🖐️ Vibration"; +Blockly.Msg.CAT_MAGNET= "🧲 Magnetic"; +Blockly.Msg.CAT_TEMP = "🌡️ Temperature" +Blockly.Msg.CAT_LIGHT = "🌞 Light" +Blockly.Msg.CAT_WATER = "💧 Water" +Blockly.Msg.CAT_SOUND ="🎤 Noise" +Blockly.Msg.CAT_HMC5883="🧭 Compass"; +Blockly.Msg.CAT_RFID="💳 RFID"; +Blockly.Msg.CAT_KEYBOARD="🖱️Mouse & ⌨️Keys"; +Blockly.Msg.CAT_CCS811 = "⛅ CO₂"; +Blockly.Msg.CAT_GAS = "⛽ Gas" +Blockly.Msg.CAT_RTC_DS3231 = "⏲️ Real Time Clock"; +Blockly.Msg.CAT_TIME_GENERAL = "General"; +Blockly.Msg.CAT_BME280 = "🗜️ Pressure"; +Blockly.Msg.CAT_VL53L0X = "📏 Distance"; +Blockly.Msg.CAT_APDS9960 = "👋 Gesture"; +Blockly.Msg.CAT_TCS34725 = "🌈 Color"; +Blockly.Msg.CAT_Displays = "💻 Displays"; +Blockly.Msg.CAT_OLED_U8G = "🖥️ OLED"; +Blockly.Msg.CAT_TFT_ST7735 = "📺 TFT"; +Blockly.Msg.CAT_del = "🔆 GFX"; +Blockly.Msg.CAT_LED = "💡 LED"; +Blockly.Msg.CAT_LEDRGB = "🚥 LED RGB"; +Blockly.Msg.CAT_NEOPIXEL = "🌈 NeoPixel"; +Blockly.Msg.CAT_NEOMATRIX = "🌈 NeoMatrix"; +Blockly.Msg.CAT_MAX7219 = "💡 Matrix 8x8"; +Blockly.Msg.CAT_MAX1640 = "💡 Matrix 16x8"; +Blockly.Msg.CAT_BARGRAPH = "💡 LED Bars"; +Blockly.Msg.CAT_LCDI2C = "📟 LCD"; +Blockly.Msg.CAT_BUZZER="🎼 Buzzer"; +Blockly.Msg.CAT_AUDIO = "🔉 Audio Sound"; +Blockly.Msg.CAT_DFPLAYER = "🔊 MP3 DFMini"; +Blockly.Msg.CAT_OPENSMART = "🔊 MP3 OpenSmart"; +Blockly.Msg.CAT_RADIO_TEA5767="📻 Radio"; +Blockly.Msg.CAT_CAMERAS = "📷 Cameras"; +Blockly.Msg.CAT_MUVISION = "👁️ MuVision"; +Blockly.Msg.CAT_com = "📡 Communication"; +Blockly.Msg.CAT_ARDUINO_COMM_SERIAL = "ℹ️ USB Serial"; +Blockly.Msg.CAT_ARDUINO_COMM_SOFTSERIAL = "ℹ️ Software Serial"; +Blockly.Msg.CAT_bluetooth = "🔵 Bluetooth"; +Blockly.Msg.CAT_RemoteIR = "🕹️ Remote Control"; +Blockly.Msg.CAT_GPS="🛰️ GPS"; +Blockly.Msg.CAT_iot = "☁️ IoT"; +Blockly.Msg.CAT_html = "✉️ HTML"; +Blockly.Msg.CAT_wifi = "🌐 WiFi"; +Blockly.Msg.CAT_MQTT = "🌐 MQTT"; +Blockly.Msg.CAT_IFTTT = "🌐 IFTTT"; +Blockly.Msg.CAT_NTP = "🌐 NTP"; +Blockly.Msg.CAT_THINGSPEAK = "🌐 Thingspeak"; +Blockly.Msg.CAT_TELEGRAM = "🌐 Telegram"; +Blockly.Msg.CAT_STOCKAGE = "📦 Storage"; +Blockly.Msg.CAT_OPENWEATHER="🌐 OpenWeather"; +Blockly.Msg.CAT_WIFISERVER="🌐 WiFi server"; + +//RTC DS3231 +Blockly.Msg.RTCDS3231_NAME="RTC Pins I²C"; +Blockly.Msg.RTCDS3231_RTC="⏲️ Set Date & Time "; +Blockly.Msg.RTCDS3231_DAY="Day"; +Blockly.Msg.RTCDS3231_MONTH="Month"; +Blockly.Msg.RTCDS3231_YEAR="Year"; +Blockly.Msg.RTCDS3231_HOUR="Hour"; +Blockly.Msg.RTCDS3231_MINUTE="Minute"; +Blockly.Msg.RTCDS3231_SECOND="Second"; +Blockly.Msg.RTCDS3231_DOFWEEK="Day of week"; +Blockly.Msg.RTCDS3231_READ_RTC="⏲️ RTC Read Date & Time"; +Blockly.Msg.RTCDS3231_VALUES="value"; +Blockly.Msg.RTCDS3231_Name2="⏲️ RTC."; +Blockly.Msg.RTCDS3231_TEXT_DOFWEEK="Day of week in string"; +Blockly.Msg.RTCDS3231_TEXT_MONTH="Month in string "; + + +//Wireless +Blockly.Msg.esp8266_init_tooltip = "initialization of the wifi module and connection with the indicated parameters"; +Blockly.Msg.esp8266_1 = "Esp 8266"; +Blockly.Msg.esp8266_2 = "SSID"; +Blockly.Msg.esp8266_3 = "key"; +Blockly.Msg.esp8266_4 = "IP"; +Blockly.Msg.esp8266_5 = "gateway"; +Blockly.Msg.esp8266_6 = "mask"; +Blockly.Msg.esp8266_7 = [["client", "client"], ["server", "server"]]; +Blockly.Msg.esp8266_8 = "port"; +Blockly.Msg.esp8266_9 = [["dynamic", "dynamic"], ["static", "static"]]; +Blockly.Msg.esp8266_10 = "address"; +Blockly.Msg.esp8266_recept_tooltip = "reception"; +Blockly.Msg.esp8266_url = "https://github.com/OttoDIY/OttoDIYESP";// do not translate +Blockly.Msg.esp8266_html_tooltip = ""; +Blockly.Msg.esp8266_send_html_tooltip = ""; +Blockly.Msg.esp8266_send_html = "send HTML page"; +Blockly.Msg.esp8266_start_tooltip = ""; +Blockly.Msg.esp8266_start = "start server"; +Blockly.Msg.esp8266_request_tooltip = ""; +Blockly.Msg.esp8266_request = "if in the query we find"; +Blockly.Msg.esp8266_request_container = "we find"; +Blockly.Msg.esp8266_html_webpage = "Name of the HTML page:"; + +//INTERRUPTION +Blockly.Msg.LKL_ATTACHINTERRUPT_PIN = 'Interrupt: when a'; +Blockly.Msg.LKL_DETACHINTERRUPT_PIN = "disable interrupt on Pin"; +Blockly.Msg.LKL_TOOLTIP_INOUT_ATTACHINTERRUPT = "Specifies an action to take when an external interrupt (4 possible modes) occurs on pin 2 or 3"; +Blockly.Msg.LKL_TOOLTIP_INOUT_DETACHINTERRUPT = "Disable the previously specified external interrupt"; +Blockly.Msg.LKL_MODE = 'is detected on the Pin'; +// FIELDDROPDOWN +Blockly.Msg.note = [[ "C₄ | Do₄", "261"], [ "D₄ | Re₄", "293"], [ "E₄ | Mi₄", "329"], [ "F₄ | Fa₄", "349"], [ "G₄ | Sol₄", "392"], [ "A₄ | La₄", "440"], [ "B₄ | Si₄", "493"], [ "C₅ | Do₅", "523 "], ["D₅ | Re₅"," 587 "], ["E₅ | Mi₅"," 659 "], ["F₅ | Fa₅"," 698 "], ["G₅ | Sol₅"," 784 "], [ "A₅ | La₅", "880"]]; +Blockly.Msg.tempo = [["\u266B", "125"], ["\u266A", "250"], ["\u2669", "500"], ["𝅗𝅥", "1000"], ["𝅝", "2000"]]; // do not translate +Blockly.Msg.on_off = [["ON", "HIGH"], ["OFF", "LOW"]]; +Blockly.Msg.menublink = [["slow", "1000"], ["fast", "100"]]; +Blockly.Msg.AV_AR = [[Blockly.Msg.AV, "FORWARD"], [Blockly.Msg.AR, "BACKWARD"]]; // do not translate +Blockly.Msg.times = [["seconds", "s"], ["milliseconds", "m"], ["microseconds", "u"]]; +Blockly.Msg.time = [["seconds", "s"], ["milliseconds", "m"]]; +Blockly.Msg.char_lcd = [[ "# 1", "1"], [ "# 2", "2"], [ "3", "3"], [ "# 4", "4"], [ "# 5", "5"], [ "# 6", "6"], [ "No. 7", "7"], [ "# 8", "8 "]]; +Blockly.Msg.rxtx = [[ "2", "2"], [ "3", "3"], [ "4", "4"], [ "5", "5"], [ "6 "," 6 "], [" 7 "," 7 "], [" 8 "," 8 "], [" 9 "," 9 "], [" 10 "," 10 "], [" 11 "," 11 "], [" 12 "," 12 "], [" 13 "," 13 "]]; +Blockly.Msg.FIELDDROPDOWN = [["1 HIGH", Blockly.Msg.high], ["0 LOW", Blockly.Msg.low]]; +Blockly.Msg.FIELDDROPDOWN_0_1 = [["UP", Blockly.Msg.high], ["DOWN", Blockly.Msg.low]]; +Blockly.Msg.ligne = [["1", "0"], ["2", "1"]]; +Blockly.Msg.colonne = [[ "1", "0"], [ "2", "1"], [ "3", "2"], [ "4", "3"], [ "5 "," 4 "], [" 6 "," 5 "], [" 7 "," 6 "], [" 8 "," 7 "], [" 9 "," 8 "], [" 10 "," 9 "], [" 11 "," 10 "], [" 12 "," 11 "], [" 13 "," 12 "], [" 14 "," 13 "], [" 15 "," 14 "], [" 16 "," 15 "]]; +Blockly.Msg.FIELDDROPDOWN_ONOFF = [["turn on", Blockly.Msg.high], ["turn off", Blockly.Msg.low]]; +Blockly.Msg.FIELDDROPDOWN_ONOFF_matrice = [["1", "true"], ["0", "false"]]; +Blockly.Msg.FIELDDROPDOWN_av_ar = [[Blockly.Msg.AV, Blockly.Msg.high], [Blockly.Msg.AR, Blockly.Msg.low]]; +Blockly.Msg.LKL_DROPDOWN = [['rising edge', 'RISING'], ['falling edge', 'FALLING'], ['changing state', 'CHANGE'], ['LOW state', Blockly. Msg.low]]; +Blockly.Msg.irq = [['rising edge', 'Pin.IRQ_RISING'], ['falling edge', 'Pin.IRQ_FALLING'], ['HIGH state', 'Pin.IRQ_HIGH_LEVEL'], ["LOW state "," Pin.IRQ_LOW_LEVEL "]]; +Blockly.Msg.menudht = [["💧humidity", "h"], ["🌡️temperature", "t"]]; +Blockly.Msg.couleur = [["blue", "blue"], ["yellow", "yellow"], ["red", "red"], ["green", "green"]]; +Blockly.Msg.sens = [["forward", "a"], ["turn right", "d"], ["turn left", "g"]]; +//sensor +Blockly.Msg.VL53L0X="Laser Pins I²C"; +Blockly.Msg.VL53L0X_tooltip="initialize VL53L0X sensor.\nSensor <--> Arduino\nSDA <--------> A4\nSCL <--------> A5"; +Blockly.Msg.VL53L0X_distance="distance (mm)"; +Blockly.Msg.VL53L0X_distance_tooltip="VL530X :\nreturn Distance measured by laser in mm"; +Blockly.Msg.bme280="Atmospheric pressure Pins I²C"; +Blockly.Msg.bme280_tooltip="initialize BME280 sensor.\nSensor <--> Arduino\nSDA <--------> A4\nSCL <--------> A5"; +Blockly.Msg.bme280_pressure="atmospheric pressure (hPa)"; +Blockly.Msg.bme280_pressure_tooltip="BME280 :\nreturn atmospheric pressure in hPa"; +Blockly.Msg.inter="switch is"; +Blockly.Msg.inter_tooltip="returns true (false) if the switch is (is not) at the indicated position"; +Blockly.Msg.mc005="presence detected on Pin"; +Blockly.Msg.mc005_tooltip="MC005:\nreturns true (false) if a presence is (is not) detected"; +Blockly.Msg.bp = "button pressed on Pin"; +Blockly.Msg.bp_tooltip = "returns true (false) if a pushbutton is (is not) pressed"; +Blockly.Msg.dht11_tooltip="DHT11 :\nreturns the humidity of the air (from 20 to 80%) or \n the temperature (from 2 to 50�C)"; +Blockly.Msg.dht22_tooltip = "DHT22: \nreturns the humidity of the air (from 0 to 100%) or \n the temperature (from -40 to 80 � C)"; +Blockly.Msg.suiveur_ligne = "black line detected on Pin"; +Blockly.Msg.suiveur_ligne_tooltip = "CAP227: \nreturns true (false) if a black line is (is not) detected"; +Blockly.Msg.light = "brightness on pin"; +Blockly.Msg.light_tooltip = "returns a value depending on the brightness \n0: darkness \n255: full light"; +Blockly.Msg.hum = "soil moisture on the pin"; +Blockly.Msg.hum_tooltip = "CAP 615: \nreturns soil moisture from 0 to 100%"; +Blockly.Msg.light_tooltip = "returns a value depending on the brightness \n0: darkness \n255: full light"; +Blockly.Msg.grove_ldr = "brightness on pin"; +Blockly.Msg.grove_ldr_tooltip = "returns the measured brightness \n0: no light \n100: very intense light"; +Blockly.Msg.potar = "cursor position on pin"; +Blockly.Msg.potar_tooltip = "returns a value based on the cursor position \n0: cursor left \n255: cursor right"; +Blockly.Msg.lm35 = "temperature on pin"; +Blockly.Msg.lm35_tooltip = "LM35: \nreturns the measured temperature in degrees celcius (from 0 to 80 �)"; +Blockly.Msg.ultrason_1 = "distance < limit"; +Blockly.Msg.ultrason_2 = "returns a High state if the measured distance is less than the limit"; +Blockly.Msg.ultrason_distance1 = "distance (cm)"; +Blockly.Msg.ultrason_tooltip = "HC-SR04: \nUltrasonic sensor ranger to make distance measurements (between 3cm and 400cm)\nindicate the pins of the Arduino to which will be connected TRIG and ECHO"; +Blockly.Msg.ultrason = "Ultrasound Pins"; +Blockly.Msg.ultrason_distance2 = "HC-SR04: \nreturns the distance measured in cm by the ultrasonic detector"; +Blockly.Msg.pir = "motion detected "; +Blockly.Msg.feu = "flame detected "; +Blockly.Msg.presence = "obstacle detected "; +Blockly.Msg.appui = "touch "; +Blockly.Msg.pir_tooltip = "HC-SR501: \nreturns true (false) if a presence is (is not) detected"; +Blockly.Msg.feu_tooltip = "CAP168: \nreturns true (false) if a flame is (is not) detected"; +Blockly.Msg.presence_tooltip = "CAP711: \nreturns true (false) if a contact has (did not) take place"; +Blockly.Msg.appui_tooltip = "CAP831: \nreturns true (false) if a support is (is not) detected"; +// bluetooth +Blockly.Msg.bluetooth1 = "if the data received by bluetooth"; +Blockly.Msg.bluetooth1_tooltip = "bluetooth data reception \nconnecting module HC-06 to Pins 0 and 1 \net cross Rx & Tx Pins"; +Blockly.Msg.bluetooth2 = "send by bluetooth"; +Blockly.Msg.bluetooth2_tooltip = "sends data via bluetooth \nconnecting module HC-06 to Pins 0 and 1 \net cross Pins Rx & Tx"; +Blockly.Msg.bluetooth_init_tooltip = ""; +Blockly.Msg.bluetooth_helpurl = "https://www.ottodiy.com/academy"; // do not translate + + +// SOFTWARE SERIAL FOR BT +Blockly.Msg.SSERIAL_BT_Init="Init Bluetooth - SoftwareSerial"; +Blockly.Msg.ESP32Bluetooth = "Init Bluetooth - ESP32 Bluetooth Serial"; +Blockly.Msg.SSERIAL_BT_TX="Pin TX#"; +Blockly.Msg.SSERIAL_BT_RX="Pin RX#"; +Blockly.Msg.SSERIAL_BT_BAUD="Bauds"; +Blockly.Msg.SSERIAL_BT_Read="Serial BT Read byte"; +Blockly.Msg.SSERIAL_BT_Println="Serial BT Print on new line"; +Blockly.Msg.SSERIAL_BT_Print="Serial BT Print on same line"; +Blockly.Msg.SSERIAL_BT_Write="Serial BT write" +Blockly.Msg.SSERIAL_BT_Avai="Serial BT Available?"; +Blockly.Msg.SSerial_BT_Print_Format="Serial BT Print Format"; +Blockly.Msg.SSERIAL_BT_ReadNum="Serial BT Read as number"; +Blockly.Msg.SSERIAL_BT_ReadString="Serial BT Read String"; +Blockly.Msg.SSERIAL_BT_Readlf="until line feed"; +// SOFTWARE SERIAL +Blockly.Msg.SSERIAL_Init="Software Serial"; +Blockly.Msg.SSERIAL_TX="TX"; +Blockly.Msg.SSERIAL_RX="RX"; +Blockly.Msg.SSERIAL_BAUD="Baudios"; +Blockly.Msg.SSERIAL_Read="Software Serial Read byte"; +Blockly.Msg.SSERIAL_Println="Software Serial Print on new line"; +Blockly.Msg.SSERIAL_Print="Software Serial Print on same line"; +Blockly.Msg.SSERIAL_Write="Software Serial Write" +Blockly.Msg.SSERIAL_Avai="Software Serial Available?"; +Blockly.Msg.SSerial_Print_Format="Software Serial Print Format"; +Blockly.Msg.SSERIAL_ReadNum="Software Serial Read as number"; +Blockly.Msg.SSERIAL_ReadString="Software Serial Read String"; +Blockly.Msg.SSERIAL_Readlf="until line feed"; + +// SERIAL +Blockly.Msg.SERIAL_Init="USB Serial"; +Blockly.Msg.SERIAL_Read="Serial Read byte"; +Blockly.Msg.SERIAL_Println="Serial Print on new line"; +Blockly.Msg.SERIAL_Print="Serial Print on same line"; +Blockly.Msg.SERIAL_Write="Serial write" +Blockly.Msg.SERIAL_Avai="Serial Available?"; +Blockly.Msg.Serial_Print_Format="Serial Print Format"; +Blockly.Msg.SERIAL_ReadNum="Serial Read as number"; +Blockly.Msg.SERIAL_ReadString="Serial Read String"; +Blockly.Msg.SERIAL_Readlf="until line feed"; + + +//LCD screen +Blockly.Msg.lcd_fond = "bottom"; +Blockly.Msg.LCD = "LCD screen"; +Blockly.Msg.LCDi2c_tooltip = "initializes the 2-line, 16-character I²C LCD with RGB backlight. \n Displayer <-> Arduino \nSDA <--------> A4 \nSCL <- -------> A5 "; +Blockly.Msg.LCD_tooltip = "initializes the LCD, 2 lines and 16 characters, indicating the pins to connect"; +Blockly.Msg.LCD_SHIELD_PRINT_HELPURL = "https://www.arduino.cc/en/Tutorial/HelloWorld";// do not translate +Blockly.Msg.LCD_SHIELD_PRINT_TEXT = "show"; +Blockly.Msg.LCD_SHIELD_PRINT_TEXT_tooltip = "display the text in the specified location"; +Blockly.Msg.LCD_SHIELD_PRINT_TOOLTIP = "write the text (s) on the LCD screen"; +Blockly.Msg.LCD_SHIELD_PRINT_INPUT1 = "line 1"; +Blockly.Msg.LCD_SHIELD_PRINT_INPUT2 = "line 2"; +Blockly.Msg.LCD_line = "line"; +Blockly.Msg.LCD_col = "column"; +Blockly.Msg.LCD_raz = "erase the LCD screen"; +Blockly.Msg.LCD_raz_tooltip = "clear screen 🧹"; +Blockly.Msg.lcd_aff_symbole = "display the symbol"; +Blockly.Msg.lcd_aff_symbole_tooltip = "show the symbol that has been defined before"; +Blockly.Msg.lcd_symbole = "define the symbol"; +Blockly.Msg.lcd_symbole_tooltip = "definition of a character for the LCD: \n 0 turns off a pixel \n 1 lights a pixel"; +// structure +Blockly.Msg.loop = "🔄 Loop"; +Blockly.Msg.init = "⚙️ Setup"; +Blockly.Msg.base_setup_loop = "The initialization function: \nIt is used to initialize the variables, the direction of the pins ... \nIt is executed only once \nThe loop function: \nThis is the main part of the program, all the blocks placed here will run in loop and indefinitely (several thousand times per second) "; +Blockly.Msg.loop_tooltip = "all blocks placed here will run in a loop and indefinitely (several thousand times per second)"; +Blockly.Msg.begin_tooltip = "this block is used to define the order in which the program should execute"; +Blockly.Msg.begin = "🏁 START"; +Blockly.Msg.def = "⚙️ Declaration"; +Blockly.Msg.def_tooltip = "all the blocks placed here will only be executed once, this is where the different sensors or actuators are configured"; +Blockly.Msg.END = "🏁 END"; +Blockly.Msg.END_tooltip = "Stop the program, blocks placed afterwards will be ignored"; +Blockly.Msg.code_tooltip = "Type an instruction here that is not in blocks"; +//matrix +Blockly.Msg.matriceLC = "LED X"; +Blockly.Msg.matrice_create_aff = "Create block 'display symbol %1'"; +Blockly.Msg.matrice_create_symbole = "Create the block 'set the symbol %1'"; +Blockly.Msg.matrice = "matrix"; +Blockly.Msg.matrice8x8_tooltip = "Initialisation of the matrix to 64 LEDs, it is necessary to indicate the pins of the arduino to which will be connected DIN, CLK, CS"; +Blockly.Msg.matrice8x8_symbole = "define the symbol"; +Blockly.Msg.matrice8x8_symbole_tooltip = "definition of a symbol for the matrix: \n 0 turn off an LED \n 1 turn on an LED"; +Blockly.Msg.matrice8x8_efface = "erase the matrix"; +Blockly.Msg.matrice8x8_aff = "display the symbol"; +Blockly.Msg.matrice8x8_binaire_tooltip = "1 turns on an LED of the matrix and 0 turns it off"; +Blockly.Msg.matrice8x8_del_tooltip = "Turns on (off) an LED in the array indicating its coordinates \nCaution dialing starts at 0"; +Blockly.Msg.matrice8x8_aff_tooltip = "Display the symbol that has been previously defined"; +Blockly.Msg.matrice8x8_efface_tooltip = "Turn off all LEDs in the matrix"; +Blockly.Msg.matrice16x8_tooltip = "Initialization of the array to 128 LEDs. \nMatrix <-> Arduino \nSDA <--------> A4 \nSCL <--------> A5"; +Blockly.Msg.matrice16x8_symbole = "define the symbol"; +Blockly.Msg.matrice16x8_symbole_tooltip = "definition of a symbol for the matrix: \n 0 turns off an LED \n 1 turns on an LED"; +Blockly.Msg.matrice16x8_efface = "turn off the LEDs of the matrix"; +Blockly.Msg.matrice16x8_aff = "display the symbol"; +Blockly.Msg.matrice16x8_binaire_tooltip = "1 turns on an LED of the matrix and 0 turns it off"; +Blockly.Msg.matrice16x8_del_tooltip = "Turns on (off) an LED in the matrix indicating its coordinates \nCaution dialing starts at 0"; +Blockly.Msg.matrice16x8_aff_tooltip = "Display the symbol that has been previously defined"; +Blockly.Msg.matrice16x8_efface_tooltip = "Turn off all LEDs in the matrix"; +//time +Blockly.Msg.millis ="time elapsed in"; +Blockly.Msg.millis_start="start a timekeeping in"; +Blockly.Msg.millis_tooltip=""; +Blockly.Msg.millis_start_tooltip=""; +Blockly.Msg.ARDUINO_INOUT_Pulsein = "returns the duration in microseconds of a UP or DOWN pulse applied to a pin.If the parameter value is HIGH, the block waits for the pin to go HIGH, starts then the timing, waits for the pin to go back to the LOW level and then stop the timing "; +Blockly.Msg.ARDUINO_BASE_DELAY = "⏲ wait"; +Blockly.Msg.ARDUINO_BASE_DELAY_TOOLTIP = "Specify the wait time in seconds, milliseconds or microseconds. \nThe program does nothing else during this time"; +Blockly.Msg.millis1 = "duration in"; +Blockly.Msg.millis2 = "from the beginning"; +Blockly.Msg.ARDUINO_SINCE_PROGRAM_STARTED_TOOLTIP = "returns the duration in milliseconds, seconds or microseconds since the program started"; +Blockly.Msg.ARDUINO_PULSEIN = "state duration"; +Blockly.Msg.tempo_helpurl = "https://www.arduino.cc/en/tutorial/blink";// do not translate +Blockly.Msg.tempo_tooltip = "This block checks if the indicated time has arrived, if it is the case then it executes the blocks placed inside .. Unlike the block 'to wait' this one is not blocking." ; +Blockly.Msg.tempo1 = "all"; + +// LED +Blockly.Msg.ARDUINO_INOUT_BUILDIN_LED_INPUT = "💡 LED on the board"; +Blockly.Msg.ARDUINO_INOUT_BUILDIN_LED_TOOLTIP = "Turn off or turn on the LED on the Arduino board"; +Blockly.Msg.blink = "💡 LED on the board blink"; +Blockly.Msg.blink_tooltip = "The board LED flashes 1 or 10 times per second"; +Blockly.Msg.del = "💡 LED Pin"; +Blockly.Msg.del_tooltip = "turns on (off) the LED connected to the indicated Pin"; +Blockly.Msg.bargraphe = "bargraph"; +Blockly.Msg.bargraphe_allume="turn on LEDs to"; +Blockly.Msg.bargraphe_allume_tooltip="0 lights no LEDs \n2,5 lights up the first 2 LEDs and the 3rd half turns on \n10 turns on all LEDs"; +Blockly.Msg.bargraphe_tooltip = "bargraph module composed of 10 LEDs (8 green, 1 yellow and 1 red), it is necessary to indicate the pins of the arduino on which will be connected DCKI and DI"; +Blockly.Msg.rvb_init="LED RGB Pins"; +Blockly.Msg.rvb_init_tooltip="indicate the PWM Pins to connect to the RGB LED"; +Blockly.Msg.rvb_set="🚥 show color"; +Blockly.Msg.rvb_set_tooltip="displays a color indicating a value for the three components (red, green, blue)"; +Blockly.Msg.pixel1 = "NeoPixel"; +Blockly.Msg.pixel2 = "🌈 show pixels"; +Blockly.Msg.pixel3 = "color"; +Blockly.Msg.pixel4 = "# of pixels"; +Blockly.Msg.pixel5 = "🌈 set pixels brightness"; +Blockly.Msg.pixel6 = "🌈 pixel #"; +Blockly.Msg.pixel1_tooltip="neopixel RGB module indicate the Pin to be connected and the number of pixels"; +Blockly.Msg.pixel2_tooltip="show changes made"; +Blockly.Msg.pixel5_tooltip="adjusts pixel brightness (from 0 to 255)"; +Blockly.Msg.pixel3_tooltip="choose the pixel to light and its color \ nCaution the numbering starts at 0"; +// output +Blockly.Msg.ARDUINO_INOUT_DIGITAL_WRITE_INPUT1 = "Write Digital Pin"; +Blockly.Msg.ARDUINO_INOUT_DIGITAL_WRITE_TOOLTIP = "Write a 0 or 1 logical state to a specific output"; +Blockly.Msg.toggle = "Toggle the state of the Pin"; +Blockly.Msg.toggle_tooltip = "Toggle: \n write a logical state 0 if before there was a state 1 (and vice versa) on the specified output"; +Blockly.Msg.ARDUINO_INOUT_ANALOG_WRITE_INPUT1 = "Write Analog PWM Pin"; +Blockly.Msg.ARDUINO_INOUT_ANALOG_WRITE_TOOLTIP = "Send a value between 0 and 255 on a specific output"; +// input +Blockly.Msg.ARDUINO_INOUT_DIGITAL_READ_INPUT = "Read Digital state Pin"; +Blockly.Msg.in_pullup = "Pull-Up"; +Blockly.Msg.in_pullup_tooltip = "returns the logical state (0 or 1) of the indicated pin \nreturns 1 (high state) by default if pull-up enabled"; +Blockly.Msg.ARDUINO_INOUT_DIGITAL_READ_TOOLTIP = "Read logical state 0 or 1 of the digital Pin"; +Blockly.Msg.ARDUINO_INOUT_ANALOG_READ_INPUT = "Read Analog value Pin "; +Blockly.Msg.ARDUINO_INOUT_ANALOG_READ_TOOLTIP = "returns a value between 0 and 1023"; +// audio +Blockly.Msg.play = "Play"; +Blockly.Msg.play_tooltip = "play the note"; +Blockly.Msg.play_helpurl = ""; +Blockly.Msg.beep = "🦗 beep on Pin"; +Blockly.Msg.beep_TOOLTIP = "beeps (at 440Hz for 1s) on the selected Pin"; +Blockly.Msg.ARDUINO_TONE_INPUT1 = "🎼 Buzzer Pin"; +Blockly.Msg.ARDUINO_TONE_INPUT2 = "🎼 frequency (Hz)"; +Blockly.Msg.ARDUINO_TONE_INPUT3 = "⏰ duration (ms)"; +Blockly.Msg.ARDUINO_TONE_TOOLTIP = "emit a sound on the selected Pin, at the desired frequency and for the desired duration"; +Blockly.Msg.ARDUINO_NOTONE_INPUT = "🛑 stop sound on Pin"; +Blockly.Msg.ARDUINO_NOTONE_TOOLTIP = "stop the sound on the selected Pin"; +Blockly.Msg.ARDUINO_RTTTL_BLOCK = "Play Ring Tone"; + +Blockly.Msg.lp2i_mp3_helpurl = "https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299";// do not translate +Blockly.Msg.lp2i_mp3_Volume = "Volume [0-30]"; +Blockly.Msg.lp2i_mp3_autoplay = "AutoPlay"; +Blockly.Msg.lp2i_mp3 = "MP3 player"; +Blockly.Msg.lp2i_mp3_tooltip = "DFPlayer Mini MP3: \ninitialization of the module, volume and operating mode \nModule MP3 <-> Arduino \nRx () <------------- -> Tx () "; +Blockly.Msg.lp2i_mp3_play = "▶️ play MP3"; +Blockly.Msg.lp2i_mp3_play_track_tooltip = "▶️ plays the specified track song file 0-2999"; +Blockly.Msg.lp2i_mp3_play_tooltip = "▶️ plays the current song file"; +Blockly.Msg.lp2i_mp3_pause = "⏸️ pause MP3"; +Blockly.Msg.lp2i_mp3_pause_tooltip = "pause the current song file"; +Blockly.Msg.lp2i_mp3_prev = "⏮️ play previous MP3"; +Blockly.Msg.lp2i_mp3_prev_tooltip = "⏮️ reads the previous track song file"; +Blockly.Msg.lp2i_mp3_vol = "🎚️ set the volume"; +Blockly.Msg.lp2i_mp3_vol_tooltip = "🎚️ sets the volume to the specified value [0-31]"; +Blockly.Msg.lp2i_mp3_next = "⏭️ play next MP3 "; +Blockly.Msg.lp2i_mp3_next_tooltip = "⏭️ reads the following track song file"; +// servomotor +Blockly.Msg.ARDUINO_SERVO_MOVE_INPUT1 = "Rotate Servo"; +Blockly.Msg.ARDUINO_SERVO_MOVE_DEGREE = "angle [0°-180°]"; +Blockly.Msg.ARDUINO_SERVO_MOVE_TOOLTIP = "possible rotation between 0 and 180 degrees"; +Blockly.Msg.ARDUINO_SERVO_ROT_CONTINUE_TEXT = "Spin wheel"; +Blockly.Msg.ARDUINO_SERVO_ROT_CONTINUE_TOOLTIP = "Spin the servo wheel connected to the specified pin, at the indicated speed [0-90] and in the selected direction"; +//engine +Blockly.Msg.mot_tooltip = "Shield motor controller L293D: \n activates both motors (M1 and M2) to advance or turn, the speed can be set between 0 and 90"; +Blockly.Msg.motor = "Motor DC"; +Blockly.Msg.mot_stop_tooltip = "L293D Motor Controller Shield: \nstop the two motors (M1 and M2)"; +Blockly.Msg.moteur = "Spin motor DC"; +Blockly.Msg.moteurstop = "🛑 stop"; +Blockly.Msg.moteur_tooltip = "starts the DC motor connected to the specified pin, at the indicated speed \nspeed = 0 -> motor stop"; +Blockly.Msg.moteurdagu_tooltiprs040 = "RS 040 board: \n activates one of the 2 outputs to drive DC motors, the speed can be set between 0 and 90"; +Blockly.Msg.moteurdagu_tooltiprs040stop = "RS 040 board: \nstop one of the 2 motors"; +Blockly.Msg.moteurdagu_tooltiprs027 = "RS 027 board: \n operates one of the 2 outputs to drive DC motors, the speed can be set between 0 and 90"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTOR1 = "v1 - DC Motor"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTOR2 = "v2 - DC Motor"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTOR_DIRECTION = "direction"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTOR_VITESSE = Blockly.Msg.vitesse+"[0-255]"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_AVANT = "forward"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_ARRIERE = "backward"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_STOP = "stop"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_PAP1 = "v1 - Stepper Motor"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_PAP2 = "v2 - stepper motor"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_CONNECT = "Pin"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTOR_PPT = "not per turn"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTOR_RPM = "speed (RPM)"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTOR_NB_PAS = "number of steps"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTORDC1 = "DC 1 engine"; +Blockly.Msg.ADAFRUIT_MOTORSHIELD_MOTORDC2 = "DC 2 engine"; +Blockly.Msg.m_pap="step-by-step engine"; +Blockly.Msg.m_pap_step="step"; +Blockly.Msg.m_pap_step1="move forward"; +Blockly.Msg.m_pap_tooltip = "Initialization of a stepping motor. \nIndicate number of steps, speed in rpm and pins to connect"; +Blockly.Msg.m_pap_step_tooltip = "activates the stepping motor by the number of steps indicated, the following instruction will only be executed once the rotation of the motor is done"; +// serial +Blockly.Msg.Serial_Init = "serial port on"; +Blockly.Msg.Serial_Init_tooltip = "Set the communication rate in characters per second for serial communication"; +Blockly.Msg.Serial_Write = "send to serial port"; +Blockly.Msg.Serial_write_tooltip = "Send data to the serial port"; +Blockly.Msg.Serial_read = "data read on the serial port"; +Blockly.Msg.Serial_read_tooltip = "returns the first available data byte available in the serial port, or -1 if no data is available"; +Blockly.Msg.Serial_available = "amount of data on the serial port"; +Blockly.Msg.Serial_available_tooltip = "returns the number of bytes available in the serial port queue, or 0 if nothing is available"; +Blockly.Msg.Serial_saut = "a line break"; +Blockly.Msg.Serial_saut_tooltip = "returns a line break on the serial monitor"; +Blockly.Msg.Serial_space = "a separator"; +Blockly.Msg.Serial_space_tooltip = "return a space on the serial monitor"; +Blockly.Msg.repl_read = "user entered command"; +// software serial +//Blockly.Msg.SSERIAL_Init = "Software port on Rx"; +Blockly.Msg.SSERIAL_tooltip = "Creating a new communication port using the specified pins and speed"; +Blockly.Msg.SSERIAL_Read = "data read on the software port"; +Blockly.Msg.SSERIAL_Read_tooltip = "returns the first byte of incoming data available in the software port, or -1 if no data is available"; +Blockly.Msg.SSERIAL_Write = "send to the software port"; +Blockly.Msg.SSERIAL_Write_tooltip = "Send data to the software port"; +Blockly.Msg.SSERIAL_Read_tooltip = "returns the first byte of incoming data available in the software port, or -1 if no data is available"; +Blockly.Msg.SSERIAL_Available = "amount of data on the software port"; +Blockly.Msg.SSERIAL_Available_tooltip = "returns the number of available bytes in the software port queue, or 0 if nothing is available"; + +////////////OTTO DIY Robot////////// ONLY TRANSLATE THE LEFT PART INSIDE ["THIS YES" ,NOT] +Blockly.Msg.OTTO9_HOME_TEXT = "Home"; +Blockly.Msg.OTTO9_HOME_TOOLTIP = "Otto goes to home position straight"; +Blockly.Msg.OTTO9_BUZZER="🎼 Buzzer"; +Blockly.Msg.OTTO_HOME_TEXT = "Pins"; +Blockly.Msg.OTTO9_DIY_URL = "https://www.ottodiy.com/academy";// do not translate +Blockly.Msg.OTTO9_CALIBRATION='Calibrate '; +Blockly.Msg.OTTO9_CALIBRATION_LEG='Leg '; +Blockly.Msg.OTTO9_CALIBRATION_FOOT='Foot '; +Blockly.Msg.OTTO9_CALIBRATION_TOOLTIP='Use small positive and negative values iteratively,change gradually until is completely straight (90º)'; +Blockly.Msg.OTTO9_EEPROM_TEXT= 'Save Trims on EEPROM'; +Blockly.Msg.OTTO9_EEPROM_TOOLTIP= 'Use only after completely straight(90º) one time, delete this BLOCK after for further programming'; +Blockly.Msg.OTTO9_MOVE_TEXT = "Move"; +Blockly.Msg.OTTO9_MOVE_TOOLTIP = "Otto basic movements"; +Blockly.Msg.OTTO9_MOVE_CHOICE = [["↑ forward", "FORWARD"], ["↓ backward", "BACKWARD"], ["↺ turn left", "LEFT"], ["↻ turn right", "RIGHT"], ["bend to the left", "BENDLEFT"], ["bend to the right", "BENDRIGHT"], ["shake left leg", "SHAKELEFT"], ["shake right leg", "SHAKERIGHT"], ["up", "jump"]]; +Blockly.Msg.OTTO9_MOVEW_CHOICE = [["↑ forward", "FORWARD"], ["↓ backward", "BACKWARD"], ["↺ turn left", "LEFT"], ["↻ turn right", "RIGHT"]]; +Blockly.Msg.OTTO9_MOVE_SPEED_TEXT = "Speed"; +Blockly.Msg.OTTO9_MOVE_SPEED_CHOICE = [["normal", "1000"],["slow", "2000"],["very slow", "3000"] , ["fast", "750"], ["very fast", "500"], ["way to fast", "250"]]; +Blockly.Msg.OTTO9_MOVEW_SPEED_CHOICE = [["normal", "45"],["slow", "20"],["very slow", "10"] , ["fast", "60"], ["very fast", "90"]]; +Blockly.Msg.OTTO9_DANCE_TEXT = "Dance"; +Blockly.Msg.OTTO9_DANCE_TOOLTIP = "Otto dance!"; +Blockly.Msg.OTTO9_DANCE_CHOICE = [["moonwalk ⟵", "moonwalkerLEFT"], ["moonwalk ⟶", "moonwalkerRIGHT"],["crossing ⟵", "crusaitoLEFT"],["crossing ⟶", "crusaitoRIGHT"], ["flapping ↑", "flappingFRONT"], ["flapping ↓", "flappingBACK"]]; +Blockly.Msg.OTTO9_DANCE_SIZE_TEXT = "Size"; +Blockly.Msg.OTTO9_DANCE_SIZE_CHOICE = [["Normal", "25"], ["Little", "10"], ["Big", "40"]]; +Blockly.Msg.OTTO9_DO_TEXT = "Do"; +Blockly.Msg.OTTO9_DO_TOOLTIP = "Otto complex movements"; +Blockly.Msg.OTTO9_DO_CHOICE = [ ["swing", "swing"], ["updown", "updown"], ["tiptoeSwing", "tiptoeSwing"], ["jitter", "jitter"], ["ascendingTurn", "ascendingTurn"]]; +Blockly.Msg.OTTO9_GESTURE_TEXT = "Gesture"; +Blockly.Msg.OTTO9_GESTURE_TOOLTIP = "Emotional sounds combined with movements"; +Blockly.Msg.OTTO9_GESTURE_CHOICE = [["😃 happy1", "OttoSuperHappy"],["🙂 happy2", "OttoHappy"], ["🙁 sad", "OttoSad"], ["😴 sleep", "OttoSleeping"], ["😕 confused", "OttoConfused"], ["😰 fretful", "OttoFretful"], ["😍 love", "OttoLove"], ["😡 angry", "OttoAngry"], ["🤩 magic", "OttoMagic"], ["😐 wave", "OttoWave"], [" 😎 victory", "OttoVictory"], ["😞 fail", "OttoFail"], ["💩 fart", "OttoFart"]]; +Blockly.Msg.OTTO9_SOUND_TEXT = "Sound"; +Blockly.Msg.OTTO9_SOUND_TOOLTIP = "Emotional sounds"; +Blockly.Msg.OTTO9_SOUND_CHOICE = [ ["😃 happy1", "S_superHappy"], ["🙂 happy2", "S_happy"], ["😊 happy3", "S_happy_short"], ["🙁 sad", "S_sad"], ["😕 confused", "S_confused"], ["🤗 cuddly", "S_cuddly"], ["😮 Oh", "S_OhOoh"], ["😯 OhOoh", "S_OhOoh2"], ["😲 surprise", "S_surprise"],["🤖 connect", "S_connection"], [" 🤖 disconnect", "S_disconnection"], ["👇 push", "S_buttonPushed"], ["❗ 1", "S_mode1"], ["❗❗ 2", "S_mode2"], ["❗❗❗ 3", "S_mode3"], ["💤 sleep", "S_sleeping"], ["💩 fart1", "S_fart1"], ["💩 fart2", "S_fart2"], ["💩 fart3", "S_fart3"],]; +Blockly.Msg.OTTO9_GETDISTANCE_TEXT = "Distance [cm]"; +Blockly.Msg.OTTO9_GETDISTANCE_TOOLTIP = "Pin Trigger 8 Pin Echo 9. Ranging distance between 2cm to 400cm"; +Blockly.Msg.OTTO9_GETOBSTACLE_TEXT = "Obstacle"; +Blockly.Msg.OTTO9_OBSTACLE_CHOICE = [["close", "10"],["very close", "3"],["far", "30"]]; +Blockly.Msg.OTTO9_GETNOISE_TEXT = "Noise measured"; +Blockly.Msg.OTTO9_GETNOISE_TOOLTIP = "Pin A6, 100 is quiet, 500 noise and more than 1000 is loud, also adjust the sensor trimpot sensibility"; +Blockly.Msg.OTTO9_GETG_TEXT = "Read Accelerations & Angular Velocity"; +Blockly.Msg.OTTO9_GETG_TEXT2 = "Value"; +Blockly.Msg.OTTO9_MOUTH_TEXT = "Mouth"; +Blockly.Msg.OTTO9_MOUTH_TOOLTIP = "Mouth emotion for the 8x8 LED matrix #0-30"; +Blockly.Msg.OTTO9_MOUTH_CHOICE = [["😃 happy1", "happyOpen"],["🙂 happy2", "happyClosed"], ["😊 smile", "smile"], ["😦 sad1", "23"], ["🙁 sad2", "24"], ["😮 surprise", "smallSurprise"], ["😲 Surprise2", "bigSurprise"], ["😕 confused", "confused"],["😛 tongue", "tongueOut"],["🙃 silly", "culito"], ["😑 serious", "lineMouth"], ["🙄 upset", "21"], ["💖 heart", "heart"], ["🦇 v1", "vamp1"], ["🦇 v2", "vamp2"], ["❌ no", "xMouth"], ["✅ OK", "okMouth"],["❓?", "27"], ["⚡ thunder", "thunder"]]; +Blockly.Msg.OTTO9_MATRIX_TOOLTIP = "Pins: DIN A3, CS A2, CLK A1, Limited to CAPITALS A to Z NUMBERS 0 to 9 : ; < > = @, max.9 characters"; +Blockly.Msg.OTTO9_MATRIXTEXT_TEXT = "👄 Mouth text"; +Blockly.Msg.OTTO9_EYES_TEXT = "Eyes"; +Blockly.Msg.OTTO9_EYES_TOOLTIP = "Pins I²C, Eyes emotion for the 16x8 I²C LED matrix "; +Blockly.Msg.OTTO9_EYES_CHOICE = [["😃 happy1", "happy_bmp"],["🙂 happy2", "eyes_bmp"], ["😦 sad", "sad_bmp"], ["😡 angry1", "angry_bmp"], ["😡 angry2", "angry2_bmp"], ["😰 freetful", "freetful_bmp"], ["😕 confused", "confused_bmp"],["😴 sleep", "sleep_bmp"],["😍 love", "love_bmp"], ["😑 wave", "wave_bmp"], ["🤩 magic", "magic_bmp"], ["😞 fail", "fail_bmp"], ["🤖 logo", "logo_bmp"], ["❌❌ no", "XX_bmp"], ["x x", "xx_bmp"],["▉", "full_bmp"]]; +Blockly.Msg.OTTO9_EYESTEXT_TEXT = "👀 Eyes text"; +Blockly.Msg.OTTO9_EYES_CLEAR_TEXT = "👀 clear🧹"; +Blockly.Msg.OTTO9_CLEAR_TEXT = "👄 clear🧹"; +Blockly.Msg.OTTO9_CLEAR_TOOLTIP = "Turn off all LEDs of the mouth matrix 8x8"; +Blockly.Msg.OTTO9_ARMS_TEXT = "Arm "; +Blockly.Msg.OTTO9_ARMS_TOOLTIP = "Move the arms!"; +Blockly.Msg.OTTO9_ARMS_CHOICE = [["hands up", "HANDSUP"],["hands down", "HANDSDOWN"], ["handwave left", "HANDWAVE1"], ["handwave right", "HANDWAVE2"]]; + +////////////ESCORNABOT Robot////////// ONLY TRANSLATE THE LEFT PART INSIDE ["THIS YES" ,NOT] +Blockly.Msg.ESCORNABOT_MODE_TEXT="Escornabot"; +Blockly.Msg.ESCORNABOT_MODE_CHOICE= [["Weak", ""], ["Strong", "(2)"], ["Medium", "(3)"]];; +Blockly.Msg.ESCORNABOT_INIT_TOOLTIP="Mode choice: 1-> weaker but less electrical consumption, 2->Stronger, but needs more supply, 3->Intermediate mode "; +Blockly.Msg.ESCORNABOT_URL="https://escornabot.com/es/index"; +Blockly.Msg.ESCORNABOT_SPIN="Spin: "; +Blockly.Msg.ESCORNABOT_SPIN_NUMBER="Nº: "; +Blockly.Msg.ESCORNABOT_SPIN_TOOLTIP="Indicate spin number(admits negative value if reverse is wanted) and velocity" +Blockly.Msg.ESCORNABOT_SPIN_VELOCITY_TEXT="Velocity: " +Blockly.Msg.ESCORNABOT_SPIN_VELOCITY=[["Slow", "5"], ["Medium", "10"], ["Quick", "15"]];; +Blockly.Msg.ESCORNABOT_DISTANCE="Run distance: "; +Blockly.Msg.ESCORNABOT_DISTANCE_TEXT="cm: "; +Blockly.Msg.ESCORNABOT_DISTANCE_TOOLTIP="Indicate distance in cm (negative values will imply reverse mode) and velocity"; +Blockly.Msg.ESCORNABOT_TURNSPIN_TEXT="Turn by X spins: "; +Blockly.Msg.ESCORNABOT_TURNSPIN_TOOLTIP="Turn clockwise/anticlockwise (depending on wether you introduce positive or negative values of spin number you desire)"; +Blockly.Msg.ESCORNABOT_TURNANGLE_TEXT="Angle spin: "; +Blockly.Msg.ESCORNABOT_ANGLE_NUMBER="Angle: " +Blockly.Msg.ESCORNABOT_TURNANGLE_TOOLTIP="Spin by angle (sign value means clockwise/anticlockwise)"; +Blockly.Msg.ESCORNABOT_STOP_TEXT="Stop"; +Blockly.Msg.ESCORNABOT_STOP_TOOLTIP="What did you think? "; +Blockly.Msg.ESCORNABOT_BEEP_TEXT="Beep"; +Blockly.Msg.ESCORNABOT_TIME_TEXT="ms"; +Blockly.Msg.ESCORNABOT_BEEP_TOOLTIP="Beeps as long as the time you specify"; +Blockly.Msg.ESCORNABOT_LEDON_TEXT="LED ON: "; +Blockly.Msg.ESCORNABOT_LEDOFF_TEXT="LED OFF: "; +Blockly.Msg.ESCORNABOT_LED_CHOICE=[["Forward", "1"], ["Backward", "3"], ["Left", "2"],["Right", "4"]];; +Blockly.Msg.ESCORNABOT_LEDON_TOOLTIP="Lights on the selected LED diode"; +Blockly.Msg.ESCORNABOT_LEDOFF_TOOLTIP="Lights off the selected LED diode"; +Blockly.Msg.ESCORNABOT_GETBUTTON_TEXT="Button pushed: "; +Blockly.Msg.ESCORNABOT_GETBUTTON_TOOLTIP="Check if the selected button is being pushed."; +Blockly.Msg.ESCORNABOT_BUTTON_SELECTED=[["Forward", "1"], ["Backward", "3"], ["Left", "2"],["Right", "4"],["Center", "5"]];; +Blockly.Msg.ESCORNABOT_APP_TOOLTIP="Autonomous working"; +Blockly.Msg.ESCORNABOT_APP_URL="https://escornabot.com/es/descargas"; +Blockly.Msg.ESCORNABOT_USINIT_TEXT="Ultrasonic"; +Blockly.Msg.ESCORNABOT_TRIGGER_TEXT="Trigger"; +Blockly.Msg.ESCORNABOT_ECHO_TEXT="Echo"; +Blockly.Msg.ESCORNABOT_GETUS_TEXT="Distance"; +Blockly.Msg.ESCORNABOT_GETUS_TOOLTIP="Distance"; +Blockly.Msg.ESCORNABOT_IRINIT_TEXT="Inits ir"; +Blockly.Msg.ESCORNABOT_IR_TOOLTIP="Initialize infrared sensors"; +Blockly.Msg.ESCORNABOT_GETBLACKLEFT_TEXT="Black left detected"; +Blockly.Msg.ESCORNABOT_GETBLACKLEFT_TOOLTIP=" TRUE if black detected at left side"; +Blockly.Msg.ESCORNABOT_GETBLACKRIGHT_TEXT="Black right detected"; +Blockly.Msg.ESCORNABOT_GETBLACKRIGHT_TOOLTIP="TRUE if black detected at right side"; +Blockly.Msg.ESCORNABOT_GETWHITELEFT_TEXT="White left detected"; +Blockly.Msg.ESCORNABOT_GETWHITELEFT_TOOLTIP="TRUE if white detected at left side"; +Blockly.Msg.ESCORNABOT_GETWHITERIGHT_TEXT="White right detected"; +Blockly.Msg.ESCORNABOT_GETWHITERIGHT_TOOLTIP="TRUE if white detected at right side"; +Blockly.Msg.ESCORNABOT_IRLEFT_TEXT="Left"; +Blockly.Msg.ESCORNABOT_IRRIGHT_TEXT="Right"; + +//SIMPLE SENSORS +Blockly.Msg.BUTTON_NAME="Button"; +Blockly.Msg.INTERNAL_BUTTON_NAME="Start button MRTduino board"; +Blockly.Msg.BUTTON_LOGIC="Logic inverse"; +Blockly.Msg.BUTTON_PRESSED="Pressed"; +Blockly.Msg.BUTTON_TOUCH_NAME="Touch"; +Blockly.Msg.KNOCK_NAME="Knock"; +Blockly.Msg.KNOCK_DETECTED="detected"; +Blockly.Msg.TILT_NAME="Digital Tilt"; +Blockly.Msg.TILT_DETECTED="detected"; +Blockly.Msg.POTE_NAME="Potentiometer"; +Blockly.Msg.PERCENT="0-100%"; +Blockly.Msg.VALUE="0-1023"; +Blockly.Msg.PHOTO_NAME="Photo Interrupter"; +Blockly.Msg.PHOTO_DETECTED="detected"; +Blockly.Msg.VAR_LM35="Temperature LM35 (ºC)"; +Blockly.Msg.LDR_NAME="Photocell"; +Blockly.Msg.LDR_DETECTED="detected"; +Blockly.Msg.IR_NAME="Infrared"; +Blockly.Msg.IR_DETECTED="sensed"; +Blockly.Msg.FLAME_NAME="Flame"; +Blockly.Msg.FLAME_DETECTED="detected"; +Blockly.Msg.SOUND_NAME="Sound (MIC)"; +Blockly.Msg.SOUND_AMP_NAME="MIC Amplifier"; +Blockly.Msg.SOUND_WINDOWS="Sample Window"; +Blockly.Msg.SOUND_DETECTED="detected"; +Blockly.Msg.DHT_NAME="DHT"; +Blockly.Msg.DHT_Type="Type"; +Blockly.Msg.DHT_Type11="DHT11"; +Blockly.Msg.DHT_Type21="DHT21"; +Blockly.Msg.DHT_Type22="DHT22"; +Blockly.Msg.DHT_Temp="🌡️ Temperature ºC"; +Blockly.Msg.DHT_Humi="💧 Humidity %"; +Blockly.Msg.DHT_Head="☀️ Heat Index ºC"; +Blockly.Msg.GAS_NAME="Gas CO"; +Blockly.Msg.GAS_DETECTED="detected"; +Blockly.Msg.ALCOHOL_NAME="Alcohol"; +Blockly.Msg.AIR_NAME="Air quality (MQ-135)"; +Blockly.Msg.ALCOHOL_DETECTED="detected"; +Blockly.Msg.VIBRATION_NAME="Vibration"; +Blockly.Msg.VIBRATION_DETECTED="detected"; +Blockly.Msg.HALL_NAME="Hall Magnetic"; +Blockly.Msg.HALL_DETECTED="detected"; +Blockly.Msg.PIR_NAME="PIR Motion"; +Blockly.Msg.PIR_DETECTED="detected"; +Blockly.Msg.VAPOR_NAME="Steam"; +Blockly.Msg.ALIGHT_NAME="Ambient Light"; +Blockly.Msg.WATER_NAME="Water level"; +Blockly.Msg.MOISTURE_NAME="Soil Moisture"; +Blockly.Msg.JOYSTICK_NAME="Joystick axis"; +Blockly.Msg.JOYSTICK_BUTTON="Joystick button"; +Blockly.Msg.JOYSTICK_PRESSED="pressed"; +Blockly.Msg.ultrasonic_ranger="Ultrasound Pins"; +Blockly.Msg.unit="Unit"; +Blockly.Msg.cm="cm"; +Blockly.Msg.inch="inch"; +Blockly.Msg.TRIG="Trigger"; +Blockly.Msg.Echo="Echo"; +Blockly.Msg.VAR_TemSens="Temperature NTC (ºC)"; + +//CCS811 +Blockly.Msg.CCS811="CO₂ Pins"; +Blockly.Msg.CCS811_name="CO₂"; +Blockly.Msg.CCS811_2="I²C & WAK to GND"; +Blockly.Msg.CCS811_available="sensor available?"; +Blockly.Msg.CCS811_readed = "measure readed?"; +Blockly.Msg.CCS811_values="value"; + +//LCD I2C +Blockly.Msg.LCD_I2C_setup = "LCD I²C Address"; +Blockly.Msg.LCDP_Column = "Columns"; +Blockly.Msg.LCDP_Row = "Rows"; +Blockly.Msg.LCDP_Column2 = "column"; +Blockly.Msg.LCDP_Row2 = "row"; +Blockly.Msg.LCDP_Print = "Print"; +Blockly.Msg.LCDP_Clear = "LCD I²C clear"; +Blockly.Msg.LCDP_scrollDisplay = "LCD I²C scroll display "; +Blockly.Msg.LCDP_setBcklight = "LCD I²C set Backlight "; +Blockly.Msg.LCDP_showCursor = "LCD I²C show Cursor "; +Blockly.Msg.LCDP_blinkCursor = "LCD I²C blink Cursor "; +Blockly.Msg.LCDP_Home = "LCD I²C home"; +Blockly.Msg.LCDP_SetCursor = "LCD I²C set cursor"; +Blockly.Msg.LCDP_Display = "LCD I²C "; + +//GESTURE SENSOR APDS9960 +Blockly.Msg.APDS9960_name_gesture = "👋 Gesture"; +Blockly.Msg.APDS9960_name_color = "Color"; +Blockly.Msg.APDS9960_detection = "detection"; +Blockly.Msg.APDS9960_init = "Gesture & Color Pins"; +Blockly.Msg.APDS9960_init2 = "I²C"; +Blockly.Msg.APDS9960_gesture_gain = "Config gesture gain"; +Blockly.Msg.APDS9960_color_gain = "Config color gain"; +Blockly.Msg.APDS9960_gesture_detected = "detected"; +Blockly.Msg.APDS9960_readgesture = "Read"; +Blockly.Msg.APDS9960_readcolors = "Read color frecuencies"; +Blockly.Msg.APDS9960_colors = "Frequency"; + +//REMOTE CONTROL IR +Blockly.Msg.KEY="Key"; +Blockly.Msg.GENERAL_IR="Remote Control IR"; +Blockly.Msg.GENERAL_PRESSED="Read key"; +Blockly.Msg.PIN="Pin"; + +//REMOTE CONTROL MRT +Blockly.Msg.MRT_IR="Remote Control MRT"; +Blockly.Msg.MRT_CHANNEL="Channel"; +Blockly.Msg.MRT_KEY="Key MRT"; +Blockly.Msg.MRT_PRESSED="Pressed?"; +Blockly.Msg.PIN2="Interrupt Pin"; + +//OPEN SMART MP3 +Blockly.Msg.MP3OS_name = "Mp3 OpenSmart"; +Blockly.Msg.MP3OS_init = "Mp3 Opensmart Pins"; +Blockly.Msg.MP3OS_TX="TX"; +Blockly.Msg.MP3OS_RX="RX"; +Blockly.Msg.MP3OS_equalizer = "Set equalizer"; +Blockly.Msg.MP3OS_volumen = "Set Volume(0-30)"; +Blockly.Msg.MP3OS_operation = "Operation:"; +Blockly.Msg.MP3OS_check = "Check mp3.Need to be executed in main loop"; +Blockly.Msg.MP3OS_playsong = "Play track #"; +Blockly.Msg.MP3OS_playsongdirectory = "folder #"; +Blockly.Msg.MP3OS_inject="Inject track number"; + +//Mu Vision + +/*Help*/ +Blockly.LKL_VS2_HELP_INIT = "initialize MU vision sensor, and choose the port."; +Blockly.LKL_VS2_HELP_VISION_LEVEL = 'Set the recognition level, the level increases, the false alarm rate decreases, and the recognition rate will decrease accordingly.';//'设置识别等级,等级升高,误报率降低,识别率也会相应降低'; +Blockly.LKL_VS2_HELP_VISION_ZOOM = 'Set the image zoom level, the level is raised, the farther the recognition distance is, the smaller the recognition angle is.';//'设置图像缩放等级,等级升高,识别距离越远,识别角度越小'; + +/*Warning**/ +Blockly.LKL_VS2_WARNING_SETUP_ONLY = 'This block can only be placed in the setup block!'; +Blockly.LKL_VS2_WARNING_MU_INIT = 'Please DON\'T forget initialize the uart1, Serial1. Configure the bauds too'; //'请勿同时使用Serial连接MU与电脑打印字符,此操作会导致电脑端打印字符错乱或通信异常'; + + +//LED color type +Blockly.LKL_VS2_LED_CLOSE = 'Close'; //'关闭'; +Blockly.LKL_VS2_LED_RED = 'Red'; //'红色'; +Blockly.LKL_VS2_LED_GREEN = 'Green'; //'绿色'; +Blockly.LKL_VS2_LED_YELLOW = 'Yellow'; //'黄色'; +Blockly.LKL_VS2_LED_BLUE = 'Blue'; //'蓝色'; +Blockly.LKL_VS2_LED_PURPLE = 'Purple'; //'紫色'; +Blockly.LKL_VS2_LED_CYAN = 'Cyan'; //'青色'; +Blockly.LKL_VS2_LED_WHITE = 'White'; //'白色'; +//Vision Zoom +Blockly.LKL_VS2_AUTO = 'auto'; //'自动'; +Blockly.LKL_VS2_VISION_ZOOM = 'Zoom'; //'缩放'; +//Vision Level +Blockly.LKL_VS2_LEVEL = 'level'; //'等级'; +Blockly.LKL_VS2_HIGH_SPEED = 'highSpeed'; //'速度优先'; +Blockly.LKL_VS2_NORMAL = 'normal'; //'性能均衡'; +Blockly.LKL_VS2_HIGH_ACCURACY = 'highAccuracy'; //'准确度优先'; +//UART status +Blockly.LKL_VS2_UART_OPEN = 'Open'; //'打开'; +Blockly.LKL_VS2_UART_CLOSE = 'Close'; //'关闭'; +//Vision type +Blockly.LKL_VS2_COLOR_BLOCK = 'ColorBlock'; //'色块'; +Blockly.LKL_VS2_VISION_COLOR_DETECT = 'ColorBlock'; //'色块检测'; +Blockly.LKL_VS2_VISION_COLOR_RECOGNITION = 'ColorRecognition'; //'颜色识别'; +Blockly.LKL_VS2_VISION_BALL = 'Ball'; //'球'; +Blockly.LKL_VS2_VISION_LINE = 'Line'; //'线条'; +Blockly.LKL_VS2_VISION_BODY = 'Body'; //'人体'; +Blockly.LKL_VS2_VISION_FACE = 'Face'; //'人脸'; +Blockly.LKL_VS2_VISION_TRAFFIC_CARD = 'TrafficCard'; //'交通卡片'; +Blockly.LKL_VS2_VISION_SHAPE_CARD = 'ShapeCard'; //'形状卡片'; +Blockly.LKL_VS2_VISION_NUM_CARD = 'NumberCard'; //'数字卡片'; +//Card type +Blockly.LKL_VS2_CARD_CIRCLE = 'Circle'; //'圆形'; +Blockly.LKL_VS2_CARD_TRIANGLE = 'Triangle'; //'三角形'; +Blockly.LKL_VS2_CARD_SQUARE = 'Square'; //'方形'; +Blockly.LKL_VS2_CARD_TICK = 'Tick'; //'钩'; +Blockly.LKL_VS2_CARD_CROSS = 'Cross'; //'叉'; +Blockly.LKL_VS2_CARD_STRAIGHT = 'Straight'; //'向前'; +Blockly.LKL_VS2_CARD_TURN_LEFT = 'TurnLeft'; //'向左'; +Blockly.LKL_VS2_CARD_TURN_RIGHT = 'TurnRight'; //'向右'; +Blockly.LKL_VS2_CARD_TURN_AROUND = 'TurnAround'; //'掉头'; +Blockly.LKL_VS2_CARD_WHISTLE = 'Whistle'; //'鸣笛'; +Blockly.LKL_VS2_CARD_STOP = 'Stop'; //'停止'; +//Vision state +Blockly.LKL_VS2_STATE_VALUE_X = 'Horizontal'; //'横向坐标'; +Blockly.LKL_VS2_STATE_VALUE_Y = 'Vertical'; //'纵向坐标'; +Blockly.LKL_VS2_STATE_VALUE_WIDTH = 'Width'; //'宽度'; +Blockly.LKL_VS2_STATE_VALUE_HEIGHT = 'Height'; //'高度'; +Blockly.LKL_VS2_STATE_VALUE_R_CHANNEL = 'ChannelR'; //'红色通道'; +Blockly.LKL_VS2_STATE_VALUE_G_CHANNEL = 'ChannelG'; //'绿色通道'; +Blockly.LKL_VS2_STATE_VALUE_B_CHANNEL = 'ChannelB'; //'蓝色通道'; +Blockly.LKL_VS2_STATE_VALUE_LABEL = 'Label'; //'标签'; +//True False +Blockly.LKL_VS2_TRUE = 'True'; //'是'; +Blockly.LKL_VS2_FALSE = 'False'; //'否'; +//Enable Disable +Blockly.LKL_VS2_ENABLE = 'enable'; //'开启'; +Blockly.LKL_VS2_DISABLE = 'disable'; //'关闭'; +//Camera AWB +Blockly.LKL_VS2_LOCK_AWB = 'LockAWB'; //'锁定白平衡'; +Blockly.LKL_VS2_WHITE_LIGHT = 'WhiteLight'; //'白光模式'; +Blockly.LKL_VS2_YELLOW_LIGHT = 'YellowLight'; //'黄光模式'; +Blockly.LKL_VS2_ALL = 'All'; //'所有'; + +//Other +Blockly.LKL_VS2_COLOR = 'color'; //'颜色'; +Blockly.LKL_VS2_DEFAULT = 'default'; //'默认'; +Blockly.LKL_VS2_LOW = 'low'; //'低'; +Blockly.LKL_VS2_MID = 'middle'; //'中'; +Blockly.LKL_VS2_HIGH = 'high'; //'高'; + +/*模块文本*/ +Blockly.LKL_VS2_MU = 'initialize'; //'初始化'; +Blockly.LKL_VS2_MODE = 'mode'; //'模式'; +Blockly.LKL_VS2_SetupVS = 'setup'; //'设置'; +Blockly.LKL_VS2_SET_RECOGNITION_REGION = 'set recognition region'; //'设置识别区域'; +Blockly.LKL_VS2_SET_MIN_RECOGNITION_SIZE = 'set min recognition size';//'设置最小识别尺寸'; +Blockly.LKL_VS2_SERIAL = 'port'; //'端口'; +Blockly.LKL_VS2_ADDRESS = 'address'; //'地址'; +Blockly.LKL_VS2_RESET = 'reset to default'; //'恢复默认设置'; +Blockly.LKL_VS2_LED_DETECT_COLOR = 'when detected then'; //'识别到物体亮'; +Blockly.LKL_VS2_LED_UNDETECT_COLOR = 'else'; //'没识别到物体亮'; +Blockly.LKL_VS2_BRIGHTNESS = 'brightness'; //'亮度'; +Blockly.LKL_VS2_VISION_TYPE = 'algorithm'; //'算法'; +Blockly.LKL_VS2_SET_VISION_LEVEL = 'level'; //'设置识别等级'; +Blockly.LKL_VS2_SET_FRAME_ROTATE = 'rotate Frame'; //'图像翻转'; +Blockly.LKL_VS2_SET_CAMERA_HFR = 'high FPS mode'; //'高帧率模式'; +Blockly.LKL_VS2_SET_CAMERA_AWB = 'camera white balance'; //'摄像头白平衡'; +Blockly.LKL_VS2_SET_VISION_ZOOM = 'zoom'; //'图像缩放等级'; +Blockly.LKL_VS2_SET_UART_BAUD = 'UART baudrate'; //'串口波特率'; +Blockly.LKL_VS2_DETECTED = 'detected'; //'检测到'; +Blockly.LKL_VS2_RECOGNIZED = 'recognized'; //'识别到'; +Blockly.LKL_VS2_GET_DETECTED_MESSAGE = 'get'; //'获取'; +Blockly.LKL_VS2_VALUE = 'value'; //'值'; +Blockly.LKL_VS2_GET_PIX_COLOR = 'get Position'; //'捕获坐标'; +Blockly.LKL_VS2_CARD_TYPE = 'type'; //'卡片类型'; +Blockly.LKL_VS2_SET_DETECT_COLOR = 'setDetectColor'; //'设置识别颜色'; +Blockly.LKL_VS2_COORDINATE = 'coordinate'; //'坐标'; + +// Light sensor +Blockly.LKL_VS2_LIGHT_SENSOR = 'light sensor'; //'光线传感器'; +Blockly.LKL_VS2_SET = 'set'; //'设置'; +Blockly.LKL_VS2_SENSITIVITY = 'sensitivity'; //'灵敏度'; +Blockly.LKL_VS2_WB_CORRECTION = 'white balance correction'; //'白平衡校准'; +Blockly.LKL_VS2_READ = 'read'; //'读取'; +Blockly.LKL_VS2_PROXIMITY = 'proximity detection'; //'接近检测'; +Blockly.LKL_VS2_ALS = 'ambient light detection'; //'环境光检测'; +Blockly.LKL_VS2_GESTURE_SENSOR = 'gesture detection'; //'手势检测'; +Blockly.LKL_VS2_GESTURE = 'gesture'; //'手势'; +Blockly.LKL_VS2_GESTURE_UP = 'upward'; //'上划'; +Blockly.LKL_VS2_GESTURE_DOWN = 'downward'; //'下划'; +Blockly.LKL_VS2_GESTURE_LEFT = 'leftward'; //'左划'; +Blockly.LKL_VS2_GESTURE_RIGHT = 'rightward'; //'右划'; +Blockly.LKL_VS2_GESTURE_LIFT_UP = 'pull'; //'上抬'; +Blockly.LKL_VS2_GESTURE_PUSH_DOWN = 'push'; //'下压'; + +// AT WiFi +Blockly.LKL_VS2_SSID = "ssid"; //"名称"; +Blockly.LKL_VS2_PASSWORD = "password"; //"密码"; +Blockly.LKL_VS2_WAIT_CONNECT = "connection succeeded"; //"连接成功"; +Blockly.LKL_VS2_DISCONNECT = "disconnect"; //"断开连接"; +Blockly.LKL_VS2_CLIENT = "client"; //"客户端"; +Blockly.LKL_VS2_HOT_SPOT = "hot-spot"; //"热点"; +Blockly.LKL_VS2_TARGET_IP = "target IP"; //"目标IP"; +Blockly.LKL_VS2_LOCAL_IP = "local IP"; //"本地IP"; +Blockly.LKL_VS2_WRITE = "write"; //"写入"; + +//DISPLAY TFT ST7735 +Blockly.Msg.ST7735_name = "TFT"; +Blockly.Msg.ST7735_init = "TFT ST7735"; +Blockly.Msg.ST7735_init2 = "SCL=SCK SDA=MOSI."; +Blockly.Msg.ST7735_PIN_CS = "CS"; +Blockly.Msg.ST7735_PIN_RST = "RST/RES"; +Blockly.Msg.ST7735_PIN_DC = "A0/DC"; +Blockly.Msg.ST7735_WRAP = "color"; +Blockly.Msg.ST7735_FILLBACKGROUND = "Fill backgroundColor"; +Blockly.Msg.ST7735_Rotate = "rotate"; +Blockly.Msg.ST7735_Invert = "Invert display"; +Blockly.Msg.ST7735_SetCursor = "Set cursor"; +Blockly.Msg.ST7735_X0 = "X0"; +Blockly.Msg.ST7735_Y0 = "Y0"; +Blockly.Msg.ST7735_X1 = "Y1"; +Blockly.Msg.ST7735_Y1 = "Y1"; +Blockly.Msg.ST7735_X2 = "X2"; +Blockly.Msg.ST7735_Y2 = "Y2"; +Blockly.Msg.ST7735_TEXTCOLOR = "Set text color"; +Blockly.Msg.ST7735_TEXTCOLOR2 = "color"; +Blockly.Msg.ST7735_TEXTsize = "Set text size"; +Blockly.Msg.ST7735_TEXTwrap = "Set text wrap"; +Blockly.Msg.ST7735_PrintTextLN = "Print the text/value"; +Blockly.Msg.ST7735_PrintTextLN2 = "line feed"; +Blockly.Msg.ST7735_DrawPixel = "Draw pixel"; +Blockly.Msg.ST7735_Drawlinefrom = "Draw line from"; +Blockly.Msg.ST7735_Drawlineto = "to"; +Blockly.Msg.ST7735_Drawrectangle = "Draw rectangle"; +Blockly.Msg.ST7735_Drawtriangle = "Draw triangle.Corner points"; +Blockly.Msg.ST7735_Drawroundrectangle = "Draw round rectangle"; +Blockly.Msg.ST7735_Drawroundrectangleradius = "round"; +Blockly.Msg.ST7735_Drawrectanglewidth = "width"; +Blockly.Msg.ST7735_Drawrectangleheight = "height"; +Blockly.Msg.ST7735_Drawcircle = "Draw circle.Center in"; +Blockly.Msg.ST7735_Drawcircleradius = "radius"; +Blockly.Msg.ST7735_Drawfill = "Fill"; +Blockly.Msg.ST7735_properties = "Return property:"; +Blockly.Msg.ST7735_IconName = "Icon"; +Blockly.Msg.ST7735_ValueList = "Hex array"; +Blockly.Msg.ST7735_DrawiconName = "Draw Icon"; + +//OLED +Blockly.Msg.OLED_IconName = "Icon design"; +Blockly.Msg.OLED_ValueList = "Values(hex array)"; +Blockly.Msg.OLED_DrawiconName = "Draw"; +Blockly.Msg.OLED_X0 = "X0"; +Blockly.Msg.OLED_Y0 = "Y0"; +Blockly.Msg.OLED_width = "width"; +Blockly.Msg.OLED_height = "height"; +Blockly.Msg.OLED_COLOR = "Set color"; + +//TCS34725 color sensor +Blockly.Msg.TCS34725_name_init="Color Pins"; +Blockly.Msg.TCS34725_name_init2="I²C"; +Blockly.Msg.TCS34725_name="Color sense"; +Blockly.Msg.TCS34725_read="Read all values"; +Blockly.Msg.TCS34725_values="Value"; +Blockly.Msg.TCS34725_color="is"; +Blockly.Msg.TCS34725_color2="No gain configured?"; + +//HMC5883 compass sensor +Blockly.Msg.HMC5883="Compass Pins"; +Blockly.Msg.HMC5883_2=" I²C"; +Blockly.Msg.HMC5883_read="🧭 compass read values"; +Blockly.Msg.HMC5883_values="value"; + +//RADIO TEA5767 +Blockly.Msg.TEA5767_name = "Radio TEA5767"; +Blockly.Msg.TEA5767_init = "Radio TEA5767 I²C"; +Blockly.Msg.TEA5767_turnOFF_ON = "Turn"; +Blockly.Msg.TEA5767_muteOFF_ON = "Mute"; +Blockly.Msg.TEA5767_Level = "Level of the signal"; +Blockly.Msg.TEA5767_Stereo = "Is the signal stereo?"; +Blockly.Msg.TEA5767_RadioStation = "Radio Station."; +Blockly.Msg.TEA5767_SetFrequency = "Frequency(Mhz)"; +Blockly.Msg.TEA5767_MadridFrequency = "Madrid Radio Station:"; + +//RFID MFRC522 +Blockly.Msg.RFID_name = "💳 RFID "; +Blockly.Msg.RFID_init = "RFID Pins"; +Blockly.Msg.RFID_init2 = "SCK, MOSI & MISO"; +Blockly.Msg.RFID_PIN_SDA = "SDA"; +Blockly.Msg.RFID_PIN_RST = "RST"; +Blockly.Msg.RFID_VALID_VAR = "Validation card:"; +Blockly.Msg.RFID_STOP = "Stop reading"; +Blockly.Msg.RFID_C1 = "Value1"; +Blockly.Msg.RFID_C2 = "Value2"; +Blockly.Msg.RFID_C3 = "Value3"; +Blockly.Msg.RFID_C4 = "Value4"; +Blockly.Msg.RFID_DETECTED = "card detected?"; +Blockly.Msg.RFID_READED = "card read?"; +Blockly.Msg.RFID_CARD_READED = "Read Value"; +Blockly.Msg.RFID_CHECK_CARD = "Is card Read = Validation card"; +Blockly.Msg.RFID_CHECK_CARD2 = "?"; + +//KEYBOARD AND MOUSE +Blockly.Msg.KeyboardFunction = "Keyboard"; +Blockly.Msg.KeyPressed = "Key"; +Blockly.Msg.WriteText= "Write text"; +Blockly.Msg.LineFeed= "Line Feed"; +Blockly.Msg.MouseFunction = "Mouse"; +Blockly.Msg.MouseMoveX="X Pos"; +Blockly.Msg.MouseMoveY="Y pos"; +Blockly.Msg.MouseMoveW="Wheel"; + +//GPS +Blockly.Msg.GPS_name = "🛰️ GPS NEO-6"; +Blockly.Msg.GPS_init = "GPS Pins"; +Blockly.Msg.GPS_TX="TX"; +Blockly.Msg.GPS_RX="RX"; +Blockly.Msg.GPS_readvalues = "Read and save values"; +Blockly.Msg.GPS_paramter = "Location Parameters:"; +Blockly.Msg.GPS_paramter3 = "DateTime:"; + +//TM1640 +Blockly.Msg.TM1640_init = "TM1640 Matrix Pins"; +Blockly.Msg.TM1640_SCL="DIN"; +Blockly.Msg.TM1640_SDA="CLK"; + +//MOTOR MRT +Blockly.Msg.MOTOR_Connector="Motor"; +Blockly.Msg.MOTOR_Direction="Direction"; +Blockly.Msg.MOTOR_speed="Speed(0-255)"; +Blockly.Msg.MOTOR_Stop="Stop"; + +//STEPPERS +Blockly.Msg.STEEPER_name="Stepper #"; +Blockly.Msg.STEEPER_name2="Stepper 28BYJ ID"; +Blockly.Msg.STEEPER2_name="Stepper #"; +Blockly.Msg.STEEPER2_name2="Stepper 28BYJ ID"; +Blockly.Msg.STEEPER_steprev="Steps/Rev."; +Blockly.Msg.STEEPER_step="Steps"; +Blockly.Msg.STEEPER_speed="Speed (rpm)"; +Blockly.Msg.STEEPER_pin1="Pin A"; +Blockly.Msg.STEEPER_pin2="B"; +Blockly.Msg.STEEPER_pin3="C"; +Blockly.Msg.STEEPER_pin4="D"; +Blockly.Msg.STEEPER_Move="Move"; +Blockly.Msg.STEEPER_MoveTo="Move to step(0-4096)"; +Blockly.Msg.STEEPER_Degree="degrees"; +Blockly.Msg.STEEPER_Steps="steps"; +Blockly.Msg.STEEPER_DegreeTo="Move to degree"; + +//WiFi basic functions +Blockly.Msg.WIFI_sta_init = "WIFI.Connect as Station"; +Blockly.Msg.WIFI_ap_init = "WIFI.Create an Access Point"; +Blockly.Msg.WIFI_sta_ap_init = "WIFI. Station and create an Access Point"; +Blockly.Msg.WIFI_password = "password:"; +Blockly.Msg.WIFI_ssid = "Wifi ssid:"; +Blockly.Msg.WIFI_password_ap = "and this password:"; +Blockly.Msg.WIFI_ssid_ap = "Wifi ssid name:"; +Blockly.Msg.WIFI_logs = "Enable logs"; + + +//IFTTT +Blockly.Msg.IFTTT_init = "Configuration.Api key"; +Blockly.Msg.IFTTT_send = "Send information"; +Blockly.Msg.IFTTT_event = "Event as String"; +Blockly.Msg.IFTTT_value1 = "Value 1 as String"; +Blockly.Msg.IFTTT_value2 = "Value 2 as String"; +Blockly.Msg.IFTTT_value3 = "Value 3 as String"; + + + +//MQTT +Blockly.Msg.MQTT_name_init = "Configuration MQTT protocol"; +Blockly.Msg.MQTT_password = "password:"; +Blockly.Msg.MQTT_ssid = "Wifi ssid:"; +Blockly.Msg.MQTT_server = "Server (broker):"; +Blockly.Msg.MQTT_port = "port:"; +Blockly.Msg.MQTT_user = "User:"; +Blockly.Msg.MQTT_APIkey = "API Key:"; +Blockly.Msg.MQTT_client = "ID client:"; +Blockly.Msg.MQTT_topicattend = "Loop MQTT"; +Blockly.Msg.MQTT_topicsubscribe = "Subscribe to the topic"; +Blockly.Msg.MQTT_topicsubscribe2 = "and save num value in the variable"; +Blockly.Msg.MQTT_topicsubscribe3 = "and save text value in the variable"; +Blockly.Msg.MQTT_topicpublish = "Publish in the topic"; +Blockly.Msg.MQTT_topicvalue = "Value"; +Blockly.Msg.MQTT_logs = "Enable logs"; + +//NTP +//RTC DS3231 +Blockly.Msg.NTP_NAME="Init NTP Server."; +Blockly.Msg.NTP_NAME2="NTP Server."; +Blockly.Msg.NTP_READ_RTC="NTP Server.Read the date and time"; +Blockly.Msg.NTP_GMT="GMT"; +Blockly.Msg.NTP_VALUES="value"; +Blockly.Msg.NTP_EPOCH="Epoch"; +Blockly.Msg.NTP_DAY="Day"; +Blockly.Msg.NTP_MONTH="Month"; +Blockly.Msg.NTP_YEAR="Year"; +Blockly.Msg.NTP_HOUR="Hour"; +Blockly.Msg.NTP_MINUTE="Minute"; +Blockly.Msg.NTP_SECOND="Second"; +Blockly.Msg.NTP_DOFWEEK="Day of week"; +Blockly.Msg.NTP_TEXT_DOFWEEK="Day of week in string"; +Blockly.Msg.NTP_TEXT_MONTH="Month in string "; +Blockly.Msg.NTP_TEXT_TIME="Time in string "; + +//MAX7219-Led Matrix panel +Blockly.Msg.MAX7219_LM_NAME="LED Matrix Pins"; +Blockly.Msg.MAX7219_LM_CS="CS"; +Blockly.Msg.MAX7219_LM_CLK="CLK"; +Blockly.Msg.MAX7219_LM_DAT="DIN"; +Blockly.Msg.MAX7219_LM_Number="#"; +Blockly.Msg.MAX7219_LM_NAME2="MAX7219 Led matrix#"; +Blockly.Msg.MAX7219_LM_Brightness="brightness"; +Blockly.Msg.MAX7219_LM_SHUTDOWN="Activate"; +Blockly.Msg.MAX7219_LM_CLEAR="Clear"; +Blockly.Msg.MAX7219_LM_PAINT="Draw this image"; +Blockly.Msg.MAX7219_LM_Row="Row"; +Blockly.Msg.MAX7219_LM_value="Value (bin or hex or dec)"; +Blockly.Msg.MAX7219_LM_Column="Column"; +Blockly.Msg.MAX7219_LM_Led="LED"; + + +//Thingspeak +Blockly.Msg.Thingspeak_name_init = "Configuration Thingspeak."; +Blockly.Msg.Thingspeak_name = "Thingspeak."; +Blockly.Msg.Thingspeak_channel = "Channel"; +Blockly.Msg.Thingspeak_apiread = "Api read key"; +Blockly.Msg.Thingspeak_apiwrite = "Api write key"; +Blockly.Msg.Thingspeak_Write= "Write value"; +Blockly.Msg.Thingspeak_field = "in field"; +Blockly.Msg.Thingspeak_ReadLong= "Read as long the field"; +Blockly.Msg.Thingspeak_ReadFloat= "Read as float the field"; + +//Telegram +Blockly.Msg.Telegram_name_init = "Configuration Telegram chat."; +Blockly.Msg.Telegram_name = "Telegram."; +Blockly.Msg.Telegram_BotToken = "BOT token"; +Blockly.Msg.Telegram_ChatID = "Chat ID"; +Blockly.Msg.Telegram_Loop = "Telegram Loop.Update messages"; +Blockly.Msg.Telegram_receive = "Telegram.When message is recived"; +Blockly.Msg.TelegramSend= "Send message:"; +Blockly.Msg.Telegram_message = "Telegram.Received message"; +Blockly.Msg.Telegram_fromName= "Name of person sent the message"; + +//OpenWeather +Blockly.Msg.Openweather_init = "Configuration OpenWeather."; +Blockly.Msg.Api_key = "Api Key"; +Blockly.Msg.ReadWeather = "OpenWeather.Read Weather."; +Blockly.Msg.City = "City"; +Blockly.Msg.CountryCode = "Country Code"; +Blockly.Msg.OW_Value = "OpenWeather. Value:"; +Blockly.Msg.LocationOW = "Location"; +Blockly.Msg.Country = "Country"; +Blockly.Msg.Icon = "Icon"; +Blockly.Msg.Weather = "Weather"; +Blockly.Msg.Description = "Description"; +Blockly.Msg.OW_Temperature = "Temperature ºC"; +Blockly.Msg.Temp_max = "Temperature Max ºC"; +Blockly.Msg.Temp_min = "Temperature Min ºC"; +Blockly.Msg.Humidity = "Humedad"; +Blockly.Msg.Preassure = "Preassure"; +Blockly.Msg.Feels_like = "Feels like Temperature ºC"; +Blockly.Msg.Cloud = "Cloud %"; +Blockly.Msg.Visibility = "Visibility %"; +Blockly.Msg.wind_speed = "Wind Speed"; +Blockly.Msg.wind_angle = "Wind Angle"; +Blockly.Msg.icon_id = "Icon Weather Id"; +Blockly.Msg.sunrise = "Sunrise EPOC"; +Blockly.Msg.sunset = "Sunset EPOC"; + + +//WifiLocation + +Blockly.Msg.WFL_NAME="Init WifiLocation."; +Blockly.Msg.WFL_NAME2="WifiLocation."; +Blockly.Msg.WFL_APIGOOGLE="Google API Key"; +Blockly.Msg.WFL_READ_LOCATION="WifiLocation.Read values"; +Blockly.Msg.WFL_VALUES="value"; +Blockly.Msg.WFL_LON="Longitude"; +Blockly.Msg.WFL_LAT="Lattitude"; +Blockly.Msg.WFL_ACCURACY="Accuracy"; + +//ESP8266 +Blockly.Msg.ESP_yield=" Yield function"; +Blockly.Msg.ESP_deepsleep="DeepSleep "; +Blockly.Msg.ESP_timesleep="Seconds"; +Blockly.Msg.ESP_restart="Restart ESP8266"; + +//Wifi Server +Blockly.Msg.WifiServer_wait="Wait connections of clients" +Blockly.Msg.WifiServer_port="Wifi server begin in port" +Blockly.Msg.WifiServer_ESP8266webserver_port="Wifi ESP8266WebServer begin in port" +Blockly.Msg.WifiServer_answer="Wifi server answer:" +Blockly.Msg.WifiServer_stop="Stop the connected client to the our server" +Blockly.Msg.WifiServer_flush="Flush the connected client to the our server" +Blockly.Msg.WifiServer_ip="IP of the connected customer" +Blockly.Msg.WifiServer_request="Request of the connected customer" +Blockly.Msg.WifiServer_ESP8266webserver_parameter="ESP8266WebServer Read the parameter: " +Blockly.Msg.WifiServer_ESP8266webserver_parameter2="ESP8266WebServer Parameter: " +Blockly.Msg.WifiServer_esp8266_send_html_URL = "When a client with this URL (empty for root):"; +Blockly.Msg.WifiServer_esp8266_send_html_HTML_page="is connected then show this HTML page: "; +Blockly.Msg.WifiServer_esp8266_send_html_execute="(optional) and do: "; +Blockly.Msg.WifiServer_esp8266_manage_requets="Manage client request"; + +Blockly.Msg.Wifi_ap_fixip="Access point mode.Static IP" +Blockly.Msg.Wifi_sta_fixip="Station mode.Static IP" +Blockly.Msg.Wifi_ip="IP" +Blockly.Msg.Wifi_Mask="Mask" +Blockly.Msg.Wifi_Gateway="Gateway" + + + +//Text with more functions + +Blockly.Msg.TEXT_APPEND_APPENDTEXT = "append text"; +Blockly.Msg.TEXT_APPEND_HELPURL = "https://github.com/google/blockly/wiki/Text#text-modification"; +Blockly.Msg.TEXT_APPEND_TO = "to"; +Blockly.Msg.TEXT_APPEND_TOOLTIP = "Append some text to variable '%1'."; +Blockly.Msg.TEXT_CHANGECASE_HELPURL = "https://github.com/google/blockly/wiki/Text#adjusting-text-case"; +Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = "to lower case"; +Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = "to Title Case"; +Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = "to UPPER CASE"; +Blockly.Msg.TEXT_CHANGECASE_TOOLTIP = "Return a copy of the text in a different case."; +Blockly.Msg.TEXT_CHARAT_FIRST = "get first letter"; +Blockly.Msg.TEXT_CHARAT_FROM_END = "get letter # from end"; +Blockly.Msg.TEXT_CHARAT_FROM_START = "get letter #"; +Blockly.Msg.TEXT_CHARAT_HELPURL = "https://github.com/google/blockly/wiki/Text#extracting-text"; +Blockly.Msg.TEXT_CHARAT_INPUT_INTEXT = "in text"; +Blockly.Msg.TEXT_CHARAT_LAST = "get last letter"; +Blockly.Msg.TEXT_CHARAT_RANDOM = "get random letter"; +Blockly.Msg.TEXT_CHARAT_TAIL = ""; +Blockly.Msg.TEXT_CHARAT_TOOLTIP = "Returns the letter at the specified position."; +Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = "Add an item to the text."; +Blockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = "join"; +Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = "Add, remove, or reorder sections to reconfigure this text block."; +Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END = "to letter # from end"; +Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START = "to letter #"; +Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST = "to last letter"; +Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text"; +Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT = "in text"; +Blockly.Msg.TEXT_GET_SUBSTRING_START_FIRST = "get substring from the first letter"; +Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END = "get substring from letter # from end"; +Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START = "get substring from letter #"; +Blockly.Msg.TEXT_GET_SUBSTRING_TAIL = ""; +Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP = "Returns a specified portion of the text."; +Blockly.Msg.TEXT_INDEXOF_HELPURL = "https://github.com/google/blockly/wiki/Text#finding-text"; +Blockly.Msg.TEXT_INDEXOF_INPUT_INTEXT = "in text"; +Blockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = "find first occurrence of text"; +Blockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = "find last occurrence of text"; +Blockly.Msg.TEXT_INDEXOF_TAIL = ""; +Blockly.Msg.TEXT_INDEXOF_TOOLTIP = "Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found."; +Blockly.Msg.TEXT_ISEMPTY_HELPURL = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text"; +Blockly.Msg.TEXT_ISEMPTY_TITLE = "%1 is empty"; +Blockly.Msg.TEXT_ISEMPTY_TOOLTIP = "Returns true if the provided text is empty."; +Blockly.Msg.TEXT_JOIN_HELPURL = "https://github.com/google/blockly/wiki/Text#text-creation"; +Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = "create text with"; +Blockly.Msg.TEXT_JOIN_TOOLTIP = "Create a piece of text by joining together any number of items."; +Blockly.Msg.TEXT_LENGTH_HELPURL = "https://github.com/google/blockly/wiki/Text#text-modification"; +Blockly.Msg.TEXT_LENGTH_TITLE = "length of %1"; +Blockly.Msg.TEXT_LENGTH_TOOLTIP = "Returns the number of letters (including spaces) in the provided text."; +Blockly.Msg.TEXT_PRINT_HELPURL = "https://github.com/google/blockly/wiki/Text#printing-text"; +Blockly.Msg.TEXT_PRINT_TITLE = "print %1"; +Blockly.Msg.TEXT_PRINT_TOOLTIP = "Print the specified text, number or other value."; +Blockly.Msg.TEXT_PROMPT_HELPURL = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user"; +Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = "Prompt for user for a number."; +Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = "Prompt for user for some text."; +Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER = "prompt for number with message"; +Blockly.Msg.TEXT_PROMPT_TYPE_TEXT = "prompt for text with message"; +Blockly.Msg.TEXT_TEXT_HELPURL = "https://en.wikipedia.org/wiki/String_(computer_science)"; +Blockly.Msg.TEXT_TEXT_TOOLTIP = "A letter, word, or line of text."; +Blockly.Msg.TEXT_TRIM_HELPURL = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces"; +Blockly.Msg.TEXT_TRIM = "trim spaces from "; +Blockly.Msg.TEXT_TRIM_TOOLTIP = "Return a copy of the text with spaces removed from one or both ends."; + +//Conversions +Blockly.Msg.CONV_tochar="Casting to char "; +Blockly.Msg.CONV_toString="Convert to String "; +Blockly.Msg.CONV_decimal="Number of decimals"; +Blockly.Msg.CONV_tobyte="Casting to Byte "; +Blockly.Msg.CONV_toint="Casting to Int "; +Blockly.Msg.CONV_tounsigendint="Casting to unsigned Int "; +Blockly.Msg.CONV_tofloat="Casting to Float "; diff --git a/www/lang/code.js b/www/lang/code.js index d0a59717f..dc1b4a11e 100644 --- a/www/lang/code.js +++ b/www/lang/code.js @@ -17,7 +17,8 @@ Code.LANGUAGE_NAME = { 'zh': '🇹🇼 漢語', 'cn': '🇨🇳 汉语', 'ja': '🇯🇵 日本語', - 'bg': 'BG Български' + 'bg': 'BG Български', + 'ar': 'Arabic' }; Code.LANGUAGE_RTL = ['ar', 'fa', 'he']; Code.getLang = function() { diff --git a/www/lang/msg_ar.js b/www/lang/msg_ar.js new file mode 100644 index 000000000..4c454d453 --- /dev/null +++ b/www/lang/msg_ar.js @@ -0,0 +1,54 @@ +var MSG = { +  btn_variable: "👌 OK", +  btn_close: "Close", +  btn_valid: "Accept", +  btn_config: "⚙️ Settings", +  btn_about: "⏱️ About", +  btn_new: "📄 New", +  btn_fakeload: "📂 Open", +  btn_example: "🎓 Examples", +  btn_term: "🔍 Serial monitor", +  btn_factory: "Block factory", +  btn_saveXML: "💾 Save", +  btn_print: "📷 Screenshot", +  btn_preview_ino: "👩‍💻 Arduino Code Preview", +  btn_preview_py: "Python Code Preview", +  btn_save_ino: "💾 Save as .INO", +  btn_save_py: "💾 Save as .PY", + btn_copy:" Copy to clipboard ", +  btn_undo: "Undo (ctrl + z)", +  btn_redo: "Redo (ctrl + y)", + btn_search: "🔎 Search", +  span_update: "Check for startup updates", +  span_blocklino: " Otto Blockly", +  span_verify_update: "☑️ Check now", +  span_site: " Website", +  span_forum: " Community", +  span_contact: " Report issues", +  span_languageMenu: "Language:", +  span_toolbox_all: "ALL", +  span_select_all: "Check all categories", +  survol: "", +  configModalLabel: "Language & Blocks", +  exampleModalLabel: "Examples", +  versionModalLabel: "Download", +  variableModalLabel: "Variable", +  cardLabel: "Available boards", +  aboutcardLabel: "Board ...", +  usbLabel: "USB", +  aboutusbLabel: "🔌 Communication between the board and the computer", +  variablebody: "Name for the variable", +  labelToolboxDefinition: "Level:", +  httpRequestError: "There was a problem with the request.", +  hashError: "Sorry, '%1' does not match any saved programs.", +  xmlError: "Unable to load file maybe from an old version or different software", +  xmlLoad: "'OK' to load the new program\n\n'Cancel' to merge the two programs.", +  timeout: "Maximum number of execution iterations exceeded.", +  badCode: "Program error: \n %1", +  discard: "Are you sure you want to delete all blocks?", +  badXml: "XML parsing error: \n %1 \n\nSelect 'OK' to abort your changes or 'Cancel' to continue editing the XML.", +  arduino_card: "Load the settings for the board ", +  aboutModalLabel: "About", +  aboutBody: "A free and open source visual programming software based on Blockly from Google, code is generated by just combining graphical blocks, that then can be quickly uploaded to Otto robot or any other Arduino project", + nano:"

Microcontroller:  ATmega328
Operating voltage: 5 V
Input voltage (VIN): 6-20 V
Power consumption: 19 mA
Flash memory: 32 KB of which 2 KB is used by bootloader
SRAM: 2 KB
Clock speed: 16 Mhz
EEPROM: 1 KB
DC current per I/O pin: 40 mA (20 mA recommended)
Digital I/O: pins 22
PWM outputs: 6 (D3, D5, D6, D9, D10, D11)
Analog input: pins 8 (ADC 10 bit)
I2C: A4 (SDA), A5 (SCL)
SPI: D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK)
LED_BUILTIN: D13

" +}; \ No newline at end of file