// This file was automatically generated.  Do not modify.

'use strict';

//goog.provide('Blockly.Msg.en');

goog.require('Blockly.Msg');

Blockly.Msg.TEXT_IS_NUMBER_HELPURL = '';
Blockly.Msg.TEXT_IS_NUMBER_TOOLTIP = 'Judge the text %1 and return True or False';
Blockly.Msg.TEXT_IS_NUMBER_MESSAGE0 = '%1 %2';

Blockly.Msg.TEXT_IS_DIGIT = 'Is number';
Blockly.Msg.TEXT_IS_ALPHA = 'Is letter';
Blockly.Msg.TEXT_IS_ALNUM = 'Is mix of numbers and letters';

Blockly.Msg.REDO = "Redo";
Blockly.Msg.UNDO = "Undo";
Blockly.Msg.DELETE_VARIABLE = "Delete \"%1\" variable";
Blockly.Msg.DELETE_VARIABLE_CONFIRMATION = "Delete %1 of the \"%2\" variable?";

Blockly.Msg.CONTROLS_REPEAT_FOREVER = "Repeat forever";
Blockly.Msg.CONTROLS_REPEAT_FOREVER_TOOLTIP = "Do some statements forever times";
Blockly.Msg.TEXT_LIST_START = "Create list [";
Blockly.Msg.TEXT_LIST_END = "]";
Blockly.Msg.TEXT_TUPLE_START = "Create tuple (";
Blockly.Msg.TEXT_TUPLE_END = ")";
Blockly.Msg.TEXT_DICT_START = "Create dictionary {";
Blockly.Msg.TEXT_DICT_END = "}";
Blockly.Msg.TEXT_SET_START = "Create set {";
Blockly.Msg.TEXT_SET_END = "}";
Blockly.Msg.TEXT_SET_HELPURL = "https://CocoRobox.readthedocs.io/zh_CN/latest/index.html";
Blockly.Msg.TUPLE_CREATE_EMPTY_TITLE = "Create empty tuple";
Blockly.Msg.DICT_CREATE_EMPTY_TITLE = "Create empty dictionary";
Blockly.Msg.SET_CREATE_EMPTY_TITLE = "Create empty sets";
Blockly.Msg.TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD = "Tuple";
Blockly.Msg.DICT_CREATE_WITH_CONTAINER_TITLE_ADD = "Dictionary";
Blockly.Msg.SET_CREATE_WITH_CONTAINER_TITLE_ADD = "Sets";
Blockly.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP = "Add, remove, or rearrange sections to reconfigure this tuple block.";
Blockly.Msg.DICT_CREATE_WITH_CONTAINER_TOOLTIP = "Add, remove, or rearrange sections to reconfigure this dictionary block.";
Blockly.Msg.TUPLE_CREATE_WITH_INPUT_WITH = "Create tuple with";
Blockly.Msg.DICT_CREATE_WITH_INPUT_WITH = "Create dictionary with";
Blockly.Msg.SET_CREATE_WITH_INPUT_WITH = "Create sets with";
Blockly.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP = "Add an item to the tuple.";
Blockly.Msg.DICT_CREATE_WITH_ITEM_TOOLTIP = "Add an item to the dictionary.";
Blockly.Msg.SET_CREATE_WITH_ITEM_TOOLTIP = "Add an item to the sets.";
Blockly.Msg.LISTS_SORT_HELPURL = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
Blockly.Msg.LISTS_SORT_ORDER_ASCENDING = "Ascending";
Blockly.Msg.LISTS_SORT_ORDER_DESCENDING = "Descending";
Blockly.Msg.LISTS_SORT_TITLE = "Sort %1 %2 %3";
Blockly.Msg.LISTS_SORT_TOOLTIP = "Sort a copy of a list.";
Blockly.Msg.LISTS_SORT_TYPE_IGNORECASE = "By letter, ignore case";
Blockly.Msg.LISTS_SORT_TYPE_NUMERIC = "By number";
Blockly.Msg.LISTS_SORT_TYPE_TEXT = "By letter";

Blockly.Msg.labplus_mapping_MESSAGE0 = 'Map %1 from %2 , %3 to %4 , %5'
Blockly.Msg.labplus_mapping_TOOLTIP = 'Map 10 of 0~100 to 0~200 and return the mapped value'
Blockly.Msg.labplus_mapping_HELPURL = ''

Blockly.Msg.CocoRobo_OPEN = 'On';
Blockly.Msg.CocoRobo_CLOSE = 'Off';

Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_LEFT = 'Shift left';
Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_RIGHT = 'Shift right';
Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_UP = 'Shift up';
Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_DOWN = 'Shift down';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE = 'Grayscale';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW = 'Rainbow';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_NEGATE = 'Negate';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_INVERT = 'Invert';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR = 'Line polar';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR = 'Log polar';

Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_GRAYSCALE = 'Grayscale';
Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_COLOR = 'Color';

Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_START = 'Start capturing image';
Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_STOP = 'Stop capturing image';

Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_H = 'Horizontal mirror';
Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_V = 'Vertical flip';

Blockly.Msg.CocoRobo_AI_SENSOR_SETS_CONTRAST = 'Contrast';
Blockly.Msg.CocoRobo_AI_SENSOR_SETS_BRIGHTNESS = 'Brightness';
Blockly.Msg.CocoRobo_AI_SENSOR_SETS_SATURATION = 'Saturation';

Blockly.Msg.CocoRobo_AI2_FACE_YOLO = 'FACE YOLO';
Blockly.Msg.CocoRobo_AI2_CLASS_20_YOLO = 'CLASS 20 YOLO';

Blockly.Msg.CocoRobo_AI_TRACE_COLOR_RECTANGLE = 'Rectangle';
Blockly.Msg.CocoRobo_AI_TRACE_COLOR_CROSS = 'Cross';


/*文本- 开始 */
Blockly.Msg.TEXT_APPEND_TEXT_HELPURL = '';
Blockly.Msg.TEXT_APPEND_TEXT_TOOLTIP = 'Append text after the specified text and return the result';
Blockly.Msg.TEXT_APPEND_TEXT_MESSAGE0 = '%1 append text %2';



/*文本 - 结束 */


/*教科板 - 扩展 - Bluebit - 开始 */






Blockly.Msg.CocoRobo_AUDIO_SET_VOLUME_HELPURL = '';
Blockly.Msg.CocoRobo_AUDIO_SET_VOLUME_MESSAGE0 = 'Set Audio volume as %1';
Blockly.Msg.CocoRobo_AUDIO_SET_VOLUME_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_GET_MOTORPEED_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_MOTORPEED_MESSAGE0 = 'Expansion-board speed of DC motor %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_MOTORPEED_TOOLTIP = '';

Blockly.Msg.CocoRobo_M1M2_LED_ON_HELPURL = '';
Blockly.Msg.CocoRobo_M1M2_LED_ON_MESSAGE0 = 'Expansion-board set led at %1 brightness %2';
Blockly.Msg.CocoRobo_M1M2_LED_ON_TOOLTIP = '';

Blockly.Msg.CocoRobo_M1M2_LED_OFF_HELPURL = '';
Blockly.Msg.CocoRobo_M1M2_LED_OFF_MESSAGE0 = 'Expansion-board turn off led at %1';
Blockly.Msg.CocoRobo_M1M2_LED_OFF_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';

Blockly.Msg.CocoRobo_BLUEBIT_ULTRASONIC_MESSAGE0 = 'I2C ultrasonic value';
Blockly.Msg.CocoRobo_BLUEBIT_ULTRASONIC_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_ULTRASONIC_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';

Blockly.Msg.CocoRobo_BLUEBIT_READ_DIGITAL_MESSAGE0 = '%1 on pin %2 be triggered';
Blockly.Msg.CocoRobo_BLUEBIT_READ_DIGITAL_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_READ_DIGITAL_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';

Blockly.Msg.CocoRobo_BLUEBIT_READ_ANALOG_MESSAGE0 = '%1 on pin %2 analog value';
Blockly.Msg.CocoRobo_BLUEBIT_READ_ANALOG_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_READ_ANALOG_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';

Blockly.Msg.CocoRobo_BLUEBIT_SET_ANALOG_MESSAGE0 = 'Set LED on pin %2 value as %1';
Blockly.Msg.CocoRobo_BLUEBIT_SET_ANALOG_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_SET_ANALOG_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';

Blockly.Msg.CocoRobo_BLUEBIT_LINE_FOLLOWER_MESSAGE0 = 'Tracking sensor on pin %1 detected as black';
Blockly.Msg.CocoRobo_BLUEBIT_LINE_FOLLOWER_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_LINE_FOLLOWER_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';

Blockly.Msg.CocoRobo_BLUEBIT_SET_TRUE_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';
Blockly.Msg.CocoRobo_BLUEBIT_SET_TRUE_MESSAGE0 = 'Turn on %1 on pin %2';
Blockly.Msg.CocoRobo_BLUEBIT_SET_TRUE_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_SET_FALSE_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';
Blockly.Msg.CocoRobo_BLUEBIT_SET_FALSE_MESSAGE0 = 'Turn off %1 on pin %2';
Blockly.Msg.CocoRobo_BLUEBIT_SET_FALSE_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_ON_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE';
Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_ON_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_ON_MESSAGE0 = 'Turn on recorder %1 %2 REC %3  PLAY %4';

Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_OFF_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE';
Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0 = 'Turn off recorder %1  REC %2  PLAY %3';

Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_PLAY = 'PLAY';
Blockly.Msg.CocoRobo_BLUEBIT_VOICE_RECORD_REC = 'REC';

Blockly.Msg.STOP = 'STOP';

Blockly.Msg.CocoRobo_BLUEBIT_IR_RECEIVE = 'Infrared detection';
Blockly.Msg.CocoRobo_BLUEBIT_SOUND = 'Microphone';
Blockly.Msg.CocoRobo_BLUEBIT_LINE_FOLLOWER = 'Tracking sensor';
Blockly.Msg.CocoRobo_BLUEBIT_VIBRATION = 'Vibration sensor';
Blockly.Msg.CocoRobo_BLUEBIT_RFID = 'RF card';
Blockly.Msg.CocoRobo_BLUEBIT_FINGERPRINT_SCANNER = 'Fingerprint scanner';
Blockly.Msg.CocoRobo_BLUEBIT_PIR = 'PIR sensor';
Blockly.Msg.CocoRobo_BLUEBIT_MAGNETIC = 'Magnetic switch';
Blockly.Msg.CocoRobo_BLUEBIT_BUTTON = 'Button';

Blockly.Msg.CocoRobo_BLUEBIT_FAN = 'Fan';
Blockly.Msg.CocoRobo_BLUEBIT_LASER = 'Laser';

Blockly.Msg.CocoRobo_BLUEBIT_NTC_TEMP = 'NTC temperature';
Blockly.Msg.CocoRobo_BLUEBIT_WATER = 'Water level';
Blockly.Msg.CocoRobo_BLUEBIT_SOIL_MOISTURE = 'Soil moisture';
Blockly.Msg.CocoRobo_BLUEBIT_ROTATE_DIMMER = 'Rotate dimmer';
Blockly.Msg.CocoRobo_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER = 'Inear sliding potentiometer';
Blockly.Msg.CocoRobo_BLUEBIT_ANALOG_LIGHT = 'Analog light';
Blockly.Msg.CocoRobo_BLUEBIT_LM35_TEMP = 'LM35 temperature';

Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_CLOCKWISE = 'Corotation';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_ANTICLOCKWISE = 'Reverse';

Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_HELPURL = 'http://wiki.labplus.hk/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_TOOLTIP = 'Speed：Map -100~100 to -1023~1023';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_MESSAGE0 = 'Turn on DC motor %1 speed %2 pin AIN1 %3 pin AIN2 %4';

Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_HELPURL = 'http://wiki.labplus.hk/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_MESSAGE0 = 'Stop DC motor %1 pin AIN1 %2 pin AIN2 %3';

Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_MESSAGE0 = 'Expansion-board turn on the fan %1';
Blockly.Msg.CocoRobo_LEFT = 'LEFT';
Blockly.Msg.CocoRobo_RIGHT = 'RIGHT';

Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_OFF_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_OFF_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_SET_FAN_OFF_MESSAGE0 = 'Expansion-board turn off the fan %1';

Blockly.Msg.CocoRobo_BLUEBIT_4BUTTON_HELPURL = 'http://wiki.CocoRobo_BLUEBIT.hk/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE';
Blockly.Msg.CocoRobo_BLUEBIT_4BUTTON_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_4BUTTON_MESSAGE0 = 'Navigation button module pin %1 button %2 is pressed';
Blockly.Msg.BLUE = 'A';
Blockly.Msg.GREEN = 'B';
Blockly.Msg.RED = 'C';
Blockly.Msg.YELLOW = 'D';

Blockly.Msg.CocoRobo_BLUEBIT_JOYSTICK_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_JOYSTICK_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_JOYSTICK_MESSAGE0 = 'Thumb joystick pin A0 %1 pin A1 %2  %3 axis';

Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_I2C_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_I2C_TOOLTIP = 'Speed: 0~100';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_ON_I2C_MESSAGE0 = 'Expansion-board turn on DC motor %1 %2 speed %3';

Blockly.Msg.CocoRobo_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP = 'Speed: 0~100';
Blockly.Msg.CocoRobo_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0 = 'Expansion-board stop DC motor';

Blockly.Msg.CocoRobo_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP = 'Speed: -1023~1023';
Blockly.Msg.CocoRobo_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0 = 'Coded motor mode%1 dial code%2 M1 speed%3 M2 speed%4';

Blockly.Msg.CocoRobo_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP = 'Stop Coding Motor Rotation';
Blockly.Msg.CocoRobo_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0 = 'Stop Coding Motor Rotation %1';

Blockly.Msg.CocoRobo_BLUEBIT_INIT_MIDI_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_INIT_MIDI_MESSAGE0 = 'Initialize MIDI TX pin %1';
Blockly.Msg.CocoRobo_BLUEBIT_INIT_MIDI_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_MIDI_VOLUME_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MIDI_VOLUME_MESSAGE0 = 'Set MIDI volume as %1';
Blockly.Msg.CocoRobo_BLUEBIT_MIDI_VOLUME_TOOLTIP = 'Volume range:0~127';

Blockly.Msg.MIDI_PIANO = "ACOUSTIC GRAND PIANO"; //ACOUSTIC GRAND PIANO
Blockly.Msg.MIDI_BRIGHTACOUSTICPIANO = "BRIGHT ACOUSTIC PIANO";
Blockly.Msg.MIDI_ELECTRICGRANDPIANO = "ELECTRIC GRAND PIANO";
Blockly.Msg.MIDI_HARPSICHORD = "HARPSICHORD";
Blockly.Msg.MIDI_CELESTA = "CELESTA";
Blockly.Msg.MIDI_GLOCKENSPIEL = "GLOCKENSPIEL";
Blockly.Msg.MIDI_MUSICALBOX = "MUSICAL BOX";
Blockly.Msg.MIDI_MARIMBA = "MARIMBA";
Blockly.Msg.MIDI_XYLOPHONE = "XYLOPHONE";
Blockly.Msg.MIDI_TUBULARBELL = "TUBULAR BELL";
Blockly.Msg.MIDI_DULCIMER = "DULCIMER";
Blockly.Msg.MIDI_VIBRAPHONE = "VIBRAPHONE"; //VIBRAPHONE
Blockly.Msg.MIDI_ORGAN = "DRAWBAR ORGAN"; //DRAWBAR ORGAN
Blockly.Msg.MIDI_ACOUSTIC_GUITAR = "ACOUSTIC GUITAR"; //ACOUSTIC GUITAR
Blockly.Msg.MIDI_ELECTRIC_GUITAR = "ELECTRIC GUITAR"; //ELECTRIC GUITAR
Blockly.Msg.MIDI_ACOUSTIC_BASS = "ACOUSTIC BASS";  //ACOUSTIC BASS
Blockly.Msg.MIDI_STRING_ENSEMBLE = "STRING ENSEMBLE";  //STRING ENSEMBLE
Blockly.Msg.MIDI_VIOLIN = "VIOLIN";  //VIOLIN
Blockly.Msg.MIDI_TRUMPET = "TRUMPET";  //TRUMPET
Blockly.Msg.MIDI_SAX = "SAX";  //SAX
Blockly.Msg.MIDI_STEEL_DRUMS = "STEEL DRUMS";  //STEEL DRUMS
Blockly.Msg.MIDI_LEAD = "LEAD";  //LEAD
Blockly.Msg.MIDI_PAD = "PAD";  //PAD

Blockly.Msg.CocoRobo_BLUEBIT_MIDI_INSTRUMENT_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0 = 'Set MIDI instrument as %1';
Blockly.Msg.CocoRobo_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_MIDI_PLAY_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MIDI_PLAY_MESSAGE0 = 'MIDI %1 tone %2';
Blockly.Msg.CocoRobo_BLUEBIT_MIDI_PLAY_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0 = 'Set matrix`s brightness level as %1';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP = 'Brightness level:0~15';

Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_FILL_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_FILL_MESSAGE0 = 'Set matrix %1';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_FILL_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BITMAP_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BITMAP_MESSAGE0 = 'Set matrix  %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_BITMAP_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_SHOW_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_SHOW_MESSAGE0 = 'The setting of matrix takes effect';
Blockly.Msg.CocoRobo_BLUEBIT_MATRIX_SHOW_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_MESSAGE0 = 'Set MP3 volume as %1';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_TOOLTIP = 'Volume:0~30';

Blockly.Msg.CocoRobo_BLUEBIT_MP3_INIT_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_INIT_MESSAGE0 = 'Init MP3 TX pin %1';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_INIT_TOOLTIP = 'The tx pin of the cocorobo board is connected to the RXI pin of the music module';

Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_PLUS_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0 = 'MP3 volume %1';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP = '';
Blockly.Msg.CocoRobo_PLUS_1 = 'Plus 1';
Blockly.Msg.CocoRobo_MINUS_1 = 'Minus 1';

Blockly.Msg.CocoRobo_BLUEBIT_MP3_PLAY_SONG_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_PLAY_SONG_MESSAGE0 = 'Mp3 plays song with order %1';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_PLAY_SONG_TOOLTIP = '';

Blockly.Msg.PAUSE = 'PAUSE';
Blockly.Msg.STOP = 'STOP';
Blockly.Msg.PLAY = 'GO ON';
Blockly.Msg.PLAYNEXT = 'NEXT SONG';
Blockly.Msg.PLAYPREV = 'LAST SONG';

Blockly.Msg.CocoRobo_BLUEBIT_MP3_CMD_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_CMD_MESSAGE0 = 'MP3 play %1';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_CMD_TOOLTIP = '';

Blockly.Msg.LABPLUS_USB_SWITCH_ON = 'ON';
Blockly.Msg.LABPLUS_USB_SWITCH_OFF = 'OFF';

Blockly.Msg.CocoRobo_BLUEBIT_MP3_SINGLELOOP_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_SINGLELOOP_MESSAGE0 = 'MP3 single-loop mode %1';
Blockly.Msg.CocoRobo_BLUEBIT_MP3_SINGLELOOP_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_IOMODE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_IOMODE_MESSAGE0 = 'Set EXT IO module`s IO %2 as %1';
Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_IOMODE_TOOLTIP = 'IO: 0~7';

Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT = 'OUTPUT';
Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT = 'INPUT';

Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_READIO_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_READIO_MESSAGE0 = 'Value of EXT IO at IO %1';
Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_READIO_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_WRITEIO_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_WRITEIO_MESSAGE0 = 'Set EXT IO module`s IO %2 as %1';
Blockly.Msg.CocoRobo_BLUEBIT_EXTIO_WRITEIO_TOOLTIP = '';

Blockly.Msg.CocoRobo_LCD_OBJECT_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_OBJECT_MESSAGE0 = 'Initialise LCD1602';
Blockly.Msg.CocoRobo_LCD_OBJECT_TOOLTIP = '';

Blockly.Msg.CocoRobo_LCD_PRINT_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_PRINT_MESSAGE0 = 'LCD1602 display %1';
Blockly.Msg.CocoRobo_LCD_PRINT_TOOLTIP = '';

Blockly.Msg.CocoRobo_LCD_HOME_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_HOME_MESSAGE0 = 'LCD1602 cursor returns to the origin';
Blockly.Msg.CocoRobo_LCD_HOME_TOOLTIP = '';

Blockly.Msg.CocoRobo_LCD_CURSOR_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_CURSOR_MESSAGE0 = 'LCD1602 cursor %1';
Blockly.Msg.CocoRobo_LCD_CURSOR_TOOLTIP = '';

Blockly.Msg.CocoRobo_LCD_SET_CURSOR_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_SET_CURSOR_MESSAGE0 = 'LCD1602 starts with row %2 column %1';
Blockly.Msg.CocoRobo_LCD_SET_CURSOR_TOOLTIP = 'Row and column count from 0';

Blockly.Msg.CocoRobo_LCD_CLEAR_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_CLEAR_MESSAGE0 = 'LCD1602 clear';
Blockly.Msg.CocoRobo_LCD_CLEAR_TOOLTIP = '';

Blockly.Msg.CocoRobo_LCD_CURSOR_BLINK = 'BLINK';
Blockly.Msg.CocoRobo_LCD_CURSOR_NO_BLINK = 'NO BLINK';

Blockly.Msg.CocoRobo_LEFT_TO_RIGHT = 'LEFT TO RIGHT';
Blockly.Msg.CocoRobo_RIGHT_TO_LEFT = 'RIGHT TO LEFT';

Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_MESSAGE0 = 'LCD1602 text direction %1';
Blockly.Msg.CocoRobo_LCD_TEXT_DIRECTION_TOOLTIP = '';

Blockly.Msg.CocoRobo_LCD_MOVE_HELPURL = '';
Blockly.Msg.CocoRobo_LCD_MOVE_MESSAGE0 = 'LCD1602 scrolls a column to %1';
Blockly.Msg.CocoRobo_LCD_MOVE_TOOLTIP = '';

Blockly.Msg.CocoRobo_IR_TRANS_HELPURL = '';
Blockly.Msg.CocoRobo_IR_TRANS_MESSAGE0 = 'Infrared transmission of string with one byte length %1 tx pin %2';
Blockly.Msg.CocoRobo_IR_TRANS_TOOLTIP =
    `
string with one byte length: 'A', 'b', '1' and so on
`

Blockly.Msg.OUTPUT_PIN_HELPURL = '';
Blockly.Msg.OUTPUT_PIN_MESSAGE0 = '%1';
Blockly.Msg.OUTPUT_PIN_TOOLTIP = "";

Blockly.Msg.INPUT_PIN_HELPURL = '';
Blockly.Msg.INPUT_PIN_MESSAGE0 = '%1';
Blockly.Msg.INPUT_PIN_TOOLTIP = "";

Blockly.Msg.READ_ANALOG_PIN_HELPURL = ''
Blockly.Msg.READ_ANALOG_PIN_MESSAGE0 = '%1'
Blockly.Msg.READ_ANALOG_PIN_TOOLTIP = ""

Blockly.Msg.SET_DIGITAL_HELPURL = ''
Blockly.Msg.SET_DIGITAL_MESSAGE0 = '%1'
Blockly.Msg.SET_DIGITAL_TOOLTIP = ""

Blockly.Msg.SET_ANALOG_HELPURL = ''
Blockly.Msg.SET_ANALOG_MESSAGE0 = '%1'
Blockly.Msg.SET_ANALOG_TOOLTIP = ""

Blockly.Msg.ALL_PIN_HELPURL = ''
Blockly.Msg.ALL_PIN_MESSAGE0 = '%1'
Blockly.Msg.ALL_PIN_TOOLTIP = ""

Blockly.Msg.PWM_PIN_HELPURL = ''
Blockly.Msg.PWM_PIN_MESSAGE0 = '%1'
Blockly.Msg.PWM_PIN_TOOLTIP = ""

Blockly.Msg.DH11_HUM_TEM_PIN_HELPURL = ''
Blockly.Msg.DH11_HUM_TEM_PIN_MESSAGE0 = '%1'
Blockly.Msg.DH11_HUM_TEM_PIN_TOOLTIP = ""

Blockly.Msg.UART_TX_PIN_HELPURL = ''
Blockly.Msg.UART_TX_PIN_MESSAGE0 = '%1'
Blockly.Msg.UART_TX_PIN_TOOLTIP = ""

Blockly.Msg.UART_RX_PIN_HELPURL = ''
Blockly.Msg.UART_RX_PIN_MESSAGE0 = '%1'
Blockly.Msg.UART_RX_PIN_TOOLTIP = ""

Blockly.Msg.I2C_PIN_HELPURL = ''
Blockly.Msg.I2C_PIN_MESSAGE0 = '%1'
Blockly.Msg.I2C_PIN_TOOLTIP = ""






Blockly.Msg.MQTT_COMMON_SETUP_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/umqtt.simple.html?highlight=mqtt#MQTTClient'
Blockly.Msg.MQTT_COMMON_SETUP_MESSAGE0 = 'MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7';
Blockly.Msg.MQTT_COMMON_SETUP_TOOLTIP = "";

Blockly.Msg.MQTT_TENCENT_SETUP_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/umqtt.simple.html?highlight=mqtt#MQTTClient'
Blockly.Msg.MQTT_TENCENT_SETUP_MESSAGE0 = 'MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8';
Blockly.Msg.MQTT_TENCENT_SETUP_TOOLTIP = "";

Blockly.Msg.MQTT_TENCENT_SETUPS_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/umqtt.simple.html?highlight=mqtt#MQTTClient'
Blockly.Msg.MQTT_TENCENT_SETUPS_MESSAGE0 = 'MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8';
Blockly.Msg.MQTT_TENCENT_SETUPS_TOOLTIP = "";

Blockly.Msg.MQTT_SETUP_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2'
Blockly.Msg.MQTT_SETUP_MESSAGE0 = 'MQTT-Easy IoT %1 Server %2 Client ID %5 Iot_id %3 Iot_pwd %4';
Blockly.Msg.MQTT_SETUP_TOOLTIP = '';

Blockly.Msg.MQTT_CONNECT_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2'
Blockly.Msg.MQTT_CONNECT_MESSAGE0 = 'Connect to MQTT';
Blockly.Msg.MQTT_CONNECT_TOOLTIP = '';

Blockly.Msg.MQTT_PUBLISH_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2'
Blockly.Msg.MQTT_PUBLISH_MESSAGE0 = 'Publish %1 to topic %2';
Blockly.Msg.MQTT_PUBLISH_TOOLTIP = '';

Blockly.Msg.MQTT_REC_FROM_TOPIC_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2'
Blockly.Msg.MQTT_REC_FROM_TOPIC_MESSAGE0 = 'When recieved %2 from topic %1';
Blockly.Msg.MQTT_REC_FROM_TOPIC_TOOLTIP = '';

Blockly.Msg.MQTT_RECEIVE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2'
Blockly.Msg.MQTT_RECEIVE_MESSAGE0 = 'When recieved %2 from topic %1';
Blockly.Msg.MQTT_RECEIVE_TOOLTIP = "Parameter \"topic\" only accepts variable";

Blockly.Msg.MQTT_WAIT_MSG_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2'
Blockly.Msg.MQTT_WAIT_MSG_MESSAGE0 = 'Wait for topic message in %1 mode';
Blockly.Msg.MQTT_WAIT_MSG_TOOLTIP = "It is recommended to run in 'while True'";

Blockly.Msg.MQTT_DISCONNECT_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2'
Blockly.Msg.MQTT_DISCONNECT_MESSAGE0 = 'Disconnect from MQTT';
Blockly.Msg.MQTT_DISCONNECT_TOOLTIP = ''

Blockly.Msg.MQTT_LAST_WILL_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will'
Blockly.Msg.MQTT_LAST_WILL_MESSAGE0 = 'Set MQTT topic %2 last will message as %1';
Blockly.Msg.MQTT_LAST_WILL_TOOLTIP = 'Set the MQTT "last will" message. Should be called before connect().'


Blockly.Msg.CocoRobo_IR_RECV_HELPURL = '';
Blockly.Msg.CocoRobo_IR_RECV_MESSAGE0 = 'Infrared received int at rx pin %1';
Blockly.Msg.CocoRobo_IR_RECV_TOOLTIP = 'The first time the receive is always empty';

Blockly.Msg.CocoRobo_BLUEBIT_OLCD_PRINT_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_PRINT_MESSAGE0 = 'Bluebit LCD show %1 at x %2 y %3';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_PRINT_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_OLCD_INIT_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_INIT_MESSAGE0 = 'Bluebit LCD init at tx %1 rx %2';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_INIT_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_OLCD_CLEAR_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_CLEAR_MESSAGE0 = 'Bluebit LCD clear';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_CLEAR_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_OLCD_BMP_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_BMP_MESSAGE0 = 'Bluebit LCD show image x %1 y %2 width %3 height %4 with hex image data %5';
Blockly.Msg.CocoRobo_BLUEBIT_OLCD_BMP_TOOLTIP = '';


