'use strict';

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

goog.require('Blockly.Msg');


Blockly.Msg.MICROBIT_MU_INIT_HELPURL = '';
Blockly.Msg.MICROBIT_MU_INIT_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_INIT_MESSAGE0 = 'Initialize MU vision sensor at address %1';

Blockly.Msg.MICROBIT_MU_BEGIN_HELPURL = '';
Blockly.Msg.MICROBIT_MU_BEGIN_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_BEGIN_MESSAGE0 = 'Open algorithm %1';

Blockly.Msg.MICROBIT_MU_VISION_TYPE_MESSAGE0 = '%1 Color Detect %2 Color Recognition %3 %4 Ball Detect %5 Body Detect %6 %7 Shape Card Detect %8 Traffic Card Detect %9 %10 Num Card Detect %11 All Algorithms';

Blockly.Msg.MICROBIT_MU_VISION_COLOR_DETECT = 'Color Detect';
Blockly.Msg.MICROBIT_MU_VISION_COLOR_RECOGNITION = 'Color Recognition';
Blockly.Msg.MICROBIT_MU_VISION_BALL_DETECT = 'Ball Detect';
Blockly.Msg.MICROBIT_MU_VISION_BODY_DETECT = 'Body Detect';
Blockly.Msg.MICROBIT_MU_VISION_SHAPE_CARD_DETECT = 'Shape Card Detect';
Blockly.Msg.MICROBIT_MU_VISION_TRAFFIC_CARD_DETECT = 'Traffic Card Detect';
Blockly.Msg.MICROBIT_MU_VISION_NUM_CARD_DETECT = 'Num Card Detect';
Blockly.Msg.MICROBIT_MU_VISION_ALL = 'All Algorithms';

Blockly.Msg.MICROBIT_MU_LEVEL_DEFAULT = 'Default';
Blockly.Msg.MICROBIT_MU_LEVEL_SPEED = 'Speed priority';
Blockly.Msg.MICROBIT_MU_LEVEL_BALANCE = 'Balance';
Blockly.Msg.MICROBIT_MU_LEVEL_ACCURACY = 'Accuracy priority';

Blockly.Msg.MICROBIT_MU_SET_LEVEL_HELPURL = '';
Blockly.Msg.MICROBIT_MU_SET_LEVEL_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_SET_LEVEL_MESSAGE0 = 'Set level of algorithm %1 as %2';

Blockly.Msg.MICROBIT_MU_GET_LEVEL_HELPURL = '';
Blockly.Msg.MICROBIT_MU_GET_LEVEL_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_GET_LEVEL_MESSAGE0 = 'Get level of algorithm %1';

Blockly.Msg.MICROBIT_MU_FPS_NORMAL = 'FPSNormal';
Blockly.Msg.MICROBIT_MU_FPS_HIGH = 'FPSHigh';

Blockly.Msg.MICROBIT_MU_SET_FPS_MODE_MESSAGE0 = 'Set camera FPS mode as %1';
Blockly.Msg.MICROBIT_MU_SET_FPS_MODE_TOOLTIP = 'In FPSHigh mode, recognition speed increases while power consumption increases';
Blockly.Msg.MICROBIT_MU_SET_FPS_MODE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_GET_FPS_MODE_MESSAGE0 = 'Get camera FPS mode';
Blockly.Msg.MICROBIT_MU_GET_FPS_MODE_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_GET_FPS_MODE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_AUTO_WHITE_BALANCE = 'Auto white balance';
Blockly.Msg.MICROBIT_MU_LOCK_WHITE_BALANCE = 'Lock white balance';
Blockly.Msg.MICROBIT_MU_WHITE_LIGHT = 'White light';
Blockly.Msg.MICROBIT_MU_YELLOW_LIGHT = 'Yellow light';

Blockly.Msg.MICROBIT_MU_SET_AWB_MODE_MESSAGE0 = 'Set camera white balance mode as %1';
Blockly.Msg.MICROBIT_MU_SET_AWB_MODE_TOOLTIP = 'Adjust image color cast caused by changes in external light sources';
Blockly.Msg.MICROBIT_MU_SET_AWB_MODE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_GET_AWB_MODE_MESSAGE0 = 'Get camera white balance mode';
Blockly.Msg.MICROBIT_MU_GET_AWB_MODE_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_GET_AWB_MODE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_ZOOM_DEFAULT = 'ZoomDefault';
Blockly.Msg.MICROBIT_MU_ZOOM_1 = 'Zoom1';
Blockly.Msg.MICROBIT_MU_ZOOM_2 = 'Zoom2';
Blockly.Msg.MICROBIT_MU_ZOOM_3 = 'Zoom3';
Blockly.Msg.MICROBIT_MU_ZOOM_4 = 'Zoom4';
Blockly.Msg.MICROBIT_MU_ZOOM_5 = 'Zoom5';

Blockly.Msg.MICROBIT_MU_SET_ZOOM_MODE_MESSAGE0 = 'Set camera zoom mode as %1';
Blockly.Msg.MICROBIT_MU_SET_ZOOM_MODE_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_SET_ZOOM_MODE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_GET_ZOOM_MODE_MESSAGE0 = 'Get camera zoom mode';
Blockly.Msg.MICROBIT_MU_GET_ZOOM_MODE_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_GET_ZOOM_MODE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_SET_DEFAULT_MESSAGE0 = 'Rrestore sensor default settings';
Blockly.Msg.MICROBIT_MU_SET_DEFAULT_TOOLTIP = 'Close all algorithms and reset all hardware settings';
Blockly.Msg.MICROBIT_MU_SET_DEFAULT_HELPURL = '';

Blockly.Msg.MICROBIT_MU_RESTART_MESSAGE0 = 'Restart sensor';
Blockly.Msg.MICROBIT_MU_RESTART_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_RESTART_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LED_CLOSE = 'Close';
Blockly.Msg.MICROBIT_MU_LED_RED = 'Red';
Blockly.Msg.MICROBIT_MU_LED_GREEN = 'Green';
Blockly.Msg.MICROBIT_MU_LED_YELLOW = 'Yellow';
Blockly.Msg.MICROBIT_MU_LED_BLUE = 'Blue';
Blockly.Msg.MICROBIT_MU_LED_PURPLE = 'Purple';
Blockly.Msg.MICROBIT_MU_LED_CYAN = 'Cyan';
Blockly.Msg.MICROBIT_MU_LED_WHITE = 'White';

Blockly.Msg.MICROBIT_MU_LED_SET_COLOR_MESSAGE0 = 'Set %1 brightness as %2 the color when the result is detected is %3 %4 the color when no results are detected is %5';
Blockly.Msg.MICROBIT_MU_LED_SET_COLOR_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LED_SET_COLOR_HELPURL = '';

Blockly.Msg.MICROBIT_MU_VALUE_STATUS = 'Status';
Blockly.Msg.MICROBIT_MU_VALUE_XVALUE = 'X coordinate value';
Blockly.Msg.MICROBIT_MU_VALUE_YVALUE = 'Y coordinate value';
Blockly.Msg.MICROBIT_MU_VALUE_WIDTHVALUE = 'Width value';
Blockly.Msg.MICROBIT_MU_VALUE_HEIGHTVALUE = 'Height value';
Blockly.Msg.MICROBIT_MU_VALUE_LABEL = 'Label';
Blockly.Msg.MICROBIT_MU_VALUE_RVALUE = 'Red value (Color Recognition mode)';
Blockly.Msg.MICROBIT_MU_VALUE_GVALUE = 'Green value (Color Recognition mode)';
Blockly.Msg.MICROBIT_MU_VALUE_BVALUE = 'Blue value (Color Recognition mode)';

Blockly.Msg.MICROBIT_MU_GET_VALUE_MESSAGE0 = 'Get %1 recognition result %2';
Blockly.Msg.MICROBIT_MU_GET_VALUE_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_GET_VALUE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_PROXIMITY_ENABLE = 'LS_PROXIMITY_ENABLE';
Blockly.Msg.MICROBIT_MU_LS_AMBIENT_LIGHT_ENABLE = 'LS_AMBIENT_LIGHT_ENABLE';
Blockly.Msg.MICROBIT_MU_LS_COLOR_ENABLE = 'LS_COLOR_ENABLE';
Blockly.Msg.MICROBIT_MU_LS_GESTURE_ENABLE = 'LS_GESTURE_ENABLE';

Blockly.Msg.MICROBIT_MU_LS_BEGIN_MESSAGE0 = 'turn on %1 of light sensor';
Blockly.Msg.MICROBIT_MU_LS_BEGIN_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_BEGIN_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_END_MESSAGE0 = 'Turn off %1 of light sensor';
Blockly.Msg.MICROBIT_MU_LS_END_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_END_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_SENSITIVITY_DEFAULT = 'SensitivityDefault';
Blockly.Msg.MICROBIT_MU_LS_SENSITIVITY_1 = 'Sensitivity1';
Blockly.Msg.MICROBIT_MU_LS_SENSITIVITY_2 = 'Sensitivity2';
Blockly.Msg.MICROBIT_MU_LS_SENSITIVITY_3 = 'Sensitivity3';

Blockly.Msg.MICROBIT_MU_LS_SET_SENSITIVITY_MESSAGE0 = 'Set light sensor sensitivity as %1';
Blockly.Msg.MICROBIT_MU_LS_SET_SENSITIVITY_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_SET_SENSITIVITY_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_WB_ENABLE_MESSAGE0 = 'Calibrate white balance of light sensor';
Blockly.Msg.MICROBIT_MU_LS_WB_ENABLE_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_WB_ENABLE_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_READ_PROXIMITY_MESSAGE0 = 'Get proximity value';
Blockly.Msg.MICROBIT_MU_LS_READ_PROXIMITY_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_READ_PROXIMITY_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_READ_AMBIENT_LIGHT_MESSAGE0 = 'Get ambient light value';
Blockly.Msg.MICROBIT_MU_LS_READ_AMBIENT_LIGHT_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_READ_AMBIENT_LIGHT_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_COLOR_LABEL = 'LsColorLabel';
Blockly.Msg.MICROBIT_MU_LS_COLOR_RED = 'LsColorRed';
Blockly.Msg.MICROBIT_MU_LS_COLOR_GREEN = 'LsColorGreen';
Blockly.Msg.MICROBIT_MU_LS_COLOR_BLUE = 'LsColorBlue';
Blockly.Msg.MICROBIT_MU_LS_COLOR_HUE = 'LsColorHue';
Blockly.Msg.MICROBIT_MU_LS_COLOR_SATURATION = 'LsColorSaturation';
Blockly.Msg.MICROBIT_MU_LS_COLOR_VALUE = 'LsColorValue';