//MENUS
Blockly.Msg.MICROBIT_GESTURE_SHAKE = 'Shake';
Blockly.Msg.MICROBIT_GESTURE_UP = 'Up';
Blockly.Msg.MICROBIT_GESTURE_DOWN = 'Down';
Blockly.Msg.MICROBIT_GESTURE_LEFT = 'Left';
Blockly.Msg.MICROBIT_GESTURE_RIGHT = 'Right';
Blockly.Msg.MICROBIT_GESTURE_FACE_UP = 'Upward';
Blockly.Msg.MICROBIT_GESTURE_FACE_DOWN = 'Down';
Blockly.Msg.MICROBIT_GESTURE_FREEFAIL = 'Free fall';
Blockly.Msg.MICROBIT_IMAGE_HEART = 'Heart';
Blockly.Msg.MICROBIT_IMAGE_HEART_SMALL = 'Heart (small)';
Blockly.Msg.MICROBIT_IMAGE_HAPPY = 'Happy';
Blockly.Msg.MICROBIT_IMAGE_SMILE = 'Smile Face';
Blockly.Msg.MICROBIT_IMAGE_SAD = 'Sad';
Blockly.Msg.MICROBIT_IMAGE_CONFUSED = 'Confusion';
Blockly.Msg.MICROBIT_IMAGE_ANGRY = 'Angry';
Blockly.Msg.MICROBIT_IMAGE_ASLEEP = 'Sleep';
Blockly.Msg.MICROBIT_IMAGE_SUPRISED = 'Surprise';
Blockly.Msg.MICROBIT_IMAGE_SILLY = 'Stupid';
Blockly.Msg.MICROBIT_IMAGE_FABULOUS = 'Wonderful';
Blockly.Msg.MICROBIT_IMAGE_MEH = 'Boredom';
Blockly.Msg.MICROBIT_IMAGE_YES = 'Yes';
Blockly.Msg.MICROBIT_IMAGE_NO = 'No';
Blockly.Msg.MICROBIT_IMAGE_CLOCK12 = '12 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK11 = '11 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK10 = '10 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK9 = '9 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK8 = '8 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK7 = '7 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK6 = '6 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK5 = '5 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK4 = '4 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK3 = '3 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK2 = '2 clock';
Blockly.Msg.MICROBIT_IMAGE_CLOCK1 = '1 clock';
Blockly.Msg.MICROBIT_IMAGE_ARROW_N = 'Arrow-North';
Blockly.Msg.MICROBIT_IMAGE_ARROW_NE = 'Arrow-Northeast';
Blockly.Msg.MICROBIT_IMAGE_ARROW_E = 'Arrow-east';
Blockly.Msg.MICROBIT_IMAGE_ARROW_SE = 'arrow-southeast';
Blockly.Msg.MICROBIT_IMAGE_ARROW_S = 'Arrow-South';
Blockly.Msg.MICROBIT_IMAGE_ARROW_SW = 'Arrow-southwest';
Blockly.Msg.MICROBIT_IMAGE_ARROW_W = 'Arrow-West';
Blockly.Msg.MICROBIT_IMAGE_ARROW_NW = 'Arrow-Northwest';
Blockly.Msg.MICROBIT_IMAGE_TRIANGLE = 'Triangle';
Blockly.Msg.MICROBIT_IMAGE_TRIANGLE_LEFT = 'Left triangle';
Blockly.Msg.MICROBIT_IMAGE_CHESSBOARD = 'Chessboard';
Blockly.Msg.MICROBIT_IMAGE_DIAMOND = 'Diamond';
Blockly.Msg.MICROBIT_IMAGE_DIAMOND_SMALL = 'Diamond (small)';
Blockly.Msg.MICROBIT_IMAGE_SQUARE = 'Square';
Blockly.Msg.MICROBIT_IMAGE_SQUARE_SMALL = 'Square (small)';
Blockly.Msg.MICROBIT_IMAGE_RABBIT = 'Rabbit';
Blockly.Msg.MICROBIT_IMAGE_COW = 'Cow';
Blockly.Msg.MICROBIT_IMAGE_MUSIC_CROTCHET = 'Quarter note';
Blockly.Msg.MICROBIT_IMAGE_MUSIC_QUAVER = 'Octave';
Blockly.Msg.MICROBIT_IMAGE_MUSIC_QUAVERS = 'Tremolo';
Blockly.Msg.MICROBIT_IMAGE_PITCHFORK = 'Fork';
Blockly.Msg.MICROBIT_IMAGE_XMAS = 'Christmas Tree';
Blockly.Msg.MICROBIT_IMAGE_PACMAN = 'Bean Eater';
Blockly.Msg.MICROBIT_IMAGE_TARGET = 'Target';
Blockly.Msg.MICROBIT_IMAGE_TSHIRT = 'T-shirt';
Blockly.Msg.MICROBIT_IMAGE_ROLLERSKATE = 'Roller Skating';
Blockly.Msg.MICROBIT_IMAGE_DUCK = 'Duck';
Blockly.Msg.MICROBIT_IMAGE_HOUSE = 'House';
Blockly.Msg.MICROBIT_IMAGE_TORTOISE = 'Tortoise';
Blockly.Msg.MICROBIT_IMAGE_BUTTERFLY = 'Butterfly';
Blockly.Msg.MICROBIT_IMAGE_STICKFIGURE = 'Line drawing';
Blockly.Msg.MICROBIT_IMAGE_GHOST = 'Ghost';
Blockly.Msg.MICROBIT_IMAGE_SWORD = 'Sword';
Blockly.Msg.MICROBIT_IMAGE_GIRAFFE = 'Giraffe';
Blockly.Msg.MICROBIT_IMAGE_SKULL = 'Head';
Blockly.Msg.MICROBIT_IMAGE_UMBRELLA = 'Umbrella';
Blockly.Msg.MICROBIT_IMAGE_SNAKE = 'Snake';
Blockly.Msg.MICROBIT_IMAGE_ALL_CLOCKS = 'All Clocks';
Blockly.Msg.MICROBIT_IMAGE_ALL_ARROWS = 'All arrows';



/*教科板 - 扩展 - Bluebit - 结束 */

/*掌控实验箱*/
Blockly.Msg.CocoRobo_bme280_hum_tem_pre_MESSAGE0 = 'Meteorological %1';
Blockly.Msg.CocoRobo_bme280_hum_tem_pre_TOOLTIP = '%';

Blockly.Msg.CocoRobobox_sound_MESSAGE0 = 'Sound value';
Blockly.Msg.CocoRobobox_sound_TOOLTIP = '0~4095。';
Blockly.Msg.CocoRobobox_sound_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRoboBox/lib/CocoRobo.html';

Blockly.Msg.CocoRoboBOX_SLIDER_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRoboBox/lib/CocoRobo_box.html#CocoRobo-box';
Blockly.Msg.CocoRoboBOX_SLIDER_MESSAGE0 = 'Slide bar';
Blockly.Msg.CocoRoboBOX_SLIDER_TOOLTIP = '0~4095。';

Blockly.Msg.CocoRoboBOX_5BUTTON_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRoboBox/lib/CocoRobo_box.html#CocoRobo-box';
Blockly.Msg.CocoRoboBOX_5BUTTON_MESSAGE0 = 'Five way button%1';
Blockly.Msg.CocoRoboBOX_5BUTTON_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_MOTOR_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRoboBox/lib/CocoRobo_box.html#CocoRobo-box';
Blockly.Msg.CocoRoboBOX_MOTOR_MESSAGE0 = 'Motor speed%1';
Blockly.Msg.CocoRoboBOX_MOTOR_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_ULTRASONIC_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRoboBox/lib/CocoRobo_box.html#CocoRobo_box.get_key';
Blockly.Msg.CocoRoboBOX_ULTRASONIC_MESSAGE0 = 'Ultrasonic';
Blockly.Msg.CocoRoboBOX_ULTRASONIC_TOOLTIP = '3~340CM';

Blockly.Msg.CocoRoboBOX_THEHUMANBODYINFRARE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRoboBox/lib/CocoRobo_box.html#CocoRobo_box.get_key';
Blockly.Msg.CocoRoboBOX_THEHUMANBODYINFRARE_MESSAGE0 = 'Human body infrared';
Blockly.Msg.CocoRoboBOX_THEHUMANBODYINFRARE_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_RGB_pixel_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_pixel_MESSAGE0 = 'Set column%1 line%2  R%3 G%4 B%5';
Blockly.Msg.CocoRoboBOX_RGB_pixel_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_RGB_get_pixel_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_get_pixel_MESSAGE0 = 'Returns the RGB color of column%1, line%2';
Blockly.Msg.CocoRoboBOX_RGB_get_pixel_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_RGB_ImageText_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_ImageText_MESSAGE0 = 'Scroll Display Text%1 Speed%2';
Blockly.Msg.CocoRoboBOX_RGB_ImageText_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_RGB_Image_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_Image_MESSAGE0 = 'According to the image%1';
Blockly.Msg.CocoRoboBOX_RGB_Image_TOOLTIP = 'According to the image';

Blockly.Msg.CocoRoboBOX_RGB_SetImage_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_SetImage_MESSAGE0 = 'Create an image %1 The first line%2, the second line%3, the third line%4, the fourth line%5, the fifth line%6';
Blockly.Msg.CocoRoboBOX_RGB_SetImage_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_MESSAGE0 = 'Display image/text %1';
Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_TOOLTIP = '';
Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_HELPURL = '';

Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGEImport_MESSAGE0 = 'Display image %1';
Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGEImport_TOOLTIP = 'Display image。';
Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGEImport_HELPURL = '';

Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0 = 'Copy image %1';
Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP = 'Copy image';
Blockly.Msg.CocoRoboBOX_RGB_SHOW_IMAGE_Copy_HELPURL = '';

Blockly.Msg.CocoRoboBOX_RGB_ImageCot_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_ImageCot_MESSAGE0 = 'Cut image%1 column%2 rows%3 width%4 high%5';
Blockly.Msg.CocoRoboBOX_RGB_ImageCot_TOOLTIP = 'Cut image';

Blockly.Msg.CocoRoboBOX_RGB_IMAGE_BUILTINS_MESSAGE0 = 'Built in image %1';
Blockly.Msg.CocoRoboBOX_RGB_IMAGE_BUILTINS_TOOLTIP = 'Select a built-in image.';
Blockly.Msg.CocoRoboBOX_RGB_IMAGE_BUILTINS_HELPURL = '';

Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_MESSAGE0 = 'Translation image %1 %2 %3 ';
Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_TOOLTIP = 'Move the image in a specific direction and return the result of the move.';
Blockly.Msg.CocoRoboBOX_RGB_IMAGE_SHIFT_HELPURL = '';

Blockly.Msg.CocoRoboBOX_RGB_clear_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_clear_MESSAGE0 = 'Turn off all RGB';
Blockly.Msg.CocoRoboBOX_RGB_clear_TOOLTIP = '';

Blockly.Msg.CocoRoboBOX_RGB_pixel_return_HELPURL = '';
Blockly.Msg.CocoRoboBOX_RGB_pixel_return_MESSAGE0 = 'Return %1 column %2 line colour';
Blockly.Msg.CocoRoboBOX_RGB_pixel_return_TOOLTIP = 'Return to the number of columns, row RGB color';

Blockly.Msg.CocoRoboBOX_TRIAXIAL_ACCELERATION_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo.html';
Blockly.Msg.CocoRoboBOX_TRIAXIAL_ACCELERATION_MESSAGE0 = '%1Triaxial acceleration';
Blockly.Msg.CocoRoboBOX_TRIAXIAL_ACCELERATION_TOOLTIP = 'Unit g, range-2~+2g。';

Blockly.Msg.CocoRoboBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo.html';
Blockly.Msg.CocoRoboBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0 = '%1Triaxial angular velocity';
Blockly.Msg.CocoRoboBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP = 'Range±500°/seconds';

Blockly.Msg.CocoRoboBOX_EULER_ANGLE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo.html';
Blockly.Msg.CocoRoboBOX_EULER_ANGLE_MESSAGE0 = '%1Euler Angle';
Blockly.Msg.CocoRoboBOX_EULER_ANGLE_TOOLTIP = 'Returns the current euler Angle(Pitch,Roll,Yaw),Unit Angle';

Blockly.Msg.CocoRoboBOX_QUATERNION_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo.html';
Blockly.Msg.CocoRoboBOX_QUATERNION_MESSAGE0 = '%1quaternions';
Blockly.Msg.CocoRoboBOX_QUATERNION_TOOLTIP = 'Returns the current quaternion(w,x,y,z)';

Blockly.Msg.LIST_FIRST_INDEX_HELPURL = '';
Blockly.Msg.LIST_FIRST_INDEX_MESSAGE0 = 'Location of item%1 in list%2 %3';
Blockly.Msg.LIST_FIRST_INDEX_TOOLTIP = 'Returns the position where the specified string appears in the list %3';

/*AI类*/
Blockly.Msg.CocoRobo_AI_LCD_INIT_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.lcd.init';
Blockly.Msg.CocoRobo_AI_LCD_INIT_MESSAGE0 = 'Screen Initialization ';
Blockly.Msg.CocoRobo_AI_LCD_INIT_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_RESET_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0';
Blockly.Msg.CocoRobo_AI_SENSOR_RESET_MESSAGE0 = 'Initialize the camera';
Blockly.Msg.CocoRobo_AI_SENSOR_RESET_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F';
Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_MESSAGE0 = 'Camera%1';
Blockly.Msg.CocoRobo_AI_SENSOR_ENABLE_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_TEXT_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87';
Blockly.Msg.CocoRobo_AI_LCD_TEXT_MESSAGE0 = 'Display text x %1 y %2 content %3';
Blockly.Msg.CocoRobo_AI_LCD_TEXT_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_SKIP_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7';
Blockly.Msg.CocoRobo_AI_SENSOR_SKIP_MESSAGE0 = 'The number of frames skipped by the camera %1 Millisecond %2 ';
Blockly.Msg.CocoRobo_AI_SENSOR_SKIP_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_RETURN_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6';
Blockly.Msg.CocoRobo_AI_SENSOR_RETURN_MESSAGE0 = '测 摄像头 获取%1';
Blockly.Msg.CocoRobo_AI_SENSOR_RETURN_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_SETS_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6';
Blockly.Msg.CocoRobo_AI_SENSOR_SETS_MESSAGE0 = 'Camera set %1 as %2';
Blockly.Msg.CocoRobo_AI_SENSOR_SETS_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_GAIN_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A';
Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_GAIN_MESSAGE0 = 'Automatic gain of camera%1';
Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_GAIN_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_WHITEBAL_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A';
Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0 = 'Camera White Balance%1';
Blockly.Msg.CocoRobo_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F';
Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_MESSAGE0 = 'Camera %1 %2';
Blockly.Msg.CocoRobo_AI_SENSOR_LEVEL_MI_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.lcd.display';
Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_MESSAGE0 = 'Screen display takes effect';
Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_SIZE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.lcd.display';
Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_SIZE_MESSAGE0 = 'Image display takes effect x%1 y%2 wide%3 high%4';
Blockly.Msg.CocoRobo_AI_LCD_DISPLAY_SIZE_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_IMAGES_HELPURL = 'https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F';
Blockly.Msg.CocoRobo_AI_SENSOR_IMAGES_MESSAGE0 = 'Camera captures images';
Blockly.Msg.CocoRobo_AI_SENSOR_IMAGES_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_IMAGE_FACEDETECT_HELPURL = 'https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C';
Blockly.Msg.CocoRobo_AI_IMAGE_FACEDETECT_MESSAGE0 = 'Face recognition';
Blockly.Msg.CocoRobo_AI_IMAGE_FACEDETECT_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_REC_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_REC_MESSAGE0 = 'Rectangular%1 x%3 y%4 width%5 high%6 color R%7 G%8 B%9 coarsening%2';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_REC_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_STRING_MESSAGE0 = 'line x1%1 y1%2 reachx2%3 y2%4 Color isR%5 G%6 B%7 Thickening%8';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_STRING_TOOLTIP = '';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_STRING_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';

Blockly.Msg.CocoRobo_AI_LCD_CLEAR_ALL_MESSAGE0 = 'Clear screen display';
Blockly.Msg.CocoRobo_AI_LCD_CLEAR_ALL_TOOLTIP = '';
Blockly.Msg.CocoRobo_AI_LCD_CLEAR_ALL_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';

Blockly.Msg.CocoRobo_AI_LCD_return_colour_MESSAGE0 = 'LCD Return x%1 y%2 colour';
Blockly.Msg.CocoRobo_AI_LCD_return_colour_TOOLTIP = '';
Blockly.Msg.CocoRobo_AI_LCD_return_colour_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_CIRCLE_MESSAGE0 = 'circular%1 x%2 y%3 radius%4 colour R%5 G%6 B%7 Thickening%8';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_CIRCLE_TOOLTIP = '';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_CIRCLE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';

Blockly.Msg.CocoRobo_AI_LCD_TEXT_MOST_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';
Blockly.Msg.CocoRobo_AI_LCD_TEXT_MOST_MESSAGE0 = 'Display text x %1 y %2 content %3 colourR%4 G%5 B%6 size%7';
Blockly.Msg.CocoRobo_AI_LCD_TEXT_MOST_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_TEN_STRING_MESSAGE0 = 'Cross line  x%1 y%2 colourR%3 G%4 B%5 size%6 Thickening%7';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_TEN_STRING_TOOLTIP = '';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_TEN_STRING_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_ARROWS_MESSAGE0 = 'Arrow  x1%1 y1%2 x2%3 y2%4 colourR%5 G%6 B%7  Thickening%8';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_ARROWS_TOOLTIP = '';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_ARROWS_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.draw_rectangle';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL = '.https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.lcd.display';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0 = 'Display image path%1';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.invert';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0 = 'Image conversion to%1';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.linpolar';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0 = 'Image from Cartesian coordinates to%1 Reprojection of coordinates %2';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_EROSION_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.dilate';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0 = 'Image Expansion Level%1';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.midpoint';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0 = 'Image Point Filtering Level%1 Wave filtering%2';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MODE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.modehttps://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.mode';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0 = 'Image Modal Filtering Level%1';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.mean';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0 = 'Image Fuzzy Filtering Level%1';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.cartoon';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0 = 'Image Cartoonization Level%1 Initial Pixel Difference%2 Adjacent pixel difference%3';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_3D_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.rotation_corr';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_3D_MESSAGE0 = 'Image 3D Rotation Up and Down%1 Rotate left and right%2 degrees%3 or so move%4 up and down move%5 zoom%6';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_IMAGE_3D_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.copy';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_MESSAGE0 = 'Save a copy of the image to the SD card image name%1 Image display area x%2 y%3 wide%4 high%5';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.save';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0 = 'Create a copy of the image object to copy the image area  x%1 y%2 wide%3 high%4';
Blockly.Msg.CocoRobo_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI2_20CLASS_TRACKING_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_20CLASS_TRACKING_MESSAGE0 = '20 kinds of recognition';
Blockly.Msg.CocoRobo_AI2_20CLASS_TRACKING_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_MESSAGE0 = 'Handwritten Number Recognition';
Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_PIXEL_COLOUR_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html?highlight=get_pixel#CocoRobo_classroom_kit.image.set_pixel';
Blockly.Msg.CocoRobo_AI_LCD_PIXEL_COLOUR_MESSAGE0 = 'Screen x%1 y%2  Display color R%3 G%4 B%5';
Blockly.Msg.CocoRobo_AI_LCD_PIXEL_COLOUR_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_LCD_COLOUR_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.lcd.clear';
Blockly.Msg.CocoRobo_AI_LCD_COLOUR_MESSAGE0 = 'Screen Initialization Display Color R%1 G%2 B%3';
Blockly.Msg.CocoRobo_AI_LCD_COLOUR_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.camera.set_pixformat';
Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_MESSAGE0 = 'Initialize the camera, set pixel mode as %1';
Blockly.Msg.CocoRobo_AI_SENSOR_PATTERN_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_HELPURL = '';
Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0 = 'Tracking color display%1';
Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP = '';

//人脸检测
Blockly.Msg.CocoRobo_AI2_FACE_TRACKING_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_FACE_TRACKING_MESSAGE0 = 'Set the training model to "Face ID"';
Blockly.Msg.CocoRobo_AI2_FACE_TRACKING_TOOLTIP = 'It can recognize and track faces, display face size and so on';

Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_TRACKING_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_TRACKING_MESSAGE0 = 'Call the camera for "Face ID"';
Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_TRACKING_TOOLTIP = 'It can recognize and track faces, display face size and so on';

Blockly.Msg.CocoRobo_AI2_RESULT_FACE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_MESSAGE0 = 'Get the recognition result of "Face ID"';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_TOOLTIP = 'After acquisition and identification All the parameters';

Blockly.Msg.CocoRobo_AI2_RESULT_FACE_X_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_X_MESSAGE0 = 'Get the X coordinate of the "Face ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_X_TOOLTIP = 'After acquisition and identification x coordinates';

Blockly.Msg.CocoRobo_AI2_RESULT_FACE_Y_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_Y_MESSAGE0 = 'Get the Y coordinate of the "Face ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_Y_TOOLTIP = 'After acquisition and identification y coordinates';

Blockly.Msg.CocoRobo_AI2_RESULT_FACE_W_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_W_MESSAGE0 = 'Get the width of the "Face ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_W_TOOLTIP = 'After acquisition and identification width';

Blockly.Msg.CocoRobo_AI2_RESULT_FACE_H_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_H_MESSAGE0 = 'Get the height of the "Face ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_H_TOOLTIP = 'After acquisition and identification height';

Blockly.Msg.CocoRobo_AI2_RESULT_FACE_VALUE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_VALUE_MESSAGE0 = 'Get the confidence of the "Face ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_VALUE_TOOLTIP = 'After acquisition and identification Confidence';

Blockly.Msg.CocoRobo_AI2_RESULT_FACE_OBJNUM_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_OBJNUM_MESSAGE0 = 'Get the object count of the "Face ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_FACE_OBJNUM_TOOLTIP = 'After acquisition and identification number';

//20分类
Blockly.Msg.CocoRobo_AI2_20class_TRACKING_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_20class_TRACKING_MESSAGE0 = 'Set the training model to "20 Class ID"';
Blockly.Msg.CocoRobo_AI2_20class_TRACKING_TOOLTIP = 'Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV';

Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_20TRACKING_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0 = 'Call the camera for "20 Class ID"';
Blockly.Msg.CocoRobo_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_MESSAGE0 = 'Get the recognition result of "20 Class ID"';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_TOOLTIP = 'After acquisition and identification All the parameters';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_X_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_X_MESSAGE0 = 'Get the X coordinate of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_X_TOOLTIP = 'After acquisition and identification x coordinates';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_Y_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_Y_MESSAGE0 = 'Get the Y coordinate of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_Y_TOOLTIP = 'After acquisition and identification y coordinates';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_W_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_W_MESSAGE0 = 'Get the width of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_W_TOOLTIP = 'After acquisition and identification width';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_H_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_H_MESSAGE0 = 'Get the height of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_H_TOOLTIP = 'After acquisition and identification height';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_VALUE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_VALUE_MESSAGE0 = 'Get the confidence of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_VALUE_TOOLTIP = 'After acquisition and identification Confidence';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_OBJNUM_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0 = 'Get the object count of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP = 'After acquisition and identification number';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_CLASSID_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_CLASSID_MESSAGE0 = 'Get the type name of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_CLASSID_TOOLTIP = 'Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV';

Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_INDEX_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_INDEX_MESSAGE0 = 'Get the type count of the "20 Class ID" result';
Blockly.Msg.CocoRobo_AI2_RESULT_20CLASS_INDEX_TOOLTIP = 'After acquisition and identification type number';


//手写数字
Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_MESSAGE0 = 'Set the training model to "Number ID"';
Blockly.Msg.CocoRobo_AI2_NUMBER_DISCERN_TOOLTIP = 'Select training model handwritten numerals';

Blockly.Msg.CocoRobo_AI2_RESULT_NUMBER_DISCERN_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.model.select_model';
Blockly.Msg.CocoRobo_AI2_RESULT_NUMBER_DISCERN_MESSAGE0 = 'Call the camera for "Number ID"';
Blockly.Msg.CocoRobo_AI2_RESULT_NUMBER_DISCERN_TOOLTIP = 'Call camera identification';

Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ALL_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#id2';
Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ALL_MESSAGE0 = 'Get the recognition result of "Number ID"';
Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ALL_TOOLTIP = 'Handwritten digit recognition parameters';

Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_NUMBER_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#id2';
Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_NUMBER_MESSAGE0 = 'Get the digital of the "Number ID" result';
Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_NUMBER_TOOLTIP = 'Handwritten digits recognize Numbers';

Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ADIENCE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#id2';
Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0 = 'Get the confidence of the "Number ID" result';
Blockly.Msg.CocoRobo_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP = 'Handwritten digit recognition digital confidence';


//追踪色块
Blockly.Msg.CocoRobo_AI_TRACE_COLOR_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#CocoRobo_classroom_kit.image.find_blobs';
Blockly.Msg.CocoRobo_AI_TRACE_COLOR_MESSAGE0 = 'Trace color block LAB color %1 bounding box less than %2 pixels less than %3 filter';
Blockly.Msg.CocoRobo_AI_TRACE_COLOR_TOOLTIP = 'Track the color piece';

Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_HELPURL = '';
Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0 = 'Trace color display%1';
Blockly.Msg.CocoRobo_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP = '';

Blockly.Msg.CocoRobo_AI_BLOB_ALL_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_ALL_MESSAGE0 = 'Color piece block all parameters';
Blockly.Msg.CocoRobo_AI_BLOB_ALL_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_X_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_X_MESSAGE0 = 'Color piece x coordinates';
Blockly.Msg.CocoRobo_AI_BLOB_X_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_Y_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_Y_MESSAGE0 = 'Color piece y coordinates';
Blockly.Msg.CocoRobo_AI_BLOB_Y_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_W_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_W_MESSAGE0 = 'Color piece width';
Blockly.Msg.CocoRobo_AI_BLOB_W_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_H_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_H_MESSAGE0 = 'Color piece height';
Blockly.Msg.CocoRobo_AI_BLOB_H_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_NUMBER_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_NUMBER_MESSAGE0 = 'Color piece number';
Blockly.Msg.CocoRobo_AI_BLOB_NUMBER_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_CENTER_X_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_CENTER_X_MESSAGE0 = 'Color piece center x coordinates';
Blockly.Msg.CocoRobo_AI_BLOB_CENTER_X_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_CENTER_Y_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_CENTER_Y_MESSAGE0 = 'Color piece center y coordinates';
Blockly.Msg.CocoRobo_AI_BLOB_CENTER_Y_TOOLTIP = 'Returns blob class -- a color block object';

Blockly.Msg.CocoRobo_AI_BLOB_ORTHOGON_HELPURL = 'https://CocoRobo.readthedocs.io/zh/doc_CocoRobobox/CocoRobo_classroom_kit/lib/CocoRobo_classroom_kit.html#blob';
Blockly.Msg.CocoRobo_AI_BLOB_ORTHOGON_MESSAGE0 = 'Color piece rectangular';
Blockly.Msg.CocoRobo_AI_BLOB_ORTHOGON_TOOLTIP = 'Returns blob class -- a color block object';


//Pythons 训练身高体重比例
Blockly.Msg.CocoRobo_DRILL_WEIGHT_MESSAGE0 = 'Initialize training%1';
Blockly.Msg.CocoRobo_DRILL_WEIGHT_TOOLTIP = '';
Blockly.Msg.CocoRobo_DRILL_WEIGHT_HELPURL = '';

Blockly.Msg.CocoRobo_DRILL_LINEAR_REGRESSION_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_LINEAR_REGRESSION_MESSAGE0 = 'Instantiate the linear regression line';
Blockly.Msg.CocoRobo_DRILL_LINEAR_REGRESSION_TOOLTIP = '';

Blockly.Msg.CocoRobo_DRILL_TITLE_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_TITLE_MESSAGE0 = ' title%1 size%2';
Blockly.Msg.CocoRobo_DRILL_TITLE_TOOLTIP = '';

Blockly.Msg.CocoRobo_DRILL_LABEL_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_LABEL_MESSAGE0 = 'Label%1  title%2 size%3';
Blockly.Msg.CocoRobo_DRILL_LABEL_TOOLTIP = '';

Blockly.Msg.CocoRobo_DRILL_DRILL_REALITY_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_DRILL_REALITY_MESSAGE0 = 'Real data lines Sign marks%1 The color of r%2 g%3 b%4  title%5';
Blockly.Msg.CocoRobo_DRILL_DRILL_REALITY_TOOLTIP = '';

Blockly.Msg.CocoRobo_DRILL_PREDICTED_REALITY_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_PREDICTED_REALITY_MESSAGE0 = 'Predict linear regression lines Sign marks%1 The color of r%2 g%3 b%4  title%5';
Blockly.Msg.CocoRobo_DRILL_PREDICTED_REALITY_TOOLTIP = '';

Blockly.Msg.CocoRobo_DRILL_LEGEND_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_LEGEND_MESSAGE0 = 'Show legend';
Blockly.Msg.CocoRobo_DRILL_LEGEND_TOOLTIP = '';

Blockly.Msg.CocoRobo_DRILL_SHOW_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_SHOW_MESSAGE0 = 'Display images';
Blockly.Msg.CocoRobo_DRILL_SHOW_TOOLTIP = '';

Blockly.Msg.CocoRobo_DRILL_DRILL_PRINT_HELPURL = '';
Blockly.Msg.CocoRobo_DRILL_DRILL_PRINT_MESSAGE0 = 'Returns the corresponding key value%1';
Blockly.Msg.CocoRobo_DRILL_DRILL_PRINT_TOOLTIP = '';

//pythons 鸢尾花
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_INITIALIZE_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0 = 'Initialize Iris dataset';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_PCA_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_PCA_MESSAGE0 = 'Flower-de-luce Principal component analysis';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_PCA_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_FA3D_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_FA3D_MESSAGE0 = 'Flower-de-luce Factor analysis 3D';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_FA3D_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_FA_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_FA_MESSAGE0 = 'Flower-de-luce Factor analysis';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_FA_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0 = 'Predicting graphic flower-de-luce type%1 Render content x%3 y%4 Present species%2  color r%5 g%6 b%7  title%8 upward merge%9';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_DATA_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_DATA_MESSAGE0 = 'Predicting graphic Render content x%1 y%2 Present species%3  color r%4 g%5 b%6  title%7';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_DATA_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_DATA3D_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_DATA3D_MESSAGE0 = '3D Predicting graphic Render content x%1 y%2 z%3  color r%4 g%5 b%6  title%7';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_DATA3D_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_TITLE_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_TITLE_MESSAGE0 = ' Title%1 size%2';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_TITLE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LABEL_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LABEL_MESSAGE0 = 'Label%1  title%2 size%3';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LABEL_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_TITLE3D_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0 = '3D  title%1 size%2';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LABEL3D_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0 = '3D label%1  title%2 size%3';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LEGEND_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LEGEND_MESSAGE0 = 'Show legend';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LEGEND_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_SHOW_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_SHOW_MESSAGE0 = 'Display images';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_SHOW_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL = '';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0 = 'X and y coordinates of calyx and petals';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP = 'There are 150 records, representing 50 Iris-setosa, Iris-versicolor and Iris-virginica respectively';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_Iris_setosa = 'Iris setosa';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_Iris_versicolor = 'Iris versicolor';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_Iris_virginica = 'Iris virginica';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_scatter_diagram = 'Scatter diagram';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_kde_diagram = 'Kde diagram';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_box_diagram = 'Box diagram';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_merge = 'Merge';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_not_merge = 'Don it merge';

Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_calyx_length = 'Calyx length';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_calyx_width = 'Calyx width';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_petal_length = 'Petal length';
Blockly.Msg.CocoRoboS_FLOWER_DE_LUCE_petal_width = 'Petal width';

Blockly.Msg.CocoRobo_DRILL_DRILL_full_line = 'Full line';
Blockly.Msg.CocoRobo_DRILL_DRILL_dash_line = 'Dash line';
Blockly.Msg.CocoRobo_DRILL_DRILL_chain_line = 'Chain line';
Blockly.Msg.CocoRobo_DRILL_DRILL_imaginary_line = 'Imaginary line';

Blockly.Msg.CocoRobo_DRILL_DRILL_dot = 'Dot';
Blockly.Msg.CocoRobo_DRILL_DRILL_pixel = 'Pixel';
Blockly.Msg.CocoRobo_DRILL_DRILL_solid_rim = 'Solid rim';
Blockly.Msg.CocoRobo_DRILL_DRILL_down_triangle = 'Down triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_up_triangle = 'Up triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_right_triangle = 'Right triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_left_triangle = 'Left triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_down_flower_triangle = 'Down flower triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_up_flower_triangle = 'Up flower triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_right_flower_triangle = 'Right flower triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_left_flower_triangle = 'Left flower triangle';
Blockly.Msg.CocoRobo_DRILL_DRILL_solid_square = 'Solid square';
Blockly.Msg.CocoRobo_DRILL_DRILL_solid_pentagon = 'Solid pentagon';
Blockly.Msg.CocoRobo_DRILL_DRILL_star = 'Star';
Blockly.Msg.CocoRobo_DRILL_DRILL_vertical_hexagon = 'Vertical hexagon';
Blockly.Msg.CocoRobo_DRILL_DRILL_across_hexagon = 'Across hexagon';
Blockly.Msg.CocoRobo_DRILL_DRILL_cross = 'Cross';
Blockly.Msg.CocoRobo_DRILL_DRILL_X = 'X';
Blockly.Msg.CocoRobo_DRILL_DRILL_rhombus = 'Rhombus';
Blockly.Msg.CocoRobo_DRILL_DRILL_thin_rhombus = 'Thin rhombus';
Blockly.Msg.CocoRobo_DRILL_DRILL_vertical_line = 'Vertical line';