Blockly.Msg.MICROBIT_MU_LS_RAW_COLOR_RED = 'LsRawColorRed';
Blockly.Msg.MICROBIT_MU_LS_RAW_COLOR_GREEN = 'LsRawColorGreen';
Blockly.Msg.MICROBIT_MU_LS_RAW_COLOR_BLUE = 'LsRawColorBlue';

Blockly.Msg.MICROBIT_MU_LS_READ_COLOR_MESSAGE0 = 'Get %1 of color detection result';
Blockly.Msg.MICROBIT_MU_LS_READ_COLOR_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_READ_COLOR_HELPURL = '';

Blockly.Msg.MICROBIT_MU_LS_READ_GESTURE_MESSAGE0 = 'Get gesture detection result';
Blockly.Msg.MICROBIT_MU_LS_READ_GESTURE_TOOLTIP = '';
Blockly.Msg.MICROBIT_MU_LS_READ_GESTURE_HELPURL = '';


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_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_UPDATE_MSG_ARGS_HELPURL = '';
Blockly.Msg.MICROBIT_UPDATE_MSG_ARGS_MESSAGE0 = 'Update remote-BOBI-msg %1 arguments %2 x %3 y %4 z %5 control-left-arm %6 control-right-arm %7';
Blockly.Msg.MICROBIT_UPDATE_MSG_ARGS_TOOLTIP = "";

Blockly.Msg.BOTBIT_REC_FROM_MICROBIT_HELPURL = '';
Blockly.Msg.BOTBIT_REC_FROM_MICROBIT_MESSAGE0 = 'BOBI recieves msg and execute';
Blockly.Msg.BOTBIT_REC_FROM_MICROBIT_TOOLTIP = "";

Blockly.Msg.GAMEBIT_BUTTON_HELPURL = '';
Blockly.Msg.GAMEBIT_BUTTON_MESSAGE0 = 'Press button %1';
Blockly.Msg.GAMEBIT_BUTTON_TOOLTIP = "";

Blockly.Msg.GAMEBIT_SHAKE_HELPURL = '';
Blockly.Msg.GAMEBIT_SHAKE_MESSAGE0 = 'Shaking %1';
Blockly.Msg.GAMEBIT_SHAKE_TOOLTIP = "";

Blockly.Msg.GAMEBIT_XY_HELPURL = '';
Blockly.Msg.GAMEBIT_XY_MESSAGE0 = '%1 axis value';
Blockly.Msg.GAMEBIT_XY_TOOLTIP = "";