//Pythons 数字识别
Blockly.Msg.CocoRoboS_CONVERT_PICTURE_HELPURL = ' ';
Blockly.Msg.CocoRoboS_CONVERT_PICTURE_MESSAGE0 = ' Vonvert image to 28 ^ 2 binary image %1 pending image storage path %2 processed image storage path %3 format %4';
Blockly.Msg.CocoRoboS_CONVERT_PICTURE_TOOLTIP = 'Control board passes WIF to voice assistant via serial port ';

Blockly.Msg.CocoRoboS_NUMBER_REPERTOIRE_HELPURL = ' ';
Blockly.Msg.CocoRoboS_NUMBER_REPERTOIRE_MESSAGE0 = ' find parse handwritten numeric data store path %1';
Blockly.Msg.CocoRoboS_NUMBER_REPERTOIRE_TOOLTIP = 'Use handwritten number library ';

Blockly.Msg.CocoRoboS_SHOW_NUMBER_PATH_HELPURL = ' ';
Blockly.Msg.CocoRoboS_SHOW_NUMBER_PATH_MESSAGE0 = ' handwritten digital image storage path %1';
Blockly.Msg.CocoRoboS_SHOW_NUMBER_PATH_TOOLTIP = 'Path of handwritten digital image ';

Blockly.Msg.CocoRoboS_SHOW_NUMBER_HELPURL = ' ';
Blockly.Msg.CocoRoboS_SHOW_NUMBER_MESSAGE0 = ' display handwritten digital image ';
Blockly.Msg.CocoRoboS_SHOW_NUMBER_TOOLTIP = 'Display handwritten digital image ';

Blockly.Msg.CocoRoboS_NUMBER_RECOGNITION_HELPURL = ' ';
Blockly.Msg.CocoRoboS_NUMBER_RECOGNITION_MESSAGE0 = ' identify handwritten digital image storage path %1';
Blockly.Msg.CocoRoboS_NUMBER_RECOGNITION_TOOLTIP = 'Path to recognize handwritten digital image ';

Blockly.Msg.CocoRoboS_NUMBER_PLACEHOLDER_HELPURL = ' ';
Blockly.Msg.CocoRoboS_NUMBER_PLACEHOLDER_MESSAGE0 = ' create variable %1 initialize neural network tensor variable name %2';
Blockly.Msg.CocoRoboS_NUMBER_PLACEHOLDER_TOOLTIP = ' ';

Blockly.Msg.CocoRobo_DRILL_RESHAPE_MESSAGE0 = 'Create variable %1 and convert the input photo variable %2 into neural network output tensor %3';
Blockly.Msg.CocoRobo_DRILL_RESHAPE_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_DRILL_RESHAPE_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_CONV_WEIGHT_MESSAGE0 = 'Create variable %1 Shared variable name %2 initialization mode %3';
Blockly.Msg.CocoRobo_NUMBER_CONV_WEIGHT_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_CONV_WEIGHT_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_INITIALIZER_MESSAGE0 = 'Produce truncated normal distribution random number output tensor %1 standard deviation %2';
Blockly.Msg.CocoRobo_NUMBER_INITIALIZER_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_INITIALIZER_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_CONSTANT_MESSAGE0 = 'Create constant value %1 output tensor %2';
Blockly.Msg.CocoRobo_NUMBER_CONSTANT_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_CONSTANT_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_CONV2D_MESSAGE0 = 'Neural network output tensor %1 Shared variable %2 step size %3 fill %4';
Blockly.Msg.CocoRobo_NUMBER_CONV2D_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_CONV2D_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_CONV_BIASES_MESSAGE0 = 'Tensor %1';
Blockly.Msg.CocoRobo_NUMBER_CONV_BIASES_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_CONV_BIASES_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_CONV_CONV2D_MESSAGE0 = 'Convolution two-dimensional variable %1 %2';
Blockly.Msg.CocoRobo_NUMBER_CONV_CONV2D_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_CONV_CONV2D_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_RELU_MESSAGE0 = 'Create variable %1 Relu forward drive function convolution 2d layer %2';
Blockly.Msg.CocoRobo_NUMBER_RELU_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_RELU_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_MAX_POOL_MESSAGE0 = 'Pooling 2d layer variable %1 convolution layer %2 pooling window %3 step size %4 fill %5';
Blockly.Msg.CocoRobo_NUMBER_MAX_POOL_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_MAX_POOL_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_MATMUL_MESSAGE0 = 'The corresponding elements of the two parameters are multiplied x%1 y%2';
Blockly.Msg.CocoRobo_NUMBER_MATMUL_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_MATMUL_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_ADD_MESSAGE0 = 'Full connection layer variable %1 add elements of two parameters x%2 y%3';
Blockly.Msg.CocoRobo_NUMBER_ADD_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_ADD_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_SOFTMAX_MESSAGE0 = 'Create variable %1 prediction model accuracy variable name %2';
Blockly.Msg.CocoRobo_NUMBER_SOFTMAX_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_SOFTMAX_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_REDUCE_MEAN_MESSAGE0 = 'Create variable %1 loss function %2';
Blockly.Msg.CocoRobo_NUMBER_REDUCE_MEAN_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_REDUCE_MEAN_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_LOG_MESSAGE0 = 'Natural logarithm %1';
Blockly.Msg.CocoRobo_NUMBER_LOG_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_LOG_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_REDUCE_SUM_MESSAGE0 = 'Compress sum %1 dimension %2';
Blockly.Msg.CocoRobo_NUMBER_REDUCE_SUM_TOOLTIP = 'Because the log function is monotonically increasing, logP(Y|X) will also reach its maximum value, so maximizing P(Y|X) after adding a negative sign in front is equivalent to minimizing L.';
Blockly.Msg.CocoRobo_NUMBER_REDUCE_SUM_HELPURL = 'https://www.cnblogs.com/guoyaohua/p/9217206.html';

Blockly.Msg.CocoRobo_NUMBER_TRAIN_MESSAGE0 = 'Optimize learning rate %1';
Blockly.Msg.CocoRobo_NUMBER_TRAIN_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_TRAIN_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_MINIMIZE_MESSAGE0 = 'Create variable %1 optimize tensor %2';
Blockly.Msg.CocoRobo_NUMBER_MINIMIZE_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_MINIMIZE_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_INIT_MESSAGE0 = 'Initialization model complete ';
Blockly.Msg.CocoRobo_NUMBER_INIT_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_INIT_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_TRAIN_TEST_MESSAGE0 = 'Select handwritten number set %1 number %2';
Blockly.Msg.CocoRobo_NUMBER_TRAIN_TEST_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_TRAIN_TEST_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN_MESSAGE0 = 'Start data stream graph session to compute session %1 picture %2 tag %3';
Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN2_MESSAGE0 = 'Start data stream graph session to compute session %1 picture %2 tag %3';
Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN2_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN2_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN3_MESSAGE0 = 'Prediction model %1 fit %2 session %3';
Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN3_TOOLTIP = ' ';
Blockly.Msg.CocoRobo_NUMBER_SESSION_RUN3_HELPURL = ' ';

Blockly.Msg.CocoRobo_NUMBER_EQUAL_MESSAGE0 = 'Whether each dimension of two tensors is equalx%1 y%2';
Blockly.Msg.CocoRobo_NUMBER_EQUAL_TOOLTIP = '';
Blockly.Msg.CocoRobo_NUMBER_EQUAL_HELPURL = '';

Blockly.Msg.CocoRobo_NUMBER_ARGMAX_MESSAGE0 = 'Tensor%1 %2Compare the index that returns the maximum value';
Blockly.Msg.CocoRobo_NUMBER_ARGMAX_TOOLTIP = '';
Blockly.Msg.CocoRobo_NUMBER_ARGMAX_HELPURL = '';

Blockly.Msg.CocoRobo_NUMBER_CAST_MESSAGE0 = 'Floating point %1';
Blockly.Msg.CocoRobo_NUMBER_CAST_TOOLTIP = '';
Blockly.Msg.CocoRobo_NUMBER_CAST_HELPURL = '';

Blockly.Msg.CocoRoboS_NUMBER_SAVER_SAVE_HELPURL = '';
Blockly.Msg.CocoRoboS_NUMBER_SAVER_SAVE_MESSAGE0 = 'Handwritten numeral recognition model  variable name %1 store path%2';
Blockly.Msg.CocoRoboS_NUMBER_SAVER_SAVE_TOOLTIP = 'MNIST Handwritten numeral recognition model Save the path';

Blockly.Msg.CocoRoboS_NUMBER_SAVER_RESTORE_HELPURL = '';
Blockly.Msg.CocoRoboS_NUMBER_SAVER_RESTORE_MESSAGE0 = 'Load model %1 store path%2';
Blockly.Msg.CocoRoboS_NUMBER_SAVER_RESTORE_TOOLTIP = 'Load model';

Blockly.Msg.CocoRoboS_NUMBER_SAME = 'SAME';
Blockly.Msg.CocoRoboS_NUMBER_VALID = 'VALID';

Blockly.Msg.CocoRoboS_NUMBER_train = 'Train';
Blockly.Msg.CocoRoboS_NUMBER_test = 'Test';

Blockly.Msg.CocoRoboS_NUMBER_row = 'Row';
Blockly.Msg.CocoRoboS_NUMBER_rank = 'Rank';


//Pythons 人脸检测
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_CAMERA_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_CAMERA_MESSAGE0 = 'Call camera %1';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_CAMERA_TOOLTIP = 'Call the built-in camera in the notebook, so the parameter is 0. If there are other cameras, the parameter can be adjusted to 1,2';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_CAMERA_OFF_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0 = 'Off the camera';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0 = 'Delete all Windows';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0 = 'Load model store path%1';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_READ_IMAGES_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0 = 'Read the picture from the camera';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP = 'Ret True if the image is read, otherwise false;The second parameter is frame, which is the image of the currently captured frame.';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0 = 'Grayscale image';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_DETECTION_FACES_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0 = 'Each time the face is detected, the image size is reduced proportionally%1';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0 = 'Face area displays rectangular box  color r%1 g%2 b%3';
Blockly.Msg.CocoRoboS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0 = 'Save the image location%1 ID%2 Serial number%3';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0 = 'Window to display the image filename%1';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_ESC_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_ESC_MESSAGE0 = 'Exit via esc key';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_ESC_TOOLTIP = 'Use only when the window is on top';

Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_MESSAGE0 = 'Gets the coordinate value of the face in the image  face%1';
Blockly.Msg.CocoRoboS_FACE_RECOGNITIONR_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_JUDGE_FACES_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0 = 'If the image is read';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0 = 'Whether to turn on the camera';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0 = 'Get photos and id Photo storage path%1';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0 = 'Initialize Training model';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_START_DRILL_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_START_DRILL_MESSAGE0 = 'Start Training model';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_START_DRILL_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0 = '%1Training model store path%2';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0 = 'Face model training number';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FONT_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FONT_MESSAGE0 = 'Window display Recognized name%1 Set font to%2 color r%3 g%4 b%5';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FONT_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_PERCENT_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_PERCENT_MESSAGE0 = 'Window display Confidence of identification%1 Set font to%2 color r%3 g%4 b%5';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_PERCENT_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL = '';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0 = 'Predict human face name%1 Degree of confidence%2';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP = '';

Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FORECAST_Write = 'Write';
Blockly.Msg.CocoRoboS_FACE_RECOGNITION_FORECAST_Read = 'Read';






Blockly.Msg.FIRST = 'First';
Blockly.Msg.LAST = 'Last';

Blockly.Msg.CocoRobo_USOCKET_BLOCK = 'Block';
Blockly.Msg.CocoRobo_USOCKET_UNBLOCK = 'Unblock';

Blockly.Msg.CocoRobo_USOCKET_SETSOCKOPT_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket';
Blockly.Msg.CocoRobo_USOCKET_SETSOCKOPT_MESSAGE0 = 'Set socket %1 with af %2 and type %3';
Blockly.Msg.CocoRobo_USOCKET_SETSOCKOPT_TOOLTIP = 'Sets the value of a given socket option. The required symbolic constants are defined in the socket module (SO_*, etc.). This value can be an integer or a class byte object representing a buffer.';

Blockly.Msg.CocoRobo_USOCKET_READ_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read';
Blockly.Msg.CocoRobo_USOCKET_READ_MESSAGE0 = 'Read %2 bytes from socket %1 and returns a byte object';
Blockly.Msg.CocoRobo_USOCKET_READ_TOOLTIP = 'If no number of read is given, run in a mode similar to socket.readall ()';

Blockly.Msg.CocoRobo_USOCKET_SETBLOCKING_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking';
Blockly.Msg.CocoRobo_USOCKET_SETBLOCKING_MESSAGE0 = 'Set socket %1 as %2 mode ';
Blockly.Msg.CocoRobo_USOCKET_SETBLOCKING_TOOLTIP = '';

Blockly.Msg.CocoRobo_USOCKET_SETTIMEOUT_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout';
Blockly.Msg.CocoRobo_USOCKET_SETTIMEOUT_MESSAGE0 = 'Socket %1 sets timeout as %2 seconds';
Blockly.Msg.CocoRobo_USOCKET_SETTIMEOUT_TOOLTIP = '';

Blockly.Msg.CocoRobo_USOCKET_SENDALL_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send';
Blockly.Msg.CocoRobo_USOCKET_SENDALL_MESSAGE0 = 'Socket%1 sends%2 continuously and returns the number of bytes sent';
Blockly.Msg.CocoRobo_USOCKET_SENDALL_TOOLTIP = 'Send all data to sockets. Sockets must be connected to remote sockets. Unlike send (), this method will attempt to send all data by sending blocks continuously.';

Blockly.Msg.CocoRobo_USOCKET_SENDS_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send';
Blockly.Msg.CocoRobo_USOCKET_SENDS_MESSAGE0 = 'Socket %1 send %2 and returns the number of bytes sent';
Blockly.Msg.CocoRobo_USOCKET_SENDS_TOOLTIP = 'Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).';

Blockly.Msg.CocoRobo_USOCKET_SEND_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send';
Blockly.Msg.CocoRobo_USOCKET_SEND_MESSAGE0 = 'Socket %1 send %2 and returns the number of bytes sent';
Blockly.Msg.CocoRobo_USOCKET_SEND_TOOLTIP = 'Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).';

Blockly.Msg.CocoRobo_LINE_BREAK_HELPURL = '';
Blockly.Msg.CocoRobo_LINE_BREAK_MESSAGE0 = 'Escape character %1';
Blockly.Msg.CocoRobo_LINE_BREAK_TOOLTIP = 'Escape character';

Blockly.Msg.CocoRobo_USOCKET_SENDTO_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto';
Blockly.Msg.CocoRobo_USOCKET_SENDTO_MESSAGE0 = 'Socket %1 send %2 to address %3';
Blockly.Msg.CocoRobo_USOCKET_SENDTO_TOOLTIP = 'Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.';

Blockly.Msg.CocoRobo_USOCKET_RECV_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv';
Blockly.Msg.CocoRobo_USOCKET_RECV_MESSAGE0 = 'Socket %1 receives with maximum amount %2 and returns received data object';
Blockly.Msg.CocoRobo_USOCKET_RECV_TOOLTIP = '';

Blockly.Msg.CocoRobo_TEXT_ESC_HELPURL = '';
Blockly.Msg.CocoRobo_TEXT_ESC_MESSAGE0 = 'Text ESC %1';
Blockly.Msg.CocoRobo_TEXT_ESC_TOOLTIP = 'Text ESC';

Blockly.Msg.CocoRobo_USOCKET_RECVFROM_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom';
Blockly.Msg.CocoRobo_USOCKET_RECVFROM_MESSAGE0 = 'Socket %1 receives with maximum amount %2 and returns received data tuple';
Blockly.Msg.CocoRobo_USOCKET_RECVFROM_TOOLTIP = 'Tuple format: (bytes, address)';



Blockly.Msg.CocoRobo_USOCKET_CONNECT_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect';
Blockly.Msg.CocoRobo_USOCKET_CONNECT_MESSAGE0 = 'Socket %1 connect to host %2 with port %3';
Blockly.Msg.CocoRobo_USOCKET_CONNECT_TOOLTIP = '';

Blockly.Msg.CocoRobo_USOCKET_GETADDRINFO_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo';
Blockly.Msg.CocoRobo_USOCKET_GETADDRINFO_MESSAGE0 = 'Parse host %1 with port %2 and return ip';
Blockly.Msg.CocoRobo_USOCKET_GETADDRINFO_TOOLTIP = 'Internet required';

Blockly.Msg.CocoRobo_USOCKET_ACCEPT_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept';
Blockly.Msg.CocoRobo_USOCKET_ACCEPT_MESSAGE0 = 'Socket %1 receive connection request and return socket tuple';
Blockly.Msg.CocoRobo_USOCKET_ACCEPT_TOOLTIP = 'Receive connection request.Socket needs to specify an address and listen to the connection.The return value is (conn, address)\nconn: A new socket object that can be used to send and receive message\naddress: Client address connected to the server';

Blockly.Msg.CocoRobo_USOCKET_LISTEN_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen';
Blockly.Msg.CocoRobo_USOCKET_LISTEN_MESSAGE0 = 'Listen to socket %1 with backlog as %2';
Blockly.Msg.CocoRobo_USOCKET_LISTEN_TOOLTIP = 'backlog : Maximum number of accepted sockets, at least 0, default reasonable value if not specified';

Blockly.Msg.CocoRobo_USOCKET_BIND_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind';
Blockly.Msg.CocoRobo_USOCKET_BIND_MESSAGE0 = 'Socket %1 bind with address %2 and port %3';
Blockly.Msg.CocoRobo_USOCKET_BIND_TOOLTIP = '';

Blockly.Msg.CocoRobo_USOCKET_CLOSE_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close';
Blockly.Msg.CocoRobo_USOCKET_CLOSE_MESSAGE0 = 'Close socket %1';
Blockly.Msg.CocoRobo_USOCKET_CLOSE_TOOLTIP = '';

Blockly.Msg.CocoRobo_USOCKET_INIT_HELPURL = 'http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket';
Blockly.Msg.CocoRobo_USOCKET_INIT_MESSAGE0 = 'Create socket %1 with af %2 and type %3';
Blockly.Msg.CocoRobo_USOCKET_INIT_TOOLTIP = 'AF_INET:=2 — TCP/IP – IPv4\nAF_INET6 :=10 — TCP/IP – IPv6\nSOCK_STREAM:=1 — TCP stream\nSOCK_DGRAM:=2 — UDP datagram\nSOCK_RAW :=3 — Original socket\nSO_REUSEADDR : =4 — Socket reusable\n';


Blockly.Msg.CocoRobo_GET_POST_HELPURL = '';
Blockly.Msg.CocoRobo_GET_POST_MESSAGE0 = '%1 request url %2 submit fields %3';
//Blockly.Msg.CocoRobo_GET_POST_TOOLTIP = '*data*(optional)List of dictionaries or tuples or byte or object of class file sent in the body of the request \n*json*(optional)The json data sent in the body of the request \n*headers*(optional)Http header Dictionary sent with request';
Blockly.Msg.CocoRobo_GET_POST_TOOLTIP = '';

Blockly.Msg.CocoRobo_UREQUESTS_GET_POST_HELPURL = '';
Blockly.Msg.CocoRobo_UREQUESTS_GET_POST_TOOLTIP = '';
Blockly.Msg.CocoRobo_UREQUESTS_GET_POST_MESSAGE0 = '%1 request url %2 submit fields %3';

Blockly.Msg.CocoRobo_UREQUESTS_POST_FILE_HELPURL = '';
Blockly.Msg.CocoRobo_UREQUESTS_POST_FILE_TOOLTIP = '';
Blockly.Msg.CocoRobo_UREQUESTS_POST_FILE_MESSAGE0 = 'Post submit file %1 request url %2 file path %3 mime type %4 fields %5';

Blockly.Msg.CocoRobo_RESPONSE_HELPURL = '';
Blockly.Msg.CocoRobo_RESPONSE_MESSAGE0 = 'Return response content as %1';
Blockly.Msg.CocoRobo_RESPONSE_TOOLTIP = '';

Blockly.Msg.STRING = 'String';
Blockly.Msg._BYTE = 'Byte';
Blockly.Msg.TEXT = 'Text';

Blockly.Msg.CocoRobo_RESPONSE_ATTRIBUTE_HELPURL = '';
Blockly.Msg.CocoRobo_RESPONSE_ATTRIBUTE_MESSAGE0 = 'Response attribute %1';
Blockly.Msg.CocoRobo_RESPONSE_ATTRIBUTE_TOOLTIP = '';


Blockly.Msg.MICROBIT_MICROBIT_SLEEP_MESSAGE0 = 'Waiting for %1 %2';
Blockly.Msg.CocoRobo_MS = 'Millisecond(ms)';
Blockly.Msg.CocoRobo_US = 'Microsecond(μs)';

Blockly.Msg.CocoRobo_TIME_DIFFERENCE_HELPURL = '';
Blockly.Msg.CocoRobo_TIME_DIFFERENCE_MESSAGE0 = 'Return time difference from %1 to %2';
Blockly.Msg.CocoRobo_TIME_DIFFERENCE_TOOLTIP = 'Measure the period between successive calls to ticks_ms (), ticks_us ()';

Blockly.Msg.CocoRobo_TYPE_HELPURL = '';
Blockly.Msg.CocoRobo_TYPE_MESSAGE0 = 'Type %1';
Blockly.Msg.CocoRobo_TYPE_TOOLTIP = 'Returns the type of the current value';

Blockly.Msg.CocoRobo_TYPE_IS_HELPURL = '';
Blockly.Msg.CocoRobo_TYPE_IS_MESSAGE0 = 'Type %1 is %2';
Blockly.Msg.CocoRobo_TYPE_IS_TOOLTIP = 'Set the type of the current value to %2 and return the result';

Blockly.Msg.CocoRobo_EVAL_HELPURL = '';
Blockly.Msg.CocoRobo_EVAL_MESSAGE0 = 'Eval %1';
Blockly.Msg.CocoRobo_EVAL_TOOLTIP = 'Simulate a string expression and return the result';

Blockly.Msg.CocoRobo_RETURN_HELPURL = '';
Blockly.Msg.CocoRobo_RETURN_MESSAGE0 = 'Return %1';
Blockly.Msg.CocoRobo_RETURN_TOOLTIP = 'Return a value';

Blockly.Msg.CocoRobo_BLUEBIT_AMBIENTLIGHT_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_AMBIENTLIGHT_MESSAGE0 = 'I2C digital ray';
Blockly.Msg.CocoRobo_BLUEBIT_AMBIENTLIGHT_TOOLTIP = '';

Blockly.Msg.CocoRobo_WIFI_ALL_CONFIG_HELPURL = '';
Blockly.Msg.CocoRobo_WIFI_ALL_CONFIG_MESSAGE0 = 'Wi-Fi configuration information';
Blockly.Msg.CocoRobo_WIFI_ALL_CONFIG_TOOLTIP = 'Returns all wifi configuration information as tuples';

Blockly.Msg.CocoRobo_WIFI_ISCONNECTED_HELPURL = '';
Blockly.Msg.CocoRobo_WIFI_ISCONNECTED_MESSAGE0 = 'Has connected to Wi-Fi';
Blockly.Msg.CocoRobo_WIFI_ISCONNECTED_TOOLTIP = '';

Blockly.Msg.CocoRobo_INIT_ASSISTANT_WIFI_HELPURL = '';
Blockly.Msg.CocoRobo_INIT_ASSISTANT_WIFI_MESSAGE0 = 'Wi-Fi Connect voice assistant Wi-Fi name%1 password%2';
Blockly.Msg.CocoRobo_INIT_ASSISTANT_WIFI_TOOLTIP = 'Control board passes WIF to voice assistant through serial port';

Blockly.Msg.CocoRobo_INIT_ASSISTANT_PROFILE_HELPURL = '';
Blockly.Msg.CocoRobo_INIT_ASSISTANT_PROFILE_TOOLTIP = 'Files need to be uploaded to the board on the file system first';
Blockly.Msg.CocoRobo_INIT_ASSISTANT_PROFILE_MESSAGE0 = 'Read Voice Assistant Text Files %1';

Blockly.Msg.CocoRobo_BLUEBIT_SEG_DISPLAY_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_SEG_DISPLAY_MESSAGE0 = 'Digital tube display %1';
Blockly.Msg.CocoRobo_BLUEBIT_SEG_DISPLAY_TOOLTIP = '-999~9999';

Blockly.Msg.CocoRobo_BLUEBIT_SEG_CLEAR_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_SEG_CLEAR_MESSAGE0 = 'Clear the digital tube display';
Blockly.Msg.CocoRobo_BLUEBIT_SEG_CLEAR_TOOLTIP = '';

Blockly.Msg.CocoRobo_MACHINE_RESET_HELPURL = '';
Blockly.Msg.CocoRobo_MACHINE_RESET_MESSAGE0 = 'Reset';
Blockly.Msg.CocoRobo_MACHINE_RESET_TOOLTIP = 'Same as pressing an external reset button';

Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_MESSAGE0 = 'I2C RGB color %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_MESSAGE0 = 'I2C RGB color';
Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_TOOLTIP = 'Returns as list';

Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HSV_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HSV_MESSAGE0 = 'I2C HSV color %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_COLOR_HSV_TOOLTIP = 'HSV(Hue, Saturation, Value)';

Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0 = 'I2C HSV color';
Blockly.Msg.CocoRobo_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP = 'HSV(Hue, Saturation, Value)';

Blockly.Msg.CocoRobo_BLUEBIT_GET_FORCE_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0 = 'I2C force sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0 = 'I2C current sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0 = 'I2C voltage sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0 = 'I2C magnetic sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_BLUEBIT_GET_PH_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_PH_MEASURE_MESSAGE0 = 'I2C PH sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_PH_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_BLUEBIT_GET_TDS_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_TDS_MEASURE_MESSAGE0 = 'I2C TDS sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_TDS_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0 = 'I2C Pressure sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0 = 'I2C Photogate Timer sensor  Dial code %1';
Blockly.Msg.CocoRobo_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP = 'I2C Address Corresponds to the Requirements of Coding Switches';

Blockly.Msg.CocoRobo_RED = 'Red';
Blockly.Msg.CocoRobo_GREEN = 'Green';
Blockly.Msg.CocoRobo_BLUE = 'Blue';

Blockly.Msg.CocoRobo_MUSIC_PIN_P6 = 'Default';
Blockly.Msg.CocoRobo_MUSIC_PIN_P6_HELPURL = '';
Blockly.Msg.CocoRobo_MUSIC_PIN_P6_MESSAGE0 = '%1';
Blockly.Msg.CocoRobo_MUSIC_PIN_P6_TOOLTIP = "";


Blockly.Msg.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0 = 'Play music %1 wait %2 loop %3 Pin %4';
Blockly.Msg.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP = 'Play the built-in music, you can set the standby mode and loop playback.';
Blockly.Msg.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies';
Blockly.Msg.MICROBIT_MUSIC_PITCH_MESSAGE0 = 'Play tone %1 %2 delay %3 millisecond(s) at Pin %4';
Blockly.Msg.MICROBIT_MUSIC_PITCH_TOOLTIP = 'Plays the tone for the set length of time.';
Blockly.Msg.MICROBIT_MUSIC_PITCH_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch';
Blockly.Msg.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0 = 'At Pin %5 play note list %1 wait %2 %3 loop %4';
Blockly.Msg.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP = 'Play a list of notes, such as C4:4, G4:8, etc., the notes are in string form, the default pin is P6 of the cocorobo board';
Blockly.Msg.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL = 'https://CocoRobo.readthedocs.io/zh/latest/tutorials/basics/buzz.html';
Blockly.Msg.MICROBIT_MUSIC_RESET_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset';
Blockly.Msg.MICROBIT_MUSIC_RESET_MESSAGE0 = 'Restore music settings';
Blockly.Msg.MICROBIT_MUSIC_RESET_TOOLTIP = 'Restore all music settings (current beats, scales, and periods) to their default values.';
Blockly.Msg.MICROBIT_MUSIC_STOP_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop';
Blockly.Msg.MICROBIT_MUSIC_STOP_MESSAGE0 = 'Stop playing music at Pin %1';
Blockly.Msg.MICROBIT_MUSIC_STOP_TOOLTIP = 'The default pin is P6 of the cocorobo board';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0 = 'Set each beat equal to %1 notes, the number of beats per minute is %2';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP = 'Set the playback speed (beat). A certain number of tick represents a beat, the number of beats per minute per beat (BPM beats per minute).';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0 = 'Set the playback speed to %1 times';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP = 'The 4th note is 1 beat, and the number of beats per minute is 120 by default, which is 1 times the playback speed.';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo';
Blockly.Msg.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0 = 'Current beats';
Blockly.Msg.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP = 'Get current beats: Taps per beat, beats per minute (BPM).';
Blockly.Msg.MICROBIT_MUSIC_GET_TEMPO_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo';

Blockly.Msg.CocoRobo_BLUEBIT_HUM_TEM_HELPURL = '';
Blockly.Msg.CocoRobo_BLUEBIT_HUM_TEM_TOOLTIP = '';
Blockly.Msg.CocoRobo_BLUEBIT_HUM_TEM_MESSAGE0 = 'I2C %1';

Blockly.Msg.CocoRobo_BLUEBIT_TEMPERATURE = 'Temperature';
Blockly.Msg.CocoRobo_BLUEBIT_HUMIDITY = 'Humidity';

/*教科板 - 扩展 - Bluebit - 结束 */


Blockly.Msg.CocoRobo_UART_INIT_HELPURL = '';
Blockly.Msg.CocoRobo_UART_INIT_MESSAGE0 = "Initialize serial port %4 as baudrate %1 tx %2 rx %3";
Blockly.Msg.CocoRobo_UART_INIT_TOOLTIP = 'CocoRobo board supports 3 sets of serial ports. 0 for repl, remaining 1, 2 sets of serial ports available. All pins can be used as the input of serial port rx, except P2, p3, p4, p10 can only be used as input, and all the other pins can be used as output tx. in theory.';

Blockly.Msg.CocoRobo_UART_DEINIT_HELPURL = '';
Blockly.Msg.CocoRobo_UART_DEINIT_MESSAGE0 = 'Close serial port %1';
Blockly.Msg.CocoRobo_UART_DEINIT_TOOLTIP = 'Turn off the UART bus';