Blockly.Msg.BOTBIT_JUMP_HELPURL = '';
Blockly.Msg.BOTBIT_JUMP_MESSAGE0 = 'BOBI jump with single step time %1 ms';
Blockly.Msg.BOTBIT_JUMP_TOOLTIP = 'Units in milliseconds';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_X_MESSAGE0 = 'Accelerometer X axis';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_X_TOOLTIP = 'Get the acceleration measurement in the X axis.';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_X_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/accelerometer.html#microbit.accelerometer.get_x';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_Y_MESSAGE0 = 'Accelerometer Y axis';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_Y_TOOLTIP = 'Get the acceleration measurement in the Y axis.';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_Y_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/accelerometer.html#microbit.accelerometer.get_y';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_Z_MESSAGE0 = 'Accelerometer Z axis';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_Z_TOOLTIP = 'Get the acceleration measurement in the Z axis.';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_Z_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/accelerometer.html#microbit.accelerometer.get_z';
Blockly.Msg.MICROBIT_ACCELEROMETER_WAS_GESTURE_MESSAGE0 = 'Was gesture %1';
Blockly.Msg.MICROBIT_ACCELEROMETER_WAS_GESTURE_TOOLTIP = 'Return True or False to indicate if the named gesture was active since the last check.';
Blockly.Msg.MICROBIT_ACCELEROMETER_WAS_GESTURE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/accelerometer.html#microbit.accelerometer.was_gesture';
Blockly.Msg.MICROBIT_ACCELEROMETER_IS_GESTURE_MESSAGE0 = 'Is gesture %1';
Blockly.Msg.MICROBIT_ACCELEROMETER_IS_GESTURE_TOOLTIP = 'Return True or False to indicate if the named gesture is currently active.';
Blockly.Msg.MICROBIT_ACCELEROMETER_IS_GESTURE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/accelerometer.html#microbit.accelerometer.is_gesture';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_GESTURES_MESSAGE0 = 'Get gestures';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_GESTURES_TOOLTIP = 'Return the gesture history. The most recent gesture is last. Also clears the gesture history.';
Blockly.Msg.MICROBIT_ACCELEROMETER_GET_GESTURES_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/accelerometer.html#microbit.accelerometer.get_gestures';
Blockly.Msg.MICROBIT_ACCELEROMETER_CURRENT_GESTURE_MESSAGE0 = 'Current gesture';
Blockly.Msg.MICROBIT_ACCELEROMETER_CURRENT_GESTURE_TOOLTIP = 'Return the name of the current gesture.';
Blockly.Msg.MICROBIT_ACCELEROMETER_CURRENT_GESTURE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/accelerometer.html#microbit.accelerometer.current_gesture';
Blockly.Msg.MICROBIT_BUTTON_IS_PRESSED_MESSAGE0 = 'Button %1 is pressed';
Blockly.Msg.MICROBIT_BUTTON_IS_PRESSED_TOOLTIP = 'Return True if the specified button is pressed. Otherwise, return False.';
Blockly.Msg.MICROBIT_BUTTON_IS_PRESSED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed';
Blockly.Msg.MICROBIT_BUTTON_WAS_PRESSED_MESSAGE0 = 'Button %1 was pressed';
Blockly.Msg.MICROBIT_BUTTON_WAS_PRESSED_TOOLTIP = 'Return True if the specified button was pressed since the device started or the last time this was checked.';
Blockly.Msg.MICROBIT_BUTTON_WAS_PRESSED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed';
Blockly.Msg.MICROBIT_BUTTON_GET_PRESSES_MESSAGE0 = 'Get number of presses for button %1';
Blockly.Msg.MICROBIT_BUTTON_GET_PRESSES_TOOLTIP = 'Return the running total of presses for the specified button, and resets this total to zero.';
Blockly.Msg.MICROBIT_BUTTON_GET_PRESSES_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses';
Blockly.Msg.MICROBIT_COMPASS_CALIBRATE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/compass.html#microbit.compass.calibrate';
Blockly.Msg.MICROBIT_COMPASS_CALIBRATE_MESSAGE0 = 'Calibrate compass';
Blockly.Msg.MICROBIT_COMPASS_CALIBRATE_TOOLTIP = 'Start the callibration process to improve the accuracy of the compass.';
Blockly.Msg.MICROBIT_COMPASS_IS_CALIBRATED_MESSAGE0 = 'Compass is calibrated?';
Blockly.Msg.MICROBIT_COMPASS_IS_CALIBRATED_TOOLTIP = 'Returns True if the compass is calibrated, otherwise returns False.';
Blockly.Msg.MICROBIT_COMPASS_IS_CALIBRATED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/compass.html#microbit.compass.is_calibrated';
Blockly.Msg.MICROBIT_COMPASS_HEADING_MESSAGE0 = 'Compass heading';
Blockly.Msg.MICROBIT_COMPASS_HEADING_TOOLTIP = 'Return the compass heading as a number between 0 to 360, representing the angle in degrees, clockwise, with north as 0.';
Blockly.Msg.MICROBIT_COMPASS_HEADING_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/compass.html#microbit.compass.heading';
Blockly.Msg.MICROBIT_COMPASS_GET_FIELD_STRENGTH_MESSAGE0 = 'Compass field strength';
Blockly.Msg.MICROBIT_COMPASS_GET_FIELD_STRENGTH_TOOLTIP = 'Return a number indicating the magnitude of the magnetic field around the device.';
Blockly.Msg.MICROBIT_COMPASS_GET_FIELD_STRENGTH_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/compass.html#microbit.compass.get_field_strength';
Blockly.Msg.MICROBIT_COMPASS_X_MESSAGE0 = 'Magnetism X axis';
Blockly.Msg.MICROBIT_COMPASS_X_TOOLTIP = 'Return the the intensity of magnetism on X axis.';
Blockly.Msg.MICROBIT_COMPASS_X_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/compass.html#microbit.compass.get_x';
Blockly.Msg.MICROBIT_COMPASS_Y_MESSAGE0 = 'Magnetism Y axis';
Blockly.Msg.MICROBIT_COMPASS_Y_TOOLTIP = 'Return the the intensity of magnetism on Y axis.';
Blockly.Msg.MICROBIT_COMPASS_Y_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/compass.html#microbit.compass.get_y';
Blockly.Msg.MICROBIT_COMPASS_Z_MESSAGE0 = 'Magnetism Z axis';
Blockly.Msg.MICROBIT_COMPASS_Z_TOOLTIP = 'Return the the intensity of magnetism on Z axis.';
Blockly.Msg.MICROBIT_COMPASS_Z_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/compass.html#microbit.compass.get_z';
Blockly.Msg.MICROBIT_DISPLAY_GET_PIXEL_MESSAGE0 = 'Get brightness at X %1 Y %2';
Blockly.Msg.MICROBIT_DISPLAY_GET_PIXEL_TOOLTIP = 'Get the brightness of the LED at column X and row Y as a number between 0 (off) and 9 (brightest).';
Blockly.Msg.MICROBIT_DISPLAY_GET_PIXEL_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.get_pixel';
Blockly.Msg.MICROBIT_DISPLAY_SET_PIXEL_MESSAGE0 = 'Set pixel at X %1 Y %2 to brightness %3';
Blockly.Msg.MICROBIT_DISPLAY_SET_PIXEL_TOOLTIP = 'Set the brightness of the LED at column X and row Y to a value which has to be a number between 0 (off) and 9 (brightest).';
Blockly.Msg.MICROBIT_DISPLAY_SET_PIXEL_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.set_pixel';
Blockly.Msg.MICROBIT_DISPLAY_CLEAR_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear';
Blockly.Msg.MICROBIT_DISPLAY_CLEAR_MESSAGE0 = 'Clear display';
Blockly.Msg.MICROBIT_DISPLAY_CLEAR_TOOLTIP = 'Clear the display - set the brightness of all LEDs to 0 (off).';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_IMAGE_MESSAGE0 = 'Show image / text %1';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_IMAGE_TOOLTIP = 'Show the referenced image on the display.';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_IMAGE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_IMAGE_WITH_BRI_MESSAGE0 = 'Show image %3 with brightness ( %1 / %2 )';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_IMAGE_WITH_BRI_TOOLTIP = 'Show the referenced image with a given brightness on the display.';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_ANIMATION_MESSAGE0 = 'Animate images %1 with a delay of %2 milliseconds between frames. %3 Wait %4 %5 Loop %6 %7 Clear %8';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_ANIMATION_TOOLTIP = 'Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.';
Blockly.Msg.MICROBIT_DISPLAY_SHOW_ANIMATION_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show';
Blockly.Msg.MICROBIT_DISPLAY_SCROLL_MESSAGE0 = 'Scroll message %1';
Blockly.Msg.MICROBIT_DISPLAY_SCROLL_TOOLTIP = 'Scroll the referenced text across the display.';
Blockly.Msg.MICROBIT_DISPLAY_SCROLL_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll';
Blockly.Msg.MICROBIT_DISPLAY_SCROLL_ANIMATION_MESSAGE0 = 'Scroll message %1 with a delay of %2 milliseconds between frames.%3 Wait %4 %5 Loop %6 %7 Monospace %8';
Blockly.Msg.MICROBIT_DISPLAY_SCROLL_ANIMATION_TOOLTIP = 'Similar to show, but scrolls the string horizontally instead. The delay parameter controls how fast the text is scrolling.';
Blockly.Msg.MICROBIT_DISPLAY_SCROLL_ANIMATION_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll';
Blockly.Msg.MICROBIT_DISPLAY_ON_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.on';
Blockly.Msg.MICROBIT_DISPLAY_ON_MESSAGE0 = 'Turn on display';
Blockly.Msg.MICROBIT_DISPLAY_ON_TOOLTIP = 'Turns on the display.';
Blockly.Msg.MICROBIT_DISPLAY_OFF_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off';
Blockly.Msg.MICROBIT_DISPLAY_OFF_MESSAGE0 = 'Turn off display';
Blockly.Msg.MICROBIT_DISPLAY_OFF_TOOLTIP = 'Turn off the display.';
Blockly.Msg.MICROBIT_DISPLAY_IS_ON_MESSAGE0 = 'Display is on?';
Blockly.Msg.MICROBIT_DISPLAY_IS_ON_TOOLTIP = 'Return True if the display is on, otherwise return False.';
Blockly.Msg.MICROBIT_DISPLAY_IS_ON_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on';
Blockly.Msg.MICROBIT_IMAGE_BUILTINS_MESSAGE0 = 'Built in image %1';
Blockly.Msg.MICROBIT_IMAGE_BUILTINS_TOOLTIP = 'Specify one of the built-in images.';
Blockly.Msg.MICROBIT_IMAGE_BUILTINS_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes';
Blockly.Msg.MICROBIT_IMAGE_COPY_MESSAGE0 = 'Copy image %1';
Blockly.Msg.MICROBIT_IMAGE_COPY_TOOLTIP = 'Create an exact copy of the referenced image.';
Blockly.Msg.MICROBIT_IMAGE_COPY_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy';
Blockly.Msg.MICROBIT_IMAGE_INVERT_MESSAGE0 = 'Invert image %1';
Blockly.Msg.MICROBIT_IMAGE_INVERT_TOOLTIP = 'Create a new image by inverting the brightness of the pixels in the referenced image.';
Blockly.Msg.MICROBIT_IMAGE_INVERT_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert';
Blockly.Msg.MICROBIT_IMAGE_CREATE_MESSAGE0 = 'Create image %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';
Blockly.Msg.MICROBIT_IMAGE_CREATE_TOOLTIP = 'Create a new image.';
Blockly.Msg.MICROBIT_IMAGE_CREATE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image';
Blockly.Msg.MICROBIT_IMAGE_CREATE1_MESSAGE0 = 'Create image %1 row1 %2 row2 %3 row3 %4 row4 %5 row5 %6';
Blockly.Msg.MICROBIT_IMAGE_CREATE1_TOOLTIP = 'Create a new image.';
Blockly.Msg.MICROBIT_IMAGE_CREATE1_HELPURL = '';
Blockly.Msg.MICROBIT_IMAGE_SHIFT_MESSAGE0 = 'Move image %1 %2 %3 point(s)';
Blockly.Msg.MICROBIT_IMAGE_SHIFT_TOOLTIP = 'Return a new image created by shifting the picture left/right/up/down by n columns/rows.';
Blockly.Msg.MICROBIT_IMAGE_SHIFT_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.shift_left';
Blockly.Msg.MICROBIT_IMAGE_SHIFT_LEFT = 'Shift left';
Blockly.Msg.MICROBIT_IMAGE_SHIFT_RIGHT = 'Shift right';
Blockly.Msg.MICROBIT_IMAGE_SHIFT_UP = 'Shift up';
Blockly.Msg.MICROBIT_IMAGE_SHIFT_DOWN = 'Shift down';
Blockly.Msg.MICROBIT_MICROBIT_PANIC_MESSAGE0 = 'Panic with status code %1';
Blockly.Msg.MICROBIT_MICROBIT_PANIC_TOOLTIP = 'Enter panic mode to indicate something has gone wrong. Requires a restart. Pass in a number to indicate a status code.';
Blockly.Msg.MICROBIT_MICROBIT_PANIC_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.panic';
Blockly.Msg.MICROBIT_MICROBIT_RESET_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.reset';
Blockly.Msg.MICROBIT_MICROBIT_RESET_MESSAGE0 = 'Reset micro:bit';
Blockly.Msg.MICROBIT_MICROBIT_RESET_TOOLTIP = 'Reset the micro:bit';
Blockly.Msg.MICROBIT_MICROBIT_SLEEP_MESSAGE0 = 'Sleep %1 milliseconds';
Blockly.Msg.MICROBIT_MICROBIT_SLEEP_TOOLTIP = 'Wait for a specified number of milliseconds before the next instruction.';
Blockly.Msg.MICROBIT_MICROBIT_SLEEP_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.sleep';
Blockly.Msg.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0 = 'Running time';
Blockly.Msg.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP = 'Get the number of milliseconds since the board was switched on or restarted.';
Blockly.Msg.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time';
Blockly.Msg.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0 = 'Board temperature';
Blockly.Msg.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP = 'Get the temperature of the micro:bit in degrees Celcius.';
Blockly.Msg.MICROBIT_MICROBIT_TEMPERATURE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature';
Blockly.Msg.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0 = 'Play built-in melody %1 %2 Wait %3 %4 Loop %5';
Blockly.Msg.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP = 'Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.';
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 pitch %1 %2 for  %3 milliseconds';
Blockly.Msg.MICROBIT_MUSIC_PITCH_TOOLTIP = 'Play a pitch at a certain number of cycles per second for a specified number of milliseconds.';
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 = 'Play notes %1 Wait %2 %3 Loop %4';
Blockly.Msg.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP = 'Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.';
Blockly.Msg.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation';
Blockly.Msg.MICROBIT_MUSIC_RESET_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset';
Blockly.Msg.MICROBIT_MUSIC_RESET_MESSAGE0 = 'Reset music';
Blockly.Msg.MICROBIT_MUSIC_RESET_TOOLTIP = 'Reset all music related settings (current tempo, octave and duration) to 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 music';
Blockly.Msg.MICROBIT_MUSIC_STOP_TOOLTIP = 'Stop all music playback.';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0 = 'Set tempo with 1 beat the same as %1 ticks, at  %2 beats per minute';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP = 'Set the speed (tempo) of playback. A certain number of ticks represents a beat. Each beat is to be played a certain number of times a minute (beats per minute or BPM).';
Blockly.Msg.MICROBIT_MUSIC_SET_TEMPO_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo';
Blockly.Msg.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0 = 'Get current tempo';
Blockly.Msg.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP = 'Gets current tempo information as two numbers: number of ticks per beat, and number of 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.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0 = 'Initialise %2 neopixel[s] on pin %1';
Blockly.Msg.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP = 'Make an object to control any attached neopixels. Specify the number of neopixels and the pin to which they are attached.';
Blockly.Msg.MICROBIT_NEOPIXEL_INITIALISE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel';
Blockly.Msg.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0 = 'Clear neopixels on %1';
Blockly.Msg.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP = 'Clear all neopixels controlled by the referenced neopixel object.';
Blockly.Msg.MICROBIT_NEOPIXEL_CLEAR_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear';
Blockly.Msg.MICROBIT_NEOPIXEL_SHOW_MESSAGE0 = 'Show neopixels on %1';
Blockly.Msg.MICROBIT_NEOPIXEL_SHOW_TOOLTIP = 'Show / update all the neopixels controlled by the referenced neopixel object.';
Blockly.Msg.MICROBIT_NEOPIXEL_SHOW_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show';
Blockly.Msg.MICROBIT_NEOPIXEL_SET_MESSAGE0 = 'Using neopixels on %1 set pixel in position %2 with red %3 green %4 blue %5';
Blockly.Msg.MICROBIT_NEOPIXEL_SET_TOOLTIP = 'Use the referenced neopixel object to update the individual neopixel in a specific numbered position with a red, green, blue (RGB) value.';
Blockly.Msg.MICROBIT_NEOPIXEL_SET_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels';
Blockly.Msg.MICROBIT_PIN_TOUCHED_MESSAGE0 = 'Pin %1 is touched?';
Blockly.Msg.MICROBIT_PIN_TOUCHED_TOOLTIP = 'Return True if the referenced pin is touched.';
Blockly.Msg.MICROBIT_PIN_TOUCHED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched';
Blockly.Msg.MICROBIT_PIN_WAS_PRESSED_MESSAGE0 = 'Pin %1 was pressed?';
Blockly.Msg.MICROBIT_PIN_WAS_PRESSED_TOOLTIP = 'Return True if the referenced pin was touched since the device started or the last time this was checked.';
Blockly.Msg.MICROBIT_PIN_WAS_PRESSED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed';
Blockly.Msg.MICROBIT_PIN_GET_PRESSES_MESSAGE0 = 'Get number of presses for Pin %1';
Blockly.Msg.MICROBIT_PIN_GET_PRESSES_TOOLTIP = 'Return the running total of presses for the referenced pin, and resets this total to zero.';
Blockly.Msg.MICROBIT_PIN_GET_PRESSES_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses';
Blockly.Msg.MICROBIT_PIN_READ_ANALOG_MESSAGE0 = 'Read analog on pin %1';
Blockly.Msg.MICROBIT_PIN_READ_ANALOG_TOOLTIP = 'Read analog value from the referenced pin.';
Blockly.Msg.MICROBIT_PIN_READ_ANALOG_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog';
Blockly.Msg.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0 = 'Write analog value %1 on pin %2';
Blockly.Msg.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP = 'Write analog value to the referenced pin.';
Blockly.Msg.MICROBIT_PIN_WRITE_ANALOG_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog';
Blockly.Msg.MICROBIT_PIN_READ_DIGITAL_MESSAGE0 = 'Read digital value on pin %1';
Blockly.Msg.MICROBIT_PIN_READ_DIGITAL_TOOLTIP = 'Read digital value (True or False) from the referenced pin.';
Blockly.Msg.MICROBIT_PIN_READ_DIGITAL_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital';
Blockly.Msg.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0 = 'Write digital value %1 on pin %2';
Blockly.Msg.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP = 'Write digital value (True or False) to the referenced pin.';
Blockly.Msg.MICROBIT_PIN_WRITE_DIGITAL_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital';
Blockly.Msg.MICROBIT_RADIO_ON_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on';
Blockly.Msg.MICROBIT_RADIO_ON_MESSAGE0 = 'Switch on radio';
Blockly.Msg.MICROBIT_RADIO_ON_TOOLTIP = 'Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.';
Blockly.Msg.MICROBIT_RADIO_OFF_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off';
Blockly.Msg.MICROBIT_RADIO_OFF_MESSAGE0 = 'Switch off radio';
Blockly.Msg.MICROBIT_RADIO_OFF_TOOLTIP = 'Turn off the radio, thus saving power and memory.';
Blockly.Msg.MICROBIT_RADIO_CONFIG_MESSAGE0 = 'Configure radio message length %1 %2 maximum queue length %3 %4 tuned to channel %5 %6 broadcast power %7 %8 address %9 %10 group %11 %12 data rate %13';
Blockly.Msg.MICROBIT_RADIO_CONFIG_TOOLTIP = 'Configure the radio.\n The length defines how long an individual message can be. \n The queue specifies the number of messages that can be stored on the incoming message queue.\n The channel defines the frequency to which the radio is tuned.\n The power specifies the strength of the broadcast signal.\n Address: 32-bit address.\n Group: 8-bit value (0-255) .\n The data rate indicates the speed at which data is transferred.';
Blockly.Msg.MICROBIT_RADIO_CONFIG_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config';
Blockly.Msg.MICROBIT_RADIO_RESET_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset';
Blockly.Msg.MICROBIT_RADIO_RESET_MESSAGE0 = 'Reset radio';
Blockly.Msg.MICROBIT_RADIO_RESET_TOOLTIP = 'Reset the radio to default settings.';
Blockly.Msg.MICROBIT_RADIO_SEND_STRING_MESSAGE0 = 'Send message %1';
Blockly.Msg.MICROBIT_RADIO_SEND_STRING_TOOLTIP = 'Broadcast a text message.';
Blockly.Msg.MICROBIT_RADIO_SEND_STRING_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send';
Blockly.Msg.MICROBIT_RADIO_RECEIVE_MESSAGE0 = 'Receive message';
Blockly.Msg.MICROBIT_RADIO_RECEIVE_TOOLTIP = 'Receive a message.';
Blockly.Msg.MICROBIT_RADIO_RECEIVE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive';
Blockly.Msg.MICROBIT_SPEECH_SAY_MESSAGE0 = 'Say %1';
Blockly.Msg.MICROBIT_SPEECH_SAY_TOOLTIP = 'Attempt to say English input.';
Blockly.Msg.MICROBIT_SPEECH_SAY_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say';
Blockly.Msg.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0 = 'Pronounce %1';
Blockly.Msg.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP = 'Precisely pronounce phoneme input.';
Blockly.Msg.MICROBIT_SPEECH_PRONOUNCE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes';
Blockly.Msg.MICROBIT_SPEECH_SING_MESSAGE0 = 'Sing %1';
Blockly.Msg.MICROBIT_SPEECH_SING_TOOLTIP = 'Sing phonemes like a ROBOT.';
Blockly.Msg.MICROBIT_SPEECH_SING_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing';

//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 = 'Face up';
Blockly.Msg.MICROBIT_GESTURE_FACE_DOWN = 'Face down';
Blockly.Msg.MICROBIT_GESTURE_FREEFAIL = 'Freefall';
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';
Blockly.Msg.MICROBIT_IMAGE_SAD = 'SAD';
Blockly.Msg.MICROBIT_IMAGE_CONFUSED = 'CONFUSED';
Blockly.Msg.MICROBIT_IMAGE_ANGRY = 'ANGRY';
Blockly.Msg.MICROBIT_IMAGE_ASLEEP = 'ASLEEP';
Blockly.Msg.MICROBIT_IMAGE_SUPRISED = 'SURPRISED';
Blockly.Msg.MICROBIT_IMAGE_SILLY = 'SILLY';
Blockly.Msg.MICROBIT_IMAGE_FABULOUS = 'FABULOUS';
Blockly.Msg.MICROBIT_IMAGE_MEH = 'MEH';
Blockly.Msg.MICROBIT_IMAGE_YES = 'YES';
Blockly.Msg.MICROBIT_IMAGE_NO = 'NO';
Blockly.Msg.MICROBIT_IMAGE_CLOCK12 = 'CLOCK12';
Blockly.Msg.MICROBIT_IMAGE_CLOCK11 = 'CLOCK11';
Blockly.Msg.MICROBIT_IMAGE_CLOCK10 = 'CLOCK10';
Blockly.Msg.MICROBIT_IMAGE_CLOCK9 = 'CLOCK9';
Blockly.Msg.MICROBIT_IMAGE_CLOCK8 = 'CLOCK8';
Blockly.Msg.MICROBIT_IMAGE_CLOCK7 = 'CLOCK7';
Blockly.Msg.MICROBIT_IMAGE_CLOCK6 = 'CLOCK6';
Blockly.Msg.MICROBIT_IMAGE_CLOCK5 = 'CLOCK5';
Blockly.Msg.MICROBIT_IMAGE_CLOCK4 = 'CLOCK4';
Blockly.Msg.MICROBIT_IMAGE_CLOCK3 = 'CLOCK3';
Blockly.Msg.MICROBIT_IMAGE_CLOCK2 = 'CLOCK2';
Blockly.Msg.MICROBIT_IMAGE_CLOCK1 = 'CLOCK1';
Blockly.Msg.MICROBIT_IMAGE_ARROW_N = 'ARROW_N';
Blockly.Msg.MICROBIT_IMAGE_ARROW_NE = 'ARROW_NE';
Blockly.Msg.MICROBIT_IMAGE_ARROW_E = 'ARROW_E';
Blockly.Msg.MICROBIT_IMAGE_ARROW_SE = 'ARROW_SE';
Blockly.Msg.MICROBIT_IMAGE_ARROW_S = 'ARROW_S';
Blockly.Msg.MICROBIT_IMAGE_ARROW_SW = 'ARROW_SW';
Blockly.Msg.MICROBIT_IMAGE_ARROW_W = 'ARROW_W';
Blockly.Msg.MICROBIT_IMAGE_ARROW_NW = 'ARROW_NW';
Blockly.Msg.MICROBIT_IMAGE_TRIANGLE = 'TRIANGLE';
Blockly.Msg.MICROBIT_IMAGE_TRIANGLE_LEFT = 'TRIANGLE_LEFT';
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 = 'MUSIC_CROTCHET';
Blockly.Msg.MICROBIT_IMAGE_MUSIC_QUAVER = 'MUSIC_QUAVER';
Blockly.Msg.MICROBIT_IMAGE_MUSIC_QUAVERS = 'MUSIC_QUAVERS';
Blockly.Msg.MICROBIT_IMAGE_PITCHFORK = 'PITCHFORK';
Blockly.Msg.MICROBIT_IMAGE_XMAS = 'XMAS';
Blockly.Msg.MICROBIT_IMAGE_PACMAN = 'PACMAN';
Blockly.Msg.MICROBIT_IMAGE_TARGET = 'TARGET';
Blockly.Msg.MICROBIT_IMAGE_TSHIRT = 'TSHIRT';
Blockly.Msg.MICROBIT_IMAGE_ROLLERSKATE = 'ROLLERSKATE';
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 = 'STICKFIGURE';
Blockly.Msg.MICROBIT_IMAGE_GHOST = 'GHOST';
Blockly.Msg.MICROBIT_IMAGE_SWORD = 'SWORD';
Blockly.Msg.MICROBIT_IMAGE_GIRAFFE = 'GIRAFFE';
Blockly.Msg.MICROBIT_IMAGE_SKULL = 'SKULL';
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';
Blockly.Msg.MICROBIT_PIN_SET_SERVO_HELPURL = "";
Blockly.Msg.MICROBIT_PIN_SET_SERVO_TOOLTIP = "Set the servo angle, in the range of 0 to 180 degrees";
Blockly.Msg.MICROBIT_PIN_SET_SERVO_MESSAGE0 = "Set servo on pin %1 with degree %2";
Blockly.Msg.MICROBIT_PIN_SET_MODE_HELPURL = '';
Blockly.Msg.MICROBIT_PIN_SET_MODE_TOOLTIP = 'There are three pin modes: no-pull, pull-up, pull-down';
Blockly.Msg.MICROBIT_PIN_SET_MODE_MESSAGE0 = 'Set pin %1 mode to %2';
Blockly.Msg.MICROBIT_PIN_MODE_NO = 'No pull';
Blockly.Msg.MICROBIT_PIN_MODE_UP = 'Pull up';
Blockly.Msg.MICROBIT_PIN_MODE_DOWN = 'Pull down';