Blockly.Msg.CocoRobo_UART_WRITE_STR_HELPURL = '';
Blockly.Msg.CocoRobo_UART_WRITE_STR_MESSAGE0 = 'Serial port %1 write string %2 %3';
Blockly.Msg.CocoRobo_UART_WRITE_STR_TOOLTIP = 'Write a text to the bus. \nReturn value: The number of bytes to write or None to time out.';

Blockly.Msg.CocoRobo_UART_WRITE_HEX_HELPURL = '';
Blockly.Msg.CocoRobo_UART_WRITE_HEX_MESSAGE0 = 'Serial port %1 write hex string %2 %3';
Blockly.Msg.CocoRobo_UART_WRITE_HEX_TOOLTIP = '';

Blockly.Msg.CocoRobo_UART_HAS_DATA_HELPURL = '';
Blockly.Msg.CocoRobo_UART_HAS_DATA_MESSAGE0 = 'Serial port %1 has readable data';
Blockly.Msg.CocoRobo_UART_HAS_DATA_TOOLTIP = 'Returns an integer that counts the number of characters that can be read without blocking. \n If there are no characters available, it will return 0, if there are characters, it will return a positive number. \n This method can return 1 even if there are multiple readable characters.';

Blockly.Msg.CocoRobo_UART_READLINE_HELPURL = '';
Blockly.Msg.CocoRobo_UART_READLINE_MESSAGE0 = 'Serial port %1 read a line of data';
Blockly.Msg.CocoRobo_UART_READLINE_TOOLTIP = 'Read a line and end with a newline character.\nReturn value: Read row or None timeout.';

Blockly.Msg.CocoRobo_UART_READ_HELPURL = '';
Blockly.Msg.CocoRobo_UART_READ_MESSAGE0 = 'Serial port %1 read data';
Blockly.Msg.CocoRobo_UART_READ_TOOLTIP = 'Read as much serial data as possible.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.';

Blockly.Msg.CocoRobo_UART_READ_LENGTH_HELPURL = '';
Blockly.Msg.CocoRobo_UART_READ_LENGTH_MESSAGE0 = 'Serial port %1 read data with length as %2';
Blockly.Msg.CocoRobo_UART_READ_LENGTH_TOOLTIP = 'Read the specified length bytes data.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.';

Blockly.Msg.CocoRobo_UART_WRITE_BYTE_HELPURL = '';
Blockly.Msg.CocoRobo_UART_WRITE_BYTE_MESSAGE0 = 'Serial port %1 write a byte %2';
Blockly.Msg.CocoRobo_UART_WRITE_BYTE_TOOLTIP = 'The parameter is a integer as 0~255\nWrite a byte to the bus. \nReturn value: The number of bytes to write or None to time out.';

Blockly.Msg.CocoRobo_UART_WRITE_BYTES_HELPURL = '';
Blockly.Msg.CocoRobo_UART_WRITE_BYTES_MESSAGE0 = 'Serial port %1 write bytes %2';
Blockly.Msg.CocoRobo_UART_WRITE_BYTES_TOOLTIP = 'Write some bytes to the bus. \nReturn value: The number of bytes to write or None to time out.';

// 格式化字符串 % 方式
Blockly.Msg.TEXT_FORMAT_MESSAGE0 = 'Format string %1 % %2';
Blockly.Msg.TEXT_FORMAT_TOOLTIP = 'Use "%" to format the string and return the result';
Blockly.Msg.TEXT_FORMAT_HELPURL = '';

// 格式化字符串 format 方式
Blockly.Msg.TEXT_FORMAT2_MESSAGE0 = 'Format string %1 with %2';
Blockly.Msg.TEXT_FORMAT2_TOOLTIP = 'Use "format" to format the string and return the result';
Blockly.Msg.TEXT_FORMAT2_HELPURL = '';

Blockly.Msg.CocoRobo_BAUDRATE_HELPURL = '';
Blockly.Msg.CocoRobo_BAUDRATE_MESSAGE0 = '%1';
Blockly.Msg.CocoRobo_BAUDRATE_TOOLTIP = '';

Blockly.Msg.CocoRobo_HIGH_LOW_HELPURL = '';
Blockly.Msg.CocoRobo_HIGH_LOW_MESSAGE0 = '%1';
Blockly.Msg.CocoRobo_HIGH_LOW_TOOLTIP = '';

Blockly.Msg.CocoRobo_TEN_CONVERT_TO_HELPURL = '';
Blockly.Msg.CocoRobo_TEN_CONVERT_TO_MESSAGE0 = "Decimal int num %1 converted to %2 string";
Blockly.Msg.CocoRobo_TEN_CONVERT_TO_TOOLTIP = 'Convert a decimal integer to a %2 string and return the result';

Blockly.Msg.CocoRobo_BIN = 'BIN';
Blockly.Msg.CocoRobo_OCT = 'OCT';
Blockly.Msg.CocoRobo_HEX = 'HEX';

Blockly.Msg.CocoRobo_CONVERT_TO_TEN_HELPURL = '';
Blockly.Msg.CocoRobo_CONVERT_TO_TEN_MESSAGE0 = "%1 string %2 converted to decimal int num";
Blockly.Msg.CocoRobo_CONVERT_TO_TEN_TOOLTIP = 'Convert a %2 string to a decimal integer and return the result';

Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_HELPURL = '';
Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_MESSAGE0 = "Decimal int num %2 converted to %1 bytes";
Blockly.Msg.CocoRobo_TEN_CONVERTED_TO_BYTES_TOOLTIP = 'Convert a decimal integer to %1 bytes and return the result';

Blockly.Msg.CocoRobo_INT_TO_CHR_HELPURL = '';
Blockly.Msg.CocoRobo_INT_TO_CHR_MESSAGE0 = 'Shaping number %1 converted to character in ASCII';
Blockly.Msg.CocoRobo_INT_TO_CHR_TOOLTIP = 'ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages';

Blockly.Msg.CocoRobo_STR_TO_HEX_HELPURL = '';
Blockly.Msg.CocoRobo_STR_TO_HEX_MESSAGE0 = 'String %1 converted to hex bytes';
Blockly.Msg.CocoRobo_STR_TO_HEX_TOOLTIP = 'Returns two hexadecimal numbers separated by spaces in the result';

Blockly.Msg.CocoRobo_CHR_TO_INT_HELPURL = '';
Blockly.Msg.CocoRobo_CHR_TO_INT_MESSAGE0 = 'Character in ASCII %1 converted to shaping number';
Blockly.Msg.CocoRobo_CHR_TO_INT_TOOLTIP = 'ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages';

Blockly.Msg.CocoRobo_HEX_TO_BIN_STR_HELPURL = '';
Blockly.Msg.CocoRobo_HEX_TO_BIN_STR_MESSAGE0 = 'Hex string %1 converted to bin bytes';
Blockly.Msg.CocoRobo_HEX_TO_BIN_STR_TOOLTIP = 'Convert hexadecimal string to binary byte and return the result';

Blockly.Msg.CocoRobo_DATA_TO_BASE64_HELPURL = '';
Blockly.Msg.CocoRobo_DATA_TO_BASE64_MESSAGE0 = 'Encoding data %1 in base64 and return byte object';
Blockly.Msg.CocoRobo_DATA_TO_BASE64_TOOLTIP = 'Base64 encoding is a process from binary to character';

Blockly.Msg.CocoRobo_BASE64_TO_DATA_HELPURL = '';
Blockly.Msg.CocoRobo_BASE64_TO_DATA_MESSAGE0 = 'Decoding base64 data %1 and return byte object';
Blockly.Msg.CocoRobo_BASE64_TO_DATA_TOOLTIP = 'Base64 encoding is a process from binary to character';

Blockly.Msg.CocoRobo_UJSON_DUMPS_HELPURL = '';
Blockly.Msg.CocoRobo_UJSON_DUMPS_MESSAGE0 = '%1 converted to json string';
Blockly.Msg.CocoRobo_UJSON_DUMPS_TOOLTIP = 'Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none';

Blockly.Msg.CocoRobo_UJSON_LOADS_HELPURL = '';
Blockly.Msg.CocoRobo_UJSON_LOADS_MESSAGE0 = 'Parse json string %1 and return the object';
Blockly.Msg.CocoRobo_UJSON_LOADS_TOOLTIP = 'Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none';

Blockly.Msg.CocoRobo_code_annotation_HELPURL = '';
Blockly.Msg.CocoRobo_code_annotation_MESSAGE0 = 'Comment # %1';
Blockly.Msg.CocoRobo_code_annotation_TOOLTIP = 'Generate code comments';

Blockly.Msg.CocoRobo_SETS_PIN_MODE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/board/hardware.html#CocoRobopindesc';
Blockly.Msg.CocoRobo_SETS_PIN_MODE_TOOLTIP = 'Right-click help to view the pin declaration';
Blockly.Msg.CocoRobo_SETS_PIN_MODE_MESSAGE0 = 'Set pin %1 as %2 mode %3 and set the value to %4';

Blockly.Msg.CocoRobo_SET_PIN_IN = 'Input';
Blockly.Msg.CocoRobo_SET_PIN_PUSH_PULL_OUT = 'Push-pull output';
Blockly.Msg.CocoRobo_SET_PIN_LEAKY_OUT = 'Leaky output';

Blockly.Msg.CocoRobo_SET_PIN_NO_PULL = 'No pull';
Blockly.Msg.CocoRobo_SET_PIN_DOWN_PULL = 'Ppull down';
Blockly.Msg.CocoRobo_SET_PIN_UP_PULL = 'Pull up';

Blockly.Msg.CocoRobo_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL = '';
Blockly.Msg.CocoRobo_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0 = "Thread lock object %1 requests lock";
Blockly.Msg.CocoRobo_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP = '';

Blockly.Msg.CocoRobo_START_NEW_THREAD_HELPURL = '';
Blockly.Msg.CocoRobo_START_NEW_THREAD_MESSAGE0 = "Thread %1";
Blockly.Msg.CocoRobo_START_NEW_THREAD_TOOLTIP = '';



/* 教科板_物联网 */
Blockly.Msg.CocoRobo_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0 = "Custom terminal widget on virtual pin V %1";
Blockly.Msg.CocoRobo_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLYNK_SYNC_VIRTUAL_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_SYNC_VIRTUAL_MESSAGE0 = "Synchronizing the status of virtual pin V %1";
Blockly.Msg.CocoRobo_BLYNK_SYNC_VIRTUAL_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLYNK_ON_DISCONNECTED_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_ON_DISCONNECTED_MESSAGE0 = "When Blynk disconnected";
Blockly.Msg.CocoRobo_BLYNK_ON_DISCONNECTED_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLYNK_ON_CONNECTED_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_ON_CONNECTED_MESSAGE0 = "When Blynk connected";
Blockly.Msg.CocoRobo_BLYNK_ON_CONNECTED_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLYNKTIMER_RUN_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNKTIMER_RUN_MESSAGE0 = "Run the BlynkTimer processes";
Blockly.Msg.CocoRobo_BLYNKTIMER_RUN_TOOLTIP = 'It is recommended to put this block in \'repeat forever\' block';

Blockly.Msg.CocoRobo_BLYNK_RUN_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_RUN_MESSAGE0 = "Run the Blynk processes";
Blockly.Msg.CocoRobo_BLYNK_RUN_TOOLTIP = 'It is recommended to put this block in \'repeat forever\' block';

Blockly.Msg.CocoRobo_BLYNK_APP_NOTIFY_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_APP_NOTIFY_MESSAGE0 = "Blynk APP notifies %1";
Blockly.Msg.CocoRobo_BLYNK_APP_NOTIFY_TOOLTIP = '';

Blockly.Msg.CocoRobo_BLYNKTIMER_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNKTIMER_MESSAGE0 = "BlynkTimer number %1 mode %2 period %3 seconds";
Blockly.Msg.CocoRobo_BLYNKTIMER_TOOLTIP = 'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped';

Blockly.Msg.CocoRobo_BLYNK_STOP_TIMERS_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_STOP_TIMERS_MESSAGE0 = 'Stop Blynk timer %1';
Blockly.Msg.CocoRobo_BLYNK_STOP_TIMERS_TOOLTIP =
    'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped';

Blockly.Msg.CocoRobo_UART_INPUT_HELPURL = '';
Blockly.Msg.CocoRobo_UART_INPUT_MESSAGE0 = 'Get input text from serial port, title %1';
Blockly.Msg.CocoRobo_UART_INPUT_TOOLTIP = ''

Blockly.Msg.CocoRobo_BLYNK_SET_PROPERTY_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_SET_PROPERTY_MESSAGE0 = 'Set property %1 and value %2 to virtual pin';
Blockly.Msg.CocoRobo_BLYNK_SET_PROPERTY_TOOLTIP = "Placed in a read or write event, the virtual pin is determined by the event,the component bound to the pin will have the added property";


Blockly.Msg.CocoRobo_BLYNK_EMAIL_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_EMAIL_MESSAGE0 = 'Email to pre-set email address with %1 subject %2 body %3';
Blockly.Msg.CocoRobo_BLYNK_EMAIL_TOOLTIP = "";

Blockly.Msg.CocoRobo_BLYNK_GET_TIMERS_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_GET_TIMERS_MESSAGE0 = 'Available Blynk timers';
Blockly.Msg.CocoRobo_BLYNK_GET_TIMERS_TOOLTIP = "";

Blockly.Msg.CocoRobo_BLYNK_SENSOR_DATA_TO_APP_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0 = "Send data %1 to Blynk APP's virtual pin V %2";
Blockly.Msg.CocoRobo_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP = 'Virtual pin: V0 ~ V255';

Blockly.Msg.CocoRobo_BLYNK_APP_DATA_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_APP_DATA_MESSAGE0 = 'When received value %2 of virtual pin V %1 from Blynk APP';
Blockly.Msg.CocoRobo_BLYNK_APP_DATA_TOOLTIP = 'Virtual pin: V0 ~ V255';

Blockly.Msg.CocoRobo_BLYNK_SETUP_HELPURL = '';
Blockly.Msg.CocoRobo_BLYNK_SETUP_MESSAGE0 = 'Blynk Settings %1 server %2 port %3 authorization code %4';
Blockly.Msg.CocoRobo_BLYNK_SETUP_TOOLTIP = 'The server can be set to "blynk-cloud.com" or "blynk.cocorobo.cn"\n The default port is 8080\n Note: The mobile APP access port is 9443.';

Blockly.Msg.INT_TO_CHR_HELPURL = ''
Blockly.Msg.INT_TO_CHR_MESSAGE0 = 'Int %1 to ASCII single character';
Blockly.Msg.INT_TO_CHR_TOOLTIP = ''

Blockly.Msg.a123_HELPURL = ''
Blockly.Msg.a123_MESSAGE0 = '新 %1'
Blockly.Msg.a123_TOOLTIP = ""

Blockly.Msg.CocoRobo_ONENET_DISCONNECT_MESSAGE0 = 'Disconnect from OneNET';
Blockly.Msg.CocoRobo_ONENET_DISCONNECT_TOOLTIP = '';
Blockly.Msg.CocoRobo_ONENET_DISCONNECT_HELPURL = '';

Blockly.Msg.CocoRobo_ONENET_RECV_MESSAGE0 = 'When received message %1 from OneNET';
Blockly.Msg.CocoRobo_ONENET_RECV_TOOLTIP = '';
Blockly.Msg.CocoRobo_ONENET_RECV_HELPURL = '';
Blockly.Msg.CocoRobo_ONENET_RECV_MSG_MESSAGE0 = 'When received specific message %1 from OneNET';
Blockly.Msg.CocoRobo_ONENET_RECV_MSG_TOOLTIP = '';
Blockly.Msg.CocoRobo_ONENET_RECV_MSG_HELPURL = '';

Blockly.Msg.CocoRobo_ONENET_PUB_VALUE_MESSAGE0 = 'Publish data to OneNET, name %1 value %2';
Blockly.Msg.CocoRobo_ONENET_PUB_VALUE_TOOLTIP = '';
Blockly.Msg.CocoRobo_ONENET_PUB_VALUE_HELPURL = '';
Blockly.Msg.CocoRobo_ONENET_PUB_DICT_MESSAGE0 = 'Publish data to OneNET %1';
Blockly.Msg.CocoRobo_ONENET_PUB_DICT_TOOLTIP = '';
Blockly.Msg.CocoRobo_ONENET_PUB_DICT_HELPURL = '';

Blockly.Msg.CocoRobo_HCSR04_DISTANCE_HELPURL = 'https://CocoRobo-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04'
Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MESSAGE0 = '%1 hcsr04 untrasonic distance, unit %2';
Blockly.Msg.CocoRobo_HCSR04_DISTANCE_TOOLTIP = ''

Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MM_HELPURL = 'https://CocoRobo-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04'
Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MM_MESSAGE0 = '%1 hcsr04 untrasonic(mm)';
Blockly.Msg.CocoRobo_HCSR04_DISTANCE_MM_TOOLTIP = ''

Blockly.Msg.CocoRobo_HCSR04_OBJ_HELPURL = 'https://CocoRobo-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04'
Blockly.Msg.CocoRobo_HCSR04_OBJ_MESSAGE0 = 'Hcsr04 ultrasonic initialize name %1 trigger %2 echo %3';
Blockly.Msg.CocoRobo_HCSR04_OBJ_TOOLTIP = ''

Blockly.Msg.CocoRobo_PM2_5_LitresAir_HELPURL = ''
Blockly.Msg.CocoRobo_PM2_5_LitresAir_MESSAGE0 = 'RX pin %1 Number of particles with diameter of %2 in 0.1 liter air';
Blockly.Msg.CocoRobo_PM2_5_LitresAir_TOOLTIP = ''

Blockly.Msg.CocoRobo_PM2_5_MIC_HELPURL = ''
Blockly.Msg.CocoRobo_PM2_5_MIC_MESSAGE0 = 'RX pin %1 PM value concentration %2';
Blockly.Msg.CocoRobo_PM2_5_MIC_TOOLTIP = ''

Blockly.Msg.CocoRobo_IR_REMOTE_RECV_MESSAGE0 = 'Infrared receive %1 callback address %2 callback command %3';
Blockly.Msg.CocoRobo_IR_REMOTE_RECV_HELPURL = '';
Blockly.Msg.CocoRobo_IR_REMOTE_RECV_TOOLTIP = '';

Blockly.Msg.CocoRobo_IR_REMOTE_SEND_MESSAGE0 = 'Infrared send %1 address %2 command %3';
Blockly.Msg.CocoRobo_IR_REMOTE_SEND_HELPURL = '';
Blockly.Msg.CocoRobo_IR_REMOTE_SEND_TOOLTIP = '';

Blockly.Msg.CocoRobo_ONENET_PUB_VALUE2_MESSAGE0 = 'Publish data to Wechat app, name %1 value %2';
Blockly.Msg.CocoRobo_ONENET_PUB_VALUE2_TOOLTIP = '';
Blockly.Msg.CocoRobo_ONENET_PUB_VALUE2_HELPURL = '';

Blockly.Msg.CocoRobo_ONENET_ACCEPT_MESSAGE = 'If received message';
Blockly.Msg.CocoRobo_ONENET = 'OneNET settings';
Blockly.Msg.CocoRobo_ONENET_WECHAT_APP = 'Wechat app settings';
Blockly.Msg.CocoRobo_ONENET_OPTION_BOARDS = 'Optional cocorobo boards';
Blockly.Msg.CocoRobo_ONENET_TITLE = 'OneNET';
Blockly.Msg.CocoRobo_SERVER = 'Server';
Blockly.Msg.CocoRobo_DEVICE_ID = 'Device_id';
Blockly.Msg.CocoRobo_PRODUCT_ID = 'Product_id';
Blockly.Msg.CocoRobo_API_KEY = 'Product_APIKey';
Blockly.Msg.CocoRobo_TOPIC = 'Topic';
Blockly.Msg.CocoRobo_ONENET_CALLBACK = 'Callback function';
Blockly.Msg.CocoRobo_ONENET_CALLBACK_TITLE = "OneNET callback";

Blockly.Msg.CocoRobo_ONENET_OPTION_BOARDS_HELPURL = '';
Blockly.Msg.CocoRobo_ONENET_OPTION_BOARDS_MESSAGE0 = 'Choose cocorobo App %1 in WeChat App';
Blockly.Msg.CocoRobo_ONENET_OPTION_BOARDS_TOOLTIP = '';

// text转字节
Blockly.Msg.TEXT_TO_BYTE_MESSAGE0 = 'Convert %1 to bytes';
Blockly.Msg.TEXT_TO_BYTE_TOOLTIP = 'Supported data type as string';
Blockly.Msg.TEXT_TO_BYTE_HELPURL = '';
// 非文本转字节
Blockly.Msg.OTHER_TO_BYTE_MESSAGE0 = 'Convert Non-text %1 to bytes';
Blockly.Msg.OTHER_TO_BYTE_TOOLTIP = '';
Blockly.Msg.OTHER_TO_BYTE_HELPURL = '';


Blockly.Msg.CocoRobo_BYTES_DECODE_HELPURL = '';
Blockly.Msg.CocoRobo_BYTES_DECODE_MESSAGE0 = 'Convert bytes %1 to string';
Blockly.Msg.CocoRobo_BYTES_DECODE_TOOLTIP = 'Return the result of the specified byte to string'



Blockly.Msg.CocoRobo_ONENET_TOOLTIP = 'Create a OneNET connection';

Blockly.Msg.CocoRobo_ONENET_INIT_WIFI_MESSAGE0 = 'IoT  make sure to connect to Wi-Fi with SSID %1 & Password %2';
Blockly.Msg.CocoRobo_ONENET_INIT_WIFI_TOOLTIP = 'Let the board access the Wi-Fi environment';
Blockly.Msg.CocoRobo_ONENET_INIT_WIFI_HELPURL = '';

Blockly.Msg.CocoRobo_ONENET_RECV_FROM_WECHAT_APP_HELPURL = '';
Blockly.Msg.CocoRobo_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0 = 'When receives %1 and %2 from WeChat App';
Blockly.Msg.CocoRobo_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP = '';

/* 教科板_物联网 */


/* 教科板start */
Blockly.Msg.CocoRobo_MAC_ADDRESS_HELPURL = '';
Blockly.Msg.CocoRobo_MAC_ADDRESS_MESSAGE0 = 'MAC Address';
Blockly.Msg.CocoRobo_MAC_ADDRESS_TOOLTIP = '';

Blockly.Msg.CocoRobo_RADIO_REC_HELPURL = '';
Blockly.Msg.CocoRobo_RADIO_REC_MESSAGE0 = 'Radio received';
Blockly.Msg.CocoRobo_RADIO_REC_TOOLTIP = 'Received data is bytes';

Blockly.Msg.CocoRobo_RADIO_SEND_HELPURL = '';
Blockly.Msg.CocoRobo_RADIO_SEND_MESSAGE0 = 'Radio sends %1';
Blockly.Msg.CocoRobo_RADIO_SEND_TOOLTIP = 'Channel: 1~13';

Blockly.Msg.CocoRobo_RADIO_CHANNEL_HELPURL = '';
Blockly.Msg.CocoRobo_RADIO_CHANNEL_MESSAGE0 = 'Set radio channel %1';
Blockly.Msg.CocoRobo_RADIO_CHANNEL_TOOLTIP = 'Channel: 1~13';

Blockly.Msg.CocoRobo_RADIO_ON_OFF_HELPURL = '';
Blockly.Msg.CocoRobo_RADIO_ON_OFF_MESSAGE0 = '%1 radio';
Blockly.Msg.CocoRobo_RADIO_ON_OFF_TOOLTIP = 'Channel: 1~13';

Blockly.Msg.CocoRobo_RADIO_RECV_MESSAGE0 = 'When receiving broadcast message %1 from Radio';
Blockly.Msg.CocoRobo_RADIO_RECV_TOOLTIP = 'Channel: 1~13';
Blockly.Msg.CocoRobo_RADIO_RECV_HELPURL = '';

Blockly.Msg.CocoRobo_RADIO_RECV_MSG_MESSAGE0 = 'When receiving specific broadcast message %1 from Radio';
Blockly.Msg.CocoRobo_RADIO_RECV_MSG_TOOLTIP = 'Channel: 1~13';
Blockly.Msg.CocoRobo_RADIO_RECV_MSG_HELPURL = '';

Blockly.Msg.CocoRobo_DISPCHAR_MODE_1 = 'Normal';
Blockly.Msg.CocoRobo_DISPCHAR_MODE_2 = 'Rev';
Blockly.Msg.CocoRobo_DISPCHAR_MODE_3 = 'Trans';

Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_HELPURL = '';
Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_MESSAGE0 = 'TTS play text %1';
Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_TOOLTIP = 'The "Online Speech Synthesis" service needs to be enabled on the "Xunfei Open Platform" www.xfyun.cn';

Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_CONFIG_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3';
Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0 = 'TTS config APPID %1 APIKey %2';
Blockly.Msg.CocoRobo_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP = 'Enter the APPID and APIKey obtained on the "Xunfei Open Platform" www.xfyun.cn\nNote: To set the IP whitelist';

Blockly.Msg.CocoRobo_AUDIO_PLAY_HELPURL = '';
Blockly.Msg.CocoRobo_AUDIO_PLAY_MESSAGE0 = 'Audio play %1';
Blockly.Msg.CocoRobo_AUDIO_PLAY_TOOLTIP = "Need active speakers\nP8 left channel\nP9 right channel\nGND ground\nparameter: \n the url of the network mp3, or the mp3 that has been uploaded to the cocorobo board, e.g 'music_1.mp3'";


Blockly.Msg.CocoRobo_AUDIO_DEINIT_HELPURL = '';
Blockly.Msg.CocoRobo_AUDIO_DEINIT_MESSAGE0 = 'Deinit Audio';
Blockly.Msg.CocoRobo_AUDIO_DEINIT_TOOLTIP = 'Create a cache for controlling the audio decoding';

Blockly.Msg.CocoRobo_AUDIO_CMD_HELPURL = '';
Blockly.Msg.CocoRobo_AUDIO_CMD_MESSAGE0 = 'Audio %1';
Blockly.Msg.CocoRobo_AUDIO_CMD_TOOLTIP = '';

Blockly.Msg.CocoRobo_AUDIO_INIT_HELPURL = '';
Blockly.Msg.CocoRobo_AUDIO_INIT_MESSAGE0 = 'Initialize Audio';
Blockly.Msg.CocoRobo_AUDIO_INIT_TOOLTIP = 'Create a cache for controlling the audio decoding';

Blockly.Msg.CocoRobo_RECORD_INIT_HELPURL = '';
Blockly.Msg.CocoRobo_RECORD_INIT_MESSAGE0 = 'Testing -- initialize Recording';
Blockly.Msg.CocoRobo_RECORD_INIT_TOOLTIP = 'Recording initialization.\nThis block is in the test, need cocorobo board v1.1 or above hardware version.';

Blockly.Msg.CocoRobo_RECORD_DEINIT_HELPURL = '';
Blockly.Msg.CocoRobo_RECORD_DEINIT_MESSAGE0 = 'Testing -- release cache of Recording';
Blockly.Msg.CocoRobo_RECORD_DEINIT_TOOLTIP = 'Release the cache after the recording ends.\nThis block is in the test, need cocorobo board v1.1 or above hardware version.';

Blockly.Msg.CocoRobo_RECORD_WAV_HELPURL = '';
Blockly.Msg.CocoRobo_RECORD_WAV_MESSAGE0 = 'Testing -- record audio with storage path %1 and duration %2 second(s)';
Blockly.Msg.CocoRobo_RECORD_WAV_TOOLTIP = 'Record audio and store it in *.wav format.\nThis block is in the test, need cocorobo board v1.1 or above hardware version.';

Blockly.Msg.CocoRobo_ASR_HELPURL = '';
Blockly.Msg.CocoRobo_ASR_MESSAGE0 = 'Testing -- return the result of speech recognition';
Blockly.Msg.CocoRobo_ASR_TOOLTIP = 'Speech command need to be completed in 2 seconds.\nThis block is in the test, need cocorobo board v1.1 or above hardware version.';

Blockly.Msg.CocoRobo_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.CocoRobo_button_A = 'P5 (button A)';
Blockly.Msg.CocoRobo_button_B = 'P11 (button B)';
Blockly.Msg.CocoRobo_PIN7_RGB = 'P7 (Onboard RGB)';

Blockly.Msg.CocoRobo_PWM_PIN_P7 = 'P7 (cocorobo board)';
Blockly.Msg.CocoRobo_PWM_PIN_P9 = 'P9 (cocorobo box)';

Blockly.Msg.CocoRobo_tem = 'Temperature';
Blockly.Msg.CocoRobo_hum = 'Humidity';
Blockly.Msg.CocoRobo_pre = 'Air pressure';
Blockly.Msg.CocoRobo_left_right = 'Left-right';
Blockly.Msg.CocoRobo_front_back = 'Front-back';
Blockly.Msg.CocoRobo_vertical = 'Vertical';
Blockly.Msg.CocoRobo_horizontal = 'Horizontal';
Blockly.Msg.CocoRobo_run_in_back = 'Background';
Blockly.Msg.CocoRobo_run_in_front = 'Foreground';
Blockly.Msg.CocoRobo_draw = 'Draw';
Blockly.Msg.CocoRobo_clear = 'Clear';
Blockly.Msg.CocoRobo_s = 'Second';
Blockly.Msg.CocoRobo_ms = 'Millisecond';
Blockly.Msg.CocoRobo_us = 'Microsecond';
Blockly.Msg.CocoRobo_year = 'Year';
Blockly.Msg.CocoRobo_month = 'Month';
Blockly.Msg.CocoRobo_date = 'Day';
Blockly.Msg.CocoRobo_hour = 'Hour';
Blockly.Msg.CocoRobo_minute = 'Minute';
Blockly.Msg.CocoRobo_week = 'Week number';
Blockly.Msg.CocoRobo_days = 'Days number';

Blockly.Msg.CocoRobo_ORDER = '#';
Blockly.Msg.CocoRobo_REVERSE_ORDER = 'Countdown #';

Blockly.Msg.MATH_RANDOM_RANDRANGE_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.MATH_RANDOM_RANDRANGE_TOOLTIP = 'Returns a random number in the specified incremental cardinality set, the base value defaults to 1';
Blockly.Msg.MATH_RANDOM_RANDRANGE_MESSAGE0 = 'Random number increments from increment interval [%1 , %2) by step %3';

Blockly.Msg.MATH_KEEP_DECIMAL_HELPURL = '';
Blockly.Msg.MATH_KEEP_DECIMAL_TOOLTIP = 'Returns the result of the specified value keeping the decimal point';
Blockly.Msg.MATH_KEEP_DECIMAL_MESSAGE0 = '%1 keep %2 decimal places';