//uart
Blockly.Msg.MICROBIT_UART_INIT_MESSAGE0 = 'Initialize uart baudrate as %3 pin TX as %1 pin RX as %2';
Blockly.Msg.MICROBIT_UART_INIT_TOOLTIP = '';
Blockly.Msg.MICROBIT_UART_INIT_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/uart.html';
Blockly.Msg.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/uart.html';
Blockly.Msg.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP = '';
Blockly.Msg.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0 = 'Any uart message received';
Blockly.Msg.MICROBIT_UART_READ_MSG_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/uart.html';
Blockly.Msg.MICROBIT_UART_READ_MSG_TOOLTIP = '';
Blockly.Msg.MICROBIT_UART_READ_MSG_MESSAGE0 = 'Uart read %1 bytes';
Blockly.Msg.MICROBIT_UART_READ_MSG_TO_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/uart.html';
Blockly.Msg.MICROBIT_UART_READ_MSG_TO_TOOLTIP = '';
Blockly.Msg.MICROBIT_UART_READ_MSG_TO_MESSAGE0 = 'Uart read %1 bytes to %2';
Blockly.Msg.MICROBIT_UART_WRITE_MSG_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/uart.html';
Blockly.Msg.MICROBIT_UART_WRITE_MSG_TOOLTIP = '';
Blockly.Msg.MICROBIT_UART_WRITE_MSG_MESSAGE0 = 'Uart write %1';
Blockly.Msg.MICROBIT_ALL_BYTES = "All";
Blockly.Msg.MICROBIT_ALINE_BYTES = "A line";

//labplus
Blockly.Msg.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0 = 'Pin %1 is pressed?';
Blockly.Msg.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP = 'Return True if the referenced pin is pressed.';
Blockly.Msg.LABPLUS_BUTTON_IS_PRESSED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed';

Blockly.Msg.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0 = 'Pin %1 was pressed?';
Blockly.Msg.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP = 'Return True if the referenced pin was touched since the device started or the last time this was checked.';
Blockly.Msg.LABPLUS_BUTTON_WAS_PRESSED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed';

Blockly.Msg.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0 = 'Get number of presses for button %1';
Blockly.Msg.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP = 'Return the running total of presses for the referenced pin, and resets this total to zero.';
Blockly.Msg.LABPLUS_BUTTON_GET_PRESSES_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses';

Blockly.Msg.LABPLUS_LED_MESSAGE0 = 'Set LED pin %2 value as %1';
Blockly.Msg.LABPLUS_LED_TOOLTIP = '';
Blockly.Msg.LABPLUS_LED_HELPURL = 'http://wiki.labplus.cn/index.php?title=LED';

Blockly.Msg.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0 = 'IR Receive pin %1';
Blockly.Msg.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP = '';
Blockly.Msg.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B';

Blockly.Msg.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0 = 'PIR sensor pin %1';
Blockly.Msg.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB';

Blockly.Msg.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0 = 'Digital light sensor(lux)';
Blockly.Msg.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_I2C_LIGHT_SENSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF';

Blockly.Msg.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0 = 'Water sensor pin %1';
Blockly.Msg.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D';

Blockly.Msg.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0 = 'Smoke detector pin %1';
Blockly.Msg.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP = '';
Blockly.Msg.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE';

/* Blockly.Msg.LABPLUS_BUZZER_FOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8';
Blockly.Msg.LABPLUS_BUZZER_FOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_BUZZER_FOR_MESSAGE0 = '以频率 %1 激活蜂鸣器 引脚0 %2 毫秒';

Blockly.Msg.LABPLUS_BUZZER_ON_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8';
Blockly.Msg.LABPLUS_BUZZER_ON_TOOLTIP = '';
Blockly.Msg.LABPLUS_BUZZER_ON_MESSAGE0 = '以频率 %1 激活蜂鸣器 引脚0';

Blockly.Msg.LABPLUS_BUZZER_OFF_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8';
Blockly.Msg.LABPLUS_BUZZER_OFF_TOOLTIP = '';
Blockly.Msg.LABPLUS_BUZZER_OFF_MESSAGE0 = '关闭蜂鸣器 引脚0'; */

Blockly.Msg.LABPLUS_TM_HM_SENSOR_MESSAGE0 = 'Temperature-humidity sensor value of %1';
Blockly.Msg.LABPLUS_TM_HM_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_TM_HM_SENSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6';
Blockly.Msg.LABPLUS_TM_HM_SENSOR_TM = 'temperature';
Blockly.Msg.LABPLUS_TM_HM_SENSOR_HM = 'humility';

Blockly.Msg.LABPLUS_SET_SERVO_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA';
Blockly.Msg.LABPLUS_SET_SERVO_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_SERVO_MESSAGE0 = 'Set sevor %1 degree as %2';

Blockly.Msg.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0 = 'Fingerprint reader pin %1 is valid';
Blockly.Msg.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_FINGERPRINT_SENSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9';

// Blockly.Msg.LABPLUS_SET_MOTOR_HELPURL = '';
// Blockly.Msg.LABPLUS_SET_MOTOR_TOOLTIP = '';
// Blockly.Msg.LABPLUS_SET_MOTOR_MESSAGE0 = '设置电机 %1 方向 %2 速度 %3';
Blockly.Msg.LABPLUS_SET_MOTOR_CLOCKWISE = 'CLOCKWISE';
Blockly.Msg.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE = 'ANTI CLOCKWISE';

// Blockly.Msg.LABPLUS_STOP_MOTOR_HELPURL = '';
// Blockly.Msg.LABPLUS_STOP_MOTOR_TOOLTIP = '';
// Blockly.Msg.LABPLUS_STOP_MOTOR_MESSAGE0 = '停止电机';

Blockly.Msg.LABPLUS_GET_RFID_ID_MESSAGE0 = 'RFID module %1 is valid';
Blockly.Msg.LABPLUS_GET_RFID_ID_TOOLTIP = '';
Blockly.Msg.LABPLUS_GET_RFID_ID_HELPURL = 'http://wiki.labplus.cn/index.php?title=RFID';

// Blockly.Msg.LABPLUS_GET_RFID_VALUE_MESSAGE0 = '电子钱包 引脚 %1 余额';
// Blockly.Msg.LABPLUS_GET_RFID_VALUE_TOOLTIP = '';
// Blockly.Msg.LABPLUS_GET_RFID_VALUE_HELPURL = '';

// Blockly.Msg.LABPLUS_SET_RFID_VALUE_MESSAGE0 = '设置电子钱包 引脚 %1 余额 %2 %3';
// Blockly.Msg.LABPLUS_SET_RFID_VALUE_TOOLTIP = '';
// Blockly.Msg.LABPLUS_SET_RFID_VALUE_HELPURL = '';
// Blockly.Msg.LABPLUS_SET_RFID_ADD = 'add';
// Blockly.Msg.LABPLUS_SET_RFID_MINUS = 'minus';

Blockly.Msg.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0 = 'Microphone pin %1';
Blockly.Msg.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP = '';
Blockly.Msg.LABPLUS_SOUND_IS_TRIGGERED_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E';

Blockly.Msg.LABPLUS_USB_SWITCH_HELPURL = '';
Blockly.Msg.LABPLUS_USB_SWITCH_TOOLTIP = '';
Blockly.Msg.LABPLUS_USB_SWITCH_MESSAGE0 = '%1 USB switch %2';
Blockly.Msg.LABPLUS_USB_SWITCH_ON = 'Turn on';
Blockly.Msg.LABPLUS_USB_SWITCH_OFF = 'Turn off';

Blockly.Msg.LABPLUS_VOICE_RECORD_HELPURL = '';
Blockly.Msg.LABPLUS_VOICE_RECORD_TOOLTIP = '';
Blockly.Msg.LABPLUS_VOICE_RECORD_MESSAGE0 = '%1 Recording & playback module pin %2';
Blockly.Msg.LABPLUS_VOICE_RECORD_ON = 'Turn on';
Blockly.Msg.LABPLUS_VOICE_RECORD_OFF = 'Turn on';

// Blockly.Msg.LABPLUS_RGB_INITIALISE_MESSAGE0 = '使用 引脚 %1 控制，RGB 彩灯数  %2 ';
// Blockly.Msg.LABPLUS_RGB_INITIALISE_TOOLTIP = '控制 RGB 彩灯。需要设定 neopixels 彩灯数量和控制脚。';
// Blockly.Msg.LABPLUS_RGB_INITIALISE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel';
// Blockly.Msg.LABPLUS_RGB_CLEAR_MESSAGE0 = '清除 RGB 彩灯 %1';
// Blockly.Msg.LABPLUS_RGB_CLEAR_TOOLTIP = '清除所有 RGB 彩灯';
// Blockly.Msg.LABPLUS_RGB_CLEAR_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear';
// Blockly.Msg.LABPLUS_RGB_SHOW_MESSAGE0 = '显示 RGB 彩灯 %1';
// Blockly.Msg.LABPLUS_RGB_SHOW_TOOLTIP = '显示 / 更新全部 RGB 彩灯。';
// Blockly.Msg.LABPLUS_RGB_SHOW_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show';
// Blockly.Msg.LABPLUS_RGB_SET_MESSAGE0 = 'RGB 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5';
// Blockly.Msg.LABPLUS_RGB_SET_TOOLTIP = '更新指定的 RGB 彩灯的红、绿、蓝 (RGB) 颜色';
// Blockly.Msg.LABPLUS_RGB_SET_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels';

Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0 = 'Initailize extended IO %1 as %2';
Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP = '0 indicates the output pin,1 indicates the input pin';
Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95';

Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT = 'Input';
Blockly.Msg.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT = 'Output';

Blockly.Msg.LABPLUS_SET_EXTIO_MODE_INPUT = 'Input';
Blockly.Msg.LABPLUS_SET_EXTIO_MODE_OUTPUT = 'Output';

Blockly.Msg.LABPLUS_SET_EXTIO_MODE_MESSAGE0 = 'Initailize extIO %1 IO0 as %2 %3 IO1 as %4 %5 IO2 as %6 %7 IO3 as %8 %9 IO4 as %10 %11 IO5 as %12 %13 IO6 as %14 %15 IO7 as %16';
Blockly.Msg.LABPLUS_SET_EXTIO_MODE_TOOLTIP = '0 indicates the output pin,1 indicates the input pin';
Blockly.Msg.LABPLUS_SET_EXTIO_MODE_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95';

Blockly.Msg.LABPLUS_READ_EXTENDED_PIN_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95';
Blockly.Msg.LABPLUS_READ_EXTENDED_PIN_TOOLTIP = '';
Blockly.Msg.LABPLUS_READ_EXTENDED_PIN_MESSAGE0 = 'Read extended IO %1'

Blockly.Msg.LABPLUS_WRITE_EXTENDED_PIN_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95';
Blockly.Msg.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP = '';
Blockly.Msg.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0 = 'Set extended IO %1 Value as %2';

Blockly.Msg.LABPLUS_I2C_ULTRASONIC_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2';
Blockly.Msg.LABPLUS_I2C_ULTRASONIC_TOOLTIP = '';
Blockly.Msg.LABPLUS_I2C_ULTRASONIC_MESSAGE0 = 'Ultrasonics sensor(i2c)';

Blockly.Msg.MICROBIT_SET_MUSIC_PIN_HELPURL = '';
Blockly.Msg.MICROBIT_SET_MUSIC_PIN_TOOLTIP = '';
Blockly.Msg.MICROBIT_SET_MUSIC_PIN_MESSAGE0 = 'Set default pin for buzzer as %1';

Blockly.Msg.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E4%BA%BA%E4%BD%93%E6%84%9F%E5%BA%94';
Blockly.Msg.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP = '';
Blockly.Msg.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0 = 'PIR Sensor pin %1';

Blockly.Msg.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E9%97%A8%E7%A3%81%E5%BC%80%E5%85%B3';
Blockly.Msg.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP = '';
Blockly.Msg.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0 = 'Magnetic switch pin %1';

Blockly.Msg.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL = '';
Blockly.Msg.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0 = 'Microphone pin %1';

Blockly.Msg.LABPLUS_SMOKE_SENSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE';
Blockly.Msg.LABPLUS_SMOKE_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_SMOKE_SENSOR_MESSAGE0 = 'Smoke sensor pin %1';

Blockly.Msg.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6';
Blockly.Msg.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0 = 'Soil moisture sensor pin %1';

Blockly.Msg.LABPLUS_FAN_SWITCH_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87';
Blockly.Msg.LABPLUS_FAN_SWITCH_TOOLTIP = '';
Blockly.Msg.LABPLUS_FAN_SWITCH_MESSAGE0 = '%1 fan %2';

Blockly.Msg.LABPLUS_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.LABPLUS_VOICE_RECORD_ON_TOOLTIP = '';
Blockly.Msg.LABPLUS_VOICE_RECORD_ON_MESSAGE0 = 'Turn on recording & playback module %1 pin %2';
Blockly.Msg.LABPLUS_VOICE_RECORD_PLAY = 'Playing';
Blockly.Msg.LABPLUS_VOICE_RECORD_REC = 'Recording';

Blockly.Msg.LABPLUS_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.LABPLUS_VOICE_RECORD_OFF_TOOLTIP = '';
Blockly.Msg.LABPLUS_VOICE_RECORD_OFF_MESSAGE0 = 'Turn off recording & playback module pin %1';


Blockly.Msg.LABPLUS_MOTOR_ON_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8';
Blockly.Msg.LABPLUS_MOTOR_ON_TOOLTIP = '';
Blockly.Msg.LABPLUS_MOTOR_ON_MESSAGE0 = 'Turn on DC motor %1 speed %2 pin %3';
Blockly.Msg.LABPLUS_MOTOR_ON_CLOCKWISE = 'Clockwise';
Blockly.Msg.LABPLUS_MOTOR_ON_ANTICLOCKWISE = 'Anti-clockwise';

Blockly.Msg.LABPLUS_MOTOR_OFF_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8';
Blockly.Msg.LABPLUS_MOTOR_OFF_TOOLTIP = '';
Blockly.Msg.LABPLUS_MOTOR_OFF_MESSAGE0 = 'Stop DC motor pin %1';

Blockly.Msg.LABPLUS_READ_COLOR_FROM_I2C_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2';
Blockly.Msg.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP = '';
Blockly.Msg.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0 = 'Color sensor read once';

Blockly.Msg.LABPLUS_RGB_COLOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=RGB_LED';
Blockly.Msg.LABPLUS_RGB_COLOR_TOOLTIP = 'Read saved colors';
Blockly.Msg.LABPLUS_RGB_COLOR_MESSAGE0 = 'RGB color %1';

Blockly.Msg.LABPLUS_SET_I2C_DIGITS_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1';
Blockly.Msg.LABPLUS_SET_I2C_DIGITS_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_DIGITS_MESSAGE0 = 'Set digit module(i2c) display %1';

Blockly.Msg.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1';
Blockly.Msg.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP = '';
Blockly.Msg.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0 = 'Turn off digit module(i2c)';

Blockly.Msg.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4';
Blockly.Msg.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0 = 'Set MIDI module melodic as %1';

Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0 = 'MIDI module %2 %1';

Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_Do = 'Do';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_Re = 'Re';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_Mi = 'Mi';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_Fa = 'Fa';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_Sol = 'Sol';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_La = 'La';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE_Si = 'Si';
Blockly.Msg.LABPLUS_UART_PLAY_MIDI_NOTE = 'play';
Blockly.Msg.LABPLUS_UART_OFF_MIDI_NOTE = 'stop';

Blockly.Msg.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4';
Blockly.Msg.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0 = 'MIDI module stop playing %1';

Blockly.Msg.LABPLUS_UART_INIT_MIDI_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4';
Blockly.Msg.LABPLUS_UART_INIT_MIDI_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_INIT_MIDI_MESSAGE0 = 'Initialize MIDI module %1';

Blockly.Msg.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9';
Blockly.Msg.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP = '';
Blockly.Msg.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0 = 'Path finder pin %1 is on black';

Blockly.Msg.LABPLUS_TEMPERATURE_SENSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6';
Blockly.Msg.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0 = 'LM temperature sensor pin %1';

Blockly.Msg.LABPLUS_ROTATE_DIMMER_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%97%8B%E9%92%AE%E7%94%B5%E4%BD%8D%E5%99%A8';
Blockly.Msg.LABPLUS_ROTATE_DIMMER_TOOLTIP = '';
Blockly.Msg.LABPLUS_ROTATE_DIMMER_MESSAGE0 = 'Rotate potentiometer pin %1';

Blockly.Msg.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8';
Blockly.Msg.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP = '';
Blockly.Msg.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0 = 'Vibration sensor pin %1';

Blockly.Msg.LABPLUS_LASER_SWITCH_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84';
Blockly.Msg.LABPLUS_LASER_SWITCH_TOOLTIP = '';
Blockly.Msg.LABPLUS_LASER_SWITCH_MESSAGE0 = '%1 Laser emission module pin %2';

Blockly.Msg.LABPLUS_4BUTTON_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE';
Blockly.Msg.LABPLUS_4BUTTON_TOOLTIP = '';
Blockly.Msg.LABPLUS_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.LABPLUS_JOYSTICK_HELPURL = '';
Blockly.Msg.LABPLUS_JOYSTICK_TOOLTIP = '';
Blockly.Msg.LABPLUS_JOYSTICK_MESSAGE0 = 'Thumb joystick pin A0 %1 pin A1 %2  %3 axis';

Blockly.Msg.LABPLUS_UART_MP3_PLAY_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE';
Blockly.Msg.LABPLUS_UART_MP3_PLAY_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_MP3_PLAY_MESSAGE0 = 'Music player module(uart) play music %1';

Blockly.Msg.LABPLUS_UART_MP3_SET_VOLUME_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE';
Blockly.Msg.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0 = 'Set music module(uart) volume as %1';

Blockly.Msg.LABPLUS_UART_MP3_SET_STATUS_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE';
Blockly.Msg.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0 = 'Set music module(uart) status as %1';
Blockly.Msg.PAUSE = 'Pause';
Blockly.Msg.STOP = 'Stop';
Blockly.Msg.PLAY = 'Play';

Blockly.Msg.LABPLUS_UART_INIT_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';
Blockly.Msg.LABPLUS_UART_INIT_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_INIT_MESSAGE0 = 'Initialize uart baudrate as %3 pin TX as %1 pin RX as %2';

Blockly.Msg.LABPLUS_VOICE_RECORD_ON1_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE';
Blockly.Msg.LABPLUS_VOICE_RECORD_ON1_TOOLTIP = '';
Blockly.Msg.LABPLUS_VOICE_RECORD_ON1_MESSAGE0 = 'Turn on recording & playback module %1 %2 pin REC %3 pin PLAY %4';

Blockly.Msg.LABPLUS_VOICE_RECORD_OFF1_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE';
Blockly.Msg.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP = '';
Blockly.Msg.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0 = 'Turn off recording & playback module %1 pin REC %2 pin PLAY %3';

Blockly.Msg.LABPLUS_MOTOR_ON1_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8';
Blockly.Msg.LABPLUS_MOTOR_ON1_TOOLTIP = '';
Blockly.Msg.LABPLUS_MOTOR_ON1_MESSAGE0 = 'Set dc motor %1 speed %2 pin AIN1 %3 pin AIN2 %4';

Blockly.Msg.LABPLUS_MOTOR_OFF1_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8';
Blockly.Msg.LABPLUS_MOTOR_OFF1_TOOLTIP = '';
Blockly.Msg.LABPLUS_MOTOR_OFF1_MESSAGE0 = 'Stop dc motor %1 pin AIN1 %2 pin AIN2 %3';

Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=1602_LCD';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0 = 'Set LCD cursor to %1 X %2 Y %3';


Blockly.Msg.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL = 'http://wiki.labplus.cn/index.php?title=1602_LCD';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0 = 'Set LCD display %1';

Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL = 'http://wiki.labplus.cn/index.php?title=1602_LCD';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP = 'Used with cycles';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0 = '%1 scrolling display LCD message';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT = 'Aleft';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD = 'Rightward';

Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL = 'http://wiki.labplus.cn/index.php?title=1602_LCD';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0 = 'Clear LCD module';