Blockly.Msg.CocoRobo_MIN = 'Min value';
Blockly.Msg.CocoRobo_MAX = 'Max value';
Blockly.Msg.CocoRobo_LENTH = 'length';
Blockly.Msg.TUPLE_MIN_MAX_LEN_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.TUPLE_MIN_MAX_LEN_TOOLTIP = 'Return %2 of tuple';
Blockly.Msg.TUPLE_MIN_MAX_LEN_MESSAGE0 = 'Tuple %1 %2';

Blockly.Msg.TUPLE_ITEM_EXIST_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.TUPLE_ITEM_EXIST_TOOLTIP = 'Determine whether the specified value is included, and return True or False';
Blockly.Msg.TUPLE_ITEM_EXIST_MESSAGE0 = 'Tuple %1 include %2';

Blockly.Msg.LIST_ITEM_EXIST_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.LIST_ITEM_EXIST_TOOLTIP = 'The list contains a specific string';
Blockly.Msg.LIST_ITEM_EXIST_MESSAGE0 = 'List %1 include %2';

Blockly.Msg.PARTS_OF_TUPLE_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.PARTS_OF_TUPLE_TOOLTIP = 'The sequence count starts from 0, and the reverse count starts from 1.';
Blockly.Msg.PARTS_OF_TUPLE_MESSAGE0 = 'Return tuple %1 from the %2 to the last item';

Blockly.Msg.PARTS_OF_TUPLE2_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.PARTS_OF_TUPLE2_TOOLTIP = 'Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th';
Blockly.Msg.PARTS_OF_TUPLE2_MESSAGE0 = 'Return tuple %1 takes %2 %3 items to %4 %5 items';

Blockly.Msg.PARTS_OF_LIST_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.PARTS_OF_LIST_TOOLTIP = 'Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th';
Blockly.Msg.PARTS_OF_LIST_MESSAGE0 = 'Return list %1 takes %2 %3 items to %4 %5 items';

Blockly.Msg.LIST_TO_TUPLE_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.LIST_TO_TUPLE_TOOLTIP = 'List conversion to tuple';
Blockly.Msg.LIST_TO_TUPLE_MESSAGE0 = 'List %1 conversion to tuple';


Blockly.Msg.tuple_create_with_MESSAGE0 = 'Define tuple %1 = %2 ';
Blockly.Msg.tuple_create_with_TOOLTIP = 'When you only have one element, you need to add a comma after the element';
Blockly.Msg.tuple_create_with_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.tuple_order_item_MESSAGE0 = 'Tuple %1 %2 %3 item';
Blockly.Msg.tuple_order_item_TOOLTIP = 'The sequence count starts from 0, and the reverse count starts from 1.';
Blockly.Msg.tuple_order_item_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.LIST_ORDER_ITEM_MESSAGE0 = 'List %1 %2 %3 item';
Blockly.Msg.LIST_ORDER_ITEM_TOOLTIP = 'The sequence count starts from 0, and the reverse count starts from 1.';
Blockly.Msg.LIST_ORDER_ITEM_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.SET_LIST_ORDER_ITEM_MESSAGE0 = 'Set list %1 %2 %3 item as %4';
Blockly.Msg.SET_LIST_ORDER_ITEM_TOOLTIP = 'The sequence count starts from 0, and the reverse count starts from 1.';
Blockly.Msg.SET_LIST_ORDER_ITEM_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.INSERT_LIST_ORDER_ITEM_MESSAGE0 = 'Insert list %1 %2 %3 item as %4';
Blockly.Msg.INSERT_LIST_ORDER_ITEM_TOOLTIP = 'The sequence count starts from 0, and the reverse count starts from 1.';
Blockly.Msg.INSERT_LIST_ORDER_ITEM_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.SET_TUPLE_ORDER_ITEM_MESSAGE0 = 'Set tuple %1 %2 %3 item as %4';
Blockly.Msg.SET_TUPLE_ORDER_ITEM_TOOLTIP = 'The sequence count starts from 0, and the reverse count starts from 1.';
Blockly.Msg.SET_TUPLE_ORDER_ITEM_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';


Blockly.Msg.DICT_CREATE_WITH_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.DICT_CREATE_WITH_TOOLTIP = 'Define a dictionary';
Blockly.Msg.DICT_CREATE_WITH_MESSAGE0 = 'Define dictionary %1 = %2';

Blockly.Msg.SET_CREATE_WITH_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.SET_CREATE_WITH_TOOLTIP = 'Define collection';
Blockly.Msg.SET_CREATE_WITH_MESSAGE0 = 'Define set %1 = %2';

Blockly.Msg.SET_UPDATE_WITH_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.SET_UPDATE_WITH_TOOLTIP = 'Add parameters as strings, lists, tuples, sets, dictionaries (add only key). For existing elements, do not do anything';
Blockly.Msg.SET_UPDATE_WITH_MESSAGE0 = 'Update set %1 with %2';

Blockly.Msg.INTERSECTION_OF_SETS_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.INTERSECTION_OF_SETS_TOOLTIP = 'Return %1 of both collection';
Blockly.Msg.INTERSECTION_OF_SETS_MESSAGE0 = '%1 of set %2 and set %3';
Blockly.Msg.CocoRobo_INTERSECTION = 'Intersection';
Blockly.Msg.CocoRobo_UNION = 'Union';
Blockly.Msg.CocoRobo_DIFFERENCE = 'Difference';
Blockly.Msg.SETS_UPDATE_WAYS_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.SETS_UPDATE_WAYS_TOOLTIP = 'The collection is updated to the %3 of the specified collection';
Blockly.Msg.SETS_UPDATE_WAYS_MESSAGE0 = 'Update set %1  as the %3 with set %2';
Blockly.Msg.SUBSET_SUPERSET_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.SUBSET_SUPERSET_TOOLTIP = 'Collection is %3 of collection';
Blockly.Msg.SUBSET_SUPERSET_MESSAGE0 = 'Set %1 is %3 of set %2';
Blockly.Msg.CocoRobo_SUBSET = 'Subset';
Blockly.Msg.CocoRobo_SUPERSET = 'Superset';

Blockly.Msg.GET_SETS_POP_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.GET_SETS_POP_TOOLTIP = 'Return the collection with random items removed';
Blockly.Msg.GET_SETS_POP_MESSAGE0 = 'Return a random item from the set %1, and remove it';

Blockly.Msg.LEN_OF_SETS_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.LEN_OF_SETS_TOOLTIP = 'Returns the length of the specified collection';
Blockly.Msg.LEN_OF_SETS_MESSAGE0 = 'Length of set %1';

Blockly.Msg.CREATE_EMPTY_SET_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.CREATE_EMPTY_SET_TOOLTIP = '';
Blockly.Msg.CREATE_EMPTY_SET_MESSAGE0 = 'Create empty sets %1';

Blockly.Msg.BIT_INVERSION_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.BIT_INVERSION_TOOLTIP = 'Reverse each binary bit of data';
Blockly.Msg.BIT_INVERSION_MESSAGE0 = 'Invert each binary bit of the data %1';

Blockly.Msg.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP = 'The sequence count starts from 0, and the reverse count starts from 1.';

Blockly.Msg.SET_CREATE_WITH_ITEMS_INSERT_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP = 'Items can be strings, assigned variables, tuples';

Blockly.Msg.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP = 'Initialize the dictionary';


Blockly.Msg.DICT_KEY_VALUE_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.DICT_KEY_VALUE_TOOLTIP = 'Returns the value of the specified key of the dictionary';
Blockly.Msg.DICT_KEY_VALUE_MESSAGE0 = 'Value of the key %2 in dictionary %1';

Blockly.Msg.ADD_DICT_KEY_VALUE_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.ADD_DICT_KEY_VALUE_TOOLTIP = 'Update the key if the key already exists';
Blockly.Msg.ADD_DICT_KEY_VALUE_MESSAGE0 = 'Add key %2 & value %3 to dictionary %1';

Blockly.Msg.DICT_LENGTH_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.DICT_LENGTH_TOOLTIP = 'Returns the length of the dictionary';
Blockly.Msg.DICT_LENGTH_MESSAGE0 = 'Length of dictionary %1';

Blockly.Msg.DICT_KEY_EXIST_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.DICT_KEY_EXIST_TOOLTIP = 'Determine whether the dictionary contains the specified key, and return True or False';
Blockly.Msg.DICT_KEY_EXIST_MESSAGE0 = 'Dictionary %1 include key %2';

Blockly.Msg.DICT_KEY_OR_VAL_LIST_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.DICT_KEY_OR_VAL_LIST_TOOLTIP = 'Return list of %2 in dictionary';
Blockly.Msg.DICT_KEY_OR_VAL_LIST_MESSAGE0 = 'List of %2 in dictionary %1';
Blockly.Msg.DICT_KEYS = 'KEY';
Blockly.Msg.DICT_VALUES = 'VALUE';


Blockly.Msg.CocoRobo_lists_append_MESSAGE0 = 'Add item %2 at the end of list %1';
Blockly.Msg.CocoRobo_lists_append_TOOLTIP = 'Add item to the end of the list';
Blockly.Msg.CocoRobo_lists_append_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.CocoRobo_lists_extend_MESSAGE0 = 'List %1 append list %2';
Blockly.Msg.CocoRobo_lists_extend_TOOLTIP = 'Append list to list';
Blockly.Msg.CocoRobo_lists_extend_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

// Blockly.Msg.CocoRobo_lists_remove_MESSAGE0 = '列表%1 移除第%2 项';
// Blockly.Msg.CocoRobo_lists_remove_TOOLTIP = '从第0项开始';
// Blockly.Msg.CocoRobo_lists_remove_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';

Blockly.Msg.CocoRobo_lists_clear_MESSAGE0 = 'Clear list %1';
Blockly.Msg.CocoRobo_lists_clear_TOOLTIP = 'Clear the list';
Blockly.Msg.CocoRobo_lists_clear_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';


Blockly.Msg.CocoRobo_Timer_value_MESSAGE0 = 'Timer %1 count value';
Blockly.Msg.CocoRobo_Timer_value_TOOLTIP = 'Get and return the current count value of the timer';

Blockly.Msg.CocoRobo_Timer_deinit_MESSAGE0 = 'Clear timer / event %1';
Blockly.Msg.CocoRobo_Timer_deinit_TOOLTIP = 'Cancel the initialization of the timer. Stop timer and disable timer peripherals';

Blockly.Msg.CocoRobo_Interrupt_AB_HELPURL = 'https://CocoRobo.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3';
Blockly.Msg.CocoRobo_Interrupt_AB_TOOLTIP = '';
Blockly.Msg.CocoRobo_Interrupt_AB_MESSAGE0 = 'When the button %1 is %2';

Blockly.Msg.CocoRobo_Interrupt_pin_HELPURL = 'https://CocoRobo.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3';
Blockly.Msg.CocoRobo_Interrupt_pin_TOOLTIP = 'Rising edge trigger: from low level to high level; falling edge trigger: from high level to low level';
Blockly.Msg.CocoRobo_Interrupt_pin_MESSAGE0 = 'When pin %1 level is from %2';
Blockly.Msg.CocoRobo_Interrupt_pin_IRQ_FALLING = '↘ high to low';
Blockly.Msg.CocoRobo_Interrupt_pin_IRQ_RISING = '↗ low to high';

Blockly.Msg.CocoRobo_IRQ_FALLING = 'Pressed';
Blockly.Msg.CocoRobo_IRQ_RISING = 'Released';
Blockly.Msg.CocoRobo_PERIODIC = 'Repeated mode';
Blockly.Msg.CocoRobo_ONE_SHOT = 'Delayed mode';

Blockly.Msg.CocoRobo_IS_SHAKED_MESSAGE0 = 'The board %1';
Blockly.Msg.CocoRobo_IS_SHAKED_HELPURL = '';
Blockly.Msg.CocoRobo_IS_SHAKED_TOOLTIP = '';

Blockly.Msg.CocoRobo_IS_SHAKED = 'Was shaked';
Blockly.Msg.CocoRobo_IS_THROWN = 'Was thrown';

Blockly.Msg.CocoRobo_SHAKE_DETECTOR_MESSAGE0 = 'When the board %1';
Blockly.Msg.CocoRobo_SHAKE_DETECTOR_HELPURL = '';
Blockly.Msg.CocoRobo_SHAKE_DETECTOR_TOOLTIP = '';

Blockly.Msg.CocoRobo_IS_TILTED_MESSAGE0 = 'The board is %1';
Blockly.Msg.CocoRobo_IS_TILTED_HELPURL = '';
Blockly.Msg.CocoRobo_IS_TILTED_TOOLTIP = '';

Blockly.Msg.CocoRobo_TILT_DETECTOR_MESSAGE0 = 'When the board is %1';
Blockly.Msg.CocoRobo_TILT_DETECTOR_HELPURL = '';
Blockly.Msg.CocoRobo_TILT_DETECTOR_TOOLTIP = '';

Blockly.Msg.CocoRobo_DIRECTION_FORWARD = 'Tilt forward';
Blockly.Msg.CocoRobo_DIRECTION_BACK = 'Tilt back';
Blockly.Msg.CocoRobo_DIRECTION_RIGHT = 'Tilt right';
Blockly.Msg.CocoRobo_DIRECTION_LEFT = 'Tilt left';
Blockly.Msg.CocoRobo_DIRECTION_NONE = 'Flat';

Blockly.Msg.CocoRobo_TOUCH_EVENT_MESSAGE0 = 'When the touchpad %1 is %2';
Blockly.Msg.CocoRobo_TOUCH_EVENT_HELPURL = '';
Blockly.Msg.CocoRobo_TOUCH_EVENT_TOOLTIP = '';

Blockly.Msg.CocoRobo_TOUCH_EVENT_PRESSED = 'Pressed';
Blockly.Msg.CocoRobo_TOUCH_EVENT_UNPRESSED = 'Unpressed';

Blockly.Msg.CocoRobo_CUSTOM_EVENT_MESSAGE0 = 'Event %1 : when %2';
Blockly.Msg.CocoRobo_CUSTOM_EVENT_HELPURL = '';
Blockly.Msg.CocoRobo_CUSTOM_EVENT_TOOLTIP = 'Custom events use port 1/2/4/7/8/9/10, shared with Timers, cannot access one port at the same time.\nMax up to 4 events/timers at the same time.\nIf there is conflict, try changing the number.';

Blockly.Msg.CocoRobo_music_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.CocoRobo_music_range_pitch_TOOLTIP = 'Duration is the length of a single frequency';
Blockly.Msg.CocoRobo_music_range_pitch_MESSAGE0 = 'Play tone from %1 to %2 step %3 duration %4 ms  Pin %5';

Blockly.Msg.CocoRobo_neopixel_init_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.CocoRobo_neopixel_init_TOOLTIP = '';
Blockly.Msg.CocoRobo_neopixel_init_MESSAGE0 = 'Initialize light strip with Name %1 Pin %2 Quantity %3';

Blockly.Msg.CocoRobo_NEOPIXEL_RAINBOW_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.CocoRobo_NEOPIXEL_RAINBOW_TOOLTIP = '';
Blockly.Msg.CocoRobo_NEOPIXEL_RAINBOW_MESSAGE0 = 'Define rainbow effect of light strip with Name %1 Quantity %2 bright %3 offset %4';

Blockly.Msg.CocoRobo_NEOPIXEL_BRIGHTNESS_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness';
Blockly.Msg.CocoRobo_NEOPIXEL_BRIGHTNESS_TOOLTIP = 'Adjust the brightness range of 0 to 100';
Blockly.Msg.CocoRobo_NEOPIXEL_BRIGHTNESS_MESSAGE0 = 'Light strip %1 set brightness as %2';

Blockly.Msg.CocoRobo_neopixel_single_TOOLTIP = '';
Blockly.Msg.CocoRobo_neopixel_single_MESSAGE0 = 'Light strip %1 # %2 R %3 G %4 B %5';

Blockly.Msg.CocoRobo_neopixel_single_gui_MESSAGE0 = 'Light strip %1 # %2 color as %3';
Blockly.Msg.CocoRobo_neopixel_single_gui_TOOLTIP = '';

Blockly.Msg.CocoRobo_neopixel_show_TOOLTIP = '';
Blockly.Msg.CocoRobo_neopixel_show_MESSAGE0 = 'Light strip %1 setting take effect';

Blockly.Msg.CocoRobo_neopixel_off_TOOLTIP = '';
Blockly.Msg.CocoRobo_neopixel_off_MESSAGE0 = 'Light strip %1 off';

Blockly.Msg.CocoRobo_neopixel_all_TOOLTIP = '';
Blockly.Msg.CocoRobo_neopixel_all_MESSAGE0 = 'Light strip %1 full bright R %2 G %3 B %4';

Blockly.Msg.CocoRobo_neopixel_all_gui_TOOLTIP = '';
Blockly.Msg.CocoRobo_neopixel_all_gui_MESSAGE0 = 'Light strip %1 full bright with color %2';

//Blockly.Msg.CocoRobo_image_to_lcd_MESSAGE0 ='open image %1 width %2 height %3';
//Blockly.Msg.CocoRobo_image_to_lcd_TOOLTIP = '';

Blockly.Msg.CocoRobo_time_localtime_MESSAGE0 = 'Local time %1';
Blockly.Msg.CocoRobo_time_localtime_TOOLTIP = 'Week number: return 0 to 6, Monday is 0, Sunday is 6\nDays number: return the position of the day in the year\nIt is recommended to connect wifi and get network time first.';

Blockly.Msg.CocoRobo_WiFi_config_MESSAGE0 = 'Wi-Fi configuration information %1';
Blockly.Msg.CocoRobo_WiFi_config_TOOLTIP = '';

Blockly.Msg.CocoRobo_time_ticks_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/CocoRoboX.html';
Blockly.Msg.CocoRobo_time_ticks_MESSAGE0 = 'Run time %1';
Blockly.Msg.CocoRobo_time_ticks_TOOLTIP = '';

Blockly.Msg.CocoRobo_Timer_MESSAGE0 = 'Set timer %1 %2 , cycle %3 millisecond(s)';
Blockly.Msg.CocoRobo_Timer_TOOLTIP = 'Create timer n, n=1-14.\nMax up to 4 timers at the same time.\nIf there is conflict, try changing the number.\n3 for internal program,\n5/6 for servo system and ADC,\n11 is used for shaked event,\n12 is used for touchpad event,\n13 is used for Radio or DHT11/DHT22 timing value,\n14 is used for OneNET or tilt detection,\nothers ports are shared with custom events.';
Blockly.Msg.CocoRobo_Timer_HELPURL = 'https://CocoRobox.readthedocs.io/zh_CN/latest/blocks/index.html';

Blockly.Msg.CocoRobo_bme280_hum_tem_pre_MESSAGE0 = 'BME280 %1';
Blockly.Msg.CocoRobo_bme280_hum_tem_pre_TOOLTIP = 'Air pressure unit is \'Pa\', temperature unit is \'Celsius\', ambient humidity unit is \'%\'';

//Blockly.Msg.CocoRobo_sway_xyz_MESSAGE0 ='%1 摇晃教科板';
//Blockly.Msg.CocoRobo_sway_xyz_TOOLTIP = "教科板正面朝上，触摸键 'python' 靠近使用者，开始左右或前后摇晃教科板";

Blockly.Msg.CocoRobo_init_bluetooth_MESSAGE0 = 'Initialize Bluetooth Name %1';
Blockly.Msg.CocoRobo_init_bluetooth_TOOLTIP = 'Initialize Bluetooth Name';

Blockly.Msg.CocoRobo_OnOff_bluetooth_MESSAGE0 = 'Bluetooth device %1 broadcasting';
Blockly.Msg.CocoRobo_OnOff_bluetooth_TOOLTIP = 'Bluetooth devices turn on or off broadcasting';

Blockly.Msg.CocoRobo_HID_consumer_bluetooth_MESSAGE0 = 'HID Consumption Equipment%1 Status%2';
Blockly.Msg.CocoRobo_HID_consumer_bluetooth_TOOLTIP = 'Controllers that simulate HID consumer devices, such as Bluetooth remote controls';

Blockly.Msg.CocoRobo_HID_mouse_bluetooth_MESSAGE0 = 'HID Mouse button%1';
Blockly.Msg.CocoRobo_HID_mouse_bluetooth_TOOLTIP = 'HID Mouse button';

Blockly.Msg.CocoRobo_HID_mouse_pointer_bluetooth_MESSAGE0 = 'Mouse pointer movement x%2 y%1';
Blockly.Msg.CocoRobo_HID_mouse_pointer_bluetooth_TOOLTIP = 'Relative Displacement of Mouse Pointer Coordinates X and Y,Range -1023 ~ 1023';

Blockly.Msg.CocoRobo_HID_release_mouse_bluetooth_MESSAGE0 = 'Mouse Release Key';
Blockly.Msg.CocoRobo_HID_release_mouse_bluetooth_TOOLTIP = 'Mouse device';

Blockly.Msg.CocoRobo_HID_keyboard_bluetooth_MESSAGE0 = 'HID Keyboard device keys%1';
Blockly.Msg.CocoRobo_HID_keyboard_bluetooth_TOOLTIP = 'HID keyboard equipment';

Blockly.Msg.CocoRobo_HID_keyboard_group_bluetooth_MESSAGE0 = 'HID device keys%1 combination keys%2';
Blockly.Msg.CocoRobo_HID_keyboard_group_bluetooth_TOOLTIP = 'If you want to use multiple keystrokes to combine instructions, you can use "|" or arithmetic';

Blockly.Msg.CocoRobo_HID_keyboard_part_bluetooth_MESSAGE0 = 'HID Device combination key%1';
Blockly.Msg.CocoRobo_HID_keyboard_part_bluetooth_TOOLTIP = 'If you want to use multiple key combinations of instructions, you can use "|" or operation';

Blockly.Msg.CocoRobo_HID_release_keyboard_bluetooth_MESSAGE0 = 'Keyboard Release Key';
Blockly.Msg.CocoRobo_HID_release_keyboard_bluetooth_TOOLTIP = 'Keyboard equipment';

Blockly.Msg.CocoRobo_init_wifi_MESSAGE0 = 'Connect to Wi-Fi with SSID %1 & Password %2';
Blockly.Msg.CocoRobo_init_wifi_TOOLTIP = 'Let the board access the Wi-Fi environment';

Blockly.Msg.CocoRobo_dis_WiFi_MESSAGE0 = 'Disconnect Wi-Fi connection';
Blockly.Msg.CocoRobo_dis_WiFi_TOOLTIP = '';

Blockly.Msg.CocoRobo_ENABLE_APWIFI_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap';
Blockly.Msg.CocoRobo_ENABLE_APWIFI_TOOLTIP = 'The password can be empty or alphanumeric with more than 8 digits.\nAP mode is only used for communication between the control boards. It cannot be used as a hotspot to make other devices access the Internet.';
Blockly.Msg.CocoRobo_ENABLE_APWIFI_MESSAGE0 = 'Open AP mode with SSID %1 & Password %2 Channel %3';

Blockly.Msg.CocoRobo_disable_APWiFi_MESSAGE0 = 'Close AP mode';
Blockly.Msg.CocoRobo_disable_APWiFi_TOOLTIP = '';

Blockly.Msg.CocoRobo_ntptime_settime_MESSAGE0 = 'Synchronize network time';
Blockly.Msg.CocoRobo_ntptime_settime_TOOLTIP = 'NTP time synchronization is a time synchronization network technology';

Blockly.Msg.CocoRobo_ntptime_timezone_E1 = "UTC+1";
Blockly.Msg.CocoRobo_ntptime_timezone_E2 = "UTC+2";
Blockly.Msg.CocoRobo_ntptime_timezone_E3 = "UTC+3";
Blockly.Msg.CocoRobo_ntptime_timezone_E4 = "UTC+4";
Blockly.Msg.CocoRobo_ntptime_timezone_E5 = "UTC+5";
Blockly.Msg.CocoRobo_ntptime_timezone_E6 = "UTC+6";
Blockly.Msg.CocoRobo_ntptime_timezone_E7 = "UTC+7";
Blockly.Msg.CocoRobo_ntptime_timezone_E8 = "UTC+8";
Blockly.Msg.CocoRobo_ntptime_timezone_E9 = "UTC+9";
Blockly.Msg.CocoRobo_ntptime_timezone_E10 = "UTC+10";
Blockly.Msg.CocoRobo_ntptime_timezone_E11 = "UTC+11";
Blockly.Msg.CocoRobo_ntptime_timezone_E12 = "UTC+12";
Blockly.Msg.CocoRobo_ntptime_timezone_0 = "UTC";
Blockly.Msg.CocoRobo_ntptime_timezone_W1 = "UTC-1";
Blockly.Msg.CocoRobo_ntptime_timezone_W2 = "UTC-2";
Blockly.Msg.CocoRobo_ntptime_timezone_W3 = "UTC-3";
Blockly.Msg.CocoRobo_ntptime_timezone_W4 = "UTC-4";
Blockly.Msg.CocoRobo_ntptime_timezone_W5 = "UTC-5";
Blockly.Msg.CocoRobo_ntptime_timezone_W6 = "UTC-6";
Blockly.Msg.CocoRobo_ntptime_timezone_W7 = "UTC-7";
Blockly.Msg.CocoRobo_ntptime_timezone_W8 = "UTC-8";
Blockly.Msg.CocoRobo_ntptime_timezone_W9 = "UTC-9";
Blockly.Msg.CocoRobo_ntptime_timezone_W10 = "UTC-10";
Blockly.Msg.CocoRobo_ntptime_timezone_W11 = "UTC-11";
Blockly.Msg.CocoRobo_ntptime_timezone_W12 = "UTC-12";

Blockly.Msg.FILE_TO_LIST_HELPURL = '';
Blockly.Msg.FILE_TO_LIST_TOOLTIP = 'Read the text file content of the specified path (only in UTF-8 format) and converts it to a list format, separated by the selected separator.';
Blockly.Msg.FILE_TO_LIST_MESSAGE0 = 'Convert the text file %1 to a list separated by %2';

Blockly.Msg.FILE_TO_BIN_HELPURL = '';
Blockly.Msg.FILE_TO_BIN_TOOLTIP = 'Reads the contents of the file in the specified path in binary format.';
Blockly.Msg.FILE_TO_BIN_MESSAGE0 = 'Read the binary content of file %1';

Blockly.Msg.CocoRobo_INIT_FILE_HELPURL = '';
Blockly.Msg.CocoRobo_INIT_FILE_TOOLTIP = 'Initializes a text file, creates a file if it does not exist, and clears the content if it exists.';
Blockly.Msg.CocoRobo_INIT_FILE_MESSAGE0 = 'initialize text file %1';

Blockly.Msg.CocoRobo_WRITE_FILE_HELPURL = '';
Blockly.Msg.CocoRobo_WRITE_FILE_TOOLTIP = 'Writes content to a text file of the specified path, and creates a file if the file does not exist.';
Blockly.Msg.CocoRobo_WRITE_FILE_MESSAGE0 = 'Write content %2 to the text file %1 separated by %3';

Blockly.Msg.CocoRobo_SDCARD_INIT_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/sdcard.html#sdcard.SDCard';
Blockly.Msg.CocoRobo_SDCARD_INIT_TOOLTIP = 'Sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\nMake sure that the pins of the SPI bus are connected to the micro SD card which is formatted by using the FAT or FAT32 file system.';
Blockly.Msg.CocoRobo_SDCARD_INIT_MESSAGE0 = 'Initialize SD card';

Blockly.Msg.CocoRobo_SDCARD_MOUNT_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/sdcard.html#sdcard.SDCard';
Blockly.Msg.CocoRobo_SDCARD_MOUNT_TOOLTIP = 'Mount the SD card to the specified path.';
Blockly.Msg.CocoRobo_SDCARD_MOUNT_MESSAGE0 = 'Mount SD card to path %1';

Blockly.Msg.CocoRobo_ENTER = 'Rnter';
Blockly.Msg.CocoRobo_COMMA = 'Comma';
Blockly.Msg.CocoRobo_SEMICOLON = 'Semicolon';
Blockly.Msg.CocoRobo_SPACE = 'Space';

//Blockly.Msg.CocoRobo_wifi_clock_MESSAGE0 ='Wi-Fi 模拟时钟 x %1 y %2 半径 %3';
//Blockly.Msg.CocoRobo_wifi_clock_TOOLTIP = '需连接 Wi-Fi 使用';

Blockly.Msg.CocoRobo_def_clock_MESSAGE0 = 'Initialize clock %1 x %2 y %3 radius %4';
Blockly.Msg.CocoRobo_def_clock_TOOLTIP = '';

Blockly.Msg.CocoRobo_settime_clock_MESSAGE0 = 'Clock %1 read time';
Blockly.Msg.CocoRobo_settime_clock_TOOLTIP = '';

Blockly.Msg.CocoRobo_draw_clear_clock_MESSAGE0 = '%1 clock %2';
Blockly.Msg.CocoRobo_draw_clear_clock_TOOLTIP = '';

Blockly.Msg.CocoRobo_tinywebio_start_MESSAGE0 = 'Start TinyWebIO service, run in %1';
Blockly.Msg.CocoRobo_tinywebio_start_TOOLTIP = 'Wi-Fi is required to start the service, and the TinyWebIO service provides a remote control interface for the App Inventor application.';

Blockly.Msg.CocoRobo_tinywebio_client_setup_HELPURL = '';
Blockly.Msg.CocoRobo_tinywebio_client_setup_TOOLTIP = 'Items send to the server (separated by comma)\nbuttona/b Button status\ntouchpadp/y/t/h/o/n Touch button value \nlight Light value\nsound Sound value\naccelerometer Triaxial acceleration value\nid the board identification \ntime timestamp \npind<n> digital IO pin \npina<n> analog IO pin\n----------\nItems read from the server (separated by comma)\nrgb0/ 1/2 RGB lamp bead \noled LCD display \nmusic music \nservo<n> steering gear \npind<n> digital IO pin \npina<n> analog IO pin';
Blockly.Msg.CocoRobo_tinywebio_client_setup_MESSAGE0 = 'Setup TinyWebIO client params %1 TinyWebDB server address %2 items send to the server %3 items read from the server %4 access server time interval(ms) %5';

Blockly.Msg.CocoRobo_tinywebio_client_action_HELPURL = '';
Blockly.Msg.CocoRobo_tinywebio_client_action_TOOLTIP = '';
Blockly.Msg.CocoRobo_tinywebio_client_action_MESSAGE0 = '%1 TinyWebIO client';

Blockly.Msg.CocoRobo_tinywebio_client_action_start = 'Start';
Blockly.Msg.CocoRobo_tinywebio_client_action_stop = 'Stop';

Blockly.Msg.CocoRobo_CUSTOM_CODE_HELPURL = '';
Blockly.Msg.CocoRobo_CUSTOM_CODE_TOOLTIP = '';
Blockly.Msg.CocoRobo_CUSTOM_CODE_MESSAGE0 = '%1 custom code %2 %3';

Blockly.Msg.CocoRobo_CUSTOM_TYPE_IMPORT = 'Topping';
Blockly.Msg.CocoRobo_CUSTOM_TYPE_NORMAL = 'Normal';