Blockly.Msg.LABPLUS_SET_I2C_LCD1602_STATE_HELPURL = 'http://wiki.labplus.cn/index.php?title=1602_LCD';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_STATE_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_STATE_MESSAGE0 = 'Set LCD %1';

Blockly.Msg.LABPLUS_SET_I2C_LCD1602_HIDE_CURSOR = 'Hide cursor';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SHOW_CURSOR = 'Show cursor';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_BLINK_CURSOR = 'Blink cursor';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SCROLL_LEFT = 'Scroll left';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHT = 'Scroll right';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_LEFT_TO_RIGHT = 'String stream from left to right';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_RIGHT_TO_LEFT = 'String stream from right to left';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CURSOR_TO_ORIGIN = 'Cursor back to origin';
Blockly.Msg.LABPLUS_SET_I2C_LCD1602_CLEAR = 'Clear';

Blockly.Msg.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';
Blockly.Msg.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0 = '%1 receive message';
Blockly.Msg.BLUEBIT_UART = 'Uart';
Blockly.Msg.BLUEBIT_INFRARED_SIGNAL = 'IR Signal';
Blockly.Msg.BLUEBIT_BLUEBOOTH = 'Bluebooth';
Blockly.Msg.LABPLUS_UART_READ_MSG_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';
Blockly.Msg.LABPLUS_UART_READ_MSG_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_READ_MSG_MESSAGE0 = 'Read from %1';
Blockly.Msg.LABPLUS_UART_WRITE_MSG_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bluebit';
Blockly.Msg.LABPLUS_UART_WRITE_MSG_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_WRITE_MSG_MESSAGE0 = '%1 send %2';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0 = 'Set dot matrix %1 row1 %2 row2 %3 row3 %4 row4 %5 row5 %6 row6 %7 row7 %8 row8 %9 ';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE2 = 'Set dot 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.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0 = 'Clear dot matrix';

Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_DRAW_PIXEL_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_DRAW_PIXEL_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_DRAW_PIXEL_MESSAGE0 = 'Dotted matrix at %1 X %2 Y %3';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_SHOW_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_SHOW_TOOLTIP = '';
Blockly.Msg.LABPLUS_SET_I2C_LED_MATRIX_SHOW_MESSAGE0 = 'Dot matrix display takes effect';

Blockly.Msg.LABPLUS_UART_SET_OLCD_HELPURL = 'http://wiki.labplus.cn/index.php?title=LCD';
Blockly.Msg.LABPLUS_UART_SET_OLCD_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_SET_OLCD_MESSAGE0 = 'Set LCD display %4 on %1 X %2 Y %3 character set as %5';
Blockly.Msg.LABPLUS_UART_SET_OLCD_CLEAR_HELPURL = 'http://wiki.labplus.cn/index.php?title=LCD';
Blockly.Msg.LABPLUS_UART_SET_OLCD_CLEAR_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_SET_OLCD_CLEAR_MESSAGE0 = 'Clear matrix on LCD %1 from X1 %2 Y1 %3  to X2 %4 Y2 %5';
Blockly.Msg.LABPLUS_UART_SET_OLCD_CLEAR_ALL_MESSAGE0 = 'Clear LCD display';
Blockly.Msg.LABPLUS_UART_SET_OLCD_CLEAR_ALL_HELPURL = 'http://wiki.labplus.cn/index.php?title=LCD';
Blockly.Msg.LABPLUS_UART_SET_OLCD_CLEAR_ALL_TOOLTIP = '';
Blockly.Msg.LABPLUS_LIGHT_SENSOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF';
Blockly.Msg.LABPLUS_LIGHT_SENSOR_TOOLTIP = '';
Blockly.Msg.LABPLUS_LIGHT_SENSOR_MESSAGE0 = 'Light sensor pin %1';
Blockly.Msg.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/i2c.html';
Blockly.Msg.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP = '';
Blockly.Msg.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0 = 'Button pin %1 is pressed';

//映射，放math目录
Blockly.Msg.labplus_mapping_MESSAGE0 = 'Mapping%1 from%2 %3to%4 %5'
Blockly.Msg.labplus_mapping_TOOLTIP = 'Insert variables to be mapped in the first number box, then assign a value to another variable'
Blockly.Msg.labplus_mapping_HELPURL = ''

Blockly.Msg.MICROBIT_EXT2_SET_SERVO_HELPURL = 'http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1';
Blockly.Msg.MICROBIT_EXT2_SET_SERVO_TOOLTIP = '';
Blockly.Msg.MICROBIT_EXT2_SET_SERVO_MESSAGE0 = 'Set servo %1 degree as %2';
Blockly.Msg.MICROBIT_EXT2_SET_MOTOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1';
Blockly.Msg.MICROBIT_EXT2_SET_MOTOR_TOOLTIP = '';
Blockly.Msg.MICROBIT_EXT2_SET_MOTOR_MESSAGE0 = 'Set motor %1 direction as %2 speed %3';
Blockly.Msg.MICROBIT_EXT2_STOP_MOTOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1';
Blockly.Msg.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP = '';
Blockly.Msg.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0 = 'Stop motor %1';
Blockly.Msg.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0 = 'Sound value';
Blockly.Msg.MICROBIT_EXT2_SOUND_VALUE_HELPURL = 'http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1';
Blockly.Msg.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP = '';
Blockly.Msg.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0 = 'Light value';
Blockly.Msg.MICROBIT_EXT2_LIGHT_VALUE_HELPURL = 'http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1';
Blockly.Msg.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP = '';

Blockly.Msg.MICROBIT_EXT2_SET_PWM_MESSAGE0 = 'Set PWM %1 value to %2';
Blockly.Msg.MICROBIT_EXT2_SET_PWM_TOOLTIP = 'PWM value range is 0 to 4095';
Blockly.Msg.MICROBIT_EXT2_SET_PWM_HELPURL = 'http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1';
Blockly.Msg.MICROBIT_EXT2_STEP_MOTOR_MESSAGE0 = 'Drive stepper motor %1 with direction %2 and speed %3';
Blockly.Msg.MICROBIT_EXT2_STEP_MOTOR_TOOLTIP = 'Note: Cannot be used with the servo and DC motor and PWM output.\nOnly the 28BYJ-48 stepper motor is supported.\nSpeed value range is 25 to 150';
Blockly.Msg.MICROBIT_EXT2_STEP_MOTOR_HELPURL = 'http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1';

Blockly.Msg.MICROBIT_INIT_I2C_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/i2c.html';
Blockly.Msg.MICROBIT_INIT_I2C_TOOLTIP = '';
Blockly.Msg.MICROBIT_INIT_I2C_MESSAGE0 = 'Initialize I2C frequency as %1 pin SDA %2 pin SCL %3';
Blockly.Msg.MICROBIT_I2C_READ_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/i2c.html';
Blockly.Msg.MICROBIT_I2C_READ_TOOLTIP = '';
Blockly.Msg.MICROBIT_I2C_READ_MESSAGE0 = 'I2C read form %1 bytes %2';
Blockly.Msg.MICROBIT_I2C_WRITE_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/i2c.html';
Blockly.Msg.MICROBIT_I2C_WRITE_TOOLTIP = '';
Blockly.Msg.MICROBIT_I2C_WRITE_MESSAGE0 = 'I2C write %2 to address %1';
Blockly.Msg.MICROBIT_CONVERT_BYTEARRAY_HELPURL = 'https://microbit-micropython.readthedocs.io/en/latest/i2c.html';
Blockly.Msg.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP = '';
Blockly.Msg.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0 = 'Turn into bytearray %1';

Blockly.Msg.BOTBIT_MOTOR_ON_HELPURL = '';
Blockly.Msg.BOTBIT_MOTOR_ON_TOOLTIP = 'Rang: -2000~2000';
Blockly.Msg.BOTBIT_MOTOR_ON_MESSAGE0 = 'Set BOBI %1 right motor speed as %2 left motor speed as %3';
Blockly.Msg.BOTBIT_MOTOR_LEFT = 'Left';
Blockly.Msg.BOTBIT_MOTOR_RIGHT = 'Right';
Blockly.Msg.BOTBIT_MOTOR_FORWARD = 'Forward';
Blockly.Msg.BOTBIT_MOTOR_BACKWARD = 'Backward';

Blockly.Msg.BOTBIT_TURN_HELPURL = '';
Blockly.Msg.BOTBIT_TURN_MESSAGE0 = 'BOBI turn steps %1 single-step-time %2 ms and direction %3';
Blockly.Msg.BOTBIT_TURN_TOOLTIP = '';

Blockly.Msg.BOTBIT_setRGB_HELPURL = '';
Blockly.Msg.BOTBIT_setRGB_MESSAGE0 = 'Set BOBI %1 LED color R %2 G %3 B %4';
Blockly.Msg.BOTBIT_setRGB_TOOLTIP = 'r,g,b：0~255';

Blockly.Msg.BOTBIT_setHSV_HELPURL = '';
Blockly.Msg.BOTBIT_setHSV_MESSAGE0 = 'Set BOBI %1 LED color h %2 s %3 v %4';
Blockly.Msg.BOTBIT_setHSV_TOOLTIP = "h: 0~360，s: 0~1，v: 0~1";

Blockly.Msg.BOTBIT_HOLDBALL_HELPURL = '';
Blockly.Msg.BOTBIT_HOLDBALL_TOOLTIP = '';
Blockly.Msg.BOTBIT_HOLDBALL_MESSAGE0 = 'BOBI hold up arms';

Blockly.Msg.BOTBIT_STEERING_ENGINEL_HELPURL = '';
Blockly.Msg.BOTBIT_STEERING_ENGINEL_TOOLTIP = 'Range: -45°~45°';
Blockly.Msg.BOTBIT_STEERING_ENGINEL_MESSAGE0 = 'Get %1 Acceleration'; //arm %2 degree as %3
Blockly.Msg.BOTBIT_STEERING_ENGINET_MESSAGE0 = 'Get %1 Tilt Angle';
Blockly.Msg.X = 'X:';
Blockly.Msg.Y = 'Y:';