Blockly.Msg.CocoRobo_servo_angle0_MESSAGE0 = 'Set the servo %1 angle as %2';
Blockly.Msg.CocoRobo_servo_angle_MESSAGE0 = 'Set the servo %1 angle as %2 pulse width from %3 us to %4 us actuation range as %5';
Blockly.Msg.CocoRobo_servo_angle_TOOLTIP = 'Power cable Vcc (red) connected to expansion-board power port V, ground line GND (brown) connected to expansion-board ground port G, control signal line (orange) connected to selected expansion-board pins';

Blockly.Msg.CocoRobo_dh11_hum_tem_MESSAGE0 = 'DHT11 %1 %2';
Blockly.Msg.CocoRobo_dh11_hum_tem_TOOLTIP = '"+" on the DHT11 connects the power port of the expansion-board V, "-" connects the ground port of the expansion-board G, "out" connects the pin0 of the expansion-board';


Blockly.Msg.CocoRobo_DH22_HUM_TEM_MESSAGE0 = 'DHT22 %1 %2';
Blockly.Msg.CocoRobo_DH22_HUM_TEM_TOOLTIP = '';
Blockly.Msg.CocoRobo_DH22_HUM_TEM_HELPURL = 'https://CocoRobo.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT';

Blockly.Msg.CocoRobo_music_note_MESSAGE0 = 'Note %1 %2 : %3';
Blockly.Msg.CocoRobo_music_note_TOOLTIP = 'Note, such as C4:4';

Blockly.Msg.CocoRobo_return_list_MESSAGE0 = 'Define list %1 = %2';
Blockly.Msg.CocoRobo_return_list_TOOLTIP = 'Define a list';

Blockly.Msg.CocoRobo_display_Show_MESSAGE0 = 'LCD setting take effect';
Blockly.Msg.CocoRobo_display_Show_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_DispChar_MESSAGE0 = 'Display text %3 at x %1 y %2 text mode %4';
Blockly.Msg.CocoRobo_display_DispChar_TOOLTIP = 'LCD resolution 128x64';
Blockly.Msg.CocoRobo_display_DispChar_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/CocoRobo.html?highlight=lcd#lcd.DispChar';

Blockly.Msg.CocoRobo_display_DispChar_5lines_MESSAGE0 = 'LCD line %1 shows %2 text mode %3';
Blockly.Msg.CocoRobo_display_DispChar_5lines_TOOLTIP = 'LCD resolution 128x64';
Blockly.Msg.CocoRobo_line1 = '1';
Blockly.Msg.CocoRobo_line2 = '2';
Blockly.Msg.CocoRobo_line3 = '3';
Blockly.Msg.CocoRobo_line4 = '4';
Blockly.Msg.CocoRobo_line5 = '5';
Blockly.Msg.CocoRobo_CLEAR_DISPCHAR_5LINES_MESSAGE0 = 'LCD clear line %1';
Blockly.Msg.CocoRobo_CLEAR_DISPCHAR_5LINES_TOOLTIP = 'LCD resolution 128x64';
Blockly.Msg.CocoRobo_CLEAR_DISPCHAR_5LINES_HELPURL = '';
Blockly.Msg.CocoRobo_display_fill_O = "initialize";
Blockly.Msg.CocoRobo_display_fill_0 = 'Clear';
Blockly.Msg.CocoRobo_display_fill_1 = 'Full bright';
Blockly.Msg.CocoRobo_display_invert_0 = 'Black background';
Blockly.Msg.CocoRobo_display_invert_1 = 'White background';
Blockly.Msg.CocoRobo_display_show = 'Show';
Blockly.Msg.CocoRobo_display_fill_MESSAGE0 = 'LCD display initialize';

Blockly.Msg.GLCDD = 'Get LCD display\'s %1';



Blockly.Msg.CocoRobo_display_fill_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_pixel_0 = 'Dark';
Blockly.Msg.CocoRobo_display_pixel_1 = 'Bright';
Blockly.Msg.CocoRobo_display_pixel_MESSAGE0 = 'Draw a point x %1 y %2 as %3';
Blockly.Msg.CocoRobo_display_pixel_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_hline_0 = 'Erase';
Blockly.Msg.CocoRobo_display_hline_1 = 'Draw';
Blockly.Msg.CocoRobo_display_hline_MESSAGE0 = '%1 horizontal line %2 x %3 y %4 length %5';
Blockly.Msg.CocoRobo_display_hline_TOOLTIP = '';

Blockly.Msg.CocoRobo_ProgressBar_MESSAGE0 = 'Progress bar %1 x %2 y %3 width %4 height %5 progress %6';
Blockly.Msg.CocoRobo_ProgressBar_TOOLTIP = '';

Blockly.Msg.CocoRobo_stripBar_MESSAGE0 = 'Column bar %1 x %2 y %3 width %4 height %5 progress %6';
Blockly.Msg.CocoRobo_stripBar_TOOLTIP = '';

Blockly.Msg.CocoRobo_QR_CODE_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/gui.html#gui.UI.qr_code';
Blockly.Msg.CocoRobo_QR_CODE_TOOLTIP = '';
Blockly.Msg.CocoRobo_QR_CODE_MESSAGE0 = 'Display QR code %3 at x %1 y %2 with size %4';

Blockly.Msg.CocoRobo_DISPLAY_MODE_0 = 'Erase';
Blockly.Msg.CocoRobo_DISPLAY_MODE_1 = 'Draw';

Blockly.Msg.CocoRobo_DISPLAY_HOLLOW = 'Hollow';
Blockly.Msg.CocoRobo_DISPLAY_SOLID = 'Solid';

Blockly.Msg.CocoRobo_DISPLAY_HVLINE_MESSAGE0 = '%1 %2 line %3 x %4 y %5 length %6';
Blockly.Msg.CocoRobo_DISPLAY_HVLINE_TOOLTIP = '';

Blockly.Msg.CocoRobo_DISPLAY_SHAPE_RECT_MESSAGE0 = '%1 %2 rectangle %3 x %4 y %5 width %6 height %7';
Blockly.Msg.CocoRobo_DISPLAY_SHAPE_RECT_TOOLTIP = '';

Blockly.Msg.CocoRobo_DISPLAY_SHAPE_CIRCLE_MESSAGE0 = '%1 %2 circle %3 x %4 y %5 radius %6';
Blockly.Msg.CocoRobo_DISPLAY_SHAPE_CIRCLE_TOOLTIP = '';

Blockly.Msg.CocoRobo_DISPLAY_SHAPE_TRIANGLE_MESSAGE0 = '%1 %2 triangle %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9';
Blockly.Msg.CocoRobo_DISPLAY_SHAPE_TRIANGLE_TOOLTIP = '';

Blockly.Msg.CocoRobo_RGB_0 = '0 #';
Blockly.Msg.CocoRobo_RGB_1 = '1 #';
Blockly.Msg.CocoRobo_RGB_2 = '2 #';
Blockly.Msg.CocoRobo_RGB_ALL = 'all';

Blockly.Msg.CocoRobo_SET_RGB_LIST_COLOR_MESSAGE0 = 'Set %1 RGB light(s) color to %2';
Blockly.Msg.CocoRobo_SET_RGB_LIST_COLOR_TOOLTIP = '1/30 of the original brightness can better display the color difference';

Blockly.Msg.CocoRobo_SET_RGB_LIST_NUMBER_MESSAGE0 = 'Set %1 RGB light(s) color to R%2 G%3 B%4';
Blockly.Msg.CocoRobo_SET_RGB_LIST_NUMBER_TOOLTIP = '1/30 of the original brightness can better display the color difference';

Blockly.Msg.CocoRobo_OFF_RGB_LIST_MESSAGE0 = 'Turn off %1 RGB light(s)';
Blockly.Msg.CocoRobo_OFF_RGB_LIST_TOOLTIP = '';

Blockly.Msg.CocoRobo_MUSIC_PLAY_MESSAGE0 = 'Play music %1 Pin %2';
Blockly.Msg.CocoRobo_MUSIC_PLAY_TOOLTIP = 'Play the built-in music';

Blockly.Msg.CocoRobo_MUSIC_PLAY_UNTIL_END_MESSAGE0 = 'Play music %1 until end, Pin %2';
Blockly.Msg.CocoRobo_MUSIC_PLAY_UNTIL_END_TOOLTIP = 'Play the built-in music';

Blockly.Msg.CocoRobo_MUSIC_GE_CHANG_ZU_GUO = 'GE_CHANG_ZU_GUO';
Blockly.Msg.CocoRobo_MUSIC_DONG_FANG_HONG = 'DONG_FANG_HONG';
Blockly.Msg.CocoRobo_MUSIC_CAI_YUN_ZHUI_YUE = 'CAI_YUN_ZHUI_YUE';
Blockly.Msg.CocoRobo_MUSIC_ZOU_JIN_XIN_SHI_DAI = 'ZOU_JIN_XIN_SHI_DAI';
Blockly.Msg.CocoRobo_MUSIC_MO_LI_HUA = 'MO_LI_HUA';
Blockly.Msg.CocoRobo_MUSIC_YI_MENG_SHAN_XIAO_DIAO = 'YI_MENG_SHAN_XIAO_DIAO';

Blockly.Msg.CocoRobo_display_vline_MESSAGE0 = '%1 vertical line %2 x %3 y %4 length %5';
Blockly.Msg.CocoRobo_display_vline_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_line_MESSAGE0 = '%1 line %2 x1 %3 y1 %4 to x2 %5 y2 %6';
Blockly.Msg.CocoRobo_display_line_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_rect_MESSAGE0 = '%1 border %2 x %3 y %4 width %5 height %6';
Blockly.Msg.CocoRobo_display_rect_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_RoundRect_MESSAGE0 = '%1 arc border %2 x %3 y %4 width %5 height %6 radius %7';
Blockly.Msg.CocoRobo_display_RoundRect_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_fill_rect_MESSAGE0 = '%1 rectangle %2 x %3 y %4 width %5 height %6';
Blockly.Msg.CocoRobo_display_fill_rect_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_fill_circle_MESSAGE0 = '%1 solid circle %2 x %3 y %4 radius %5';
Blockly.Msg.CocoRobo_display_fill_circle_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_circle_MESSAGE0 = '%1 hollow circle %2 x %3 y %4 radius %5';
Blockly.Msg.CocoRobo_display_circle_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_triangle_MESSAGE0 = '%1 hollow triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8';
Blockly.Msg.CocoRobo_display_triangle_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_fill_triangle_MESSAGE0 = '%1 solid triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8';
Blockly.Msg.CocoRobo_display_fill_triangle_TOOLTIP = '';

Blockly.Msg.CocoRobo_display_Bitmap_MESSAGE0 = '%1 pattern x %2 y %3 width %4 height %5 with hex image data %6';
Blockly.Msg.CocoRobo_display_Bitmap_TOOLTIP = 'Display hex image data at a specified position on the LCD screen';

Blockly.Msg.CocoRobo_GET_PBM_DATA_MESSAGE0 = 'Get inner image %1 Pattern %2';
Blockly.Msg.CocoRobo_GET_PBM_DATA_TOOLTIP = 'Supports * .PBM or * .PBM format monochrome image files, retrieves image file data of specified path, and returns a tuple object';
Blockly.Msg.CocoRobo_GET_PBM_DATA_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/gui.html#image';

Blockly.Msg.CocoRobo_GET_PBM_DATA_CUSTOM_MESSAGE0 = 'Get custom image%1 mode%2';

Blockly.Msg.CocoRobo_DISPLAY_PBM_DATA_MESSAGE0 = 'Display image at x %1 y %2 with data %3';
Blockly.Msg.CocoRobo_DISPLAY_PBM_DATA_TOOLTIP = 'Monochromatic image files supporting * .PBM or * .PBM formats';
Blockly.Msg.CocoRobo_DISPLAY_PBM_DATA_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/cocorobo/gui.html#image';

Blockly.Msg.CocoRobo_BITMAP_FROM_FILE_MESSAGE0 = 'Display image at x %1 y %2 with data %5 width %3 height %4';
Blockly.Msg.CocoRobo_BITMAP_FROM_FILE_TOOLTIP = '';
Blockly.Msg.CocoRobo_BITMAP_FROM_FILE_HELPURL = '';

Blockly.Msg.CocoRobo_horizontal = 'Horizontal';
Blockly.Msg.CocoRobo_vertical = 'Vertical';
Blockly.Msg.CocoRobo_front = 'Front';
Blockly.Msg.CocoRobo_reverse = 'Reverse';
/*
Blockly.Msg.CocoRobo_DISPLAY_DIGIFACE_FONT_MESSAGE0 = "display text %3 at x %1 y %2 , using Digiface font, size %4";
Blockly.Msg.CocoRobo_DISPLAY_DIGIFACE_FONT_TOOLTIP = "";
Blockly.Msg.CocoRobo_DISPLAY_DIGIFACE_FONT_HELPURL = "";
*/
Blockly.Msg.CocoRobo_FONT_DIGIFACE_11 = 'Digiface 11px';
Blockly.Msg.CocoRobo_FONT_DIGIFACE_16 = 'Digiface 16px';
Blockly.Msg.CocoRobo_FONT_DIGIFACE_21 = 'Digiface 21px';
Blockly.Msg.CocoRobo_FONT_DIGIFACE_30 = 'Digiface 30px';
Blockly.Msg.CocoRobo_FONT_DIGIFACE_44 = 'Digiface 44px';
Blockly.Msg.CocoRobo_FONT_DIGIFACE_IT_30 = 'Digiface Italic 30px';
Blockly.Msg.CocoRobo_FONT_DIGIFACE_IT_42 = 'Digiface Italic 42px';
Blockly.Msg.CocoRobo_FONT_DVSM_12 = 'DejaVu Sans Mono 12px';
Blockly.Msg.CocoRobo_FONT_DVSM_16 = 'DejaVu Sans Mono 16px';
Blockly.Msg.CocoRobo_FONT_DVSM_21 = 'DejaVu Sans Mono 21px';
Blockly.Msg.CocoRobo_FONT_DVSMB_12 = 'DejaVu Sans Mono Bold 12px';
Blockly.Msg.CocoRobo_FONT_DVSMB_16 = 'DejaVu Sans Mono Bold 16px';
Blockly.Msg.CocoRobo_FONT_DVSMB_21 = 'DejaVu Sans Mono Bold 21px';

Blockly.Msg.CocoRobo_FONT_WRAP = 'Auto wrap';
Blockly.Msg.CocoRobo_FONT_NO_WRAP = 'No wrap';

Blockly.Msg.CocoRobo_FACE_1 = 'Heart';
Blockly.Msg.CocoRobo_FACE_2 = 'Small heart';
Blockly.Msg.CocoRobo_FACE_3 = 'Happy';
Blockly.Msg.CocoRobo_FACE_4 = 'Smile';
Blockly.Msg.CocoRobo_FACE_5 = 'Sad';
Blockly.Msg.CocoRobo_FACE_6 = 'Confused';
Blockly.Msg.CocoRobo_FACE_7 = 'Angry';
Blockly.Msg.CocoRobo_FACE_8 = 'Sleep';
Blockly.Msg.CocoRobo_FACE_9 = 'Surprise';
Blockly.Msg.CocoRobo_FACE_10 = 'Silly';
Blockly.Msg.CocoRobo_FACE_11 = 'Wonderful';
Blockly.Msg.CocoRobo_FACE_12 = 'Bored';
Blockly.Msg.CocoRobo_FACE_ROCK = 'Rock';
Blockly.Msg.CocoRobo_FACE_PAPER = 'Paper';
Blockly.Msg.CocoRobo_FACE_SCISSORS = 'Scissors';
Blockly.Msg.CocoRobo_FACE_ROCK_S = 'Small rock';
Blockly.Msg.CocoRobo_FACE_PAPER_S = 'Small paper';
Blockly.Msg.CocoRobo_FACE_SCISSORS_S = 'Small scissors';

Blockly.Msg.CocoRobo_DISPLAY_FONT_MESSAGE0 = 'Display text %3 at x %1 y %2, using %4 font with %5';
Blockly.Msg.CocoRobo_DISPLAY_FONT_TOOLTIP = '';
Blockly.Msg.CocoRobo_DISPLAY_FONT_HELPURL = '';

//Blockly.Msg.CocoRobo_display_FrameBuffer_MESSAGE0 ='build frame list %1 length %2 width %3 scan mode %4';
//Blockly.Msg.CocoRobo_display_FrameBuffer_TOOLTIP = 'Create a 128x64 frame buffer with a list of data after image modulo to store the picture frame';

//Blockly.Msg.CocoRobo_display_blit_MESSAGE0 ='display frame coordinates x %1 y %2';
//Blockly.Msg.CocoRobo_display_blit_TOOLTIP = '';

//Blockly.Msg.CocoRobo_front_reverse_MESSAGE0 = 'pixel bit %1';
//Blockly.Msg.CocoRobo_front_reverse_TOOLTIP  = 'Used for display before';

//Blockly.Msg.CocoRobo_images_append_MESSAGE0 ='动图显示 帧数%1  周期%2 长%3 宽%4';
//Blockly.Msg.CocoRobo_images_append_TOOLTIP = '上传至教科板的pbm图片需命名为IMAGE.数字，后缀为pbm。如：IMAGE.1.pbm。帧数为7则数字为1至7';

Blockly.Msg.CocoRobo_button_is_pressed_MESSAGE0 = 'Button %1 is pressed';
Blockly.Msg.CocoRobo_button_is_pressed_TOOLTIP = '';

Blockly.Msg.CocoRobo_touchPad_value_MESSAGE0 = 'Button %1 is touched';
Blockly.Msg.CocoRobo_touchPad_value_TOOLTIP = '';

Blockly.Msg.CocoRobo_touchPad_value_num_MESSAGE0 = 'Button %1 touch value';
Blockly.Msg.CocoRobo_touchPad_value_num_TOOLTIP = '';

Blockly.Msg.CocoRobo_read_digital_MESSAGE0 = 'Pin %1 digital value';
Blockly.Msg.CocoRobo_read_digital_TOOLTIP = '';

Blockly.Msg.CocoRobo_read_DS18B20_MESSAGE0 = 'DS18B20 waterproof temperature sensor at pin %1';
Blockly.Msg.CocoRobo_read_DS18B20_TOOLTIP = '';
Blockly.Msg.CocoRobo_read_DS18B20_HELPURL = 'http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver';

Blockly.Msg.CocoRobo_set_digital_MESSAGE0 = 'Set pin %2 digital value to %1';
Blockly.Msg.CocoRobo_set_digital_TOOLTIP = '';

Blockly.Msg.CocoRobo_read_analog_MESSAGE0 = 'Pin %1 analog value';
Blockly.Msg.CocoRobo_read_analog_TOOLTIP = '';

Blockly.Msg.CocoRobo_set_analog_MESSAGE0 = 'Set pin %2 analog value (PWM) to %1';
Blockly.Msg.CocoRobo_set_analog_TOOLTIP = 'The analog output is a pulse width modulated signal output through the IO pin, which outputs a specified voltage value, referred to as PWM.';

Blockly.Msg.CocoRobo_set_RGB_MESSAGE0 = 'Set %1 RGB light color to R %2 G %3 B %4';
Blockly.Msg.CocoRobo_set_RGB_TOOLTIP = '1/30 of the original brightness can better display the color difference';

Blockly.Msg.CocoRobo_set_RGB_color_MESSAGE0 = 'Set %1 RGB light color to %2';
Blockly.Msg.CocoRobo_set_RGB_color_TOOLTIP = '1/30 of the original brightness can better display the color difference';

Blockly.Msg.CocoRobo_set_RGB_all_MESSAGE0 = 'Set all RGB lights color to R %1 G %2 B %3';
Blockly.Msg.CocoRobo_set_RGB_all_TOOLTIP = '1/30 of the original brightness can better display the color difference';

Blockly.Msg.CocoRobo_set_RGB_color_all_MESSAGE0 = 'Set all RGB lights color to %1';
Blockly.Msg.CocoRobo_set_RGB_color_all_TOOLTIP = '1/30 of the original brightness can better display the color difference';

Blockly.Msg.CocoRobo_fresh_RGB_MESSAGE0 = 'RGB lights settings take effect';
Blockly.Msg.CocoRobo_fresh_RGB_TOOLTIP = '';

Blockly.Msg.CocoRobo_off_RGB_MESSAGE0 = 'Turn off all RGB lights';
Blockly.Msg.CocoRobo_off_RGB_TOOLTIP = '';

Blockly.Msg.CocoRobo_buzz_state_MESSAGE0 = 'Stop playing music';
Blockly.Msg.CocoRobo_buzz_state_TOOLTIP = '';

Blockly.Msg.CocoRobo_buzz_freq_MESSAGE0 = 'Play continuous tone %1 at Pin %2';
Blockly.Msg.CocoRobo_buzz_freq_TOOLTIP = '';

Blockly.Msg.CocoRobo_buzz_tone_MESSAGE0 = 'Play tone %1';
Blockly.Msg.CocoRobo_buzz_tone_TOOLTIP = '';

Blockly.Msg.CocoRobo_MUSIC_TONE_TEMPO_HELPURL = '';
Blockly.Msg.CocoRobo_MUSIC_TONE_TEMPO_TOOLTIP = 'The default pin is P6 of the cocorobo board';
Blockly.Msg.CocoRobo_MUSIC_TONE_TEMPO_MESSAGE0 = 'play musical note %1 at Pin %2';

Blockly.Msg.CocoRobo_MUSIC_TONE_HELPURL = '';
Blockly.Msg.CocoRobo_MUSIC_TONE_TOOLTIP = '';
Blockly.Msg.CocoRobo_MUSIC_TONE_MESSAGE0 = 'Tone %1';

Blockly.Msg.CocoRobo_MUSIC_MUSICAL_NOTE_HELPURL = '';
Blockly.Msg.CocoRobo_MUSIC_MUSICAL_NOTE_TOOLTIP = '';
Blockly.Msg.CocoRobo_MUSIC_MUSICAL_NOTE_MESSAGE0 = 'Note %1 beat %2';

Blockly.Msg.CocoRobo_MUSIC_TICK_HELPURL = '';
Blockly.Msg.CocoRobo_MUSIC_TICK_TOOLTIP = '';
// Blockly.Msg.CocoRobo_MUSIC_TICK_MESSAGE0 = 'tick %1';
Blockly.Msg.CocoRobo_MUSIC_TICK_MESSAGE0 = 'Beat %1';

Blockly.Msg.CocoRobo_4_LINES_HELPURL = '';
Blockly.Msg.CocoRobo_4_LINES_TOOLTIP = '';
Blockly.Msg.CocoRobo_4_LINES_MESSAGE0 = '%1';

Blockly.Msg.NUMBER_1 = '1';
Blockly.Msg.NUMBER_1_2 = '1/2';
Blockly.Msg.NUMBER_1_4 = '1/4';
Blockly.Msg.NUMBER_2 = '2';
Blockly.Msg.NUMBER_4 = '4';


Blockly.Msg.CocoRobo_read_sound_MESSAGE0 = 'Sound value';
Blockly.Msg.CocoRobo_read_sound_TOOLTIP = '';

Blockly.Msg.CocoRobo_read_light_MESSAGE0 = 'Light value';
Blockly.Msg.CocoRobo_read_light_TOOLTIP = '';

Blockly.Msg.CocoRobo_accelerometer_get_MESSAGE0 = '%1 axis acceleration';
Blockly.Msg.CocoRobo_accelerometer_get_TOOLTIP = '';

Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_2G = '±2g';
Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_4G = '±4g';
Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_8G = '±8g';
Blockly.Msg.CocoRobo_ACCELEROMETER_RANGE_16G = '±16g';

Blockly.Msg.CocoRobo_ACCELEROMETER_RES_10_BIT = '10bits';
Blockly.Msg.CocoRobo_ACCELEROMETER_RES_12_BIT = '12bits';
Blockly.Msg.CocoRobo_ACCELEROMETER_RES_14_BIT = '14bits';

Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RANGE_TOOLTIP = 'Set the acceleration range, the default is ±2g。';
Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RANGE_MESSAGE0 = 'Set acceleration range to %1';

Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RESOLUSTION_TOOLTIP = 'Set the acceleration resolution, the default is 10bits。';
Blockly.Msg.CocoRobo_ACCELEROMETER_SET_RESOLUSTION_MESSAGE0 = 'seSett acceleration resolution to %1';

Blockly.Msg.CocoRobo_ACCELEROMETER_SET_OFFSET_TOOLTIP = 'Calibrate the acceleration value deviation of the three axes (x, y, z) of the accelerometer.\nIn general, calibration is not required, and calibration is only required when the acceleration deviation is large.\nx , y , z are the adjustment deviation values, and the correction range is ±1g.\nNote: Calibration data will not be saved after power off.';
Blockly.Msg.CocoRobo_ACCELEROMETER_SET_OFFSET_MESSAGE0 = 'Calibration acceleration value with  %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4';

Blockly.Msg.CocoRobo_COMPASS_GET_AXIS_TOOLTIP = 'Only applicable to cocorobo board 2.0 and above';
Blockly.Msg.CocoRobo_COMPASS_GET_AXIS_MESSAGE0 = 'Magnetic force of %1 axis';

Blockly.Msg.CocoRobo_COMPASS_GET_ANGLE_TOOLTIP = 'Only applicable to cocorobo board 2.0 and above';
Blockly.Msg.CocoRobo_COMPASS_GET_ANGLE_MESSAGE0 = 'Compass direction';

Blockly.Msg.CocoRobo_TILT_ANGLE_HELPURL = '';
Blockly.Msg.CocoRobo_TILT_ANGLE_TOOLTIP = '';
Blockly.Msg.CocoRobo_TILT_ANGLE_MESSAGE0 = '%1 axis tilt angle';

Blockly.Msg.CocoRobo_random_choice_MESSAGE0 = 'Random item %1';
Blockly.Msg.CocoRobo_random_choice_TOOLTIP = 'Return a random item in a list or string in String format';

Blockly.Msg.CocoRobo_i2c_init_MESSAGE0 = 'Initialize I2C with baudrate %1';
Blockly.Msg.CocoRobo_i2c_init_TOOLTIP = 'SCL pin 19, SDA pin 20, sharing I2C bus with internal LCD and accelerometer';

Blockly.Msg.CocoRobo_dev_i2c_init_MESSAGE0 = 'Initialize I2C SCL %2 SDA %3 baudrate %1';
Blockly.Msg.CocoRobo_dev_i2c_init_TOOLTIP = '';
Blockly.Msg.CocoRobo_dev_i2c_init_HELPURL = 'https://CocoRobo.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C';


Blockly.Msg.MACHINE_TIME_PULSE_US_HELPURL =
    'https://CocoRobo.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us';
Blockly.Msg.MACHINE_TIME_PULSE_US_MESSAGE0 = 'Duration(us) of external %2 pulse level at %1';
Blockly.Msg.MACHINE_TIME_PULSE_US_TOOLTIP = ''

Blockly.Msg.BYTES = 'Bytes';



Blockly.Msg.CocoRobo_i2c_read_write_MESSAGE0 = 'I2C address %1 is written to %2';
Blockly.Msg.CocoRobo_i2c_read_write_TOOLTIP = 'Address format: [Number]\n Written format: [Number, String]';

Blockly.Msg.CocoRobo_i2c_readfrom_MESSAGE0 = 'I2C address %1 read bytes number %2';
Blockly.Msg.CocoRobo_i2c_readfrom_TOOLTIP = 'Address format: Number\n Return: a string of bytes objects that read data';

Blockly.Msg.AUTH = "Please authorize this app to enable your work to be saved and to allow it to be shared by you.";
Blockly.Msg.CHAT = "Chat with your collaborator by typing in this box!";
Blockly.Msg.TRY_EXCEPT_FINALLY = "Finally";
Blockly.Msg.TRY_EXCEPT_FINALLY_TOOLTIP = "";
Blockly.Msg.TRY_EXCEPT_EXCEPT = "Except";
Blockly.Msg.TRY_EXCEPT_EXCEPT_TOOLTIP = "";
Blockly.Msg.TRY_EXCEPT_TRY = "Try";
Blockly.Msg.TRY_EXCEPT_TRY_TOOLTIP = "";
Blockly.Msg.TRY_EXCEPT_HELPURL = "https://CocoRobox.readthedocs.io/zh_CN/latest/index.html";
Blockly.Msg.LISTS_POP_HELPURL = "";
Blockly.Msg.LISTS_POP_TOOLTIP = "";
Blockly.Msg.LISTS_POP_MESSAGE0 = "Remove %2 item in list %1";
Blockly.Msg.MATH_CONVERT_HELPURL = "";
Blockly.Msg.MATH_CONVERT_MESSAGE0 = "%1 %2";
Blockly.Msg.MATH_CONVERT_TOOLTIP = "Conversion data type";
Blockly.Msg.MATH_DIVISION_CONSULT_HELPURL = "";
Blockly.Msg.MATH_DIVISION_CONSULT_TITLE = "The integer part of the quotient %1 ÷ %2";
Blockly.Msg.MATH_DIVISION_CONSULT_TOOLTIP = "Returns the integer part of the quotient of two numbers";
Blockly.Msg.MATH_NUMBER_BITS_OPS_HELPURL = "";
Blockly.Msg.MATH_NUMBER_BITS_OPS_MESSAGE0 = "%1 %2 %3";
Blockly.Msg.MATH_NUMBER_BITS_OPS_TOOLTIP = "Bitwise operations on numbers";
Blockly.Msg.ME = "Me";

Blockly.Msg.CocoRobo_PRINT_TO_CHART_TOOLTIP = "";
Blockly.Msg.CocoRobo_PRINT_TO_CHART_EMPTY_TITLE = "Print data to chart";
Blockly.Msg.CocoRobo_PRINT_TO_CHART_INPUT_WITH = "Print data to chart";
Blockly.Msg.CocoRobo_PRINT_TO_CHART_ITEM_TITLE = "Data";
Blockly.Msg.CocoRobo_PRINT_TO_CHART_ITEM_TOOLTIP = "";
Blockly.Msg.CocoRobo_PRINT_TO_CHART_CONTAINER_TITLE_ADD = "Data content";
Blockly.Msg.CocoRobo_PRINT_TO_CHART_CONTAINER_TOOLTIP = "";

Blockly.Msg.CocoRobo_INIT_CHART_TOOLTIP = "";
Blockly.Msg.CocoRobo_INIT_CHART_EMPTY_TITLE = "Init chart column headers";
Blockly.Msg.CocoRobo_INIT_CHART_INPUT_WITH = "Init chart column headers";
Blockly.Msg.CocoRobo_INIT_CHART_ITEM_TITLE = "Header";
Blockly.Msg.CocoRobo_INIT_CHART_ITEM_TOOLTIP = "";
Blockly.Msg.CocoRobo_INIT_CHART_CONTAINER_TITLE_ADD = "Column header";
Blockly.Msg.CocoRobo_INIT_CHART_CONTAINER_TOOLTIP = "";

Blockly.Msg.MICROBIT_IMAGE_CREATE1_MESSAGE0 = 'Create image %1 line 1 %2 line 2 %3 line 3 %4 line 4 %5 line 5 %6';
Blockly.Msg.MICROBIT_IMAGE_CREATE1_TOOLTIP = 'Create new image.';
Blockly.Msg.MICROBIT_IMAGE_CREATE1_HELPURL = '';


/* 以下是原生blockly翻译不要修改 */

Blockly.Msg.ADD_COMMENT = "Add Comment";
Blockly.Msg.CHANGE_VALUE_TITLE = "Change value:";
Blockly.Msg.COLLAPSE_ALL = "Collapse Blocks";
Blockly.Msg.COLLAPSE_BLOCK = "Collapse Block";
Blockly.Msg.COLOUR_BLEND_COLOUR1 = "Colour 1";
Blockly.Msg.COLOUR_BLEND_COLOUR2 = "Colour 2";
Blockly.Msg.COLOUR_BLEND_HELPURL = "http://meyerweb.com/eric/tools/color-blend/";
Blockly.Msg.COLOUR_BLEND_RATIO = "Ratio";
Blockly.Msg.COLOUR_BLEND_TITLE = "Blend";
Blockly.Msg.COLOUR_BLEND_TOOLTIP = "Blends two colours together with a given ratio (0.0 - 1.0).";
Blockly.Msg.COLOUR_PICKER_HELPURL = "https://en.wikipedia.org/wiki/Color";
Blockly.Msg.COLOUR_PICKER_TOOLTIP = "Choose a colour from the palette.";
Blockly.Msg.COLOUR_RANDOM_HELPURL = "http://randomcolour.com";
Blockly.Msg.COLOUR_RANDOM_TITLE = "Random colour";
Blockly.Msg.COLOUR_RANDOM_TOOLTIP = "Choose a colour at random.";
Blockly.Msg.COLOUR_RGB_BLUE = "Blue";
Blockly.Msg.COLOUR_RGB_GREEN = "Green";
Blockly.Msg.COLOUR_RGB_HELPURL = "http://www.december.com/html/spec/colorper.html";
Blockly.Msg.COLOUR_RGB_RED = "Red";
Blockly.Msg.COLOUR_RGB_TITLE = "Colour with";
Blockly.Msg.COLOUR_RGB_TOOLTIP = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = "Break out of loop";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = "Continue with next iteration of loop";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = "Break out of the containing loop.";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = "Skip the rest of this loop, and continue with the next iteration.";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = "Warning: This block may only be used within a loop.";
Blockly.Msg.CONTROLS_FOREACH_HELPURL = "https://github.com/google/blockly/wiki/Loops#for-each";
Blockly.Msg.CONTROLS_FOREACH_TITLE = "For each item %1 in list %2";
Blockly.Msg.CONTROLS_FOREACH_TOOLTIP = "For each item in a list, set the variable '%1' to the item, and then do some statements.";
Blockly.Msg.CONTROLS_FOR_HELPURL = "https://github.com/google/blockly/wiki/Loops#count-with";
Blockly.Msg.CONTROLS_FOR_TITLE = "Count with %1 from %2 to %3 by %4";
Blockly.Msg.CONTROLS_FOR_TOOLTIP = "Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.";
Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = "Add a condition to the if block.";
Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = "Add a final, catch-all condition to the if block.";
Blockly.Msg.CONTROLS_IF_HELPURL = "https://github.com/google/blockly/wiki/IfElse";
Blockly.Msg.CONTROLS_IF_IF_TOOLTIP = "Add, remove, or reorder sections to reconfigure this if block.";
Blockly.Msg.CONTROLS_IF_MSG_ELSE = "Else";
Blockly.Msg.CONTROLS_IF_MSG_ELSEIF = "Else if";
Blockly.Msg.CONTROLS_IF_MSG_IF = "If";
Blockly.Msg.CONTROLS_IF_TOOLTIP_1 = "If a value is true, then do some statements.";
Blockly.Msg.CONTROLS_IF_TOOLTIP_2 = "If a value is true, then do the first block of statements. Otherwise, do the second block of statements.";
Blockly.Msg.CONTROLS_IF_TOOLTIP_3 = "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.";
Blockly.Msg.CONTROLS_IF_TOOLTIP_4 = "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.";
Blockly.Msg.CONTROLS_REPEAT_HELPURL = "https://en.wikipedia.org/wiki/For_loop";
Blockly.Msg.CONTROLS_REPEAT_INPUT_DO = "Do";
Blockly.Msg.CONTROLS_REPEAT_TITLE = "Repeat %1 times";
Blockly.Msg.CONTROLS_REPEAT_TOOLTIP = "Do some statements several times.";
Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = "https://github.com/google/blockly/wiki/Loops#repeat";
Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = "Repeat until";
Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = "Repeat while";
Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = "While a value is false, then do some statements.";
Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = "While a value is true, then do some statements.";
Blockly.Msg.DELETE_BLOCK = "Delete Block";
Blockly.Msg.DELETE_X_BLOCKS = "Delete %1 Blocks";
Blockly.Msg.DISABLE_BLOCK = "Disable Block";
Blockly.Msg.DUPLICATE_BLOCK = "Duplicate";
Blockly.Msg.ENABLE_BLOCK = "Enable Block";
Blockly.Msg.EXPAND_ALL = "Expand Blocks";
Blockly.Msg.EXPAND_BLOCK = "Expand Block";
Blockly.Msg.EXTERNAL_INPUTS = "External Inputs";
Blockly.Msg.HELP = "Help";
Blockly.Msg.INLINE_INPUTS = "Inline Inputs";
Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
Blockly.Msg.LISTS_CREATE_EMPTY_TITLE = "Create empty list";
Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = "Returns a list, of length 0, containing no data records";
Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = "List";
Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = "Add, remove, or reorder sections to reconfigure this list block.";
Blockly.Msg.SET_CREATE_WITH_CONTAINER_TOOLTIP = "Add, remove, or reorder sections to reconfigure this set block.";
Blockly.Msg.LISTS_CREATE_WITH_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-list-with";
Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = "Create list with";
Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = "Add an item to the list.";
Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP = "Create a list with any number of items.";
Blockly.Msg.LISTS_GET_INDEX_FIRST = "First";
Blockly.Msg.LISTS_GET_INDEX_FROM_END = "# from end";
Blockly.Msg.LISTS_GET_INDEX_FROM_START = "#";
Blockly.Msg.LISTS_GET_INDEX_GET = "Get";
Blockly.Msg.LISTS_GET_INDEX_GET_REMOVE = "Get and remove";
Blockly.Msg.LISTS_GET_INDEX_LAST = "Last";
Blockly.Msg.LISTS_GET_INDEX_RANDOM = "Random";
Blockly.Msg.LISTS_GET_INDEX_REMOVE = "Remove";
Blockly.Msg.LISTS_GET_INDEX_TAIL = "";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = "Returns the first item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_END = "Returns the item at the specified position in a list. #1 is the last item.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_START = "Returns the item at the specified position in a list. #1 is the first item.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = "Returns the last item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = "Returns a random item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = "Removes and returns the first item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END = "Removes and returns the item at the specified position in a list. #1 is the last item.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START = "Removes and returns the item at the specified position in a list. #1 is the first item.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = "Removes and returns the last item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = "Removes and returns a random item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = "Removes the first item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END = "Removes the item at the specified position in a list. #1 is the last item.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START = "Removes the item at the specified position in a list. #1 is the first item.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = "Removes the last item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = "Removes a random item in a list.";
Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END = "To # from end";
Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_START = "To #";
Blockly.Msg.LISTS_GET_SUBLIST_END_LAST = "To last";
Blockly.Msg.LISTS_GET_SUBLIST_HELPURL = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
Blockly.Msg.LISTS_GET_SUBLIST_START_FIRST = "Get sub-list from first";
Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END = "Get sub-list from # from end";
Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_START = "Get sub-list from #";
Blockly.Msg.LISTS_GET_SUBLIST_TAIL = "";
Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = "Creates a copy of the specified portion of a list.";
Blockly.Msg.LISTS_INDEX_OF_FIRST = "Find first occurrence of item";
Blockly.Msg.LISTS_INDEX_OF_HELPURL = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";
Blockly.Msg.LISTS_INDEX_OF_LAST = "Find last occurrence of item";
Blockly.Msg.LISTS_INDEX_OF_TOOLTIP = "Returns the index of the first/last occurrence of the item in the list. Returns 0 if text is not found.";
Blockly.Msg.LISTS_INLIST = "In list";
Blockly.Msg.LISTS_ISEMPTY_HELPURL = "https://github.com/google/blockly/wiki/Lists#is-empty";
Blockly.Msg.LISTS_ISEMPTY_TITLE = "%1 is empty";
Blockly.Msg.LISTS_ISEMPTY_TOOLTIP = "Returns true if the list is empty.";
Blockly.Msg.LISTS_LENGTH_HELPURL = "https://github.com/google/blockly/wiki/Lists#length-of";
Blockly.Msg.LISTS_LENGTH_TITLE = "Length of %1";
Blockly.Msg.LISTS_LENGTH_TOOLTIP = "Returns the length of a list.";
Blockly.Msg.LISTS_REPEAT_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-list-with";
Blockly.Msg.LISTS_REPEAT_TITLE = "Create list with item %1 repeated %2 times";
Blockly.Msg.LISTS_REPEAT_TOOLTIP = "Creates a list consisting of the given value repeated the specified number of times.";
Blockly.Msg.LISTS_SET_INDEX_HELPURL = "https://github.com/google/blockly/wiki/Lists#in-list--set";
Blockly.Msg.LISTS_SET_INDEX_INPUT_TO = "As";
Blockly.Msg.LISTS_SET_INDEX_INSERT = "Insert at";
Blockly.Msg.LISTS_SET_INDEX_SET = "Set";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = "Inserts the item at the start of a list.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END = "Inserts the item at the specified position in a list. #1 is the last item.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START = "Inserts the item at the specified position in a list. #1 is the first item.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = "Append the item to the end of a list.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = "Inserts the item randomly in a list.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = "Sets the first item in a list.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_END = "Sets the item at the specified position in a list. #1 is the last item.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_START = "Sets the item at the specified position in a list. #1 is the first item.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = "Sets the last item in a list.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = "Sets a random item in a list.";
Blockly.Msg.LISTS_SPLIT_HELPURL = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
Blockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT = "Make list from text";
Blockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST = "Make text from list";
Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN = "Join a list of texts into one text, separated by a delimiter.";
Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT = "Split text into a list of texts, breaking at each delimiter.";
Blockly.Msg.LISTS_SPLIT_WITH_DELIMITER = "With delimiter";
Blockly.Msg.LOGIC_BOOLEAN_FALSE = "False";
Blockly.Msg.LOGIC_BOOLEAN_HELPURL = "https://github.com/google/blockly/wiki/Logic#values";
Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP = "Returns either true or false.";
Blockly.Msg.LOGIC_BOOLEAN_TRUE = "True";
Blockly.Msg.LOGIC_COMPARE_HELPURL = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = "Return true if both inputs equal each other.";
Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = "Return true if the first input is greater than the second input.";
Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = "Return true if the first input is greater than or equal to the second input.";
Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = "Return true if the first input is smaller than the second input.";
Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = "Return true if the first input is smaller than or equal to the second input.";
Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = "Return true if both inputs are not equal to each other.";
Blockly.Msg.LOGIC_NEGATE_HELPURL = "https://github.com/google/blockly/wiki/Logic#not";
Blockly.Msg.LOGIC_NEGATE_TITLE = "Not %1";
Blockly.Msg.LOGIC_NEGATE_TOOLTIP = "Returns true if the input is false. Returns false if the input is true.";
Blockly.Msg.LOGIC_NULL = "Null";
Blockly.Msg.LOGIC_NULL_HELPURL = "https://en.wikipedia.org/wiki/Nullable_type";
Blockly.Msg.LOGIC_NULL_TOOLTIP = "Returns null.";
Blockly.Msg.LOGIC_OPERATION_AND = "And";
Blockly.Msg.LOGIC_OPERATION_HELPURL = "https://github.com/google/blockly/wiki/Logic#logical-operations";
Blockly.Msg.LOGIC_OPERATION_OR = "Or";
Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = "Return true if both inputs are true.";
Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = "Return true if at least one of the inputs is true.";
Blockly.Msg.LOGIC_TERNARY_CONDITION = "Test";
Blockly.Msg.LOGIC_TERNARY_HELPURL = "https://en.wikipedia.org/wiki/%3F:";
Blockly.Msg.LOGIC_TERNARY_IF_FALSE = "If false";
Blockly.Msg.LOGIC_TERNARY_IF_TRUE = "If true";
Blockly.Msg.LOGIC_TERNARY_TOOLTIP = "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.";
Blockly.Msg.MATH_ADDITION_SYMBOL = "+";
Blockly.Msg.MATH_ARITHMETIC_HELPURL = "https://en.wikipedia.org/wiki/Arithmetic";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = "Return the sum of the two numbers.";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = "Return the quotient of the two numbers.";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = "Return the difference of the two numbers.";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = "Return the product of the two numbers.";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = "Return the first number raised to the power of the second number.";
Blockly.Msg.MATH_CHANGE_HELPURL = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
Blockly.Msg.MATH_CHANGE_TITLE = "Change %1 by %2";
Blockly.Msg.MATH_CHANGE_TOOLTIP = "Add a number to variable '%1'.";
Blockly.Msg.MATH_CONSTANT_HELPURL = "https://en.wikipedia.org/wiki/Mathematical_constant";
Blockly.Msg.MATH_CONSTANT_TOOLTIP = "Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).";
Blockly.Msg.MATH_CONSTRAIN_HELPURL = "https://en.wikipedia.org/wiki/Clamping_%28graphics%29";
Blockly.Msg.MATH_CONSTRAIN_TITLE = "Constrain %1 low %2 high %3";
Blockly.Msg.MATH_CONSTRAIN_TOOLTIP = "Constrain a number to be between the specified limits (inclusive).";
Blockly.Msg.MATH_DIVISION_SYMBOL = "÷";
Blockly.Msg.MATH_IS_DIVISIBLE_BY = "Is divisible by";
Blockly.Msg.MATH_IS_EVEN = "Is even";
Blockly.Msg.MATH_IS_NEGATIVE = "Is negative";
Blockly.Msg.MATH_IS_ODD = "Is odd";
Blockly.Msg.MATH_IS_POSITIVE = "Is positive";
Blockly.Msg.MATH_IS_PRIME = "Is prime";
Blockly.Msg.MATH_IS_TOOLTIP = "Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.";
Blockly.Msg.MATH_IS_WHOLE = "Is whole";
Blockly.Msg.MATH_MODULO_HELPURL = "https://en.wikipedia.org/wiki/Modulo_operation";
Blockly.Msg.MATH_MODULO_TITLE = "Remainder of %1 ÷ %2";
Blockly.Msg.MATH_MODULO_TOOLTIP = "Return the remainder from dividing the two numbers.";
Blockly.Msg.MATH_MULTIPLICATION_SYMBOL = "×";
Blockly.Msg.MATH_NUMBER_HELPURL = "https://en.wikipedia.org/wiki/Number";
Blockly.Msg.MATH_NUMBER_TOOLTIP = "A number.";
Blockly.Msg.MATH_ONLIST_HELPURL = "";
Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE = "Average of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_MAX = "Max of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN = "Median of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_MIN = "Min of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_MODE = "Modes of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = "Random item of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = "Standard deviation of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_SUM = "Sum of list";
Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = "Return the average (arithmetic mean) of the numeric values in the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX = "Return the largest number in the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = "Return the median number in the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN = "Return the smallest number in the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE = "Return a list of the most common item(s) in the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = "Return a random element from the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = "Return the standard deviation of the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM = "Return the sum of all the numbers in the list.";
Blockly.Msg.MATH_POWER_SYMBOL = "**";
Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL = "https://en.wikipedia.org/wiki/Random_number_generation";
Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = "random fraction";
Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";
Blockly.Msg.MATH_RANDOM_INT_HELPURL = "https://en.wikipedia.org/wiki/Random_number_generation";
Blockly.Msg.MATH_RANDOM_INT_TITLE = "random integer from %1 to %2";
Blockly.Msg.MATH_RANDOM_INT_TOOLTIP = "Return a random integer between the two specified limits, inclusive.";
Blockly.Msg.MATH_ROUND_HELPURL = "https://en.wikipedia.org/wiki/Rounding";
Blockly.Msg.MATH_ROUND_OPERATOR_ROUND = "Round";
Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = "Round down";
Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP = "Round up";
Blockly.Msg.MATH_ROUND_TOOLTIP = "Round a number up or down.";
Blockly.Msg.MATH_SINGLE_HELPURL = "https://en.wikipedia.org/wiki/Square_root";
Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE = "Absolute";
Blockly.Msg.MATH_SINGLE_OP_ROOT = "Square root";
Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS = "Return the absolute value of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP = "Return e to the power of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_LN = "Return the natural logarithm of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = "Return the base 10 logarithm of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG = "Return the negation of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = "Return 10 to the power of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = "Return the square root of a number.";
Blockly.Msg.MATH_SUBTRACTION_SYMBOL = "-";
Blockly.Msg.MATH_TRIG_ACOS = "Acos";
Blockly.Msg.MATH_TRIG_ASIN = "Asin";
Blockly.Msg.MATH_TRIG_ATAN = "Atan";
Blockly.Msg.MATH_TRIG_COS = "Cos";
Blockly.Msg.MATH_TRIG_HELPURL = "https://en.wikipedia.org/wiki/Trigonometric_functions";
Blockly.Msg.MATH_TRIG_SIN = "Sin";
Blockly.Msg.MATH_TRIG_TAN = "Tan";
Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS = "Return the arccosine of a number.";
Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN = "Return the arcsine of a number.";
Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN = "Return the arctangent of a number.";
Blockly.Msg.MATH_TRIG_TOOLTIP_COS = "Return the cosine of a degree (not radian).";
Blockly.Msg.MATH_TRIG_TOOLTIP_SIN = "Return the sine of a degree (not radian).";
Blockly.Msg.MATH_TRIG_TOOLTIP_TAN = "Return the tangent of a degree (not radian).";
Blockly.Msg.NEW_VARIABLE = "New variable...";
Blockly.Msg.NEW_VARIABLE_TITLE = "New variable name:";
Blockly.Msg.ORDINAL_NUMBER_SUFFIX = "";
Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS = "Allow statements";
Blockly.Msg.PROCEDURES_BEFORE_PARAMS = "With:";
Blockly.Msg.PROCEDURES_CALLNORETURN_CALL = "";
Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = "Run the user-defined function '%1'.";
Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = "Run the user-defined function '%1' and use its output.";
Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = "With:";
Blockly.Msg.PROCEDURES_CREATE_DO = "Create '%1'";
Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = "";
Blockly.Msg.PROCEDURES_DEFNORETURN_DO = "";
Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = "My_func";
Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE = "To";
Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = "Creates a function with no output.";
Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_DEFRETURN_RETURN = "Return";
Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = "Creates a function with an output.";
Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = "Warning: This function has duplicate parameters.";
Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF = "Highlight function definition";
Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = "If a value is true, then return a second value.";
Blockly.Msg.PROCEDURES_IFRETURN_WARNING = "Warning: This block may be used only within a function definition.";
Blockly.Msg.PROCEDURES_MUTATORARG_TITLE = "Input name:";
Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = "Add an input to the function.";
Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = "Inputs";
Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = "Add, remove, or reorder inputs to this function.";
Blockly.Msg.REMOVE_COMMENT = "Remove Comment";
Blockly.Msg.RENAME_VARIABLE = "Rename variable...";
Blockly.Msg.RENAME_VARIABLE_TITLE = "Rename all '%1' variables to:";
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 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 first text in the second text. Returns 0 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_OPERATOR_BOTH = "Trim spaces from both sides of";
Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT = "Trim spaces from left side of";
Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = "Trim spaces from right side of";
Blockly.Msg.TEXT_TRIM_TOOLTIP = "Return a copy of the text with spaces removed from one or both ends.";
Blockly.Msg.TODAY = "Today";
Blockly.Msg.VARIABLES_DEFAULT_NAME = "Item";
Blockly.Msg.VARIABLES_GET_CREATE_SET = "Create 'set %1'";
Blockly.Msg.VARIABLES_GET_HELPURL = "https://github.com/google/blockly/wiki/Variables#get";
Blockly.Msg.VARIABLES_GET_TOOLTIP = "Returns the value of this variable.";
Blockly.Msg.VARIABLES_SET = "Set %1 to %2";
Blockly.Msg.VARIABLES_SET_CREATE_GET = "Create 'get %1'";
Blockly.Msg.VARIABLES_SET_HELPURL = "https://github.com/google/blockly/wiki/Variables#set";
Blockly.Msg.VARIABLES_SET_TOOLTIP = "Sets this variable to be equal to the input.";

Blockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
Blockly.Msg.CONTROLS_IF_IF_TITLE_IF = Blockly.Msg.CONTROLS_IF_MSG_IF;
Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.CONTROLS_IF_MSG_THEN = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;

Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;
Blockly.Msg.PROCEDURES_CALLRETURN_CALL = Blockly.Msg.PROCEDURES_CALLNORETURN_CALL;
Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;
Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;
Blockly.Msg.LISTS_GET_INDEX_HELPURL = Blockly.Msg.LISTS_INDEX_OF_HELPURL;
Blockly.Msg.CONTROLS_FOREACH_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.CONTROLS_FOR_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;

Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.TUPLE_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.DICT_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.SET_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;

Blockly.Msg.LABPLUS_USB_SWITCH_ON = 'Turn on';
Blockly.Msg.LABPLUS_USB_SWITCH_OFF = 'Turn off';
Blockly.Msg.LABPLUS_MOTOR_ON_ANTICLOCKWISE = 'Toggle';



//新tts
Blockly.Msg.XUNFEI_SPEECH_TTS_HELPURL = '';
Blockly.Msg.XUNFEI_SPEECH_TTS_TOOLTIP = 'The synthesized audio file format can only be "*.pcm"';
Blockly.Msg.XUNFEI_SPEECH_TTS_MESSAGE0 = '[iFLYTEK] synthetic audio %1 APPID %2 APISecret %3 APIKey %4 text %5 transfer to audio file %6';

Blockly.Msg.XUNFEI_SPEECH_IAT_HELPURL = '';
Blockly.Msg.XUNFEI_SPEECH_IAT_TOOLTIP = 'The audio formats that can be recognized are "*.pcm" and "*.wav"';
Blockly.Msg.XUNFEI_SPEECH_IAT_MESSAGE0 = '[iFLYTEK] identify audio %1 APPID %2 APISecret %3 APIKey %4 audio file to be identified %5';

Blockly.Msg.XUNFEI_SPEECH_IAT_RESULT_HELPURL = '';
Blockly.Msg.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP = '';
Blockly.Msg.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0 = '[iFLYTEK] identify result';

//声明python 运行环境
Blockly.Msg.CocoRobo_NAME_PYTHON_ENVIRONMENT_HELPURL = '';
Blockly.Msg.CocoRobo_NAME_PYTHON_ENVIRONMENT_MESSAGE0 = 'Declared python runtime environment';
Blockly.Msg.CocoRobo_NAME_PYTHON_ENVIRONMENT_TOOLTIP = '';

//lark
Blockly.Msg.CocoRobo_LARK_GET_ALL_COLOR_MESSAGE0 = 'LARK I2C RGB color';
Blockly.Msg.CocoRobo_LARK_GET_ALL_COLOR_TOOLTIP = 'Returns as list';

Blockly.Msg.CocoRobo_LARK_GET_COLOR_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_GET_COLOR_MESSAGE0 = 'LARK I2C RGB color %1';
Blockly.Msg.CocoRobo_lARK_RED = 'RED';
Blockly.Msg.CocoRobo__LARK_GREEN = 'GREEN';
Blockly.Msg.CocoRobo__LARK_BLUE = 'BLUE';

Blockly.Msg.CocoRobo_LARK_GET_ALL_COLOR_HSV_TOOLTIP = 'HSV(Hue, Saturation, Value)';
Blockly.Msg.CocoRobo_LARKT_GET_ALL_COLOR_HSV_MESSAGE0 = 'LARK I2C HSV color';

Blockly.Msg.CocoRobo_LARK_GET_COLOR_HSV_TOOLTIP = 'HSV(Hue, Saturation, Value)';
Blockly.Msg.CocoRobo_LARK_GET_COLOR_HSV_MESSAGE0 = 'LARK I2C HSV color %1';

Blockly.Msg.CocoRobo_LARK_GET_COLOR_STRING_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_GET_COLOR_STRING_MESSAGE0 = 'LARK GET COLOR';

Blockly.Msg.CocoRobo_LARK_DISCERN_COLOR_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_DISCERN_COLOR_MESSAGE0 = 'LARK GET COLOR %1';
Blockly.Msg.CocoRobo_LARK_RED = 'RED';
Blockly.Msg.CocoRobo_LARK_GREEN = 'GREEN';
Blockly.Msg.CocoRobo_LARK_BLUE = 'BLUE';
Blockly.Msg.CocoRobo_LARK_ORANGE = 'ORANGE';
Blockly.Msg.CocoRobo_LARK_YELLOW = 'YELLOW';
Blockly.Msg.CocoRobo_LARK_PURPLE = 'PURPLE';
Blockly.Msg.CocoRobo_LARK_CYAN = 'CYAN';
Blockly.Msg.CocoRobo_LARK_NONE = 'NO COLOR';
Blockly.Msg.CocoRobo_LARK_NULL = 'FAIL THE COLOR';

Blockly.Msg.CocoRobo_LARK_ULTRASONIC_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_ULTRASONIC_MESSAGE0 = 'LARK I2C ultrasonic value';

Blockly.Msg.CocoRobo_LARK_MOTOR_SET_I2C_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_MOTOR_SET_I2C_MESSAGE0 = 'LARK I2C SET MOTOR %1 SPEED %2';

Blockly.Msg.CocoRobo_LARK_GET_LINE_ON_I2C_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_GET_LINE_ON_I2C_MESSAGE0 = 'LARK I2C GET %1 VALUE';
Blockly.Msg.CocoRobo_LARK_GET_LINE_RIGHT_ON_I2C = 'RIGHT';
Blockly.Msg.CocoRobo_LARK_GET_LINE_LEFT_ON_I2C = 'LEFT';

Blockly.Msg.CocoRobo_LARK_SEARCH_LINE_ON_I2C_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_SEARCH_LINE_ON_I2C_MESSAGE0 = 'LARK I2C SEARCH TOUCH LINE %1';
Blockly.Msg.CocoRobo_LARK_SEARCH_LEFT = 'LEFT';
Blockly.Msg.CocoRobo_LARK_SEARCH_RIGHT = 'RIGHT';
Blockly.Msg.CocoRobo_LARK_SEARCH_BOTH = 'ALL';
Blockly.Msg.CocoRobo_LARK_SEARCH_NONE = 'NOT';


///lark千里马
Blockly.Msg.CocoRobo_LARK__CAR_GET_ALL_COLOR_TOOLTIP = 'Returns as list';
Blockly.Msg.CocoRobo_LARK__CAR_GET_ALL_COLOR_MESSAGE0 = 'HORSE GET COLOR';

Blockly.Msg.CocoRobo_LARK_CAR_GET_COLOR_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_CAR_GET_COLOR_MESSAGE0 = 'HORSE GET COLOR %1';
Blockly.Msg.CocoRobo_lARK_CAR_RED = 'RED';
Blockly.Msg.CocoRobo__LARK_CAR_GREEN = 'GREEN';
Blockly.Msg.CocoRobo__LARK_CAR_BLUE = 'BLUE';

Blockly.Msg.CocoRobo_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP = 'HSV(Hue, Saturation, Value)';
Blockly.Msg.CocoRobo_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0 = 'HORSE I2C HSV color';

Blockly.Msg.CocoRobo_LARK_CAR_GET_COLOR_HSV_TOOLTIP = 'HSV(Hue, Saturation, Value)';
Blockly.Msg.CocoRobo_LARK_CAR_GET_COLOR_HSV_MESSAGE0 = 'HORSE I2C HSV %1';

Blockly.Msg.CocoRobo_LARK_CAR_GET_COLOR_STRING_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_CAR_GET_COLOR_STRING_MESSAGE0 = 'HORSE GET COLOR';

Blockly.Msg.CocoRobo_LARK_CAR_DISCERN_COLOR_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_CAR_DISCERN_COLOR_MESSAGE0 = 'HORSE GET %1';
Blockly.Msg.CocoRobo_LARK_CAR_RED = 'RED';
Blockly.Msg.CocoRobo_LARK_CAR_GREEN = 'Green';
Blockly.Msg.CocoRobo_LARK_CAR_BLUE = 'Blue';
Blockly.Msg.CocoRobo_LARK_CAR_ORANGE = 'Orange';
Blockly.Msg.CocoRobo_LARK_CAR_YELLOW = 'Yellow';
Blockly.Msg.CocoRobo_LARK_CAR_PURPLE = 'Purple';
Blockly.Msg.CocoRobo_LARK_CAR_CYAN = 'Cyan';
Blockly.Msg.CocoRobo_LARK_CAR_NONE = 'None';
Blockly.Msg.CocoRobo_LARK_CAR_NULL = 'Null';

Blockly.Msg.CocoRobo_LARK_CAR_ULTRASONIC_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_CAR_ULTRASONIC_MESSAGE0 = 'Horse Get Ultrasoinc';

Blockly.Msg.CocoRobo_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0 = 'HORSE GET %1 LINE VALUE';
Blockly.Msg.CocoRobo_LARK_CAR_GET_LINE_RIGHT_ON_I2C = 'RIGHT';
Blockly.Msg.CocoRobo_LARK_CAR_GET_LINE_LEFT_ON_I2C = 'LEFT';

Blockly.Msg.CocoRobo_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0 = 'HORSE I2C SEARCH TOUCH LINE %1';
Blockly.Msg.CocoRobo_LARK_CAR_SEARCH_LEFT = 'LEFT TOUCHED';
Blockly.Msg.CocoRobo_LARK_CAR_SEARCH_RIGHT = 'RIGHT TOUCHED';
Blockly.Msg.CocoRobo_LARK_CAR_SEARCH_BOTH = 'BOTH TOUCHED';
Blockly.Msg.CocoRobo_LARK_CAR_SEARCH_NONE = 'NOT TOUCHED';

Blockly.Msg.CocoRobo_LARK_MOTOR_SET_I2C_TOOLTIP = '';
Blockly.Msg.CocoRobo_LARK_MOTOR_SET_I2C_MESSAGE0 = 'HOSRE MOTION %1  SPEED %2';
Blockly.Msg.CocoRobo_LARK_CAR_MOTION_LEFT = 'Trun Left';
Blockly.Msg.CocoRobo_LARK_CAR_MOTION_RIGHT = 'Trun Right';
Blockly.Msg.CocoRobo_LARK_CAR_MOTION_FORWARD = 'forward';
Blockly.Msg.CocoRobo_LARK_CAR_MOTION_BACKWARD = 'Backward';
Blockly.Msg.CocoRobo_LARK_CAR_MOTION_STOP = 'Stop';