Blockly.Msg.W = 'Width:';
Blockly.Msg.H = 'Height:';
Blockly.Msg.BOTBIT_SERVO_Y = 'Y-axis';
Blockly.Msg.BOTBIT_SERVO_X = 'X-axis';
Blockly.Msg.BOTBIT_SERVO_Z = 'Z-axis';
Blockly.Msg.BOTBIT_SERVO_UP = 'Upward side';
Blockly.Msg.BOTBIT_SERVO_DOWN = 'Inferior';
Blockly.Msg.BOTBIT_STEERING_ENGINE_LEG_HELPURL = '';
Blockly.Msg.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP = 'Range: -45°~45°';
Blockly.Msg.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0 = 'Set BOBI %1 leg %2 servo degree as %3';

Blockly.Msg.BOTBIT_WALKING_HELPURL = '';
Blockly.Msg.BOTBIT_WALKING_TOOLTIP = 'The period is inversely proportional to the speed, recommended 1000 to 2000';
Blockly.Msg.BOTBIT_WALKING_MESSAGE0 = 'BOBI walking steps%2 period%3 %1 ';
Blockly.Msg.BOTBIT_WALKING_FORWARD = 'FORWARD';
Blockly.Msg.BOTBIT_WALKING_BACK = 'BACK';

Blockly.Msg.BOTBIT_MOONWALKER_HELPURL = '';
Blockly.Msg.BOTBIT_MOONWALKER_TOOLTIP = 'Recommended: period 1000~2000; amplitude 10~50';
Blockly.Msg.BOTBIT_MOONWALKER_MESSAGE0 = 'BOBI moonwalker steps%2 period%3 amplitude%4 %1 ';
Blockly.Msg.BOTBIT_MOONWALKER_L = 'Left';
Blockly.Msg.BOTBIT_MOONWALKER_R = 'Right';

Blockly.Msg.BOTBIT_CRUSAITO_HELPURL = '';
Blockly.Msg.BOTBIT_CRUSAITO_TOOLTIP = 'Recommended: steps 2~10; amplitude 10~50';
Blockly.Msg.BOTBIT_CRUSAITO_MESSAGE0 = 'BOBI crusaito steps%2 period%3 amplitude%4 %1';
Blockly.Msg.BOTBIT_CRUSAITO_CW = 'In anti-clockwise';
Blockly.Msg.BOTBIT_CRUSAITO_ANTICW = 'In clockwise';

Blockly.Msg.BOTBIT_FLAPPING_HELPURL = '';
Blockly.Msg.BOTBIT_FLAPPING_TOOLTIP = 'Recommended: steps~15, amplitude 10~30, period 1000~2000';
Blockly.Msg.BOTBIT_FLAPPING_MESSAGE0 = 'BOBI flapping steps%2 period%3 amplitude%4 %1';
Blockly.Msg.BOTBIT_FLAPPING_FORWARD = 'FORWARD';
Blockly.Msg.BOTBIT_FLAPPING_BACK = 'BACK';

Blockly.Msg.BOTBIT_HOME_HELPURL = '';
Blockly.Msg.BOTBIT_HOME_TOOLTIP = '';
Blockly.Msg.BOTBIT_HOME_MESSAGE0 = 'BOBI init dancing';

Blockly.Msg.BOTBIT_UPDATEPOSITION_HELPURL = '';
Blockly.Msg.BOTBIT_UPDATEPOSITION_TOOLTIP = '';
Blockly.Msg.BOTBIT_UPDATEPOSITION_MESSAGE0 = 'Execute the BOBI servos';

Blockly.Msg.BOTBIT_ULTRASONIC_HELPURL = '';
Blockly.Msg.BOTBIT_ULTRASONIC_TOOLTIP = '';
Blockly.Msg.BOTBIT_ULTRASONIC_MESSAGE0 = 'Ultrasonic distance on BOBI';

Blockly.Msg.BOTBIT_DANCING_HELPURL = '';
Blockly.Msg.BOTBIT_DANCING_TOOLTIP = '';
Blockly.Msg.BOTBIT_DANCING_MESSAGE0 = 'BOBI dancing';

Blockly.Msg.BOTBIT_PIDtracking_HELPURL = 'http://wiki.labplus.cn/index.php?title=Bot:bit';
Blockly.Msg.BOTBIT_PIDtracking_TOOLTIP = 'TrackSpeed: 0~2000';
Blockly.Msg.BOTBIT_PIDtracking_MESSAGE0 = 'Calibrate and track %1 kp %2 kd %3 speed %4';

Blockly.Msg.LABPLUS_UART_SET_MIDI_VOL_HELPURL = 'http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)';
Blockly.Msg.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP = '';
Blockly.Msg.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0 = 'Set the volume of MIDI module as %1';

Blockly.Msg.LABPLUS_PLAY_BUZZER_NOTE_HELPURL = 'http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8';
Blockly.Msg.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP = '';
Blockly.Msg.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0 = 'Play tone %1';

Blockly.Msg.Carbit_init_MESSAGE0 = 'CarBit init';
Blockly.Msg.Carbit_init_TOOLTIP = '';
Blockly.Msg.Carbit_init_HELPURL = '';

Blockly.Msg.Carbit_setLeftMotor_MESSAGE0 = 'Set B2 motor speed %1';
Blockly.Msg.Carbit_setLeftMotor_TOOLTIP = 'Range：-100~100';
Blockly.Msg.Carbit_setLeftMotor_HELPURL = '';

Blockly.Msg.Carbit_setRightMotor_MESSAGE0 = 'Set B1 motor speed %1';
Blockly.Msg.Carbit_setRightMotor_TOOLTIP = 'Range：-100~100';
Blockly.Msg.Carbit_setRightMotor_HELPURL = '';

Blockly.Msg.Carbit_analog_light_HELPURL = '';
Blockly.Msg.Carbit_analog_light_TOOLTIP = 'Q3 with Pin1，Q4 with Pin2';
Blockly.Msg.Carbit_analog_light_MESSAGE0 = '%1 Value of simulated light';

Blockly.Msg.Carbit_Speed_U10_HELPURL = '';
Blockly.Msg.Carbit_Speed_U10_TOOLTIP = 'U10';
Blockly.Msg.Carbit_Speed_U10_MESSAGE0 = 'Left wheel speed';

Blockly.Msg.Carbit_Speed_U11_HELPURL = '';
Blockly.Msg.Carbit_Speed_U11_TOOLTIP = 'U11';
Blockly.Msg.Carbit_Speed_U11_MESSAGE0 = 'Right wheel speed';

Blockly.Msg.Carbit_Distance_HELPURL = '';
Blockly.Msg.Carbit_Distance_TOOLTIP = '';
Blockly.Msg.Carbit_Distance_MESSAGE0 = 'Ultrasonic value';

Blockly.Msg.Carbit_tracking_HELPURL = 'http://wiki.labplus.cn/index.php?title=Car:bit';
Blockly.Msg.Carbit_tracking_TOOLTIP = '';
Blockly.Msg.Carbit_tracking_MESSAGE0 = 'Trace parameter %1 Straight speed %2 Maximum speed %3 Turn delay %5 Turning speed coefficient %4 ';

Blockly.Msg.JOINT_MIDI_PIANO = "Acoustic Grand Piano"; //Acoustic Grand Piano
Blockly.Msg.JOINT_Vibraphone = "Vibraphone"; //Vibraphone
Blockly.Msg.JOINT_MIDI_ORGAN = "Drawbar Organ"; //Drawbar Organ
Blockly.Msg.JOINT_Acoustic_Guitar = "Acoustic Guitar"; //Acoustic Guitar
Blockly.Msg.JOINT_Electric_Guitar = "Electric Guitar"; //Electric Guitar
Blockly.Msg.JOINT_Acoustic_Bass = "Acoustic Bass";  //Acoustic Bass
Blockly.Msg.JOINT_String_Ensemble = "String Ensemble";  //String Ensemble
Blockly.Msg.JOINT_Violin = "Violin";  //Violin
Blockly.Msg.JOINT_Trumpet = "Trumpet";  //Trumpet
Blockly.Msg.JOINT_Sax = "Trumpet";  //Sax
Blockly.Msg.JOINT_Flute = "Flute";  //Flute
Blockly.Msg.JOINT_Steel_Drums = "Steel Drums";  //Steel Drums
Blockly.Msg.JOINT_Lead = "Lead";  //Lead
Blockly.Msg.JOINT_Pad = "Pad";  //Pad
Blockly.Msg.JOINT_Bass_Drum = "Bass Drum";  //Bass Drum
Blockly.Msg.JOINT_Snare_Drum = "Snare Drum";  //Snare Drum
Blockly.Msg.JOINT_Closed_Hi_hat = "Closed Hi-hat";  //Closed Hi-hat
Blockly.Msg.JOINT_Open_Hi_hat = "Open Hi-hat";  //Open Hi-hat
Blockly.Msg.JOINT_Low_Tom = "Low Tom";  //Low Tom
Blockly.Msg.JOINT_High_Tom = "High Tom";  //High Tom
Blockly.Msg.JOINT_Tambourine = "Tambourine";  //Tambourine
Blockly.Msg.JOINT_Crash_Cymbal = "Crash Cymbal";  //Crash Cymbal
Blockly.Msg.JOINT_Ride_Cymbal = "Ride Cymbal";  //Ride Cymbal
Blockly.Msg.JOINT_Mute_High_Conga = "Mute High Conga";  //Mute High Conga
Blockly.Msg.JOINT_Low_Conga = "Low Conga";  //Low Conga
Blockly.Msg.JOINT_Maracas = "Maracas";  //Maracas
Blockly.Msg.JOINT_Claves = "Claves";  //Claves

Blockly.Msg.JOINT_MIDI_BRIGHTACOUSTICPIANO = "Bright Acoustc Piano";
Blockly.Msg.JOINT_MIDI_ELECTRICGRANDPIANO = "Electric Grand Piano";
Blockly.Msg.JOINT_MIDI_HARPSICHORD = "Harpsichord";
Blockly.Msg.JOINT_MIDI_Celesta = "Celesta";
Blockly.Msg.JOINT_MIDI_Glockenspiel = "Glockenspiel";
Blockly.Msg.JOINT_MIDI_Musicalbox = "Musical Box";
Blockly.Msg.JOINT_MIDI_Marimba = "Marimba";
Blockly.Msg.JOINT_MIDI_Xylophone = "Xylophone";
Blockly.Msg.JOINT_MIDI_TubularBell = "Tubular Bell";
Blockly.Msg.JOINT_MIDI_Dulcimer = "Dulcimer";