Blockly.Msg.Math_Degrad_RAD_TOOLTIP = "Returns the result of converting the degrees to radians";
Blockly.Msg.Math_Degrad_DEG_TOOLTIP = "Returns the result of converting radians to degrees";

Blockly.Msg.Text_Split_String_By_Delimiter_TOOLTIP = "Split the string with delimiters and generate a list ";

Blockly.Msg.Text_List_TOOLTIP = "Initialization list [0,0,0]";
Blockly.Msg.Text_Dict_TOOLTIP = "Initialize the dictionary";
Blockly.Msg.Text_Tuple_TOOLTIP = "Initialize the tuple";
Blockly.Msg.Text_Set_TOOLTIP = "Initialize the collection";
Blockly.Msg.Iot_System_Run_TOOLTIP = "Run the program file in the specified path";
Blockly.Msg.Esp32_Main_Controller_Io_From_Digital_Pin_TOOLTIP = "Return %1 to get the digital signal value of a specific pin";
Blockly.Msg.Esp32_Main_Controller_Io_Set_Digital_Pin_TOOLTIP = "%1 set a specific pin to a specified level";
Blockly.Msg.Esp32_Main_Controller_Io_Set_Analog_Pin_TOOLTIP = "IoT module sets pins and controls the analog output of %1";
Blockly.Msg.Ai_Main_Controller_Io_Set_Analog_Pin_TOOLTIP = "A.I. module sets pins and controls the analog output of %1";
Blockly.Msg.Esp32_Main_Controller_Io_From_Analog_Pin_TOOLTIP = "The IoT module obtains the analog signal value of a specific pin";
Blockly.Msg.Esp32_Main_Controller_Io_High_Low_TOOLTIP = "Return %1";
Blockly.Msg.Iot_System_Create_TOOLTIP = "Create a text file with the specified name";
Blockly.Msg.Iot_System_Write_TOOLTIP = "Create a text file with the specified name and write the content, with %1 as the separator";
Blockly.Msg.Iot_System_Input_TOOLTIP = "Read the text file with the specified name as a list, with %1 as the separator";
Blockly.Msg.Esp32_Get_Current_Date_TOOLTIP = "Get %1 of local time";
Blockly.Msg.Esp32_Main_Controller_Time_Timer_Init_TOOLTIP = "%1 initialize timer";
Blockly.Msg.Esp32_Main_Controller_Time_Timer_Get_Current_TOOLTIP = "%1 get timer elapsed time";
Blockly.Msg.Esp32_Main_Controller_Time_Timer_Clear_TOOLTIP = "%1 clear timer";
Blockly.Msg.Esp32_Main_Controller_Time_Period_Timer_TOOLTIP = "%1 enables the periodic repetition timer and runs the specified conditions at regular intervals";
Blockly.Msg.Esp32_Main_Controller_Time_Period_Timer_Clear_TOOLTIP = "%1 clear cycle repeat timer";
Blockly.Msg.serial_Comm_Print_TOOLTIP = "Serial printing";
Blockly.Msg.Serial_Write_Data_TOOLTIP = "Use %1 to send data to other devices through the serial port";
Blockly.Msg.Serial_Send_Data_To_Microbit_TOOLTIP = "Send data to Microbit on %1 module";
Blockly.Msg.Trd_Party_Sensor_Hcsr04_TOOLTIP = "Initialize ultrasonic sensor %1";
Blockly.Msg.Trd_Party_Sensor_Hcsr04_Read_TOOLTIP = "Read the distance detection value from a specific ultrasonic sensor and return";
Blockly.Msg.Esp32_Main_Controller_Led_Strip_Setup_TOOLTIP = "%1 Initialize the LED strip";
Blockly.Msg.Esp32_Main_Controller_Led_strip_set_bright_TOOLTIP = "Set the brightness of the LED strip";
Blockly.Msg.Iot_Led_Matrix_Color_Picker_TOOLTIP = "Convert hexadecimal color code to RGB color value and return";
Blockly.Msg.Led_Strip_Color_Rgb_TOOLTIP = "Return RGB color value";
Blockly.Msg.Esp32_Main_Controller_Led_Strip_Set_TOOLTIP = "%1 lights up the LED strip";
Blockly.Msg.Led_Strip_Show_Above_TOOLTIP = "%1 makes the light strip show the above effect";

// IoT
Blockly.Msg.Esp32_Main_Controller_Button_Read_Pressed_TOOLTIP = "When button %1 is pressed";
Blockly.Msg.Esp32_Main_Controller_Button_Read_Released_TOOLTIP = "When button %1 is released";
Blockly.Msg.Esp32_Main_Controller_Button_Read_Value_TOOLTIP = "Read the level state of button %1";
Blockly.Msg.Esp32_Main_Controller_Touch_Read_Touched_TOOLTIP = "When touch area %1 is touched";
Blockly.Msg.Esp32_Main_Controller_Touch_Read_Untouched_TOOLTIP = "When touch area %1 is not touched";
Blockly.Msg.Esp32_Main_Controller_Touch_Read_Value_TOOLTIP = "Get the capacitance change value of the touch area %1";
Blockly.Msg.Esp32_Main_Controller_Set_Led_Turnon_TOOLTIP = "Set to light up the specified LED light";
Blockly.Msg.Esp32_Main_Controller_Set_Led_Turnoff_TOOLTIP = "Set to turn off the specified LED light";
Blockly.Msg.Esp32_Main_Controller_Set_Led_Drawpixel_On_TOOLTIP = "Light up the specified LED light";
Blockly.Msg.Esp32_Main_Controller_Set_Led_Drawpixel_Off_TOOLTIP = "Turn off the specified LED light";
Blockly.Msg.Esp32_Main_Controller_Set_Buzzer_TOOLTIP = "Buzzer set tone frequency";
Blockly.Msg.Esp32_Main_Controller_Turn_Off_Buzzer_TOOLTIP = "Turn off the buzzer";
Blockly.Msg.Esp32_Main_Controller_Get_Environmental_Value_TOOLTIP = "Get %1 value";
Blockly.Msg.Esp32_Main_Controller_Motion_When_Shaking_STATEMENT_TOOLTIP = "Perform operation when module %1 is shaking";
Blockly.Msg.Esp32_Main_Controller_Motion_When_Tilting_STATEMENT_TOOLTIP= "Perform operation when module %1 is tilted";
Blockly.Msg.Esp32_Main_Controller_Motion_Acceleration_TOOLTIP= "Get the acceleration of the %1 axis";
Blockly.Msg.Esp32_Main_Controller_Motion_Tilt_Angle_TOOLTIP= "Get the tilt angle of the %1 axis";
Blockly.Msg.Esp32_Main_Controller_Get_Light_TOOLTIP= "Get light value";
Blockly.Msg.Esp32_Main_Controller_Wifi_Connect_Internet_TOOLTIP= "Connect to WiFi network";
Blockly.Msg.Esp32_Main_Controller_Get_Wifi_Connection_Status_TOOLTIP= "Get WiFi connection status";
Blockly.Msg.Esp32_Main_Controller_Wifi_Get_Info_TOOLTIP= "Get WiFi configuration information %1";
Blockly.Msg.Esp32_Main_Controller_Wifi_Ntptime_TOOLTIP= "Synchronize network time";
Blockly.Msg.Esp32_Main_Controller_Wifi_Disconnect_TOOLTIP= "Disconnect WiFi connection";
Blockly.Msg.Esp32_Main_Controller_Wifi_Enable_Hotspot_Mode_TOOLTIP= "Create WiFi hotspot";
Blockly.Msg.Esp32_Main_Controller_Wifi_Acquiring_Equipment_TOOLTIP= "Get the list of currently connected devices";
Blockly.Msg.Esp32_Main_Controller_Get_Wifi_Devices_Number_TOOLTIP= "Get the number of currently connected devices";
Blockly.Msg.Esp32_Main_Controller_Wifi_Close_TOOLTIP= "Turn off WiFi hotspot";
Blockly.Msg.Esp32_Network_Http_Get_TOOLTIP= "Send http get request";
Blockly.Msg.Esp32_Network_Http_Post_TOOLTIP= "Send http post request";
Blockly.Msg.CocoRobo_get_TOOLTIP= "Get %1 of HTTP response content";
Blockly.Msg.Esp32_Network_Http_Get_Data_From_Local_Server_TOOLTIP= "Get the data requested from the local HTTP server, the data type is %1";
Blockly.Msg.Esp32_Network_Http_Server_Setup_TOOLTIP= "HTTP server initialization";
Blockly.Msg.Esp32_Network_Http_Server_Route_TOOLTIP= "When the specified path is requested, set the request attribute to %1 request and perform the operation";
Blockly.Msg.Esp32_Network_Http_Server_Route_Respond_TOOLTIP= "The HTTP server sets the response content and sets the return data type to %1";
Blockly.Msg.Esp32_Network_Http_Server_Get_Data_TOOLTIP= "The HTTP server gets the data received from the client, the type is %1";
Blockly.Msg.Esp32_Web_Ws_Setup_Send_TOOLTIP= "Real-time communication sender initialization";
Blockly.Msg.Esp32_Web_Ws_Send_TOOLTIP= "Send messages via real-time communication";
Blockly.Msg.Esp32_Web_Ws_Setup_Receive_TOOLTIP= "Real-time communication receiver initialization";
Blockly.Msg.Esp32_Web_Ws_Receive_Statement_TOOLTIP= "When real-time communication receives a message, run the operation";
Blockly.Msg.Esp32_Web_Ws_Receive_Get_Data_TOOLTIP= "Get the message received from real-time communication, the type is %1";
Blockly.Msg.Iot_Service_Cococloud_TOOLTIP= "Send data to CocoCloud specified event";
Blockly.Msg.Iot_Service_Cococloud_Read_TOOLTIP= "Get the data in the specified event of CocoCloud";
Blockly.Msg.Iot_Service_Cococloud_Read_Data_TOOLTIP= "Get the data of the specified attribute in the CocoCloud event";
Blockly.Msg.Esp32_Main_Controller_Ifttt_Send_Data_TOOLTIP= "Send data to IFTTT Webhooks event";
Blockly.Msg.Esp32_Main_Controller_Ifttt_Touched_TOOLTIP= "Trigger the specified IFTTT event";
Blockly.Msg.Iot_Service_Thingspeak_TOOLTIP= "Send data to the specified ThingSpeak channel";
Blockly.Msg.Iot_Service_Thingspeak_Read_TOOLTIP= "Find the data of ThingSpeak specified channel";
Blockly.Msg.Iot_Service_Thingspeak_Read_Total_TOOLTIP= "Get the total amount of data in the ThingSpeak channel";
Blockly.Msg.Iot_Service_Thingspeak_Read_Specific_TOOLTIP= "Get the value of the specified Field of the specified data in the ThingSpeak channel";
Blockly.Msg.Iot_System_Restart_TOOLTIP= "Reboot the system";
Blockly.Msg.Iot_System_Get_TOOLTIP= "Get the remaining space in the module";
Blockly.Msg.Iot_System_Mac_TOOLTIP= "Get the MAC address of the module";
Blockly.Msg.Iot_System_Get_Cocorobo_Id_TOOLTIP= "Get the IoT device ID";
Blockly.Msg.Iot_Lcd_Screeninit_TOOLTIP= "LCD screen initialization";
Blockly.Msg.Iot_Lcd_Screen_TOOLTIP= "Fill the LCD screen with color %1";
Blockly.Msg.Iot_Lcd_Fill_Screen_With_Rgb_TOOLTIP= "Fill the LCD screen with the specified color";
Blockly.Msg.Iot_Lcd_Set_Color_TOOLTIP= "Convert hexadecimal color code to RGB color value and return";
Blockly.Msg.Iot_Lcd_Rgb_Value_Input_TOOLTIP= "Return the specified rgb value";
Blockly.Msg.Iot_Lcd_Drawpixel_TOOLTIP= "Draw pixel on the screen";
Blockly.Msg.Iot_Lcd_Linecarvas_TOOLTIP= "Draw line on the screen";
Blockly.Msg.Iot_Lcd_Ractanglecarvas_TOOLTIP= "Draw %1 rectangle on the screen";
Blockly.Msg.Iot_Lcd_Textcarvas_TOOLTIP= "Draw text on screen";
Blockly.Msg.Iot_Lcd_Draw_ZedGraph_TOOLTIP= "Draw %1 statistical chart on the screen";
Blockly.Msg.Iot_Led_Matrix_Setup_TOOLTIP= "IoT module initialization LED light screen";
Blockly.Msg.Iot_Led_Matrix_Set_Bright_TOOLTIP= "Set the brightness of the light screen";
Blockly.Msg.Iot_Led_Matrix_xy_TOOLTIP= "Set ranks";
Blockly.Msg.Iot_Led_Matrix_wh_TOOLTIP= "Set width and height";
Blockly.Msg.Iot_Led_Matrix_Rgb_Value_Input_TOOLTIP= "Return the specified rgb value";
Blockly.Msg.Iot_Led_Matrix_Draw_Pixel_TOOLTIP= "IoT module LED light screen drawing pixel";
Blockly.Msg.Iot_Led_Matrix_Draw_Rectangle_TOOLTIP= "IoT module LED light screen drawing rectangle";
Blockly.Msg.Iot_Led_Matrix_Show_Above_TOOLTIP= "The IoT module LED light screen display takes effect";
Blockly.Msg.Esp32_Motor_Setup_TOOLTIP= "IoT module motor driver initialization";
Blockly.Msg.Esp32_Motor_Run_TOOLTIP= "The IoT module sets the specified motor to rotate in the specified direction at the specified speed";
Blockly.Msg.Esp32_Main_Controller_Servo_Setup_TOOLTIP= "IoT module servo initialization";
Blockly.Msg.Esp32_Main_Controller_Servo_Set_TOOLTIP= "The IoT module sets the servo at the specified pin to rotate to the specified angle";

Blockly.Msg.x_iot_read_gamepad_button_pressed_TOOLTIP= "When the button %1 on the gamepad is pressed";
Blockly.Msg.x_iot_read_gamepad_button_released_TOOLTIP= "When the button %1 on the gamepad is released";
Blockly.Msg.x_iot_read_gamepad_button_xr_TOOLTIP= "Get the level value of the button %1 on the gamepad";
Blockly.Msg.x_iot_read_gamepad_joystick_check_TOOLTIP= "When Game Pad Joystick is %1";
Blockly.Msg.x_iot_read_gamepad_joystick_TOOLTIP= "Get the analog value of the joystick %1 on the gamepad";
Blockly.Msg.esp32_nbiot_setup_TOOLTIP= "Initialize NB-IoT module communication on %1 module";
Blockly.Msg.esp32_nbiot_get_power_status_TOOLTIP= "Get the NB-IoT module activation status";
Blockly.Msg.esp32_nbiot_get_network_status_TOOLTIP= "Get the NB-IoT module network connection status";
Blockly.Msg.esp32_nbiot_get_network_ip_TOOLTIP= "Obtain the NB-IoT module network IP address";
Blockly.Msg.iot_service_nbiot_cococloud_TOOLTIP= "NB-IoT module sends data to CocoCloud";
Blockly.Msg.esp32_nbiot_onenet_init_TOOLTIP= "NB-IoT module connected to OneNET";
Blockly.Msg.esp32_nbiot_onenet_connection_status_TOOLTIP= "NB-IoT module obtains OneNET connection status";
Blockly.Msg.iot_service_nbiot_onenet_TOOLTIP= "NB-IoT module sends data to OneNET";
Blockly.Msg.esp32_nbiot_onenet_read_value_TOOLTIP= "Get the instructions sent by the NB-IoT module from OneNET";
Blockly.Msg.iot_service_nbiot_onenet_read_TOOLTIP= "When the NB-IoT module receives a message from OneNET, run the operation";
Blockly.Msg.esp32_ble_setup_sender_TOOLTIP= "BLE (Bluetooth Low Energy) sender initialized";
Blockly.Msg.esp32_ble_send_data_TOOLTIP= "BLE sends the specified data";
Blockly.Msg.esp32_ble_setup_receiver_TOOLTIP= "BLE (Bluetooth Low Energy) Receiver initialized";
Blockly.Msg.esp32_ble_get_data_TOOLTIP= "Returns data received by BLE";
Blockly.Msg.esp32_ble_sender_connected_TOOLTIP= "Sender is Connected";
Blockly.Msg.esp32_ble_receiver_connected_TOOLTIP= "Receiver is Connected";

// ai
Blockly.Msg.ai_k210_button_read_pressed_TOOLTIP= "When button %1 is pressed";
Blockly.Msg.ai_k210_button_read_released_TOOLTIP= "When button %1 is released";
Blockly.Msg.ai_k210_led_light_up_TOOLTIP= "Set %1 to light up";
Blockly.Msg.ai_basic_light_up_led_analog_TOOLTIP= "Set the light brightness of %1";
Blockly.Msg.ai_k210_led_light_off_TOOLTIP= "Set %1 turn off";
Blockly.Msg.ai_system_restart_TOOLTIP= "Reboot the system";
Blockly.Msg.ai_system_run_TOOLTIP= "Run the Python program in the specified path";

Blockly.Msg.ai_mphone_init_TOOLTIP= "Microphone initialization";
Blockly.Msg.mphone_audio_spectrum_init_TOOLTIP= "Start reading the audio spectrum";
Blockly.Msg.ai_mphone_read_sound_sensitivity_TOOLTIP= "Get the audio spectrum collected by the microphone";

Blockly.Msg.ai_img_save_TOOLTIP= "Save the canvas locally and set the image compression quality";
Blockly.Msg.ai_lcd_invert_color_TOOLTIP = "Invert the color of the canvas";
Blockly.Msg.ai_lcd_resizecanvas_TOOLTIP = "Adjust the canvas to the specified size";
Blockly.Msg.ai_lcd_color_scheme_TOOLTIP = "Convert the canvas to %1";
Blockly.Msg.ai_lcd_img_cut_TOOLTIP = "The canvas is clipped as specified";
Blockly.Msg.ai_vision_color_analyze_TOOLTIP = "Gets the color analysis result for the specified area of the canvas";
Blockly.Msg.ai_vision_find_blobs_TOOLTIP = "Searches the canvas for the specified color palette";
Blockly.Msg.ai_vision_get_threshold_default_TOOLTIP = "Sets the default color for color tracing to %1";
Blockly.Msg.ai_vision_get_blobs_TOOLTIP = "Gets the recognition result for tracing the specified color";
Blockly.Msg.ai_vision_get_statistics_TOOLTIP = "Obtain the results of color channel information analysis on canvas";
Blockly.Msg.ai_vision_get_histogram_TOOLTIP = "Gets the result of a standardized histogram operation from the canvas";
Blockly.Msg.ai_vision_get_histogram_percentile_TOOLTIP = "The CDF value of the histogram channel is obtained from the histogram calculation results";
Blockly.Msg.ai_vision_get_histogram_percentile_detail_TOOLTIP = "%1 of the percentage value obtained from the histogram calculation results";
Blockly.Msg.ai_vision_lab_rgb_conversion_TOOLTIP = "Run the color conversion %1";
Blockly.Msg.ai_vision_rgb_grayscale_conversion_TOOLTIP = "Run the color conversion %1";
Blockly.Msg.ai_vision_find_qrcode_TOOLTIP = "Get the detection result of QR code in canvas";
Blockly.Msg.ai_vision_qrcode_get_info_TOOLTIP = "Gets %1 of the detected QR code from the variable";
Blockly.Msg.ai_vision_find_apriltag_TOOLTIP = "Get the detection result of AprilTag in the canvas";
Blockly.Msg.ai_vision_apriltag_get_info_TOOLTIP = "Gets %1 for detecting AprilTag from the variable";
Blockly.Msg.ai_vision_find_datamatrices_TOOLTIP = "Gets the detection result of the data matrix in the canvas";
Blockly.Msg.ai_vision_datamatrices_get_info_TOOLTIP = "Gets %1 of the detection data matrix from the variable";
Blockly.Msg.ai_vision_find_barcodes_TOOLTIP = "Gets the detection result of the bar code in the canvas";
Blockly.Msg.ai_vision_barcodes_get_info_TOOLTIP = "Gets %1 of the detected bar code from the variable";
Blockly.Msg.ai_vision_find_circles_TOOLTIP = "Look for the circle on the canvas";
Blockly.Msg.ai_vision_get_circles_TOOLTIP = "Gets the result of looking for a circle";
Blockly.Msg.ai_vision_find_rects_TOOLTIP = "Look for the rectangular on the canvas";
Blockly.Msg.ai_vision_get_rects_TOOLTIP = "Gets the result of looking for a rectangular";
Blockly.Msg.ai_vision_find_lines_TOOLTIP = "Look for the straight line on the canvas";
Blockly.Msg.ai_vision_get_lines_TOOLTIP = "Gets the result of looking for a straight line";

// ai_video
Blockly.Msg.ai_video_set_TOOLTIP = "Play video file";
Blockly.Msg.ai_video_status_TOOLTIP = "Get the status of video playback";
Blockly.Msg.ai_video_stop_play_TOOLTIP = "End video file playback";

// ai_audio
Blockly.Msg.speech_recognition_new_setup_TOOLTIP = "Speech recognition initialization";
Blockly.Msg.speech_recognition_new_recording_sample_start_TOOLTIP = "Start recording voice clips";
Blockly.Msg.speech_recognition_new_start_recognition_TOOLTIP = "Start doing speech recognition";
Blockly.Msg.speech_recognition_new_recognition_get_result_TOOLTIP = "The result of speech recognition is the specified fragment";
Blockly.Msg.speech_recognition_new_recognition_get_any_result_TOOLTIP = "When speech recognition gets any result, do the following";

// ai_models
Blockly.Msg.ai_model_allinit_TOOLTIP = "Load and initialize the %1";
Blockly.Msg.ai_model_index_mnist_TOOLTIP = "Get the detection result of handwritten digit detection model";
Blockly.Msg.ai_model_get_TOOLTIP = "Gets %1 of the common objects detected from the variable";
Blockly.Msg.ai_model_look_TOOLTIP = "Any common objects detected";
Blockly.Msg.ai_model_xy_TOOLTIP = "Gets %1 of the detected face from the variable";
Blockly.Msg.ai_model_face_TOOLTIP = "Face detected";
Blockly.Msg.ai_model_customized_init_setup_definition_TOOLTIP = "Before the program of the custom model runs, release the memory";
Blockly.Msg.ai_model_customized_init_setup_TOOLTIP = "Loads and initializes the custom model";
Blockly.Msg.ai_model_customized_if_got_TOOLTIP = "The object for the custom model has been identified";
Blockly.Msg.ai_model_customized_get_result_TOOLTIP = "Gets %1 from the variable from the recognition to the custom model result";
Blockly.Msg.ai_model_face_init_TOOLTIP = "Custom initializes the face recognition model";
Blockly.Msg.ai_model_class_TOOLTIP = "Custom Initializing class recognition model";
Blockly.Msg.ai_model_getface_TOOLTIP = "Custom Recognized face from customized model";
Blockly.Msg.ai_model_getclass_TOOLTIP = "Recognized object from customized model";

// ai_wifi
Blockly.Msg.k210_wifi_enable_disable_TOOLTIP = "Set the Wi-Fi to %1";
Blockly.Msg.k210_wifi_scan_TOOLTIP = "Start scanning nearby Wi-Fi hotspots";
Blockly.Msg.k210_wifi_scan_get_TOOLTIP = "Get the results of the Wi-Fi scan as a list";
Blockly.Msg.k210_wifi_connect_hotspot_TOOLTIP = "Connect to the specified Wi-Fi network";
Blockly.Msg.k210_wifi_get_connection_status_TOOLTIP = "Gets the status of your Wi-Fi connection";
Blockly.Msg.k210_wifi_get_config_TOOLTIP = "Gets the device specification information for a Wi-Fi connection";

// ai_lcd
Blockly.Msg.ai_lcd_screeninit_TOOLTIP = "LCD screen initialization";
Blockly.Msg.ai_lcd_rotation_TOOLTIP = "Turns the LCD screen direction by the specified Angle";
Blockly.Msg.ai_lcd_filp_TOOLTIP = "Whether to mirror the LCD screen";
Blockly.Msg.ai_lcd_screen_TOOLTIP = "Fill the LCD screen with %1 color";
Blockly.Msg.ai_lcd_fill_screen_with_rgb_TOOLTIP = "Fills the LCD screen with the specified RGB value";
Blockly.Msg.ai_lcd_clear_TOOLTIP = "Clear the screen";
Blockly.Msg.ai_lcd_rgb_value_input_TOOLTIP = "Returns the specified RGB value";
Blockly.Msg.ai_lcd_XY_TOOLTIP = "Returns the specified x and y";
Blockly.Msg.ai_lcd_WH_TOOLTIP = "Returns the specified width and height";
Blockly.Msg.ai_lcd_createnonecarvas_TOOLTIP = "Creates a blank canvas of the specified size";
Blockly.Msg.ai_lcd_fillcanvas_TOOLTIP = "Fills the canvas with the specified color";
Blockly.Msg.ai_lcd_createcarvas_TOOLTIP = "Create an image canvas";
Blockly.Msg.ai_lcd_showcarvas_set_cord_TOOLTIP = "Sets the starting point coordinates of the canvas";
Blockly.Msg.ai_lcd_textcarvas_TOOLTIP = "Draw text on the canvas";
Blockly.Msg.ai_lcd_characterscarvas_TOOLTIP = "Draw Hanzi characters on the canvas";
Blockly.Msg.ai_lcd_linecarvas_TOOLTIP = "Draw a straight line on the canvas";
Blockly.Msg.ai_lcd_ractanglecarvas_TOOLTIP = "Draws %1 rectangle on the canvas";
Blockly.Msg.ai_lcd_drawcirclecarvas_TOOLTIP = "Draw the %1 circle on the canvas";
Blockly.Msg.ai_lcd_draw_cross_sign_TOOLTIP = "Draw a cross symbol on the canvas";
Blockly.Msg.ai_lcd_draw_arrow_sign_TOOLTIP = "Draw the arrow on the canvas";
Blockly.Msg.ai_lcd_draw_image_on_canvas_TOOLTIP = "Draw the picture on the canvas";
Blockly.Msg.ai_lcd_showcarvas_set_display_TOOLTIP = "Show canvas";
Blockly.Msg.ai_lcd_clearcanvas_TOOLTIP = "Clear everything in the canvas";

// ai_led
Blockly.Msg.ai_led_matrix_setup_TOOLTIP= "A.I. module initialization LED light screen";
Blockly.Msg.ai_led_matrix_set_bright_TOOLTIP= "Set the brightness of the light screen";
Blockly.Msg.ai_led_matrix_xy_TOOLTIP= "Set ranks";
Blockly.Msg.ai_led_matrix_wh_TOOLTIP= "Set width and height";
Blockly.Msg.ai_led_matrix_rgb_value_input_TOOLTIP= "Return the specified rgb value";
Blockly.Msg.ai_led_matrix_draw_pixel_TOOLTIP= "A.I. module LED light screen drawing pixel";
Blockly.Msg.ai_led_matrix_draw_rectangle_TOOLTIP= "A.I. module LED light screen drawing rectangle";
Blockly.Msg.ai_led_matrix_show_above_TOOLTIP= "Show pattern";
Blockly.Msg.ai_led_matrix_clear_screen_TOOLTIP= "Clear light screen";

// ai_speaker
Blockly.Msg.ai_audio_init_speaker_TOOLTIP = "Horn initialization";
Blockly.Msg.ai_audio_play_song_speaker_TOOLTIP = "Play audio files(Single tune circulation)";
Blockly.Msg.ai_audio_play_song_speaker_list_loop_TOOLTIP = "Play audio files(Sequential play)";
Blockly.Msg.ai_audio_play_music_file_list_random_TOOLTIP = "Play audio files(Random play)";
Blockly.Msg.ai_audio_play_state_speaker_TOOLTIP = "Get the play state of playing file";
Blockly.Msg.ai_audio_play_finish_speaker_TOOLTIP = "End audio playing";
Blockly.Msg.ai_audio_set_speaker_TOOLTIP = "Set Playing Volume";
Blockly.Msg.ai_audio_files_list_TOOLTIP = "Get the list of audio files in the current path";

// ai_camera
Blockly.Msg.ai_camera_init_TOOLTIP = "Camera Initialization";
Blockly.Msg.ai_camera_fit_to_screen_size_TOOLTIP = "Set the size of the camera's capture image";
Blockly.Msg.ai_camera_windows_TOOLTIP = "Adjust the size of the image captured by the camera";
Blockly.Msg.ai_camera_snapshot_TOOLTIP = "Gets the image captured by the camera";
Blockly.Msg.ai_camera_lens_corr_TOOLTIP = "GCorrect wide Angle lens screen";
Blockly.Msg.ai_camera_image_property_change_TOOLTIP = "Set the state of the camera image %1";
Blockly.Msg.ai_camera_bcs_operation_TOOLTIP = "Set %1 of the camera image";
Blockly.Msg.ai_video_record_setup_TOOLTIP = "Start recording and saving the video";
Blockly.Msg.ai_video_get_TOOLTIP = "Record the canvas";
Blockly.Msg.ai_video_stop_TOOLTIP = "Stop recording video";

// ai_motor
Blockly.Msg.ai_motor_setup_TOOLTIP = "A.I. module motor driver initialization";
Blockly.Msg.ai_motor_run_TOOLTIP = "The A.I. module sets the specified motor to rotate in the specified direction at the specified speed";

// ai_EFSG
Blockly.Msg.extension_servo_setup_on_ai_TOOLTIP = "A.I. module servo initialization";
Blockly.Msg.extension_servo_write_on_ai_TOOLTIP = "The A.I. module sets the servo at the specified pin to rotate to the specified angle";

// ai_EFGH
Blockly.Msg.x_ai_read_gamepad_button_pressed_TOOLTIP= "When the button %1 on the gamepad is pressed";
Blockly.Msg.x_ai_read_gamepad_button_released_TOOLTIP= "When the button %1 on the gamepad is released";
Blockly.Msg.x_ai_read_gamepad_button_xr_TOOLTIP= "Get the level value of the button %1 on the gamepad";
Blockly.Msg.x_ai_read_gamepad_joystick_check_TOOLTIP= "When Game Pad Joystick is %1";
Blockly.Msg.x_ai_read_gamepad_joystick_TOOLTIP= "Get the analog value of the joystick %1 on the gamepad";

Blockly.Msg.CocoRobo_try_except_TOOLTIP= "Detect errors in the try statement block so that the except statement catches exception information and handles it";
Blockly.Msg.CocoRobo_try_except_finally_TOOLTIP= "Detect errors in the try block so that the except statement catches exception information and handles it, and the finally statement executes regardless of whether an exception is generated";

Blockly.Msg.Pedometer_Init_TOOLTIP="Initialize Pedometer";
Blockly.Msg.Pedometer_Run_TOOLTIP="Run Pedometer";
Blockly.Msg.Pedometer_Get_TOOLTIP="Get Count";
