
'use strict';

var Blockly = Blockly || { Msg: Object.create(null) };

Blockly.Msg["ADD_COMMENT"] = "Add Comment";
Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";
Blockly.Msg["CHANGE_VALUE_TITLE"] = "Change value:";
Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";
Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings.";
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"] = "https://meyerweb.com/eric/tools/color-blend/#:::rgbp";
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"] = "https://www.december.com/html/spec/colorpercompact.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_ALL_BLOCKS"] = "Delete all %1 blocks?";
Blockly.Msg["DELETE_BLOCK"] = "Delete Block";
Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";
Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";
Blockly.Msg["DELETE_X_BLOCKS"] = "Delete %1 Blocks";
Blockly.Msg["DIALOG_CANCEL"] = "Cancel";
Blockly.Msg["DIALOG_OK"] = "OK";
Blockly.Msg["DISABLE_BLOCK"] = "Disable Block";
Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate";
Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";
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["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"] = "Returns the item at the specified position in a list.";
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"] = "Removes and returns the item at the specified position in a list.";
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"] = "Removes the item at the specified position in a list.";
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_FROM_END_TOOLTIP"] = "%1 is the last item.";
Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";
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 %1 if item 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_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";
Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";
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"] = "Inserts the item at the specified position in a list.";
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"] = "Sets the item at the specified position in a list.";
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_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"] = "alphabetic, ignore case";
Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";
Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";
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_ATAN2_HELPURL"] = "https://en.wikipedia.org/wiki/Atan2";
Blockly.Msg["MATH_ATAN2_TITLE"] = "atan2 of X:%1 Y:%2";
Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Return the arctangent of point (X, Y) in degrees from -180 to 180.";
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_(graphics)";
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_COLOUR_VARIABLE"] = "Create colour variable...";
Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";
Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";
Blockly.Msg["NEW_VARIABLE"] = "Create variable...";
Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:";
Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";
Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";
Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";
Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";
Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
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"] = "Describe this function...";
Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";
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/Subroutine";
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_HELPURL"] = "https://c2.com/cgi/wiki?GuardClause";
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["REDO"] = "Redo";
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_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";
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_LAST"] = "get last letter";
Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";
Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";
Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";
Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";
Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";
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_OPERATOR_FIRST"] = "find first occurrence of text";
Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";
Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";
Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.";
Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";
Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";
Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";
Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";
Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";
Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";
Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";
Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";
Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";
Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";
Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";
Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";
Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";
Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";
Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";
Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";
Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";
Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";
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["UNDO"] = "Undo";
Blockly.Msg["UNNAMED_KEY"] = "unnamed";
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["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";
Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";
Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace";
Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";
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["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
Blockly.Msg["CONTROLS_IF_ELSE_TITLE_ELSE"] = Blockly.Msg["CONTROLS_IF_MSG_ELSE"];
Blockly.Msg["CONTROLS_IF_IF_TITLE_IF"] = Blockly.Msg["CONTROLS_IF_MSG_IF"];
Blockly.Msg["CONTROLS_IF_MSG_THEN"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
Blockly.Msg["CONTROLS_WHILEUNTIL_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
Blockly.Msg["LISTS_CREATE_WITH_ITEM_TITLE"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
Blockly.Msg["LISTS_GET_INDEX_HELPURL"] = Blockly.Msg["LISTS_INDEX_OF_HELPURL"];
Blockly.Msg["LISTS_GET_INDEX_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
Blockly.Msg["LISTS_GET_SUBLIST_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
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["MATH_CHANGE_TITLE_ITEM"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
Blockly.Msg["PROCEDURES_DEFRETURN_COMMENT"] = Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"];
Blockly.Msg["PROCEDURES_DEFRETURN_DO"] = Blockly.Msg["PROCEDURES_DEFNORETURN_DO"];
Blockly.Msg["PROCEDURES_DEFRETURN_PROCEDURE"] = Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"];
Blockly.Msg["PROCEDURES_DEFRETURN_TITLE"] = Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"];
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_HUE"] = "230";
Blockly.Msg["LOOPS_HUE"] = "120";
Blockly.Msg["LISTS_HUE"] = "260";
Blockly.Msg["LOGIC_HUE"] = "210";
Blockly.Msg["VARIABLES_HUE"] = "330";
Blockly.Msg["TEXTS_HUE"] = "160";
Blockly.Msg["PROCEDURES_HUE"] = "290";
Blockly.Msg["COLOUR_HUE"] = "20";
Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";

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.cn/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.cn/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.cn/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.esp32_main_controller_io_analog_pin_1_TOOLTIP = "Return A.I. Module GPIO #%1";
Blockly.Msg.esp32_main_controller_io_analog_pin_2_TOOLTIP = "Return IoT Module GPIO #%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_Read_Data_Setup_TOOLTIP = "Use %1 to obtain data sent by other devices through the serial port to initialize";
Blockly.Msg.Serial_Read_Data_TOOLTIP = "Get a certain bit of data in the received serial port data from serial_data";
Blockly.Msg.Serial_Read_Data_all_TOOLTIP = "Get the data of the serial port and save it to serial_data";
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(Take longer than 1 second to get the 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_Rotation_Measurement_TOOLTIP = "Get the rotation measurement 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_system_get_cocorobo_firmware_version_TOOLTIP= "Get the IoT Current firmware version number";
Blockly.Msg.iot_system_delete_TOOLTIP = "Delete file with the specified name";
Blockly.Msg.ai_system_get_cocorobo_firmware_version_TOOLTIP= "Get the AI Current firmware version number";
Blockly.Msg.ai_System_Get_TOOLTIP= "Get the Remaining Space in Memory";
Blockly.Msg.ai_System_sd_Get_TOOLTIP = "Get the Remaining Space in SD card";
Blockly.Msg.ai_system_thread_TOOLTIP = "Enable multithreading to perform related operations";
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_lcd_clear_screen_TOOLTIP = "Clear LCD 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_off_TOOLTIP= "To turn it off";
Blockly.Msg.ai_system_refresh_TOOLTIP= "Refreshing a file directory";
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_mphone_Record_audio_init_TOOLTIP = "Microphone recording audio initialization";
Blockly.Msg.ai_mphone_Record_audio_start_TOOLTIP = "Start recording and saving the audio";
Blockly.Msg.ai_audio_stop_recording_TOOLTIP = "Stop recording audio";

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 = "Video playback requirements:Video file format——AVI,Video coding format——MJPG,Audio coding format——PCM";
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";
Blockly.Msg.speech_recognition_phonetic_to_pinyin_setup_TOOLTIP = "Phonetic to Pinyin initialization";
Blockly.Msg.ai_speech_recognition_phonetic_to_pinyin_get_result_TOOLTIP = "Get the result of speech to pinyin";
Blockly.Msg.ai_speech_recognition_phonetic_to_pinyin_set_param_TOOLTIP = "Set phonetic recognition parameters";
Blockly.Msg.speech_recognition_phonetic_to_pinyin_start_recognition_TOOLTIP = "Speech Recognition: Start Phonetic Recognition";
Blockly.Msg.speech_recognition_phonetic_to_pinyin_stop_recognition_TOOLTIP = "Speech Recognition: End Phonetic Recognition";
Blockly.Msg.speech_recognition_phonetic_to_pinyin_pause_recognition_TOOLTIP = "Speech Recognition: Pause Phonetic Recognition";

// ai_models
Blockly.Msg.ai_model_allinit_TOOLTIP = "Initialize the %1";
Blockly.Msg.ai_model_allload_TOOLTIP = "Load 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 tested objects detected from the variable";
Blockly.Msg.ai_model_look_TOOLTIP = "Any tested objects detected";
Blockly.Msg.ai_model_look_attribute_TOOLTIP = "Tested Objects attribute";
Blockly.Msg.ai_model_xy_TOOLTIP = "Gets %1 of the detected face from the variable";
Blockly.Msg.ai_model_human_xy_TOOLTIP = "Gets %1 of the detected human body from the variable";
Blockly.Msg.ai_model_face_TOOLTIP = "Recognized Any Human Face";
Blockly.Msg.ai_model_face_attribute_TOOLTIP = "Face attribute";
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 = "Initializes the custom model";
Blockly.Msg.ai_model_customized_load_setup_TOOLTIP = "Loads 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_attribute_TOOLTIP = "Custom model object attribute";
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_setup_TOOLTIP = "Initializing customized Face Recognition";
Blockly.Msg.ai_model_face_init_TOOLTIP = "Custom initializes the face recognition model";
Blockly.Msg.ai_face_detection_model_TOOLTIP = "Initialize face detection model";
Blockly.Msg.ai_face_point_detection_model_TOOLTIP = "Initialization of face 5-point key point detection model";
Blockly.Msg.ai_face_Vitter_eigenvalue_model_TOOLTIP = "Initialization of face 196 Vitter eigenvalue model";
Blockly.Msg.ai_model_face_load_point_detection_model_TOOLTIP = "Loading face 5-point key point detection model,and make certain settings";
Blockly.Msg.ai_model_Calculation_of_196_eigenvalues_TOOLTIP = "Calculate 196 dimension eigenvalues of running face feature 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";

Blockly.Msg.ai_model_face_start_recognition_TOOLTIP = "Loading face detection model, and set the image source";
Blockly.Msg.ai_model_face_model_load_finish_TOOLTIP = "Face detection model loading completed";
Blockly.Msg.ai_model_face_gather_TOOLTIP = "Gather new face data and save face data";
Blockly.Msg.ai_model_face_data_load_TOOLTIP = "Load saved face data";
Blockly.Msg.ai_model_face_gather_num_judge_TOOLTIP = "Completed the face acquisition";
Blockly.Msg.ai_model_face_model_list_TOOLTIP = "Face detection attribute";
Blockly.Msg.ai_model_face_recognition_TOOLTIP = "Gather or load face data and carry out face recognition";
Blockly.Msg.ai_model_face_recognition_get_result_TOOLTIP = "Face recognition gets arbitrary results";
Blockly.Msg.ai_model_show_face_TOOLTIP = "Image processing and display";

Blockly.Msg.ai_model_class_setup_TOOLTIP = "Initializing customized Class Recognition";
Blockly.Msg.ai_class_model_TOOLTIP = "Initialize custom object feature extraction model";
Blockly.Msg.ai_class_model_cluster_TOOLTIP = "Initialize custom object clustering parameters";
Blockly.Msg.ai_model_class_start_load_TOOLTIP = "Set the image source and process the image";
Blockly.Msg.ai_model_class_gather_TOOLTIP = "Start gathering class";
Blockly.Msg.ai_model_class_data_load_TOOLTIP = "Loading class data";
Blockly.Msg.ai_model_class_gather_load_finish_TOOLTIP = "Collect or load object data";
Blockly.Msg.ai_model_class_cluster_train_TOOLTIP = "Start extract object features, and then cluster training";
Blockly.Msg.ai_model_class_recognition_TOOLTIP = "Start object recognition";

// 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_draw_sensor_image_on_canvas_TOOLTIP = "Draw the Image Captured from Camera on the canvas";
Blockly.Msg.ai_lcd_showcarvas_set_display_TOOLTIP = "Show canvas";
Blockly.Msg.ai_lcd_clearcanvas_TOOLTIP = "Clear everything in the canvas";
Blockly.Msg.ai_lcd_qrcode_TOOLTIP = "Draw QR code on 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 = "module servo initialization";
Blockly.Msg.extension_servo_write_on_ai_TOOLTIP = "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";

Blockly.Msg.ai_vision_canvas_area_tuple_TOOLTIP = "Create area tuple";
Blockly.Msg.ai_vision_lane_tracking_setup_TOOLTIP = "Initialization of road tracking recognition";
Blockly.Msg.ai_vision_from_canvas_TOOLTIP = "Run road tracking recognition";
Blockly.Msg.ai_vision_lane_tracking_run_get_TOOLTIP = "Obtain the result of road tracking recognition";

/* mlx90614 */
Blockly.Msg.MLX90614_SETUP_TOOLTIP = "%1 MLX90614 sensor initialization";
Blockly.Msg.MLX90614_READ_AMBIENT_TOOLTIP = "Get Current Ambient Temperature";
Blockly.Msg.MLX90614_READ_OBJECT_TOOLTIP = "Get Targeted Object's Temperature";

/* DHT11 or DHT22 */
Blockly.Msg.DHT_SETUP_TOOLTIP = "%1 DHT sensor initialization";

/* PM2.5 */
Blockly.Msg.PM25_SETUP_TOOLTIP = "%1 PM2.5 sensor initialization";
Blockly.Msg.PM25_REDD_DATA_TOOLTIP = "Get PM2.5 value";

/* RTC */
Blockly.Msg.RTC_setup_TOOLTIP = "RTC Module initialization";
Blockly.Msg.RTC_setDateTime_TOOLTIP = "Set Date,Time and Week";
Blockly.Msg.RTC_GETDATE_TOOLTIP = "Get Current Date %1";
Blockly.Msg.RTC_GETTIME_TOOLTIP = "Get Current Time %1";
Blockly.Msg.RTC_getWeek_TOOLTIP = "Get Current Week";
Blockly.Msg.RTC_SETDATE_TOOLTIP = "Set Current Date %1 to a specific value";
Blockly.Msg.RTC_SETTIME_TOOLTIP = "Set Current Time %1 to a specific value";
Blockly.Msg.RTC_setWeek_TOOLTIP = "Set Current Week to a specific value";
Blockly.Msg.RTC_getDateTime_TOOLTIP = "Get Date,Time and Week";

/* robot dog */
Blockly.Msg.robot_dog_movement_action_TOOLTIP = "Speech control robot dog initialization";
Blockly.Msg.robot_dog_phonetic_to_pinyin_get_result_TOOLTIP = "Get the result of speech recognition";
Blockly.Msg.robot_dog_setup_TOOLTIP = "Robot dog initialization";
Blockly.Msg.robot_dog_action_TOOLTIP = "The robot dog executes the %1 instruction";
Blockly.Msg.robot_dog_servo_movement_TOOLTIP = "Set a specific leg specific joint servo to rotate to a specific degree";
Blockly.Msg.robot_dog_servo_speed_TOOLTIP = "Set the specific speed to %1";
Blockly.Msg.robot_dog_servo_movement_location_TOOLTIP = "Set the position of the toe of a specific leg in a specific direction to a specific value";
Blockly.Msg.robot_dog_open_gyroscope_TOOLTIP = "%1 Gyroscope";
Blockly.Msg.robot_dog_open_performance_mode_TOOLTIP = "%1 Performance mode of Robot dog";
Blockly.Msg.robot_dog_open_calibration_mode_TOOLTIP = "%1 Robot dog calibration mode";
Blockly.Msg.robot_dog_get_power_TOOLTIP = "Get the current power of the robot dog";
Blockly.Msg.robot_dog_servo_movement_distance_TOOLTIP = "Set the step size of the robot dog to execute the translation movement in %1 direction to a specific value";
Blockly.Msg.robot_dog_servo_movement_rotate_TOOLTIP = "Set the rotation speed of the robot dog in %1 direction to a specific value";
Blockly.Msg.robot_dog_servo_movement_standing_still_TOOLTIP = "Set the robot dog to perform standing still at a fixed frequency with a specific leg lifting height";
Blockly.Msg.robot_dog_servo_movement_distance_cycle_TOOLTIP = "Set the step size of the robot dog to execute the translation movement in %1 direction to a specific value for a specific second";
Blockly.Msg.robot_dog_servo_movement_rotate_cycle_TOOLTIP = "Set the rotation speed of the robot dog in %1 direction to a specific value for a specific second";
Blockly.Msg.robot_dog_servo_movement_standing_still_cycle_TOOLTIP = "Set the robot dog to perform standing still at a fixed frequency with a specific leg lifting height for a specific second";
Blockly.Msg.robot_dog_servo_movement_distance_still_TOOLTIP = "Set the robot dog %1 direction translation specific millimeter";
Blockly.Msg.robot_dog_servo_movement_distance_still_cycle_TOOLTIP = "Set the robot dog to translate %1 in a specific cycle";
Blockly.Msg.robot_dog_servo_movement_rotate_still_TOOLTIP = "Set a specific value for the dog to rotate around the %1 axis";
Blockly.Msg.robot_dog_servo_movement_rotate_still_cycle_TOOLTIP = "Set the robot dog to rotate around the %1 axis at a specific cycle";
Blockly.Msg.robot_dog_servo_movement_distance_still_cycle_stop_TOOLTIP = "Stop the cycle translation of the robot dog towards %1";
Blockly.Msg.robot_dog_servo_movement_rotate_still_cycle_stop_TOOLTIP = "Stop the cycle of the robot dog around the %1 axis";
Blockly.Msg.robot_dog_get_servo_angle_TOOLTIP = "Gets the angle of the steering gear for a specific leg joint";
Blockly.Msg.robot_dog_get_rotate_angle_TOOLTIP = "Gets the angle of gyro about %1 axis";

/* uav */
Blockly.Msg.Take_off_TOOLTIP = "Set the takeoff altitude of the UAV with the specified number to the specified cm";
Blockly.Msg.uav_fly_mode_TOOLTIP = "Set the specified number UAV to switch the specified flight mode";
Blockly.Msg.xy_speed_TOOLTIP = "Set the horizontal speed of the UAV with the specified number to the specified value";
Blockly.Msg.z_speed_TOOLTIP = "Set the vertical speed of the UAV with the specified number to the specified value";
Blockly.Msg.follow_line_TOOLTIP = "Set the specified number of UAV to patrol the line in the specified direction";
Blockly.Msg.mobile_distance_TOOLTIP = "Set the specified number UAV to fly the specified distance in the specified direction";
Blockly.Msg.move_search_dot_TOOLTIP = " and look for small black pieces";
Blockly.Msg.move_search_tag_TOOLTIP = " and find the specified label";
Blockly.Msg.move_search_blob_TOOLTIP = " and find the specified color block";
Blockly.Msg.go_to_TOOLTIP = "Set the specified number UAV direct to the specified label";
Blockly.Msg.go_to_tag_TOOLTIP = " and set the specified height";
Blockly.Msg.uav_rotation_TOOLTIP = "Set the specified number UAV rotation angle";
Blockly.Msg.uav_fly_height_TOOLTIP = "Sets the height of the UAV with the specified number";
Blockly.Msg.filp_ctrl_TOOLTIP = "Set the specified number of revolutions of UAV in the specified direction";
Blockly.Msg.led_ctrl_TOOLTIP = "Sets the light color of the specified number UAV";
Blockly.Msg.off_led_ctrl_TOOLTIP = "Set the specified number UAV to turn off the light";
Blockly.Msg.uav_detection_TOOLTIP = "Set the specified number and UAV detects the specified object";
Blockly.Msg.mangne_ctrl_TOOLTIP = "Set the specified number of UAV operation electromagnets";
Blockly.Msg.servo_ctrl_TOOLTIP = "Set the steering gear angle of the UAV with the specified number as the specified value";
Blockly.Msg.role_ctrl_TOOLTIP = "Set the command of the UAV with the specified number as the specified command";
Blockly.Msg.lock_dir_TOOLTIP = "Set the specified number UAV management head direction";
Blockly.Msg.shoot_crtl_TOOLTIP = "Set the specified number of UAV to emit laser";
Blockly.Msg.switch_crtl_TOOLTIP = "Sets the status of the UAV of the specified number to on or off";
Blockly.Msg.ai_crtl_TOOLTIP = "Set the specified number, and the UAV AI switches to the specified mode";
Blockly.Msg.ai_learing_TOOLTIP = "Set the ID of UAV learning of the specified number as the specified value";
Blockly.Msg.ai_forget_TOOLTIP = "Set the specified number, and the UAV forgets all the learned data";
Blockly.Msg.ai_set_name_TOOLTIP = "Set the name of the specified ID of the specified number UAV as the specified value";
Blockly.Msg.ai_save_img_TOOLTIP = "Set the specified number and save the photos taken or screenshots of UAV to SD card";
Blockly.Msg.fly_ctrl_TOOLTIP = "Set the status of the UAV with the specified number";
Blockly.Msg.uav_detection_if_TOOLTIP = "The specified number UAV detects the specified object";
Blockly.Msg.uav_detection_if_line_TOOLTIP = "The specified number UAV detects the specified direction wire";
Blockly.Msg.uav_get_distance_of_obstacles_TOOLTIP = "Gets the obstacle distance of the specified number UAV in the specified direction";
Blockly.Msg.uav_get_value_TOOLTIP = "Gets the specified value of the specified number UAV";
Blockly.Msg.uav_get_AI_value_TOOLTIP = "Gets AI recognition results of UAV with specified number";
Blockly.Msg.uav_get_electronic_balance_value_TOOLTIP = "Gets the scale reading of the UAV with the specified number";
Blockly.Msg.uav_get_shooting_value_TOOLTIP = "Gets firing data of UAV with specified number";
Blockly.Msg.uav_get_msg_value_TOOLTIP = "Get the message data of UAV with specified number";

/* expand */
Blockly.Msg.esp32_expand_io_from_digital_pin_TOOLTIP = "Get the digital signal value of GPIO # %1";
Blockly.Msg.esp32_expand_io_set_digital_pin_TOOLTIP = "Set the GPIO # %1 to the specified level";
Blockly.Msg.esp32_expand_io_set_analog_pin_TOOLTIP = "Set GPIO # %1 PWM Output to the specified value";

/* KUJU */
Blockly.Msg.iot_service_KUJU_setup_TOOLTIP = "Connect to KUJU through account and password";
Blockly.Msg.iot_service_KUJU_controll_TOOLTIP = "Send data to KUJU control Smart Plug";
Blockly.Msg.iot_service_KUJU_get_temperature_humidity_data_TOOLTIP = "Obtain the specific value of the temperature sensor";
Blockly.Msg.iot_service_KUJU_get_motion_data_TOOLTIP = "Obtain the specific value of the motion sensor";
Blockly.Msg.iot_service_KUJU_get_sensor_data_TOOLTIP = "Obtain the specific value of the specific sensor";

// Wetech
Blockly.Msg.wifiServices_WeTech_setup_TOOLTIP = "Connect specific gateway of specific account under WeTech";
Blockly.Msg.wifiServices_WeTech_controll_derail_TOOLTIP = "Send data to WeTech to control the on and off of specific three-way lamp surface switch";
Blockly.Msg.wifiServices_WeTech_controll_derail_second_way_TOOLTIP = "Send data to WeTech to control the on and off of specific Second-way lamp surface switch";
Blockly.Msg.wifiServices_WeTech_controll_derail_curtain_sensor_TOOLTIP = "Send data to WeTech to control the specific Curtain Sensor's (for projector Screen) status";
Blockly.Msg.wifiServices_WeTech_controll_derail_air_conditioning_mode_TOOLTIP = "Send data to WeTech to control the specific Air Conditioner's pattern";
Blockly.Msg.wifiServices_WeTech_controll_derail_wind_speed_mode_TOOLTIP = "Send data to WeTech to control the specific Air Conditioner's wind speed";
Blockly.Msg.wifiServices_WeTech_controll_derail_temp_TOOLTIP = "Send data to WeTech to control the specific Air Conditioner's temperature";
Blockly.Msg.wifiServices_WeTech_controll_derail_all_mode_TOOLTIP = "Send data to WeTech to control the specific Air Conditioner";
Blockly.Msg.wifiServices_WeTech_controll_derail_IR_TOOLTIP = "Send data to WeTech to control the specific TV IR (for TV and Projector)";
Blockly.Msg.wifiServices_WeTech_controll_derail_get_power_meter_TOOLTIP = "Get the Power Meter's value";
Blockly.Msg.wifiServices_WeTech_controll_derail_get_sensor_number_TOOLTIP = "Get the %1 value";

// tuya
Blockly.Msg.iot_service_tuya_TOOLTIP = "Connect to Tuya through Access ID and Access Secret";
Blockly.Msg.iot_service_tuya_setToken_TOOLTIP = "When gets the access token by connecting tuya, do the following";
Blockly.Msg.iot_service_tuya_controll_light_belt_TOOLTIP = "Control the intelligent light belt to a specific state";
Blockly.Msg.iot_service_tuya_controll_light_belt_color_value_TOOLTIP = "Control the color of the intelligent light belt to a specific value";

// turtle
Blockly.Msg.TURTLE_CREATE_NE_TURTLE_TLTLE_TOOLTIP = "Creates a new turtle";
Blockly.Msg.TURTLE_MAKE_TURTLE_MOVE_FORWARD_TOOLTIP = "Let the turtle move forward to the specified value";
Blockly.Msg.TURTLE_MAKE_TURTLE_MOVE_BACKWARD_TOOLTIP = "Let the turtle go back to the specified value";
Blockly.Msg.TURTLE_MAKE_TURN_LEFT_TOOLTIP = "Make the turtle turn left at the specified angle";
Blockly.Msg.TURTLE_MAKE_TURN_RIGHT_TOOLTIP = "Make the turtle turn right at the specified angle";
Blockly.Msg.TURTLE_MAKE_TURRLE_COLOR_TOOLTIP = "Set the color of the turtle brush";
Blockly.Msg.TURTLE_MAKE_TURRLE_PEN_TOOLTIP = "Let the turtle paint %1";
Blockly.Msg.TURTLE_MAKE_TURTLE_GOTO_LOCATION_X_TOOLTIP = "Let the turtle go to the designated location";
Blockly.Msg.TURTLE_MAKE_TURTLE_SET_POSITION_TOOLTIP = "Set the position of the turtle brush";
Blockly.Msg.TURTLE_MAKE_SET_HEADING_TOOLTIP = "Rotate the turtle to the specified angle";
Blockly.Msg.TURTLE_RESET_TOOLTIP = "Reset the position of the brush";
Blockly.Msg.TURTLE_CLEAR_TOOLTIP = "Clear everything";

Blockly.Msg.ADD_COMMENT = "Add Comment";
Blockly.Msg.ARD_ANALOGREAD = "Read analog pin#";
Blockly.Msg.ARD_ANALOGREAD_TIP = "Return value between 0 and 1024";
Blockly.Msg.ARD_ANALOGWRITE = "Set analog pin#";
Blockly.Msg.ARD_ANALOGWRITE_TIP = "Write analog value between 0 and 255 to a specific PWM Port";
Blockly.Msg.ARD_BUILTIN_LED = "Set built-in LED";
Blockly.Msg.ARD_BUILTIN_LED_TIP = "Light on or off for the built-in LED of the Arduino";
Blockly.Msg.ARD_COMPONENT_WARN1 = "A %1 configuration block with the same %2 name must be added to use this block!";
Blockly.Msg.ARD_DEFINE = "Define";
Blockly.Msg.ARD_DIGITALREAD = "Read digital pin#";
Blockly.Msg.ARD_DIGITALREAD_TIP = "Read digital value on a pin: HIGH or LOW";
Blockly.Msg.ARD_DIGITALWRITE = "Set digital pin#";
Blockly.Msg.ARD_DIGITALWRITE_TIP = "Write digital value HIGH or LOW to a specific Port";
Blockly.Msg.ARD_FUN_RUN_LOOP = "CocoBlockly V loop forever:";
Blockly.Msg.ARD_FUN_RUN_SETUP = "CocoBlockly V run first:";
Blockly.Msg.ARD_FUN_RUN_TIP = "Defines the Arduino setup() and loop() functions.";
Blockly.Msg.ARD_HIGH = "HIGH";
Blockly.Msg.ARD_HIGHLOW_TIP = "Set a pin state logic High or Low.";
Blockly.Msg.ARD_LOW = "LOW";
Blockly.Msg.ARD_MAP = "Map";
Blockly.Msg.ARD_MAP_TIP = "Re-maps a number from [0-1024] to another.";
Blockly.Msg.ARD_MAP_VAL = "Value to [0-";
Blockly.Msg.ARD_NOTONE_PIN = "No tone";
Blockly.Msg.ARD_NOTONE_PIN_TIP = "Stop generating a tone on a pin";
Blockly.Msg.ARD_PIN_WARN1 = "Pin %1 is needed for %2 as pin %3. Already used as %4.";
Blockly.Msg.ARD_PULSEON = "Pulse on pin #";
Blockly.Msg.ARD_PULSEREAD = "Read";
Blockly.Msg.ARD_PULSETIMEOUT = "Timeout after";
Blockly.Msg.ARD_PULSETIMEOUT_MS = "";
Blockly.Msg.ARD_PULSETIMEOUT_TIP = "Measure the duration of the selected interface pulse and check if it falls within the timeout period.";
Blockly.Msg.ARD_PULSE_TIP = "Measures the duration of a pulse on the selected pin.";
Blockly.Msg.ARD_PWMWRITE = "Set pwm pin#";
Blockly.Msg.ARD_SERIAL_AVAILABLE = "Avalible";
Blockly.Msg.ARD_SERIAL_BPS = "Bps";
Blockly.Msg.ARD_SERIAL_PRINT = "Print";
Blockly.Msg.ARD_SERIAL_PRINT_NEWLINE = "Add new line";
Blockly.Msg.ARD_SERIAL_PRINT_TIP = "Print the data in readable ASCII text format to the console or serial port.";
Blockly.Msg.ARD_SERIAL_PRINT_WARN = "Serial-related initialization blocks need to be added.";
Blockly.Msg.ARD_SERIAL_READ = "Read";
Blockly.Msg.ARD_SERIAL_SETUP = "Setup";
Blockly.Msg.ARD_SERIAL_SETUP_TIP = "Selects the speed for a specific Serial peripheral";
Blockly.Msg.ARD_SERIAL_SPEED = ":  speed to";
Blockly.Msg.ARD_SERIAL_WRITE = "Write";
Blockly.Msg.ARD_SERVO_READ = "Read SERVO from PIN#";
Blockly.Msg.ARD_SERVO_READ_TIP = "Read a Servo angle";
Blockly.Msg.ARD_SERVO_SETUP = "Servo Setup";
Blockly.Msg.ARD_SERVO_WRITE = "Set SERVO from Pin";
Blockly.Msg.ARD_SERVO_WRITE_DEG_180 = "Degrees (0~180)";
Blockly.Msg.ARD_SERVO_WRITE_TIP = "Set a Servo to an specified angle";
Blockly.Msg.ARD_SERVO_WRITE_TO = "To";
Blockly.Msg.ARD_SPI_SETUP = "Setup";
Blockly.Msg.ARD_SPI_SETUP_CONF = "Configuration:";
Blockly.Msg.ARD_SPI_SETUP_DIVIDE = "Clock divide";
Blockly.Msg.ARD_SPI_SETUP_LSBFIRST = "LSBFIRST";
Blockly.Msg.ARD_SPI_SETUP_MODE = "SPI mode (idle - edge)";
Blockly.Msg.ARD_SPI_SETUP_MODE0 = "0 (Low - Falling)";
Blockly.Msg.ARD_SPI_SETUP_MODE1 = "1 (Low - Rising)";
Blockly.Msg.ARD_SPI_SETUP_MODE2 = "2 (High - Falling)";
Blockly.Msg.ARD_SPI_SETUP_MODE3 = "3 (High - Rising)";
Blockly.Msg.ARD_SPI_SETUP_MSBFIRST = "MSBFIRST";
Blockly.Msg.ARD_SPI_SETUP_SHIFT = "Data shift";
Blockly.Msg.ARD_SPI_SETUP_TIP = "Configures the SPI peripheral.";
Blockly.Msg.ARD_SPI_TRANSRETURN_TIP = "Send a SPI message to an specified slave device and get data back.";
Blockly.Msg.ARD_SPI_TRANS_NONE = "None";
Blockly.Msg.ARD_SPI_TRANS_SLAVE = "To slave pin";
Blockly.Msg.ARD_SPI_TRANS_TIP = "Send a SPI message to an specified slave device.";
Blockly.Msg.ARD_SPI_TRANS_VAL = "Transfer";
Blockly.Msg.ARD_SPI_TRANS_WARN1 = "A setup block for %1 must be added to the workspace to use this block!";
Blockly.Msg.ARD_SPI_TRANS_WARN2 = "Old pin value %1 is no longer available.";
Blockly.Msg.ARD_STEPPER_COMPONENT = "Stepper";
Blockly.Msg.ARD_STEPPER_DEFAULT_NAME = "MyStepper";
Blockly.Msg.ARD_STEPPER_MOTOR = "Stepper motor:";
Blockly.Msg.ARD_STEPPER_PIN1 = "Pin1#";
Blockly.Msg.ARD_STEPPER_PIN2 = "Pin2#";
Blockly.Msg.ARD_STEPPER_REVOLVS = "How many steps per revolution";
Blockly.Msg.ARD_STEPPER_SETUP = "Setup stepper motor";
Blockly.Msg.ARD_STEPPER_SETUP_TIP = "Configuring stepper motor interface alignment and other settings.";
Blockly.Msg.ARD_STEPPER_SPEED = "Set speed (rpm) to";
Blockly.Msg.ARD_STEPPER_STEP = "Move stepper";
Blockly.Msg.ARD_STEPPER_STEPS = "Steps";
Blockly.Msg.ARD_STEPPER_STEP_TIP = "Turns the stepper motor a specific number of steps.";
Blockly.Msg.ARD_TIME_CHRONO_CHECK = "Stopwatch has passed";
Blockly.Msg.ARD_TIME_CHRONO_CHECK1 = "Ms";
Blockly.Msg.ARD_TIME_CHRONO_ELAPSED = "Stopwatch elapsed";
Blockly.Msg.ARD_TIME_CHRONO_RESET = "Reset Stopwatch";
Blockly.Msg.ARD_TIME_CHRONO_SETUP = "Stopwatch Setup";
Blockly.Msg.ARD_TIME_DELAY = "Wait";
Blockly.Msg.ARD_TIME_DELAY_MICROS = "Microseconds";
Blockly.Msg.ARD_TIME_DELAY_MICRO_TIP = "Wait for a certain amount of time (in microseconds)";
Blockly.Msg.ARD_TIME_DELAY_TIP = "Wait for a certain amount of time (in milliseconds)";
Blockly.Msg.ARD_TIME_DELAY_seconds_TIP = "Wait for a certain amount of time (in seconds)";
Blockly.Msg.ARD_TIME_DELAY_seconds = "Seconds";
Blockly.Msg.ARD_TIME_DO = "Do";
Blockly.Msg.ARD_TIME_DO_MS = "Do";
Blockly.Msg.ARD_TIME_EVERY = "Every";
Blockly.Msg.ARD_TIME_EVERY_MS = "Every";
Blockly.Msg.ARD_TIME_INF = "Wait forever (end program)";
Blockly.Msg.ARD_TIME_INF_TIP = "Wait indefinitely, stopping the program.";
Blockly.Msg.ARD_TIME_MICROS = "Current elapsed Time (microseconds)";
Blockly.Msg.ARD_TIME_MICROS_TIP = "Retrieve the number of microseconds since the beginning of the program's execution on the Arduino board. It must be stored as a long integer data type.";
Blockly.Msg.ARD_TIME_MILLIS = "Current elapsed Time (milliseconds)";
Blockly.Msg.ARD_TIME_MILLIS_TIP = "Return the number of milliseconds since the Arduino board started executing the current program, stored as a long integer.";
Blockly.Msg.ARD_TIME_MS = "Milliseconds";
Blockly.Msg.ARD_TIME_SECOND = "Second(s)";
Blockly.Msg.ARD_TIME_SECOND_MS = "Millisecond(s)";
Blockly.Msg.ARD_TONE_FREQ = "Frequency";
Blockly.Msg.ARD_TONE_PIN = "Tone PIN#";
Blockly.Msg.ARD_TONE_PIN_TIP = "Generate audio tones on a pin";
Blockly.Msg.ARD_TYPE_ARRAY = "Array";
Blockly.Msg.ARD_TYPE_BOOL = "Boolean";
Blockly.Msg.ARD_TYPE_CHAR = "Character";
Blockly.Msg.ARD_TYPE_CHILDBLOCKMISSING = "ChildBlockMissing";
Blockly.Msg.ARD_TYPE_DECIMAL = "Decimal";
Blockly.Msg.ARD_TYPE_LONG = "Large Number";
Blockly.Msg.ARD_TYPE_NULL = "Null";
Blockly.Msg.ARD_TYPE_NUMBER = "Number";
Blockly.Msg.ARD_TYPE_SHORT = "Short Number";
Blockly.Msg.ARD_TYPE_TEXT = "Text";
Blockly.Msg.ARD_TYPE_UNDEF = "Undefined";
Blockly.Msg.ARD_VAR_AS = "As";
Blockly.Msg.ARD_VAR_AS_TIP = "Sets a value to a specific type";
Blockly.Msg.ARD_WRITE_TO = "To";
Blockly.Msg.AUTH = "Please authorize this application to save your work and share it.";
Blockly.Msg.BASIC_AS = "As";
Blockly.Msg.BASIC_BLACK_OUT = "Black out";
Blockly.Msg.BASIC_BRTN = "Brightness";
Blockly.Msg.BASIC_BUZZER_PLAY = "Buzzer plays ";
Blockly.Msg.BASIC_BUZZER_SETUP = "Buzzer Setup";
Blockly.Msg.BASIC_COUNTER_SETTING = "On button";
Blockly.Msg.BASIC_COUNTER_SETUP = "Set Counter ";
Blockly.Msg.BASIC_FOR = "For";
Blockly.Msg.BASIC_FROM = "From";
Blockly.Msg.BASIC_HZ = "Hz";
Blockly.Msg.BASIC_IF_SWITCH = "If switch ";
Blockly.Msg.BASIC_IS = " Is ";
Blockly.Msg.BASIC_LIGHT_PIN = "Light Pin#";
Blockly.Msg.BASIC_LIGHT_WARNING = "Brightness must be in range 0 - 255";
Blockly.Msg.BASIC_MUTE = "Mute";
Blockly.Msg.BASIC_NOLCD = "Turn off the light on pin# %1";
Blockly.Msg.BASIC_NOTONE = "Turn off the tone on pin# %1";
Blockly.Msg.BASIC_NOTONE_TIP = "Turns the tone off on the selected pin";
Blockly.Msg.BASIC_PIN_NUM = "Pin#";
Blockly.Msg.BASIC_READBUTTON = "Read the status of button on pin# %1";
Blockly.Msg.BASIC_READCOUNTER = "Read the value of counter on button %1";
Blockly.Msg.BASIC_READKNOB = "Read the value of knob on pin# %1";
Blockly.Msg.BASIC_SET = "Set";
Blockly.Msg.BASIC_SETANALOGLED = "Set the light on pin# %1 at brightness %2";
Blockly.Msg.BASIC_SETDIGITALLED = "Turn on the light on pin# %1";
Blockly.Msg.BASIC_SETTONE = "Set the tone on pin# %1 at frequency %2";
Blockly.Msg.BASIC_SET_PIN = "Set Pin#";
Blockly.Msg.BASIC_TO = "To";
Blockly.Msg.BASIC_TONE_TIP = "Sets tone on pin to specified frequency within range 31 - 65535";
Blockly.Msg.BASIC_TONE_WARNING = "Frequency must be in range 31 - 65535";
Blockly.Msg.BLUE = "Blue";
Blockly.Msg.BLUETOOTH_INTERACTION_SET_CONTENT = "Set the serial port baud rate to:";
Blockly.Msg.BLUETOOTH_INTERACTION_TITLE = "Bluetooth Module Enter AT Mode";
Blockly.Msg.BLUETOOTH_INTERCOMMS_DATA = "Data";
Blockly.Msg.BLUETOOTH_INTERCOMMS_RECEIVEMSG = "Receive data";
Blockly.Msg.BLUETOOTH_INTERCOMMS_RECEIVEMSG_ISSUCCESS = "Receive data successfully";
Blockly.Msg.BLUETOOTH_INTERCOMMS_RECEIVE_GET_LINE2 = "Get data at ";
Blockly.Msg.BLUETOOTH_INTERCOMMS_RECEIVE_GET_LINE2_2 = "bit data";
Blockly.Msg.BLUETOOTH_INTERCOMMS_RECEIVE_GET_LINE3 = "As Type";
Blockly.Msg.BLUETOOTH_INTERCOMMS_RECEIVE_GET_LINE4 = "";
Blockly.Msg.BLUETOOTH_INTERCOMMS_RECEIVE_LINE3 = "With length of ";
Blockly.Msg.BLUETOOTH_INTERCOMMS_SENDMSG = "Send data ";
Blockly.Msg.BLUETOOTH_INTERCOMMS_SETUP = "Bluetooth to Bluetooth communication.";
Blockly.Msg.BLUETOOTH_INTERCOMMS_SETUP1 = "For Bluetooth communication";
Blockly.Msg.BLUETOOTH_INTERCOMMS_SETUP2 = "Initialization";
Blockly.Msg.BLUETOOTH_LIST_RECEIVED = "From";
Blockly.Msg.BLUETOOTH_LIST_RECEIVED1 = "Get value at index";
Blockly.Msg.BLUETOOTH_LIST_RECEIVED2 = "value of the bit.";
Blockly.Msg.BLUETOOTH_NUMBER_RECEIVED = "Received number";
Blockly.Msg.BLUETOOTH_PAIRING_BIND_ADDR = "Assign subordinate device address:";
Blockly.Msg.BLUETOOTH_PAIRING_MASTER = "Bluetooth pairing: Host device setup";
Blockly.Msg.BLUETOOTH_PAIRING_SETTING_BAUDRATE = "Set Baud Rate:";
Blockly.Msg.BLUETOOTH_PAIRING_SETTING_TIMEOUT = "Set Timeout:";
Blockly.Msg.BLUETOOTH_PAIRING_SLAVE = "Bluetooth pairing: Slave device configuration";
Blockly.Msg.BLUETOOTH_SETUP = "When Bluetooth received";
Blockly.Msg.BLUETOOTH_SETUP_DATA_SET = "Set";
Blockly.Msg.BLUETOOTH_SETUP_DO = "And Do";
Blockly.Msg.BLUETOOTH_SETUP_LIST_SETTING = "The length is";
Blockly.Msg.BLUETOOTH_SETUP_OPT1 = "String";
Blockly.Msg.BLUETOOTH_SETUP_OPT2 = "Number";
Blockly.Msg.BLUETOOTH_SETUP_OPT3 = "Array";
Blockly.Msg.BLUETOOTH_SETUP_SET = "Set Baud Rate";
Blockly.Msg.BLUETOOTH_SETUP_TO = "To received messages";
Blockly.Msg.BLUETOOTH_TEXT_RECEIVED = "Received Text";
Blockly.Msg.BLYNK_AUTH = "Auth Key : ";
Blockly.Msg.BLYNK_CONNECT = "When Blynk is connected";
Blockly.Msg.BLYNK_CREATE_WITH_CONTAINER_TITLE_ADD = "Data";
Blockly.Msg.BLYNK_CREATE_WITH_ITEM_TITLE = "Item";
Blockly.Msg.BLYNK_DATA = "Data";
Blockly.Msg.BLYNK_GET_DATANAME = "Get data from";
Blockly.Msg.BLYNK_GET_DATANAME1 = "Obtain";
Blockly.Msg.BLYNK_GET_DATANAME2 = "Data";
Blockly.Msg.BLYNK_GET_INDEX = "At index";
Blockly.Msg.BLYNK_GET_INDEX1 = "value of the bit";
Blockly.Msg.BLYNK_GET_OF = "Obtain Data";
Blockly.Msg.BLYNK_GET_OF1 = "Obtain";
Blockly.Msg.BLYNK_GET_OF2 = "Data";
Blockly.Msg.BLYNK_GPS_ALTITUDE = "Altitude";
Blockly.Msg.BLYNK_GPS_LATITUDE = "Latitude";
Blockly.Msg.BLYNK_GPS_LONGITUDE = "Longitude";
Blockly.Msg.BLYNK_GPS_SPEED = "Speed";
Blockly.Msg.BLYNK_LOG = "BLYNK_LOG";
Blockly.Msg.BLYNK_PW = "WiFi PW: ";
Blockly.Msg.BLYNK_READ = "When Blynk request data via";
Blockly.Msg.BLYNK_READ1 = "Data";
Blockly.Msg.BLYNK_SELECT = "Select";
Blockly.Msg.BLYNK_SETUP = "BLYNK SETUP";
Blockly.Msg.BLYNK_SSID = "WiFi SSID: ";
Blockly.Msg.BLYNK_TIME_DO = "Do";
Blockly.Msg.BLYNK_TIME_SECOND = "Second";
Blockly.Msg.BLYNK_TIME_SETTING = "Set timer: every ";
Blockly.Msg.BLYNK_VIRTUALWRITE = "Send data to Blynk via";
Blockly.Msg.BLYNK_VIRTUALWRITE_DATA = "Data:";
Blockly.Msg.BLYNK_WIFI = "Connect to Network";
Blockly.Msg.BLYNK_WRITE = "Get data from";
Blockly.Msg.BLYNK_WRITE1 = "obtain data";
Blockly.Msg.BLYNK_WRITE_VARIABLE = "Store into";
Blockly.Msg.BLYNK_WRITE_VARLENGTH = "Length";
Blockly.Msg.CHANGE_VALUE_TITLE = "Change value:";
Blockly.Msg.CHAT = "Communicate with your collaborator by entering text in this box!";
Blockly.Msg.CLEAN_UP = "Clean up Blocks";
Blockly.Msg.CLOUDDATA_CREATE_WITH_CONTAINER_TITLE_ADD = "Key[]";
Blockly.Msg.CLOUDDATA_CREATE_WITH_INPUT_WITH = "Add";
Blockly.Msg.CLOUDDATA_CREATE_WITH_ITEM_TITLE = "Value";
Blockly.Msg.CLOUDDATA_GENERATOR_DATA = "Generate data";
Blockly.Msg.CLOUDDATA_PARSE_JSON = "From";
Blockly.Msg.CLOUDDATA_PARSE_KEY = "Parse to obtain the variable named";
Blockly.Msg.CLOUDDATA_PARSE_PRETTYPRINT_DISPLAY = "Get generated data";
Blockly.Msg.CLOUDDATA_PARSE_SETUP_INIT = "data parsing initialized.";
Blockly.Msg.CLOUDDATA_PARSE_SETUP_PAYLOAD = "Parse content";
Blockly.Msg.CLOUDDATA_PARSE_TYPE = "As";
Blockly.Msg.CO2SENSOR_GET_CO2 = "Get CO2 Value (ppm)";
Blockly.Msg.CO2SENSOR_GET_TVOC = "Get TVOC Value";
Blockly.Msg.CO2SENSOR_SETUP = "CCS811 Air Quality Sensor Setup";
Blockly.Msg.CO2SENSOR_SETUP_SCL = "SCL Pin";
Blockly.Msg.CO2SENSOR_SETUP_SDA = "SDA Pin:";
Blockly.Msg.COCOCLOUD_CREATE_WITH_CONTAINER_TITLE_ADD = "LIST";
Blockly.Msg.COCOCLOUD_CREATE_WITH_ITEM_TITLE = "Event";
Blockly.Msg.COCOCLOUD_GET = "Get Data from Event ";
Blockly.Msg.COCOCLOUD_GET1 = "Obtain Data";
Blockly.Msg.COCOCLOUD_GETPAYLOAD = "Data obtained from Event";
Blockly.Msg.COCOCLOUD_POST = "Send to Event ";
Blockly.Msg.COCOCLOUD_POST_DATA = "Data";
Blockly.Msg.COCOCLOUD_TIME_DAY = "Day";
Blockly.Msg.COCOCLOUD_TIME_GETDATE = "Get";
Blockly.Msg.COCOCLOUD_TIME_GETTIME = "Get";
Blockly.Msg.COCOCLOUD_TIME_HOUR = "Hour";
Blockly.Msg.COCOCLOUD_TIME_MINUTE = "Minute";
Blockly.Msg.COCOCLOUD_TIME_MONTH = "Month";
Blockly.Msg.COCOCLOUD_TIME_SECOND = "Second";
Blockly.Msg.COCOCLOUD_TIME_SETUP = "The World Time";
Blockly.Msg.COCOCLOUD_TIME_YEAR = "Year";
Blockly.Msg.COCOCLOUD_TITLE = "Web Service CocoCloud";
Blockly.Msg.COLLAPSE_ALL = "Collapse Blocks";
Blockly.Msg.COLLAPSE_BLOCK = "Collapse Block";
Blockly.Msg.COLOR = "Colour";
Blockly.Msg.COLORANALYZER_SETUP = "Colour Analyzer Setup";
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 = "Randomly select a colour.";
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 by specifying quantities 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 the 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 remaining part 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 = "Retrieve the value of variable '%1' from the starting number to the ending number, and execute the specified block at the specified time interval.";
Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = "Add a condition to the if block.";
Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = "Add a final 'case' to the 'if' block that covers all scenarios.";
Blockly.Msg.CONTROLS_IF_HELPURL = "https://github.com/google/blockly/wiki/IfElse";
Blockly.Msg.CONTROLS_IF_IF_TOOLTIP = "Add, remove, or rearrange sections to reconfigure the '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_ALL_BLOCKS = "Delete all %1 blocks?";
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.ENCODER_GETROTATIONSPEED = "Get Rotation Speed";
Blockly.Msg.ENCODER_SETUP = "Encoder Setup";
Blockly.Msg.ENCODER_SETUP_1 = "On Breakout Pin";
Blockly.Msg.ENV_AS = "As";
Blockly.Msg.ENV_BLUE_PIN = "B from PIN ";
Blockly.Msg.ENV_BUZZER_ALARM = "Buzzer Alarm";
Blockly.Msg.ENV_CRITICAL_VAL = "When the critical value of";
Blockly.Msg.ENV_DO = "Do";
Blockly.Msg.ENV_GREEN_PIN = "G from PIN ";
Blockly.Msg.ENV_REACHES = "Reaches";
Blockly.Msg.ENV_RED_PIN = "R from PIN ";
Blockly.Msg.ENV_SENSOR_HUMID = "Read value of Humidity from ";
Blockly.Msg.ENV_SENSOR_HUMIDITY = "Humidity";
Blockly.Msg.ENV_SENSOR_LIGHT = "Read value of Light from ";
Blockly.Msg.ENV_SENSOR_MIC = "Read value of Sound from ";
Blockly.Msg.ENV_SENSOR_READ = "Read value of";
Blockly.Msg.ENV_SENSOR_READTEMP = "Read value of temperature from ";
Blockly.Msg.ENV_SENSOR_SET_RGB = "Set RGB Light";
Blockly.Msg.ENV_SENSOR_SOUND = "Sound";
Blockly.Msg.ENV_SENSOR_TEMPUNIT = "Set unit as";
Blockly.Msg.ENV_SENSOR_UNITC = "Celsius";
Blockly.Msg.ENV_SENSOR_UNITF = "Fahrenheit";
Blockly.Msg.ENV_SET = "Set";
Blockly.Msg.ENV_SETRGB_B = "B from PIN ";
Blockly.Msg.ENV_SETRGB_G = "G from PIN ";
Blockly.Msg.ENV_SETRGB_R = "R from PIN ";
Blockly.Msg.ENV_SETUP = "Environmental Sensors Setup";
Blockly.Msg.ENV_SET_TEMP = "Set temperature as ";
Blockly.Msg.ENV_SET_TEMP_UNIT = "Set unit as ";
Blockly.Msg.EXPAND_ALL = "Expand Blocks";
Blockly.Msg.EXPAND_BLOCK = "Expand Block";
Blockly.Msg.EXPORTPNG = "Export as PNG";
Blockly.Msg.EXPORTXML = "Export as XML";
Blockly.Msg.EXTERNAL_INPUTS = "External Inputs";
Blockly.Msg.Friday = "Friday";
Blockly.Msg.GPS_LATITUDE = "Get Latitude";
Blockly.Msg.GPS_LONGITUDE = "Get Longitude";
Blockly.Msg.GPS_SETUP = "GPS Setup";
Blockly.Msg.GREEN = "Green";
Blockly.Msg.HELP = "Help";
Blockly.Msg.HID_KEYBOARD_PRESS = "Set Keyboard: Press";
Blockly.Msg.HID_KEYBOARD_RELEASE = "Set Keyboard: Release";
Blockly.Msg.HID_KEYBOARD_RELEASEALL = "Set Keyboard: Release All";
Blockly.Msg.HID_MOUSE_CLICK = "Set Mouse: Click";
Blockly.Msg.HID_MOUSE_CLICK_LEFT = "Left";
Blockly.Msg.HID_MOUSE_CLICK_RIGHT = "Right";
Blockly.Msg.HID_MOUSE_MOVE = "Set Mouse: Move";
Blockly.Msg.HID_MOUSE_MOVE_DISTANCE = "px";
Blockly.Msg.HID_MOUSE_MOVE_FOR = "for";
Blockly.Msg.HID_MOUSE_PRESS = "Set Mouse: Press";
Blockly.Msg.HID_MOUSE_RELEASE = "Set Mouse: Release";
Blockly.Msg.HID_SETUP = "HID Setup";
Blockly.Msg.INFRAREDRAY_RECVAL = "Signal Received";
Blockly.Msg.INFRAREDRAY_SETUP = "IR Receiver Setup";
Blockly.Msg.INLINE_INPUTS = "Inline Inputs";
Blockly.Msg.ISCOLOR = "Is color";
Blockly.Msg.JSONOBJECT_CREATE = "JSON Object";
Blockly.Msg.JSONTOOL_ARRAY_SIZE = "Array size";
Blockly.Msg.JSONTOOL_GENERATOR = "JSON genrator";
Blockly.Msg.JSONTOOL_GENERATOR_ARRAY_VALUE = "JSON Array add: value";
Blockly.Msg.JSONTOOL_GENERATOR_JSONOBJECT = "Object";
Blockly.Msg.JSONTOOL_GENERATOR_KEY = "JSON Object add: Key ";
Blockly.Msg.JSONTOOL_GENERATOR_MAIN_JSONNAME = "JSONVar";
Blockly.Msg.JSONTOOL_GENERATOR_MAIN_TITLE = "Generate a JSON";
Blockly.Msg.JSONTOOL_GENERATOR_MAIN_TITLE_NAME = "Named";
Blockly.Msg.JSONTOOL_GENERATOR_NESTED_TITLE = "Nested a JSON";
Blockly.Msg.JSONTOOL_GENERATOR_NESTED_TITLE_NAME = "named";
Blockly.Msg.JSONTOOL_GENERATOR_SETUP = "JSON genrator Setup";
Blockly.Msg.JSONTOOL_GENERATOR_VALUE = "Value";
Blockly.Msg.JSONTOOL_OBJECT_SIZE = "Object size";
Blockly.Msg.JSONTOOL_PARSE_ARRAY = "(JSON Array)";
Blockly.Msg.JSONTOOL_PARSE_BY = "Get item of ";
Blockly.Msg.JSONTOOL_PARSE_EACH = "From JSON Object ";
Blockly.Msg.JSONTOOL_PARSE_INDEX = "Index of";
Blockly.Msg.JSONTOOL_PARSE_ISSUCCESS = "Did the parsing succeed?";
Blockly.Msg.JSONTOOL_PARSE_ISSUCCESS_NAME = "Is JSON Object";
Blockly.Msg.JSONTOOL_PARSE_JSONOBJECT = "Object";
Blockly.Msg.JSONTOOL_PARSE_KEY = "(JSON Object) Key";
Blockly.Msg.JSONTOOL_PARSE_KEYVALUE = "From JSON Object %1 get item of %2";
Blockly.Msg.JSONTOOL_PARSE_NEST = "Nested with";
Blockly.Msg.JSONTOOL_PARSE_PRETTYPRINT = "Print JSON ";
Blockly.Msg.JSONTOOL_PARSE_PRETTYPRINT_DISPLAY = "Pretty data";
Blockly.Msg.JSONTOOL_PARSE_PRETTYPRINT_WAY = "In pretty way";
Blockly.Msg.JSONTOOL_PARSE_RESPONSE = " Data";
Blockly.Msg.JSONTOOL_PARSE_SETUP = "JSON Parser Setup";
Blockly.Msg.JSONTOOL_PARSE_TOVAR = "Get item to";
Blockly.Msg.JSONTOOL_PARSE_VARTYPE = "";
Blockly.Msg.LED_BACKCOLOR = "Background";
Blockly.Msg.LED_BRIGHTNESS_WARNING = "Brightness must be in range 0 - 255";
Blockly.Msg.LED_BRTN = "Brightness";
Blockly.Msg.LED_CLEAR = "Clear Screen";
Blockly.Msg.LED_COLOR = "Color";

Blockly.Msg.LED_DRAW = "Draw ";
Blockly.Msg.LED_FONT = "Font";
Blockly.Msg.LCD_FONT = "Font: ";
Blockly.Msg.SUPER_LARGE = "Super Large";
Blockly.Msg.LARGE = "Large";
Blockly.Msg.MIDDLE = "Medium";
Blockly.Msg.SMALL = "Small";
Blockly.Msg.LED_FULL = "Full";
Blockly.Msg.LED_HEIGHT = "Height";
Blockly.Msg.LED_LINE = "Line";
Blockly.Msg.LED_LINE_END = "To";
Blockly.Msg.LED_LINE_START = "Start From";
Blockly.Msg.LED_MULTICOM = "H";
Blockly.Msg.LED_PANELHEIGHT = "Number of Matrix in Height";
Blockly.Msg.LED_PANELWIDTH = "Number of Matrix in Width";
Blockly.Msg.LED_PATTERN = "Pattern";
Blockly.Msg.LED_PIN = "Pin";
Blockly.Msg.LED_PIXEL = "Pixel";
Blockly.Msg.LED_POSITION = "Position";
Blockly.Msg.LED_RECTANGLE = "Rectangle";
Blockly.Msg.LED_SCROLL = "Scrolling";
Blockly.Msg.LED_SCROLL_NO = "No";
Blockly.Msg.LED_SCROLL_SPEED = "Speed";
Blockly.Msg.LED_SCROLL_YES = "Yes";
Blockly.Msg.LED_SETUP = "LED Matrix Setup";
Blockly.Msg.LED_SET_BRIGHTNESS = "Set brightness to";
Blockly.Msg.LED_SET_ROTATION = "Set rotation to";
Blockly.Msg.LED_SET_ROTATION_DEGREE = "Degree";
Blockly.Msg.LED_SHOW_ALL = "Show Above";
Blockly.Msg.LED_SINGLE_SETUP = "Single LED Matrix Setup";
Blockly.Msg.LED_SIZE = "Size";
Blockly.Msg.LED_STRIP_LOCATION = "Location";
Blockly.Msg.LED_STRIP_PIXEL = "Draw Pixel";
Blockly.Msg.LED_STROKED = "Stroked";
Blockly.Msg.LED_TEXT = "Text";
Blockly.Msg.LED_WIDTH = " Width";
Blockly.Msg.LED_WORD = "Word";
Blockly.Msg.LIGHT_BRIGHTNESS = "at brightness";
Blockly.Msg.LIGHT_PIN = "Set light on";
Blockly.Msg.LIGHT_TURNOFF = "Turn off light on";
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_LIST_WITH = "Create list with";
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.LISTS_CREATE_WITH_HELPURL = "https://github.com/google/blockly/wiki/Lists#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_GETINDEX = "From %1 get item at %2";
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 = "blank";
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 = "blank";
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 item is not found.";
Blockly.Msg.LISTS_INLIST = "In list";
Blockly.Msg.LISTS_INT_CREATE_WITH_INPUT_WITH = "Create Number List with";
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_SETINDEX = "Set %1 at index %2 to %3";
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_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 = "Sort alphabetically, disregarding case.";
Blockly.Msg.LISTS_SORT_TYPE_NUMERIC = "Sort by numbers";
Blockly.Msg.LISTS_SORT_TYPE_TEXT = "sort alphabetically";
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.LISTS_STRING_CREATE_WITH_INPUT_WITH = "Create String List with";
Blockly.Msg.LISTS_THE_LENGTH_OF = "The length of %1";
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_CASE = "Case";
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_DEFAULT = "Default";
Blockly.Msg.LOGIC_DO = "Do";
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_SWITCH = "Switch";
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.MAINEASYMODE_TRANSFER_RECEIVE = "Get Data from AI Module";
Blockly.Msg.MAINEASYMODE_TRANSFER_RECEIVE_GET = "From ";
Blockly.Msg.MAINEASYMODE_TRANSFER_RECEIVE_GET_LINE2 = "Get data at ";
Blockly.Msg.MAINEASYMODE_TRANSFER_RECEIVE_GET_LINE3 = "As Type";
Blockly.Msg.MAINEASYMODE_TRANSFER_RECEIVE_GET_LINE4 = "";
Blockly.Msg.MAINEASYMODE_TRANSFER_RECEIVE_LINE2 = "And store it to ";
Blockly.Msg.MAINEASYMODE_TRANSFER_RECEIVE_LINE3 = "With length of ";
Blockly.Msg.MAINEASYMODE_TRANSFER_SEND = "Create List";
Blockly.Msg.MAINEASYMODE_TRANSFER_SEND_LINE2 = "Send data to AI Module";
Blockly.Msg.MAINEASYMODE_TRANSFER_SEND_VALUE = "Data";
Blockly.Msg.MAINWIFI_RECEIVEMSG = "Receive data to";
Blockly.Msg.MAINWIFI_RECEIVEMSG_ISSUCCESS = "Receive data successfully";
Blockly.Msg.MAINWIFI_RECEIVEMSG_LENGTH = ", Data length ";
Blockly.Msg.MAINWIFI_SENDMSG = "Send data ";
Blockly.Msg.MAINWIFI_SENDMSG_LENGTH = ", data length ";
Blockly.Msg.MAINWIFI_SETUP = "WiFi Data Transfer Setup";
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 = "Restrict the number to be between two specified values.";
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.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_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.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.ME = "Me";
Blockly.Msg.MOTION_GETACC = "Get Acceleration Value of";
Blockly.Msg.MOTION_GETACC1 = "directional acceleration";
Blockly.Msg.MOTION_GETRAWDATA = "Get rawdata";
Blockly.Msg.MOTION_GETYPR = "Get Rotation Value of";
Blockly.Msg.MOTION_GETYPR1 = "rotation angle";
Blockly.Msg.MOTION_ONDIRECTION = "On Tilt Direction";
Blockly.Msg.MOTION_ONDIRECTION1 = "deflection";
Blockly.Msg.MOTION_ONDIRECTION_BACK = "Back";
Blockly.Msg.MOTION_ONDIRECTION_CLOCKWISE = "Clockwise";
Blockly.Msg.MOTION_ONDIRECTION_COUNTERCLOCKWISE = "Counter-clockwise";
Blockly.Msg.MOTION_ONDIRECTION_FRONT = "Front";
Blockly.Msg.MOTION_ONDIRECTION_LEFT = "Left";
Blockly.Msg.MOTION_ONDIRECTION_RIGHT = "Right";
Blockly.Msg.MOTION_ONSHAKE = "On Shake";
Blockly.Msg.MOTION_SETUP = "Motion Setup";
Blockly.Msg.MOTION_TRENDENCY = "Get motion trendency";
Blockly.Msg.MOTOR_MOVE_DIRECTION1 = "Clockwise";
Blockly.Msg.MOTOR_MOVE_DIRECTION2 = "Counter-clockwise";
Blockly.Msg.MOTOR_MOVE_MOTOR = "Set motor";
Blockly.Msg.MOTOR_MOVE_MSG = "And";
Blockly.Msg.MOTOR_SETUP = "Motor Driver Setup";
Blockly.Msg.MOTOR_SPEED = "Speed";
Blockly.Msg.MOTOR_STOP = "Set Motors Stop";
Blockly.Msg.MUSIC_BEAT = "Beat";
Blockly.Msg.MUSIC_DURATION = "For";
Blockly.Msg.MUSIC_INSTRUMENT = "Set instrument:";
Blockly.Msg.MUSIC_INSTRUMENT_ACCORION = "Accordion";
Blockly.Msg.MUSIC_INSTRUMENT_BASS = "Bass";
Blockly.Msg.MUSIC_INSTRUMENT_CELLO = "Cello";
Blockly.Msg.MUSIC_INSTRUMENT_DRAWBARORGAN = "Drawbar Organ";
Blockly.Msg.MUSIC_INSTRUMENT_DRUM = "Drum";
Blockly.Msg.MUSIC_INSTRUMENT_EGUITAR = "Electric Guitar";
Blockly.Msg.MUSIC_INSTRUMENT_EPIANO = "Electric Piano";
Blockly.Msg.MUSIC_INSTRUMENT_FLUTE = "Flute";
Blockly.Msg.MUSIC_INSTRUMENT_GPIANO = "Grand Piano";
Blockly.Msg.MUSIC_INSTRUMENT_GUITAR = "Guitar";
Blockly.Msg.MUSIC_INSTRUMENT_MUSICBOX = "Music Box";
Blockly.Msg.MUSIC_INSTRUMENT_PICCOLO = "Piccolo";
Blockly.Msg.MUSIC_INSTRUMENT_SAX = "Sax";
Blockly.Msg.MUSIC_INSTRUMENT_SITAR = "Sitar";
Blockly.Msg.MUSIC_INSTRUMENT_TRUMPET = "Trumpet";
Blockly.Msg.MUSIC_INSTRUMENT_VIOLA = "Viola";
Blockly.Msg.MUSIC_INSTRUMENT_VIOLIN = "Violin";
Blockly.Msg.MUSIC_INSTRUMENT_WHISTLE = "Whistle";
Blockly.Msg.MUSIC_INSTRUMENT_WOODBLOCK = "Woodblock";
Blockly.Msg.MUSIC_INSTRUMENT_XYLOPHONE = "Xylophone";
Blockly.Msg.MUSIC_MP3_CURRENTVOLUME = "Get current volume";
Blockly.Msg.MUSIC_MP3_PLAYALL = "List Play";
Blockly.Msg.MUSIC_MP3_PLAYALL_NAME = "Play Mode";
Blockly.Msg.MUSIC_MP3_PLAYMODE_LISTREPEAT = "List Repeat";
Blockly.Msg.MUSIC_MP3_PLAYMODE_NORMAL = "Normal";
Blockly.Msg.MUSIC_MP3_PLAYMODE_REPEAT = "Repeat";
Blockly.Msg.MUSIC_MP3_PLAYONE = "Play music ";
Blockly.Msg.MUSIC_MP3_PLAYONE_NAME = "Music:";
Blockly.Msg.MUSIC_MP3_PLAYONE_NORMAL = "once";
Blockly.Msg.MUSIC_MP3_PLAYONE_REPEAT = "repeat";
Blockly.Msg.MUSIC_MP3_PLAYSETTING = "play setting";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_NEXTSONG = "Next song";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_PAUSE = "Pause";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_PLAYALL = "Play all Song";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_PRESONG = "Previous song";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_RESUME = "Resume";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_STOP = "Stop";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_VOLDOWN = "Volume down";
Blockly.Msg.MUSIC_MP3_PLAYSETTING_VOLUP = "Volume up";
Blockly.Msg.MUSIC_MP3_PLAY_NORMAL = "Normal";
Blockly.Msg.MUSIC_MP3_PLAY_REPEAT = "List Repeat";
Blockly.Msg.MUSIC_MP3_SETUP = "MP3 Player Setup";
Blockly.Msg.MUSIC_MP3_SETUP_SETVOLUME = "Set volume";
Blockly.Msg.MUSIC_MP3_SETUP_SETVOLUME_HIGH = "High";
Blockly.Msg.MUSIC_MP3_SETUP_SETVOLUME_LOW = "Low";
Blockly.Msg.MUSIC_MP3_SETUP_SETVOLUME_MID = "Mid";
Blockly.Msg.MUSIC_MP3_SETVOLUME = "Set volume to";
Blockly.Msg.MUSIC_NOTE = "Note";
Blockly.Msg.MUSIC_PLAY_NOTE = "Play";
Blockly.Msg.MUSIC_PLAY_NOTE_TOOLTIP = "Right click this block and check the help page to see the corresponding music note.";
Blockly.Msg.MUSIC_REST = "Rest for";
Blockly.Msg.MUSIC_VOLUME = "Set volume as";
Blockly.Msg.MUSIC_VOL_MAX = "Max";
Blockly.Msg.MUSIC_VOL_MIN = "Min";
Blockly.Msg.Monday = "Monday";
Blockly.Msg.Motion_Accelerate = "Accelerate";
Blockly.Msg.Motion_Gyroscope = "Gyroscope";
Blockly.Msg.NBIOT_ENABLE = "Enable NB-IoT Interactive Serial";
Blockly.Msg.NBIOT_HTTP_APIKEY = "Cloud Event API Key";
Blockly.Msg.NBIOT_HTTP_CLOUD_GET = "NB-IoT CocoCloud: Receive Data";
Blockly.Msg.NBIOT_HTTP_CONTENTTYPE = "Content Type";
Blockly.Msg.NBIOT_HTTP_DATA = "Data:";
Blockly.Msg.NBIOT_HTTP_IFTTT_APIKEY = "IFTTT API Key";
Blockly.Msg.NBIOT_HTTP_IFTTT_EVENT = "IFTTT Event Name";
Blockly.Msg.NBIOT_HTTP_IFTTT_TITLE = "NB-IoT IFTTT: Send Data";
Blockly.Msg.NBIOT_HTTP_THINGSPEAK_APIKEY = "Event API Key";
Blockly.Msg.NBIOT_HTTP_THINGSPEAK_TITLE = "NB-IoT Thingspeak: Send Data";
Blockly.Msg.NBIOT_HTTP_TITLE = "NB-IoT CocoCloud: Send Data";
Blockly.Msg.NBIOT_IS_POWERON = "NB-IoT Module is Powered On";
Blockly.Msg.NBIOT_NETWORK_CONNECTED = "Network Connected";
Blockly.Msg.NBIOT_NETWORK_IP = "Get NB-IoT Module IP";
Blockly.Msg.NBIOT_SETUP = "NB-IoT Comm.Setup";
Blockly.Msg.NEW_INSTANCE = "New instance...";
Blockly.Msg.NEW_INSTANCE_TITLE = "New instance name:";
Blockly.Msg.NEW_VARIABLE = "New variable...";
Blockly.Msg.NEW_VARIABLE_TITLE = "New variable name:";
Blockly.Msg.NRFMODULE_GET_RECEIVED_DATA = "Get nRF Module Received Data";
Blockly.Msg.NRFMODULE_RECEIVING_DATA_TEXT = "nRF Module Start Receiving Data";
Blockly.Msg.NRFMODULE_SEND_DATA_DATA_TEXT = "Data:";
Blockly.Msg.NRFMODULE_SEND_DATA_TITLE = "nRF Module Send Data";
Blockly.Msg.NRFMODULE_SETUP_CE_TEXT = "CE Pin:";
Blockly.Msg.NRFMODULE_SETUP_CSN_TEXT = "CSN Pin:";
Blockly.Msg.NRFMODULE_SETUP_SET_ADDRESS = "Set Connection Address:";
Blockly.Msg.NRFMODULE_SETUP_TITLE = "nRF24L01 Communication Module Setup";
Blockly.Msg.OLCD_CENTER_POS = "Center Position";
Blockly.Msg.OLCD_SCALE = "Scale";
Blockly.Msg.OLCD_WT = "Wrap Text";
Blockly.Msg.OLCD_BW = "Border Width";


Blockly.Msg.OLCD_SET_POS = "Set Position";
Blockly.Msg.OLCD_CIRCLE = "Circle";
Blockly.Msg.OLCD_CLEAR = "Clear";
Blockly.Msg.OLCD_COLOR = "Color";
Blockly.Msg.OLCD_COORDINATE = "Coordinate";
Blockly.Msg.OLCD_DRAW = "LCD Display: Draw ";
Blockly.Msg.OLCD_FALSE = "False";

Blockly.Msg.OLCD_VLINE = "Vline";
Blockly.Msg.OLCD_HLINE = "Hline";
Blockly.Msg.OLCD_LENGTHIS = "Length is";

Blockly.Msg.OLCD_FULLCIRCLE = "Fullcircle";
Blockly.Msg.OLCD_CIRCLE = "Circle";

Blockly.Msg.OLCD_FULL = "Full";
Blockly.Msg.OLCD_HEIGHT = "Height";
Blockly.Msg.OLCD_LINE = "Line";
Blockly.Msg.OLCD_SCREEN = "Screen";
Blockly.Msg.OLCD_LINE_END = "To";
Blockly.Msg.OLCD_LINE_START = "Start From";
Blockly.Msg.OLCD_POINT = "Point";
Blockly.Msg.OLCD_POSITION = "Position";

Blockly.Msg.OLCD_RADIUS = "Set Radius as";
Blockly.Msg.OLCD_RECTANGLE = "Rectangle";
Blockly.Msg.OLCD_SETROTATION = "LCD Display: Set Screen Rotation";
Blockly.Msg.OLCD_SETROTATION_DEGREE = "degree";
Blockly.Msg.OLCD_SETUP = "LCD Screen Setup";
Blockly.Msg.OLCD_SIZE = "Size";
Blockly.Msg.OLCD_STROKED = "Stroked";
Blockly.Msg.OLCD_TEXT = "Text";
Blockly.Msg.OLCD_TEXTNEWLINE = "New Line";
Blockly.Msg.OLCD_TRIANGLE = "Triangle";
Blockly.Msg.OLCD_TRUE = "True";
Blockly.Msg.OLCD_WIDTH = "Width";
Blockly.Msg.ORDINAL_NUMBER_SUFFIX = "blank";
Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS = "Allow statements";
Blockly.Msg.PROCEDURES_BEFORE_PARAMS = "With:";
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 = "Execute the user-defined function '%1' and utilize its output value.";
Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = "With:";
Blockly.Msg.PROCEDURES_CREATE_DO = "Create '%1'";
Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = "Describe this function...";
Blockly.Msg.PROCEDURES_DEFNORETURN_DO = "Do";
Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = "Func1";
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_HELPURL = "http://c2.com/cgi/wiki?GuardClause";
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.PULSESENSOR_GETBPM = "Get BPM";
Blockly.Msg.PULSESENSOR_HEARTBEAT_PRINT = "Serial Print Pulse Raw Data";
Blockly.Msg.PULSESENSOR_HEARTBEAT_WHEN = "When Your Heart Beats";
Blockly.Msg.PULSESENSOR_HEARTBEAT_WHENNO = "When Your Heart Doesn't Beats";
Blockly.Msg.PULSESENSOR_SETUP = "Pulse Sensor Setup";
Blockly.Msg.PULSESENSOR_SETUP_1 = "Set Pin on";
Blockly.Msg.READ_B = "Read Blue";
Blockly.Msg.READ_G = "Read Green";
Blockly.Msg.READ_R = "Read Red";
Blockly.Msg.RED = "Red";
Blockly.Msg.REDO = "Redo";
Blockly.Msg.REMOVE_COMMENT = "Remove Comment";
Blockly.Msg.RENAME_INSTANCE = "Rename instance...";
Blockly.Msg.RENAME_INSTANCE_TITLE = "Rename all '%1' instances to:";
Blockly.Msg.RENAME_VARIABLE = "Rename variable...";
Blockly.Msg.RENAME_VARIABLE_TITLE = "Rename all '%1' variables to:";
Blockly.Msg.REQUEST_DATA_CLOUD = "Cloud Data";
Blockly.Msg.REQUEST_DATA_STRING = "String";
Blockly.Msg.RFID_READID = "Read Card ID";
Blockly.Msg.RFID_SETUP = "RFID Setup";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT = "Configure the motion of the biped";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_BACKYARD = "Walk Backward";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_GOINGUP = "Going Up";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_KICKLEFT = "Kick Left";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_KICKRIGHT = "Kick Right";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_MOONWALKLEFT = "Moonwalk to Left";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_MOONWALKRIGHT = "Moonwalk to Right";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_RUN = "Run";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_SWING = "Swing Dance";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_TURNLEFT = "Turn Left";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_TURNRIGHT = "Turn Right";
Blockly.Msg.ROBOT_SETMOVE_MOVEMENT_WALK = "Walk Forward";
Blockly.Msg.ROBOT_SETMOVE_TEMPO = "With tempo in";
Blockly.Msg.ROBOT_SETUP = "Configuring a bipedal walking robot.";
Blockly.Msg.ROBOT_SETUP_SETRLPIN = "And Left Foot pin#";
Blockly.Msg.ROBOT_SETUP_SETRRPIN = "Set Right Foot pin#";
Blockly.Msg.ROBOT_SETUP_SETYLPIN = "And Left Hip pin#";
Blockly.Msg.ROBOT_SETUP_SETYRPIN = "Set Right Hip pin#";
Blockly.Msg.RTC_DAY = "Day";
Blockly.Msg.RTC_GETDATE = "Get Current Date";
Blockly.Msg.RTC_GETTIME = "Get Current Time";
Blockly.Msg.RTC_GETWEEK = "Get Current Week";
Blockly.Msg.RTC_setDATE = "Set Current Date";
Blockly.Msg.RTC_setTIME = "Set Current Time";
Blockly.Msg.RTC_setWEEK = "Set Current Week to";
Blockly.Msg.RTC_WEI = " to";
Blockly.Msg.RTC_getDateTime = "Get time (year, month, day, week, hour, minute, second)";
Blockly.Msg.RTC_HOUR = "Hour";
Blockly.Msg.RTC_MINUTE = "Minute";
Blockly.Msg.RTC_MONTH = "Month";
Blockly.Msg.RTC_SECOND = "Second";
Blockly.Msg.RTC_SETDATE = "Date";
Blockly.Msg.RTC_SETDATETIME = "Set Date,Time and Week";
Blockly.Msg.RTC_SETTIME = "Time";
Blockly.Msg.RTC_SETUP = "RTC Setup";
Blockly.Msg.RTC_SETWEEK = "Week";
Blockly.Msg.RTC_WEEK = "Week";
Blockly.Msg.RTC_YEAR = "Year";
Blockly.Msg.SONAR = "Sonar";
Blockly.Msg.SONAR_READ_DIST = "Read distance (cm) from";
Blockly.Msg.SONAR_SETUP = "Setup";
Blockly.Msg.SONAR_SETUP_ECHOPIN = "And Echo at pin#";
Blockly.Msg.SONAR_SETUP_MAXDIST = "Set max distance";
Blockly.Msg.SONAR_SETUP_TRIGPIN = "Set Trig at pin#";
Blockly.Msg.Saturday = "Saturday";
Blockly.Msg.Sunday = "Sunday";
Blockly.Msg.DEEP_LEARING = "Deep learing";
Blockly.Msg.Emotion_recognition = "Emotion recognition";
Blockly.Msg.Gesture_recognition = "Gesture recognition";
Blockly.Msg.Object_recognition = "Object recognition";
Blockly.Msg.guesswork_recognition = "Guesswork recognition";
Blockly.Msg.Posture_recognition = "Posture recognition";
Blockly.Msg.Course_people = "Course people";
Blockly.Msg.Voice_recognition = "Voice recognition";
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 = "blank";
Blockly.Msg.TEXT_INDEXOF_TOOLTIP = "Returns the index of the first/last occurrence of the 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.THINGSPEAK_CREATE_WITH_CONTAINER_TITLE_ADD = "Field";
Blockly.Msg.THINGSPEAK_CREATE_WITH_INPUT_WITH = "FIELD";
Blockly.Msg.THINGSPEAK_CREATE_WITH_ITEM_TITLE = "Value";
Blockly.Msg.TODAY = "Today";
Blockly.Msg.TOUCH_AT = "When Touch Pin ";
Blockly.Msg.TOUCH_CASE = "Key No.";
Blockly.Msg.TOUCH_DEFAULT = "Default";
Blockly.Msg.TOUCH_DO = "Do";
Blockly.Msg.TOUCH_LOOSE = "When loose it";
Blockly.Msg.TOUCH_SETUP = "Touch Sensor Setup";
Blockly.Msg.TOUCH_SWITCH = "⌘ When Touch Pins";
Blockly.Msg.TOUCH_THEN_LOOSE_SWITCH = "⌘ Loose touched Pins";
Blockly.Msg.Thursday = "Thursday";
Blockly.Msg.Tuesday = "Tuesday";
Blockly.Msg.UNDO = "Undo";
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 '%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.WATERTEMP_GET_TEMP = "Get Water Temperature (ºC)";
Blockly.Msg.WATERTEMP_SETUP_ATTACHED_PIN = "Digital Pin Attached:";
Blockly.Msg.WATERTEMP_SETUP_BLOCKNAME = "Water Temperature Sensor";
Blockly.Msg.WATERTEMP_SETUP_SENSORTYPE = "Sensor type:";
Blockly.Msg.WATERTEMP_SETUP_SETUP = "Setup";
Blockly.Msg.WEBPAGE_BUTTONCTRL_SETPATH = " Set path to:";
Blockly.Msg.WEBPAGE_BUTTONCTRL_TEXT_BOTTOM = "Button Bottom:";
Blockly.Msg.WEBPAGE_BUTTONCTRL_TEXT_CENTER = "Button Center:";
Blockly.Msg.WEBPAGE_BUTTONCTRL_TEXT_LEFT = "Button Left:";
Blockly.Msg.WEBPAGE_BUTTONCTRL_TEXT_RIGHT = "Button Right:";
Blockly.Msg.WEBPAGE_BUTTONCTRL_TEXT_TOP = "Button Top:";
Blockly.Msg.WEBPAGE_BUTTONCTRL_TITLE = "Web Dashboard: Button Controller";
Blockly.Msg.WEBPAGE_BUTTON_NAME = "Button Name";
Blockly.Msg.WEBPAGE_BUTTON_ROUTER = "Set request path to:";
Blockly.Msg.WEBPAGE_BUTTON_TITLE = "Web Dashboard: Button";
Blockly.Msg.WEBPAGE_COLORPICKER_PATH = "Set request path to:";
Blockly.Msg.WEBPAGE_COLORPICKER_SUBTITLE = "(Note: Data format in RGB)";
Blockly.Msg.WEBPAGE_COLORPICKER_TITLE = "Web Dashboard: Color Picker Widget";
Blockly.Msg.WEBPAGE_LABLE = "Label Name";
Blockly.Msg.WEBPAGE_LABLE_TITLE = "Web Dashboard: Label";
Blockly.Msg.WIFICLIENT_HTTP_GET_DATA = "Get data stored into";
Blockly.Msg.WIFICLIENT_HTTP_GET_URL = "Send GET Request to";
Blockly.Msg.WIFICLIENT_HTTP_POST_DATA = "Data";
Blockly.Msg.WIFICLIENT_HTTP_POST_TYPE = "as";
Blockly.Msg.WIFICLIENT_HTTP_POST_URL = "Send POST Request to";
Blockly.Msg.WIFICLIENT_HTTP_POST_VAR = "Create list";
Blockly.Msg.WIFICLIENT_HTTP_PUT_DATA = "From content";
Blockly.Msg.WIFICLIENT_HTTP_PUT_TYPE = "as";
Blockly.Msg.WIFICLIENT_HTTP_PUT_URL = "Send PUT Request to";
Blockly.Msg.WIFICLIENT_HTTP_RESPONSE = "Get HTTP Response";
Blockly.Msg.WIFICLIENT_HTTP_SETUP = "Client Setup";
Blockly.Msg.WIFICLIENT_RECEIVE_GET = "From";
Blockly.Msg.WIFICLIENT_RECEIVE_GET_LINE2 = "Get data of index";
Blockly.Msg.WIFICLIENT_RECEIVE_GET_LINE3 = "As type";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_END = "value";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_GETDATA = "Get Data and Store it to ";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_KEY = "From";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_KEY1 = "Get the value with property";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_KEY2 = "Named ";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_SENDDATA = "Send Data ";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_SETVAR = "Item";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_SETVAR_FROM = "";
Blockly.Msg.WIFIEASYMODE_COCOCLOUD_TYPE = "As type";
Blockly.Msg.WIFIEASYMODE_COCOClOUD_DATA_NAME = "Name:";
Blockly.Msg.WIFIEASYMODE_COCOClOUD_EVENT = "Cloud Event API Key:";
Blockly.Msg.WIFIEASYMODE_IFTTT_EVENT = "IFTTT Event Name:";
Blockly.Msg.WIFIEASYMODE_IFTTT_FETCH = "Fecth data";
Blockly.Msg.WIFIEASYMODE_IFTTT_KEY = "IFTTT Key:";
Blockly.Msg.WIFIEASYMODE_IFTTT_POST = "Post data";
Blockly.Msg.WIFIEASYMODE_IFTTT_SENDDATA = "Send Data";
Blockly.Msg.WIFIEASYMODE_IFTTT_TYPE = "Webhook Type:";
Blockly.Msg.WIFIEASYMODE_NETWORK_PW = "WiFi Password";
Blockly.Msg.WIFIEASYMODE_NETWORK_SSID = "WiFi Name";
Blockly.Msg.WIFIEASYMODE_NETWORK_TITLE = "Connect to WiFi:";
Blockly.Msg.WIFIEASYMODE_THINGSPEAK_APIKEY = "Channel API Key:";
Blockly.Msg.WIFIEASYMODE_THINGSPEAK_SENDDATA = "Send data:";
Blockly.Msg.WIFIEASYMODE_TRANSFER_RECEIVE = "Get Data from Main Controller";
Blockly.Msg.WIFIEASYMODE_TRANSFER_RECEIVE_GET = "From ";
Blockly.Msg.WIFIEASYMODE_TRANSFER_RECEIVE_GET_LINE2 = "Get data at ";
Blockly.Msg.WIFIEASYMODE_TRANSFER_RECEIVE_GET_LINE3 = "As Type";
Blockly.Msg.WIFIEASYMODE_TRANSFER_RECEIVE_GET_LINE4 = "";
Blockly.Msg.WIFIEASYMODE_TRANSFER_RECEIVE_LINE2 = "And store it to ";
Blockly.Msg.WIFIEASYMODE_TRANSFER_RECEIVE_LINE3 = "with length of ";
Blockly.Msg.WIFIEASYMODE_TRANSFER_SEND = "Create List";
Blockly.Msg.WIFIEASYMODE_TRANSFER_SEND_LINE2 = "Send data to Main Controller";
Blockly.Msg.WIFIEASYMODE_TRANSFER_SEND_VALUE = "Data";
Blockly.Msg.WIFINETWORK_AP_PW = "Set PASSWORD ";
Blockly.Msg.WIFINETWORK_AP_SETUP = "WiFi Access Point Setup";
Blockly.Msg.WIFINETWORK_AP_SSID = "Set SSID ";
Blockly.Msg.WIFINETWORK_CONNECT = "WiFi Connect Setup";
Blockly.Msg.WIFINETWORK_CONNECT_PW = "Set PASSWORD ";
Blockly.Msg.WIFINETWORK_CONNECT_SSID = "Set SSID ";
Blockly.Msg.WIFINETWORK_GETGATEWAYIP = "Get Gateway IP";
Blockly.Msg.WIFINETWORK_GETLOCALIP = "Get local IP";
Blockly.Msg.WIFINETWORK_GETMACADDR = "Get MAC address";
Blockly.Msg.WIFINETWORK_GETSTATIONNUM = "Get client number";
Blockly.Msg.WIFINETWORK_ISCONNECTED = "isConnected";
Blockly.Msg.WIFINETWORK_PW_WARN = "The password should be more than 8 characters long.";
Blockly.Msg.WIFISERVER_HANDLECLIENT = "Handleclient";
Blockly.Msg.WIFISERVER_LIST = "Create List";
Blockly.Msg.WIFISERVER_RECEIVE = "Server receive data";
Blockly.Msg.WIFISERVER_RECEIVE_GET = "From";
Blockly.Msg.WIFISERVER_RECEIVE_GET_INT = "Number";
Blockly.Msg.WIFISERVER_RECEIVE_GET_LINE2 = "Get data at ";
Blockly.Msg.WIFISERVER_RECEIVE_GET_LINE3 = " As type ";
Blockly.Msg.WIFISERVER_RECEIVE_GET_STRING = "Text";
Blockly.Msg.WIFISERVER_RECEIVE_LENGTH = "With length of ";
Blockly.Msg.WIFISERVER_RECEIVE_TO = "And store it to";
Blockly.Msg.WIFISERVER_SEND = "Server send data";
Blockly.Msg.WIFISERVER_SERVERSEND = "Server send ";
Blockly.Msg.WIFISERVER_SERVERSEND_CODE = "HTTP code";

Blockly.Msg.WIFISERVER_SERVERSEND_TYPE = "Type";
Blockly.Msg.WIFISERVER_SETROOTPAGE = "Set homepage";
Blockly.Msg.WIFISERVER_SETROUTER = "Server Router";
Blockly.Msg.WIFISERVER_SETROUTER_ONNOTFOUND = "Set Router when URL no found, do with";
Blockly.Msg.WIFISERVER_SETROUTER_SET = "Set path on";
Blockly.Msg.WIFISERVER_SETROUTER_WITH = "Do";
Blockly.Msg.WIFISERVER_SETUP = "Server Setup";
Blockly.Msg.WIFISERVER_WAIT_CONNECTION = "Wait connection";
Blockly.Msg.WIFIWEBSERVICES_IFTTT = "Web Service IFTTT";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_EVENT = "Event ";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_KEY = "Key ";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_KEY1 = "Key1";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_KEY2 = "Key2";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_KEY3 = "Key3";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_VALUE1 = "Value1";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_VALUE2 = "Value2";
Blockly.Msg.WIFIWEBSERVICES_IFTTT_SET_VALUE3 = "Value3";
Blockly.Msg.WIFIWEBSERVICES_THINKSPEAK = "Web Service Thinkspeak";
Blockly.Msg.WIFIWEBSERVICES_THINKSPEAK_SET_FIELD1 = "Field";
Blockly.Msg.WIFIWEBSERVICES_THINKSPEAK_SET_KEY = "Api-key";
Blockly.Msg.WIFIWEBSERVICES_THINKSPEAK_SET_VALUE = "Value";
Blockly.Msg.WIFI_RECEIVEMSG = "Receive data to";
Blockly.Msg.WIFI_RECEIVEMSG_ISSUCCESS = "Receive data successfully";
Blockly.Msg.WIFI_RECEIVEMSG_LENGTH = ", data length ";
Blockly.Msg.WIFI_SENDMSG = "Send data ";
Blockly.Msg.WIFI_SENDMSG_LENGTH = ", data length ";
Blockly.Msg.WIFI_SETUP = "Data Transfer Setup";
Blockly.Msg.Wednesday = "Wednesday";
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.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;
Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
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.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
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.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;



Blockly.Msg.ADD_COMMENT = "Add Comment";
Blockly.Msg.AIYBOARD_AIY_BOARD = "AIY Board";
Blockly.Msg.AIYBOARD_BUTTON_FROM = "From";
Blockly.Msg.AIYBOARD_BUTTON_WHEN = "When button";
Blockly.Msg.AIYBOARD_FROM = "From aiy.board";
Blockly.Msg.AIYBOARD_IMPORT = "Import";
Blockly.Msg.AIYBOARD_LED_STATE = "Gget LED state of";
Blockly.Msg.AIYBOARD_LED_STATUS = "Get LED status of";
Blockly.Msg.CAMERA_CAMERA = "Camera";
Blockly.Msg.CAMERA_DO = "Do";
Blockly.Msg.CAMERA_FPS = "fps";
Blockly.Msg.CAMERA_FRAME_RATE = "Frame Rete:";
Blockly.Msg.CAMERA_IMPORT = "Import piCamera";
Blockly.Msg.CAMERA_RESOLUTION = "Resolution";
Blockly.Msg.CAMERA_SENSOR_MODE = "Sensor Mode:";
Blockly.Msg.CAMERA_SET_BOUNDING = "Set bounding box:";
Blockly.Msg.CAMERA_USE_AS = "Use PiCamera as";
Blockly.Msg.CHANGE_VALUE_TITLE = "Change value:";
Blockly.Msg.CLEAN_UP = "Clean up Blocks";
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 = "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_ALL_BLOCKS = "Delete all %1 blocks?";
Blockly.Msg.DELETE_BLOCK = "Delete Block";
Blockly.Msg.DELETE_VARIABLE = "Delete the '%1' property";
Blockly.Msg.DELETE_VARIABLE_CONFIRMATION = "Delete %1 uses of the '%2' property?";
Blockly.Msg.DELETE_X_BLOCKS = "Delete %1 Blocks";
Blockly.Msg.DICTS_CREATE_EMPTY_TITLE = "Empty dictionary";
Blockly.Msg.DICTS_CREATE_WITH_CONTAINER_TITLE_ADD = "Create Dictionary";
Blockly.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP = "";
Blockly.Msg.DICTS_CREATE_WITH_INPUT_WITH = "Create dict with";
Blockly.Msg.DICTS_CREATE_WITH_ITEM_KEY = "Key";
Blockly.Msg.DICTS_CREATE_WITH_ITEM_MAPPING = ":";
Blockly.Msg.DICTS_CREATE_WITH_ITEM_TITLE = "Key/value";
Blockly.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP = "";
Blockly.Msg.DICTS_CREATE_WITH_TOOLTIP = "";
Blockly.Msg.DICT_GET = "Get key";
Blockly.Msg.DICT_GET_TO = "of";
// Blockly.Msg.DICT_KEYS = "Get all keys from";
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 = "Change to External Inputs";
Blockly.Msg.HELP = "Help";
Blockly.Msg.INLINE_INPUTS = "Change to Inline Inputs";
Blockly.Msg.LISTS_APPEND = "Append item";
Blockly.Msg.LISTS_APPEND_HELPURL = "http://google.com";
Blockly.Msg.LISTS_APPEND_TO = "To list";
Blockly.Msg.LISTS_APPEND_TOOLTIP = "Append an element to a list";
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.LISTS_CREATE_WITH_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-list-with";
Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = "Use these values to create an array of Numbers";
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 = "blank";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = "Returns the first item in a list.";
Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM = "Returns the item at the specified position in a list.";
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 = "Removes and returns the item at the specified position in a list.";
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 = "Removes the item at the specified position in a list.";
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 = "blank";
Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = "Creates a copy of the specified portion of a list.";
Blockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP = "%1 is the last item.";
Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP = "%1 is the first item.";
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 = "Return the index value of the first/last matching item in the list. If the item is not found, return %1.";
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 = "Inserts the item at the specified position in a list.";
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 = "Sets the item at the specified position in a list.";
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_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 = "Sort alphabetically, disregarding case.";
Blockly.Msg.LISTS_SORT_TYPE_NUMERIC = "Numeric";
Blockly.Msg.LISTS_SORT_TYPE_TEXT = "Alphabetic";
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.LOGGING_CONF = "Logging Basic config";
Blockly.Msg.LOGGING_CONFIG = "Logging config";
Blockly.Msg.LOGGING_CONFIG_LEVEL = "Level =";
Blockly.Msg.LOGGING_IMPORT = "Import logging";
Blockly.Msg.LOGGING_INFO = "Logging info";
Blockly.Msg.LOGGING_SETUP = "Logging Setup";
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 = "None";
Blockly.Msg.LOGIC_NULL_HELPURL = "https://en.wikipedia.org/wiki/Nullable_type";
Blockly.Msg.LOGIC_NULL_TOOLTIP = "Returns the special None object.";
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.LOOP_FOREACH_ITEM = "For each item";
Blockly.Msg.LOOP_FOREACH_LIST = "In list";
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 property '%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_SUM = "Sum";
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 = "Create property...";
Blockly.Msg.NEW_VARIABLE_TITLE = "New property name:";
Blockly.Msg.ORDINAL_NUMBER_SUFFIX = "blank";
Blockly.Msg.PLATFORM_IMPORT = "Import platform";
Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS = "Allow statements";
Blockly.Msg.PROCEDURES_BEFORE_PARAMS = "with:";
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 = "Describe this function...";
Blockly.Msg.PROCEDURES_DEFNORETURN_DO = "do";
Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = "Function_name";
Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE = "Define";
Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE_CALLBACK = "Callback";
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_HELPURL = "http://c2.com/cgi/wiki?GuardClause";
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_MAINFUNCTION = "Define Main function";
Blockly.Msg.PROCEDURES_MUTATORARG_TITLE = "Parameter name:";
Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = "Add a parameter to the function.";
Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = "Parameters";
Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = "Add, remove, or reorder inputs to this function.";
Blockly.Msg.REDO = "Redo";
Blockly.Msg.REMOVE_COMMENT = "Remove Comment";
Blockly.Msg.RENAME_VARIABLE = "Rename property...";
Blockly.Msg.RENAME_VARIABLE_TITLE = "Rename all '%1' properties to:";
Blockly.Msg.REQUEST_DATA = "Data";
Blockly.Msg.REQUEST_IMPORT = "Import requests";
Blockly.Msg.REQUEST_POST_DATATYPE = "Request Post Data: JSON";
Blockly.Msg.REQUEST_SET_URL = "Set URL:";
Blockly.Msg.SYSTEM_EXIT = "Sys.exit";
Blockly.Msg.SYSTEM_IMPORT = "Import sys";
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 = "blank";
Blockly.Msg.TEXT_INDEXOF_TOOLTIP = "Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.";
Blockly.Msg.TEXT_ISEMPTY_HELPURL = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
Blockly.Msg.TEXT_ISEMPTY_TITLE = "%1 is empty";
Blockly.Msg.TEXT_ISEMPTY_TOOLTIP = "Returns true if the provided text is empty.";
Blockly.Msg.TEXT_JOIN_HELPURL = "https://github.com/google/blockly/wiki/Text#text-creation";
Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = "Join strings";
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_LOWER = "Set lower case";
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_TITLE_PRINT = "Print";
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.THREAD_IMPORT = "Import threading";
Blockly.Msg.THREAD_SET_TARGET = "Threading set target";
Blockly.Msg.THREAD_START = "Start";
Blockly.Msg.THREAD_THREADING = "Threading";
Blockly.Msg.TODAY = "Today";
Blockly.Msg.TYPE_CHECK = "type of";
Blockly.Msg.UNDO = "Undo";
Blockly.Msg.VARIABLES_DEFAULT_NAME = "Property_name";
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_SELF = "Get self";
Blockly.Msg.VARIABLES_GET_TOOLTIP = "Returns the value of this variable.";
Blockly.Msg.VARIABLES_SET = "Set %1 = %2";
Blockly.Msg.VARIABLES_SET_CREATE_GET = "Create '%1'";
Blockly.Msg.VARIABLES_SET_HELPURL = "https://github.com/google/blockly/wiki/Variables#set";
Blockly.Msg.VARIABLES_SET_SELF = "Set self";
Blockly.Msg.VARIABLES_SET_SELF_TO = "To";
Blockly.Msg.VARIABLES_SET_TAIL = "=";
Blockly.Msg.VARIABLES_SET_TITLE = "Set";
Blockly.Msg.VARIABLES_SET_TOOLTIP = "Sets this variable to be equal to the input.";
Blockly.Msg.VARIABLE_ALREADY_EXISTS = "A property named '%1' already exists.";
Blockly.Msg.VISIONKIT_AIY_VISION_INFERENCE = "AIY Vision Inference";
Blockly.Msg.VISIONKIT_ANNOTATOR = "Annotator";
Blockly.Msg.VISIONKIT_ANNOTATOR_BOUNDING = "Annotator Bounding Box";
Blockly.Msg.VISIONKIT_ANNOTATOR_FILL = "Fill=";
Blockly.Msg.VISIONKIT_ANNOTATOR_SETTING = "Set dimensions:";
Blockly.Msg.VISIONKIT_CAMERA_INFERENCE = "Camera Inference as";
Blockly.Msg.VISIONKIT_CLOUDEVENT_API = "Cloud Event API:";
Blockly.Msg.VISIONKIT_DO = "Do";
Blockly.Msg.VISIONKIT_GETINFERENCE = "Get Inference";
Blockly.Msg.VISIONKIT_GETMODEL_MODEL = "model";
Blockly.Msg.VISIONKIT_GETMODEL_Of = "of";
Blockly.Msg.VISIONKIT_IMPORT = "from";
Blockly.Msg.VISIONKIT_IMPORT_ANNOTATOR = "Annotator import";
Blockly.Msg.VISIONKIT_IMPORT_INFERENCE = "Inference import";
Blockly.Msg.VISIONKIT_IMPORT_MODELS = "Models import";
Blockly.Msg.VISIONKIT_JOY_DETECT = "Detect Joy Score and stored it to Core Cloud";
Blockly.Msg.VISIONKIT_MODEL = "Model";
Blockly.Msg.VISIONKIT_RUN_INFERENCE = "Run inference";
Blockly.Msg.VISIONKIT_SETUP = "Google AIY Vision Kit Setup";
Blockly.Msg.VISIONKIT_USE_MODEL = "Use model";
Blockly.Msg.VOICEKIT_ASSISTANT = "Assistant";
Blockly.Msg.VOICEKIT_DEMO_1 = "Command Control Demo";
Blockly.Msg.VOICEKIT_DEMO_2 = "Via Google Assistant";
Blockly.Msg.VOICEKIT_EVENTTYPE_ASSISTANT = "Assistant Event Type:";
Blockly.Msg.VOICEKIT_EVENTTYPE_IMPORT = "Import EventType";
Blockly.Msg.VOICEKIT_EVENT_ARGS = "Event args";
Blockly.Msg.VOICEKIT_EVENT_OF = "of";
Blockly.Msg.VOICEKIT_EVENT_TYPE_OF = "Event type of";
Blockly.Msg.VOICEKIT_FROM = "From";
Blockly.Msg.VOICEKIT_GET_CREDENTIAL = "Get Assistant Credential";
Blockly.Msg.VOICEKIT_IMPORT_ASSISTANT = "Import Assistant";
Blockly.Msg.VOICEKIT_IMPORT_AUTH = "Import auth_helpers";
Blockly.Msg.VOICEKIT_IMPORT_TTS = "Import TTS";
Blockly.Msg.VOICEKIT_IMPORT_TTS_SAY = "Aiy.voice.tts.say";
Blockly.Msg.VOICEKIT_SETUP = "Google AIY Voice Kit Setup";
Blockly.Msg.VOICEKIT_SET_CREDENTIAL = "Set credential for Assistant";
Blockly.Msg.VOICEKIT_SET_DO = "Do";
Blockly.Msg.VOICEKIT_SET_FROM = "From";
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.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;
Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
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.VARIABLES_SET_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.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
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.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;



Blockly.Msg.CONTROL_FOREVER = "forever"
Blockly.Msg.CONTROL_REPEAT = "repeat %1"
Blockly.Msg.CONTROL_IF = "if %1 then"
Blockly.Msg.CONTROL_ELSE = "else"
Blockly.Msg.CONTROL_STOP = "stop"
Blockly.Msg.CONTROL_STOP_ALL = "all"
Blockly.Msg.CONTROL_STOP_THIS = "this script"
Blockly.Msg.CONTROL_STOP_OTHER = "other scripts in sprite"
Blockly.Msg.CONTROL_WAIT = "wait %1 seconds"
Blockly.Msg.CONTROL_WAITUNTIL = "wait until %1"
Blockly.Msg.CONTROL_REPEATUNTIL = "repeat until %1"
Blockly.Msg.CONTROL_WHILE = "while %1"
Blockly.Msg.CONTROL_FOREACH = "for each %1 in %2"
Blockly.Msg.CONTROL_STARTASCLONE = "when I start as a clone"
Blockly.Msg.CONTROL_CREATECLONEOF = "create clone of %1"
Blockly.Msg.CONTROL_CREATECLONEOF_MYSELF = "myself"
Blockly.Msg.CONTROL_DELETETHISCLONE = "delete this clone"
Blockly.Msg.CONTROL_COUNTER = "counter"
Blockly.Msg.CONTROL_INCRCOUNTER = "increment counter"
Blockly.Msg.CONTROL_CLEARCOUNTER = "clear counter"
Blockly.Msg.CONTROL_ALLATONCE = "all at once"
Blockly.Msg.DATA_SETVARIABLETO = "set %1 to %2"
Blockly.Msg.DATA_CHANGEVARIABLEBY = "change %1 by %2"
Blockly.Msg.DATA_SHOWVARIABLE = "show variable %1"
Blockly.Msg.DATA_HIDEVARIABLE = "hide variable %1"
Blockly.Msg.DATA_ADDTOLIST = "add %1 to %2"
Blockly.Msg.DATA_DELETEOFLIST = "delete %1 of %2"
Blockly.Msg.DATA_DELETEALLOFLIST = "delete all of %1"
Blockly.Msg.DATA_INSERTATLIST = "insert %1 at %2 of %3"
Blockly.Msg.DATA_REPLACEITEMOFLIST = "replace item %1 of %2 with %3"
Blockly.Msg.DATA_ITEMOFLIST = "item %1 of %2"
Blockly.Msg.DATA_ITEMNUMOFLIST = "item # of %1 in %2"
Blockly.Msg.DATA_LENGTHOFLIST = "length of %1"
Blockly.Msg.DATA_LISTCONTAINSITEM = "%1 contains %2?"
Blockly.Msg.DATA_SHOWLIST = "show list %1"
Blockly.Msg.DATA_HIDELIST = "hide list %1"
Blockly.Msg.DATA_INDEX_ALL = "all"
Blockly.Msg.DATA_INDEX_LAST = "last"
Blockly.Msg.DATA_INDEX_RANDOM = "random"
Blockly.Msg.EVENT_WHENFLAGCLICKED = "when %1 clicked"
Blockly.Msg.EVENT_WHENTHISSPRITECLICKED = "when this sprite clicked"
Blockly.Msg.EVENT_WHENSTAGECLICKED = "when stage clicked"
Blockly.Msg.EVENT_WHENTOUCHINGOBJECT = "when this sprite touches %1"
Blockly.Msg.EVENT_WHENBROADCASTRECEIVED = "when I receive %1"
Blockly.Msg.EVENT_WHENBACKDROPSWITCHESTO = "when backdrop switches to %1"
Blockly.Msg.EVENT_WHENGREATERTHAN = "when %1 > %2"
Blockly.Msg.EVENT_WHENGREATERTHAN_TIMER = "timer"
Blockly.Msg.EVENT_WHENGREATERTHAN_LOUDNESS = "loudness"
Blockly.Msg.EVENT_BROADCAST = "broadcast %1"
Blockly.Msg.EVENT_BROADCASTANDWAIT = "broadcast %1 and wait"
Blockly.Msg.EVENT_WHENKEYPRESSED = "when %1 key pressed"
Blockly.Msg.EVENT_WHENKEYPRESSED_SPACE = "space"
Blockly.Msg.EVENT_WHENKEYPRESSED_LEFT = "left arrow"
Blockly.Msg.EVENT_WHENKEYPRESSED_RIGHT = "right arrow"
Blockly.Msg.EVENT_WHENKEYPRESSED_DOWN = "down arrow"
Blockly.Msg.EVENT_WHENKEYPRESSED_UP = "up arrow"
Blockly.Msg.EVENT_WHENKEYPRESSED_ANY = "any"
Blockly.Msg.LOOKS_SAYFORSECS = "say %1 for %2 seconds"
Blockly.Msg.LOOKS_SAY = "say %1"
Blockly.Msg.LOOKS_HELLO = "Hello!"
Blockly.Msg.LOOKS_THINKFORSECS = "think %1 for %2 seconds"
Blockly.Msg.LOOKS_THINK = "think %1"
Blockly.Msg.LOOKS_HMM = "Hmm..."
Blockly.Msg.LOOKS_SHOW = "show"
Blockly.Msg.LOOKS_HIDE = "hide"
Blockly.Msg.LOOKS_HIDEALLSPRITES = "hide all sprites"
Blockly.Msg.LOOKS_EFFECT_COLOR = "color"
Blockly.Msg.LOOKS_EFFECT_FISHEYE = "fisheye"
Blockly.Msg.LOOKS_EFFECT_WHIRL = "whirl"
Blockly.Msg.LOOKS_EFFECT_PIXELATE = "pixelate"
Blockly.Msg.LOOKS_EFFECT_MOSAIC = "mosaic"
Blockly.Msg.LOOKS_EFFECT_BRIGHTNESS = "brightness"
Blockly.Msg.LOOKS_EFFECT_GHOST = "ghost"
Blockly.Msg.LOOKS_CHANGEEFFECTBY = "change %1 effect by %2"
Blockly.Msg.LOOKS_SETEFFECTTO = "set %1 effect to %2"
Blockly.Msg.LOOKS_CLEARGRAPHICEFFECTS = "clear graphic effects"
Blockly.Msg.LOOKS_CHANGESIZEBY = "change size by %1"
Blockly.Msg.LOOKS_SETSIZETO = "set size to %1 %"
Blockly.Msg.LOOKS_SIZE = "size"
Blockly.Msg.LOOKS_CHANGESTRETCHBY = "change stretch by %1"
Blockly.Msg.LOOKS_SETSTRETCHTO = "set stretch to %1 %"
Blockly.Msg.LOOKS_SWITCHCOSTUMETO = "switch costume to %1"
Blockly.Msg.LOOKS_NEXTCOSTUME = "next costume"
Blockly.Msg.LOOKS_SWITCHBACKDROPTO = "switch backdrop to %1"
Blockly.Msg.LOOKS_GOTOFRONTBACK = "go to %1 layer"
Blockly.Msg.LOOKS_GOTOFRONTBACK_FRONT = "front"
Blockly.Msg.LOOKS_GOTOFRONTBACK_BACK = "back"
Blockly.Msg.LOOKS_GOFORWARDBACKWARDLAYERS = "go %1 %2 layers"
Blockly.Msg.LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD = "forward"
Blockly.Msg.LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD = "backward"
Blockly.Msg.LOOKS_BACKDROPNUMBERNAME = "backdrop %1"
Blockly.Msg.LOOKS_COSTUMENUMBERNAME = "costume %1"
Blockly.Msg.LOOKS_NUMBERNAME_NUMBER = "number"
Blockly.Msg.LOOKS_NUMBERNAME_NAME = "name"
Blockly.Msg.LOOKS_SWITCHBACKDROPTOANDWAIT = "switch backdrop to %1 and wait"
Blockly.Msg.LOOKS_NEXTBACKDROP_BLOCK = "next backdrop"
Blockly.Msg.LOOKS_NEXTBACKDROP = "next backdrop"
Blockly.Msg.LOOKS_PREVIOUSBACKDROP = "previous backdrop"
Blockly.Msg.LOOKS_RANDOMBACKDROP = "random backdrop"
Blockly.Msg.MOTION_MOVESTEPS = "move %1 steps"
Blockly.Msg.MOTION_TURNLEFT = "turn %1 %2 degrees"
Blockly.Msg.MOTION_TURNRIGHT = "turn %1 %2 degrees"
Blockly.Msg.MOTION_POINTINDIRECTION = "point in direction %1"
Blockly.Msg.MOTION_POINTTOWARDS = "point towards %1"
Blockly.Msg.MOTION_POINTTOWARDS_POINTER = "mouse-pointer"
Blockly.Msg.MOTION_GOTO = "go to %1"
Blockly.Msg.MOTION_GOTO_POINTER = "mouse-pointer"
Blockly.Msg.MOTION_GOTO_RANDOM = "random position"
Blockly.Msg.MOTION_GOTOXY = "go to x: %1 y: %2"
Blockly.Msg.MOTION_GLIDESECSTOXY = "glide %1 secs to x: %2 y: %3"
Blockly.Msg.MOTION_GLIDETO = "glide %1 secs to %2"
Blockly.Msg.MOTION_GLIDETO_POINTER = "mouse-pointer"
Blockly.Msg.MOTION_GLIDETO_RANDOM = "random position"
Blockly.Msg.MOTION_CHANGEXBY = "change x by %1"
Blockly.Msg.MOTION_SETX = "set x to %1"
Blockly.Msg.MOTION_CHANGEYBY = "change y by %1"
Blockly.Msg.MOTION_SETY = "set y to %1"
Blockly.Msg.MOTION_IFONEDGEBOUNCE = "if on edge, bounce"
Blockly.Msg.MOTION_SETROTATIONSTYLE = "set rotation style %1"
Blockly.Msg.MOTION_SETROTATIONSTYLE_LEFTRIGHT = "left-right"
Blockly.Msg.MOTION_SETROTATIONSTYLE_DONTROTATE = "don't rotate"
Blockly.Msg.MOTION_SETROTATIONSTYLE_ALLAROUND = "all around"
Blockly.Msg.MOTION_XPOSITION = "x position"
Blockly.Msg.MOTION_YPOSITION = "y position"
Blockly.Msg.MOTION_DIRECTION = "direction"
Blockly.Msg.MOTION_SCROLLRIGHT = "scroll right %1"
Blockly.Msg.MOTION_SCROLLUP = "scroll up %1"
Blockly.Msg.MOTION_ALIGNSCENE = "align scene %1"
Blockly.Msg.MOTION_ALIGNSCENE_BOTTOMLEFT = "bottom-left"
Blockly.Msg.MOTION_ALIGNSCENE_BOTTOMRIGHT = "bottom-right"
Blockly.Msg.MOTION_ALIGNSCENE_MIDDLE = "middle"
Blockly.Msg.MOTION_ALIGNSCENE_TOPLEFT = "top-left"
Blockly.Msg.MOTION_ALIGNSCENE_TOPRIGHT = "top-right"
Blockly.Msg.MOTION_XSCROLL = "x scroll"
Blockly.Msg.MOTION_YSCROLL = "y scroll"
Blockly.Msg.MOTION_STAGE_SELECTED = "Stage selected: no motion blocks"
Blockly.Msg.OPERATORS_ADD = "%1 + %2"
Blockly.Msg.OPERATORS_SUBTRACT = "%1 - %2"
Blockly.Msg.OPERATORS_MULTIPLY = "%1 * %2"
Blockly.Msg.OPERATORS_DIVIDE = "%1 / %2"
Blockly.Msg.OPERATORS_RANDOM = "pick random %1 to %2"
Blockly.Msg.OPERATORS_GT = "%1 > %2"
Blockly.Msg.OPERATORS_LT = "%1 < %2"
Blockly.Msg.OPERATORS_EQUALS = "%1 = %2"
Blockly.Msg.OPERATORS_AND = "%1 and %2"
Blockly.Msg.OPERATORS_OR = "%1 or %2"
Blockly.Msg.OPERATORS_NOT = "not %1"
Blockly.Msg.OPERATORS_JOIN = "join %1 %2"
Blockly.Msg.OPERATORS_JOIN_APPLE = "apple"
Blockly.Msg.OPERATORS_JOIN_BANANA = "banana"
Blockly.Msg.OPERATORS_LETTEROF = "letter %1 of %2"
Blockly.Msg.OPERATORS_LETTEROF_APPLE = "a"
Blockly.Msg.OPERATORS_LENGTH = "length of %1"
Blockly.Msg.OPERATORS_CONTAINS = "%1 contains %2?"
Blockly.Msg.OPERATORS_MOD = "%1 mod %2"
Blockly.Msg.OPERATORS_ROUND = "round %1"
Blockly.Msg.OPERATORS_MATHOP = "%1 of %2"
Blockly.Msg.OPERATORS_MATHOP_ABS = "abs"
Blockly.Msg.OPERATORS_MATHOP_FLOOR = "floor"
Blockly.Msg.OPERATORS_MATHOP_CEILING = "ceiling"
Blockly.Msg.OPERATORS_MATHOP_SQRT = "sqrt"
Blockly.Msg.OPERATORS_MATHOP_SIN = "sin"
Blockly.Msg.OPERATORS_MATHOP_COS = "cos"
Blockly.Msg.OPERATORS_MATHOP_TAN = "tan"
Blockly.Msg.OPERATORS_MATHOP_ASIN = "asin"
Blockly.Msg.OPERATORS_MATHOP_ACOS = "acos"
Blockly.Msg.OPERATORS_MATHOP_ATAN = "atan"
Blockly.Msg.OPERATORS_MATHOP_LN = "ln"
Blockly.Msg.OPERATORS_MATHOP_LOG = "log"
Blockly.Msg.OPERATORS_MATHOP_EEXP = "e ^"
Blockly.Msg.OPERATORS_MATHOP_10EXP = "10 ^"
Blockly.Msg.PROCEDURES_DEFINITION = "define %1"
Blockly.Msg.SENSING_TOUCHINGOBJECT = "touching %1?"
Blockly.Msg.SENSING_TOUCHINGOBJECT_POINTER = "mouse-pointer"
Blockly.Msg.SENSING_TOUCHINGOBJECT_EDGE = "edge"
Blockly.Msg.SENSING_TOUCHINGCOLOR = "touching color %1?"
Blockly.Msg.SENSING_COLORISTOUCHINGCOLOR = "color %1 is touching %2?"
Blockly.Msg.SENSING_DISTANCETO = "distance to %1"
Blockly.Msg.SENSING_DISTANCETO_POINTER = "mouse-pointer"
Blockly.Msg.SENSING_ASKANDWAIT = "ask %1 and wait"
Blockly.Msg.SENSING_ASK_TEXT = "What's your name?"
Blockly.Msg.SENSING_ANSWER = "answer"
Blockly.Msg.SENSING_KEYPRESSED = "key %1 pressed?"
Blockly.Msg.SENSING_MOUSEDOWN = "mouse down?"
Blockly.Msg.SENSING_MOUSEX = "mouse x"
Blockly.Msg.SENSING_MOUSEY = "mouse y"
Blockly.Msg.SENSING_SETDRAGMODE = "set drag mode %1"
Blockly.Msg.SENSING_SETDRAGMODE_DRAGGABLE = "draggable"
Blockly.Msg.SENSING_SETDRAGMODE_NOTDRAGGABLE = "not draggable"
Blockly.Msg.SENSING_LOUDNESS = "loudness"
Blockly.Msg.SENSING_LOUD = "loud?"
Blockly.Msg.SENSING_TIMER = "timer"
Blockly.Msg.SENSING_RESETTIMER = "reset timer"
Blockly.Msg.SENSING_OF = "%1 of %2"
Blockly.Msg.SENSING_OF_XPOSITION = "x position"
Blockly.Msg.SENSING_OF_YPOSITION = "y position"
Blockly.Msg.SENSING_OF_DIRECTION = "direction"
Blockly.Msg.SENSING_OF_COSTUMENUMBER = "costume #"
Blockly.Msg.SENSING_OF_COSTUMENAME = "costume name"
Blockly.Msg.SENSING_OF_SIZE = "size"
Blockly.Msg.SENSING_OF_VOLUME = "volume"
Blockly.Msg.SENSING_OF_BACKDROPNUMBER = "backdrop #"
Blockly.Msg.SENSING_OF_BACKDROPNAME = "backdrop name"
Blockly.Msg.SENSING_OF_STAGE = "Stage"
Blockly.Msg.SENSING_CURRENT = "current %1"
Blockly.Msg.SENSING_CURRENT_YEAR = "year"
Blockly.Msg.SENSING_CURRENT_MONTH = "month"
Blockly.Msg.SENSING_CURRENT_DATE = "date"
Blockly.Msg.SENSING_CURRENT_DAYOFWEEK = "day of week"
Blockly.Msg.SENSING_CURRENT_HOUR = "hour"
Blockly.Msg.SENSING_CURRENT_MINUTE = "minute"
Blockly.Msg.SENSING_CURRENT_SECOND = "second"
Blockly.Msg.SENSING_DAYSSINCE2000 = "days since 2000"
Blockly.Msg.SENSING_USERNAME = "username"
Blockly.Msg.SENSING_USERID = "user id"
Blockly.Msg.SOUND_PLAY = "start sound %1"
Blockly.Msg.SOUND_PLAYUNTILDONE = "play sound %1 until done"
Blockly.Msg.SOUND_STOPALLSOUNDS = "stop all sounds"
Blockly.Msg.SOUND_SETEFFECTO = "set %1 effect to %2"
Blockly.Msg.SOUND_CHANGEEFFECTBY = "change %1 effect by %2"
Blockly.Msg.SOUND_CLEAREFFECTS = "clear sound effects"
Blockly.Msg.SOUND_EFFECTS_PITCH = "pitch"
Blockly.Msg.SOUND_EFFECTS_PAN = "pan left/right"
Blockly.Msg.SOUND_CHANGEVOLUMEBY = "change volume by %1"
Blockly.Msg.SOUND_SETVOLUMETO = "set volume to %1%"
Blockly.Msg.SOUND_VOLUME = "volume"
Blockly.Msg.SOUND_RECORD = "record..."
Blockly.Msg.CATEGORY_MOTION = "Motion"
Blockly.Msg.CATEGORY_LOOKS = "Looks"
Blockly.Msg.CATEGORY_SOUND = "Sound"
Blockly.Msg.CATEGORY_EVENTS = "Events"
Blockly.Msg.CATEGORY_CONTROL = "Control"
Blockly.Msg.CATEGORY_SENSING = "Sensing"
Blockly.Msg.CATEGORY_OPERATORS = "Operators"
Blockly.Msg.CATEGORY_VARIABLES = "Variables"
Blockly.Msg.CATEGORY_MYBLOCKS = "My Blocks"
Blockly.Msg.DUPLICATE = "Duplicate"
Blockly.Msg.DUPLICATE_PASTE = "Duplicate And Paste"
Blockly.Msg.DELETE = "Delete blocks"
Blockly.Msg.ADD_COMMENT = "Add Comment"
Blockly.Msg.REMOVE_COMMENT = "Delete Comment"
Blockly.Msg.DELETE_BLOCK = "Delete Block"
Blockly.Msg.DELETE_X_BLOCKS = "Delete %1 Blocks"
Blockly.Msg.DELETE_ALL_BLOCKS = "Delete all %1 blocks?"
Blockly.Msg.CLEAN_UP = "Clean up Blocks"
Blockly.Msg.HELP = "Help"
Blockly.Msg.UNDO = "Undo"
Blockly.Msg.REDO = "Redo"
Blockly.Msg.EDIT_PROCEDURE = "Edit"
Blockly.Msg.SHOW_PROCEDURE_DEFINITION = "Go to definition"
Blockly.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT = "Say something..."
Blockly.Msg.COLOUR_HUE_LABEL = "Color"
Blockly.Msg.COLOUR_SATURATION_LABEL = "Saturation"
Blockly.Msg.COLOUR_BRIGHTNESS_LABEL = "Brightness"
Blockly.Msg.CHANGE_VALUE_TITLE = "Change value:"
Blockly.Msg.RENAME_VARIABLE = "Rename variable"
Blockly.Msg.RENAME_VARIABLE_TITLE = "Rename all \"%1\" variables to:"
Blockly.Msg.RENAME_VARIABLE_MODAL_TITLE = "Rename Variable"
Blockly.Msg.NEW_VARIABLE = "Make a Variable"
Blockly.Msg.NEW_VARIABLE_TITLE = "New variable name:"
Blockly.Msg.VARIABLE_MODAL_TITLE = "New Variable"
Blockly.Msg.VARIABLE_ALREADY_EXISTS = "A variable named \"%1\" already exists."
Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE = "A variable named \"%1\" already exists for another variable of type \"%2\"."
Blockly.Msg.DELETE_VARIABLE_CONFIRMATION = "Delete %1 uses of the \"%2\" variable?"
Blockly.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE = "Can't delete the variable \"%1\" because it's part of the definition of the function \"%2\""
Blockly.Msg.DELETE_VARIABLE = "Delete the \"%1\" variable"
Blockly.Msg.NEW_PROCEDURE = "Make a Block"
Blockly.Msg.PROCEDURE_ALREADY_EXISTS = "A procedure named \"%1\" already exists."
Blockly.Msg.PROCEDURE_DEFAULT_NAME = "block name"
Blockly.Msg.NEW_LIST = "Make a List"
Blockly.Msg.NEW_LIST_TITLE = "New list name:"
Blockly.Msg.LIST_MODAL_TITLE = "New List"
Blockly.Msg.LIST_ALREADY_EXISTS = "A list named \"%1\" already exists."
Blockly.Msg.RENAME_LIST_TITLE = "Rename all \"%1\" lists to:"
Blockly.Msg.RENAME_LIST_MODAL_TITLE = "Rename List"
Blockly.Msg.DEFAULT_LIST_ITEM = "thing"
Blockly.Msg.NEW_BROADCAST_MESSAGE = "New message"
Blockly.Msg.NEW_BROADCAST_MESSAGE_TITLE = "New message name:"
Blockly.Msg.BROADCAST_MODAL_TITLE = "New Message"
Blockly.Msg.DEFAULT_BROADCAST_MESSAGE_NAME = "message1"
Blockly.Msg.GROVEZERO_MINIWHEEL_SET_POWER = "%1 %2 Chassis left motor %3 %，right motor %4 %"
Blockly.Msg.GROVEZERO_MINIWHEEL_STOP = "%1 %2 Chassis stop"
Blockly.Msg.GROVEZERO_MINIWHEEL_RUN_VELOCITY_AZIMUTH = "%1 %2 Chassis go %4 at %3 speed"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT1 = "low"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT2 = "medium"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT3 = "high"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT4 = "forward"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT5 = "backward"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT6 = "left"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT7 = "right"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT8 = "clockwise"
Blockly.Msg.GROVEZERO_MINIWHEEL_OPT9 = "counterclockwise"
Blockly.Msg.GROVEZERO_MOTOR_STOP = "%1 %2 %3 DC Motor stop"
Blockly.Msg.GROVEZERO_DC_MOTOR_TRUN_POWER = "%1 %2 %3 DC Motor rotate at power %4 %"
Blockly.Msg.GROVEZERO_SERVO_TURN_ANGLE = "%1 %2 Servo move to %3 degree"
Blockly.Msg.GROVEZERO_RGB_TO_COLOR = "%1 %2 red %3 green %4 blue %5"
Blockly.Msg.GROVEZERO_HSL_TO_COLOR = "%1 %2 color %3 saturation %4 brightness %5"
Blockly.Msg.GROVEZERO_LED_MATRIX_XY_IS_ON = "%1 %2 LED Matrix x:%3 y:%4 is ON？"
Blockly.Msg.GROVEZERO_LED_MATRIX_SHOW_SHAPE = "%1 %2 LED Matrix show image %3"
Blockly.Msg.GROVEZERO_LED_MATRIX_SHOW_STRING = "%1 %2 LED Matrix show string %3"
Blockly.Msg.GROVEZERO_LED_MATRIX_XY_SET_ON = "%1 %2 LED Matrix turn on x: %3 y: %4"
Blockly.Msg.GROVEZERO_LED_MATRIX_XY_SET_OFF = "%1 %2 LED Matrix turn off x: %3 y: %4"
Blockly.Msg.GROVEZERO_LED_MATRIX_CLEAN = "%1 %2 LED Matrix clear screen"
Blockly.Msg.GROVEZERO_RGB_LED_SHOW_STYLE_COLOR = "%1 %2 RGB LED always %3 %4"
Blockly.Msg.GROVEZERO_RGB_LED_SHOW_STYLE = "%1 %2 RGB LED show %3"
Blockly.Msg.GROVEZERO_RGB_LED_FADE_FROM_COLOR1_TO_COLOR2 = "%1 %2 RGB LED fade from %3 to %4"
Blockly.Msg.GROVEZERO_RGB_LED_SET_BRIGHTNESS = "%1 %2 RGB LED set brightness to %3 %"
Blockly.Msg.GROVEZERO_RGB_LED_LIGHT_OFF = "%1 %2 RGB LED light off"
Blockly.Msg.GROVEZERO_RGB_LED_OPT1 = "show"
Blockly.Msg.GROVEZERO_RGB_LED_OPT2 = "blink"
Blockly.Msg.GROVEZERO_RGB_LED_OPT3 = "breath"
Blockly.Msg.GROVEZERO_RGB_LED_OPT4 = "rainbow"
Blockly.Msg.GROVEZERO_RGB_LED_OPT5 = "random color"
Blockly.Msg.GROVEZERO_RGB_MATRIX_SHOW_SHAPE = "%1 %2 %3 RGB LED Matrix show image %4"
Blockly.Msg.GROVEZERO_RGB_MATRIX_SHOW_STRING = "%1 %2 %3 RGB LED Matrix show string %4 %5"
Blockly.Msg.GROVEZERO_RGB_MATRIX_SHOW_ANIMA = "%1 %2 %3 RGB LED Matrix show animation %4"
Blockly.Msg.GROVEZERO_RGB_MATRIX_SHOW_HISTOGRAM = "%1 %2 %3 RGB LED Matrix plot bar graph of %4"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON = "%1 %2 %3 RGB LED Matrix plot x:%4 y:%5 %6"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_OFF = "%1 %2 %3 RGB LED Matrix unplot x:%4 y:%5"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OFF = "%1 %2 %3 RGB LED Matrix toggle x:%4 y:%5 %6"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_IS_ON = "%1 %2 %3 RGB LED Matrix x:%4 y:%5 is ON?"
Blockly.Msg.GROVEZERO_RGB_MATRIX_CLEAN = "%1 %2 %3 RGB LED Matrix clear screen"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_GET_COLOR = "%1 %2 %3 RGB LED Matrix x:%4 y:%5 color"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT1 = "wave"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT2 = "draw big square CW"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT3 = "draw small square CW"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT4 = "draw big square CCW"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT5 = "draw small square CCW"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT6 = "pattern"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT7 = "fire"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT8 = "walking"
Blockly.Msg.GROVEZERO_RGB_MATRIX_ARGS_ANIMA_OPT9 = "heartbreak"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT1 = "red"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT2 = "orange"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT3 = "yellow"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT4 = "green"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT5 = "cyan"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT6 = "blue"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT7 = "purple"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT8 = "pink"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT9 = "white"
Blockly.Msg.GROVEZERO_RGB_MATRIX_XY_SET_ON_OPT10 = "black"
Blockly.Msg.GROVEZERO_FOUR_DIGIT_WHEN_COUNTDOWN_END = "%1 %2 When 4 Digit Display timer ends"
Blockly.Msg.GROVEZERO_FOUR_DIGIT_SHOW_NUMBER = "%1 %2 4 Digit Display show %3"
Blockly.Msg.GROVEZERO_FOUR_DIGIT_START_COUNTDOWN = "%1 %2 4 Digit Display set timer %3 seconds"
Blockly.Msg.GROVEZERO_FOUR_DIGIT_OFF = "%1 %2 4 Digit Display OFF"
Blockly.Msg.GROVEZERO_FOUR_DIGIT_SET_BRIGHTNESS = "%1 %2 4 Digit Display set brightness to %3 %"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY = "%1 %2 Buzzer play melody %3 once"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT0 = "ba ding"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT1 = "wawawawaa"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT2 = "jump up"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT3 = "jump down"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT4 = "power up"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT5 = "power down"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT6 = "magic wand"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_MELODY_OPT7 = "siren"
Blockly.Msg.GROVEZERO_BUZZER_MUTE_FOR_BEAT = "%1 %2 Buzzer rest for %3 beat"
Blockly.Msg.GROVEZERO_BUZZER_SET_BPM = "%1 %2 Buzzer set tempo (bpm) to %3"
Blockly.Msg.GROVEZERO_BUZZER_ADD_BPM = "%1 %2 Buzzer change tempo (bpm) by %3"
Blockly.Msg.GROVEZERO_BUZZER_GET_BPM = "%1 %2 Buzzer tempo (bpm)"
Blockly.Msg.GROVEZERO_BUZZER_STOP = "%1 %2 Buzzer stop"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_NOTE = "%1 %2 Buzzer ring tone %3"
Blockly.Msg.GROVEZERO_BUZZER_PLAY_NOTE_FOR_BEAT = "%1 %2 Buzzer play tone %3 for %4 beat"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT0 = "Low C"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT1 = "Low D"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT2 = "Low E"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT3 = "Low F"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT4 = "Low G"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT5 = "Low A"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT6 = "Low B"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT7 = "Middle C"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT8 = "Middle D"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT9 = "Middle E"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT10 = "Middle F"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT11 = "Middle G"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT12 = "Middle A"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT13 = "Middle B"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT14 = "High C"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT15 = "High D"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT16 = "High E"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT17 = "High F"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT18 = "High G"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT19 = "High A"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT20 = "High B"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT21 = "Low C#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT22 = "Low D#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT23 = "Low F#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT24 = "Low G#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT25 = "Low A#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT26 = "Middle C#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT27 = "Middle D#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT28 = "Middle F#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT29 = "Middle G#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT30 = "Middle A#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT31 = "High C#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT32 = "High D#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT33 = "High F#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT34 = "High G#"
Blockly.Msg.SOUND_BUZZER_NOTES_OPT35 = "High A#"
Blockly.Msg.GROVEZERO_MP3_START_PLAY = "%1 %2 MP3 play soundtrack %3"
Blockly.Msg.GROVEZERO_MP3_PAUSE_OR_PLAY = "%1 %2 MP3 %3"
Blockly.Msg.GROVEZERO_MP3_SWITCH = "%1 %2 MP3 %3 soundtrack"
Blockly.Msg.GROVEZERO_MP3_ADD_VOLUME = "%1 %2 MP3 change volume by %3 %"
Blockly.Msg.GROVEZERO_MP3_SET_VOLUME = "%1 %2 MP3 set volume to %3 %"
Blockly.Msg.GROVEZERO_MP3_STOP_PLAY = "%1 %2 MP3 stop"
Blockly.Msg.GROVEZERO_MP3_PLAY_MODE = "%1 %2 MP3 set play mode %3"
Blockly.Msg.GROVEZERO_MP3_PAUSE_OR_PLAY_OPT0 = "pause"
Blockly.Msg.GROVEZERO_MP3_PAUSE_OR_PLAY_OPT1 = "resume"
Blockly.Msg.GROVEZERO_MP3_SWITCH_OPT0 = "next"
Blockly.Msg.GROVEZERO_MP3_SWITCH_OPT1 = "previous"
Blockly.Msg.GROVEZERO_MP3_PLAY_MODE_OPT0 = "normal"
Blockly.Msg.GROVEZERO_MP3_PLAY_MODE_OPT1 = "shuffle"
Blockly.Msg.GROVEZERO_MP3_PLAY_MODE_OPT2 = "repeat"
Blockly.Msg.GROVEZERO_MAINBOARD_START = "%1 %2 When start"
Blockly.Msg.GROVEZERO_MAINBOARD_WHEN_ARRIVAL_TIME = "%1 %2 When timer > %3 seconds"
Blockly.Msg.GROVEZERO_MAINBOARD_WHEN_RADIO_RECEIVE = "%1 %2 When radio receive %3"
Blockly.Msg.GROVEZERO_MAINBOARD_BROADCAST = "%1 %2 broadcast %3"
Blockly.Msg.GROVEZERO_MAINBOARD_STOP_BROADCAST = "%1 %2 stop broadcasting"
Blockly.Msg.GROVEZERO_MAINBOARD_SET_BROADCAST_CHANNEL = "%1 %2 Set radio group to %3"
Blockly.Msg.GROVEZERO_TWIN_BUTTON_WHEN_CLICK = "%1 %2 When %3 Twin Button %4 %5"
Blockly.Msg.GROVEZERO_TWIN_BUTTON_IS_PRESSED = "%1 %2 %3 Twin Button %4 is pressed?"
Blockly.Msg.GROVEZERO_TWIN_BUTTON_WHEN_CLICK_OPT3 = "clicked"
Blockly.Msg.GROVEZERO_TWIN_BUTTON_WHEN_CLICK_OPT5 = "held"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_WHEN_CHANGE = "%1 %2 When 9-axis Motion Sensor %3"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT0 = "straight down"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT1 = "straight up"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT2 = "tilt left"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT3 = "tilt right"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT4 = "face up"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT5 = "face down"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT6 = "shake"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_OPT7 = "free fall"
Blockly.Msg.GROVEZERO_IMU9_DOF_STATUS_IS = "%1 %2 9-axis Motion Sensor %3 ?"
Blockly.Msg.GROVEZERO_IMU9_DOF_GET_VALUE = "%1 %2 9-axis Motion Sensor Acceleration(mg) of %3"
Blockly.Msg.GROVEZERO_PIR_MOTION_SENSOR_DETECT_SOMEONE = "%1 %2 When PIR Motion Sensor detect someone"
Blockly.Msg.GROVEZERO_MECH_KEY_WHENCLICK = "%1 %2 When %3 Mech Key %4"
Blockly.Msg.GROVEZERO_MECH_KEY_WHENCLICK_OPT0 = "clicked"
Blockly.Msg.GROVEZERO_MECH_KEY_WHENCLICK_OPT1 = "held"
Blockly.Msg.GROVEZERO_MECH_KEY_IS_PRESSED = "%1 %2 %3 Mech Key is pressed? "
Blockly.Msg.GROVEZERO_MECH_KEY_SET_RGB = "%1 %2 %3 Mech Key backlit show %4"
Blockly.Msg.GROVEZERO_MECH_KEY_CLOSE_RGB = "%1 %2 %3 Mech Key backlit off"
Blockly.Msg.GROVEZERO_KNOB_WHEN_CHANGE = "%1 %2 When %3 Knob %4"
Blockly.Msg.GROVEZERO_KNOB_WHEN_CHANGE_OPT0 = "rotated clockwise"
Blockly.Msg.GROVEZERO_KNOB_WHEN_CHANGE_OPT1 = "rotated counter clockwise"
Blockly.Msg.GROVEZERO_KNOB_WHEN_CHANGE_OPT2 = "pressed"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE = "%1 %2 When Gesture Sensor detect %3 "
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT0 = "swipe left"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT1 = "swipe right"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT2 = "swipe up"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT3 = "swipe down"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT4 = "approaching object"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT5 = "departing object"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT6 = "circle-clockwise"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT7 = "circle-counter clockwise"
Blockly.Msg.GROVEZERO_GESTURE_SENSOR_WHEN_CHANGE_OPT8 = "finger waving"
Blockly.Msg.GROVEZERO_TOUCHPAD_IS_PRESSED = "%1 %2 %3 Touchpad pin %4 is pressed?"
Blockly.Msg.GROVEZERO_TOUCHPAD_WHEN_CLICK = "%1 %2 When %3 Touchpad pin %4 is pressed"
Blockly.Msg.GROVEZERO_LIGHT_SENSOR_GET_VALUE = "%1 %2 Light Sensor light level(lux)"
Blockly.Msg.GROVEZERO_SOUND_SENSOR_GET_VALUE = "%1 %2 Sound Sensor sound level"
Blockly.Msg.GROVEZERO_TEMPERATURESENSOR_GET_VALUE = "%1 %2 Temperature Sensor temperature in %3"
Blockly.Msg.GROVEZERO_TEMPERATURESENSOR_GET_VALUE_OPT0 = "℃"
Blockly.Msg.GROVEZERO_TEMPERATURESENSOR_GET_VALUE_OPT1 = "℉"
Blockly.Msg.GROVEZERO_SLIDER_GET_VALUE = "%1 %2 %3 Slider value"
Blockly.Msg.GROVEZERO_ULTRASONIC_SENSOR_GET_VALUE = "%1 %2 Ultrasonic Sensor distance(cm)"
Blockly.Msg.GROVEZERO_TEMHUM_SENSOR_GET_TEM_VALUE = "%1 %2 Temperature & Humidity Sensor temperature %3"
Blockly.Msg.GROVEZERO_TEMHUM_SENSOR_GET_HUM_VALUE = "%1 %2 Temperature & Humidity Sensor humidity(%)"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_GET_COLOR = "%1 %2 Color Line Follower color value"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_POSITION = "%1 %2 Color Line Follower line position %3"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_POSITiON_OPT0 = "middle"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_POSITiON_OPT1 = "right"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_POSITiON_OPT2 = "right-most"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_POSITiON_OPT3 = "left"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_POSITiON_OPT4 = "left-most"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_POSITiON_OPT5 = "lost"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_COLOR = "%1 %2 Color Line Follower is seeing %3"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_COLOR_OPT0 = "red"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_COLOR_OPT1 = "green"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_COLOR_OPT2 = "blue"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_COLOR_OPT3 = "black"
Blockly.Msg.GROVEZERO_COLOR_LINE_FOLLOWER_IS_COLOR_OPT4 = "other"
Blockly.Msg.ARDUINO_SEEED_SERVO_MOVE = "%1 %2 Servo Pin %3 Degree(0-180) %4 Delay(ms) %5"
Blockly.Msg.ARDUINO_SEEED_SERVO_READ_DEGREES = "%1 %2 Servo Pin %3 Read Degrees"
Blockly.Msg.ARDUINO_SEEED_LED = "%1 %2 LED Pin %3 stat %4"
Blockly.Msg.ARDUINO_SEEED_BUZZER = "%1 %2 Buzzer Pin %3 stat %4"
Blockly.Msg.ARDUINO_SEEED_RELAY = "%1 %2 Relay Pin %3 stat %4"
Blockly.Msg.ARDUINO_SEEED_BTN = "%1 %2 Button PIN# %3 is pressed"
Blockly.Msg.ARDUINO_SEEED_TILT = "%1 %2 Tilt Pin %3"
Blockly.Msg.ARDUINO_SEEED_TOUCH = "%1 %2 Touch Pin %3"
Blockly.Msg.ARDUINO_SEEED_ROTATION = "%1 %2 Rotation Pin %3"
Blockly.Msg.ARDUINO_SEEED_SOUND = "%1 %2 Sound Pin %3"
Blockly.Msg.ARDUINO_SEEED_LIGHT = "%1 %2 Light Pin %3"
Blockly.Msg.ARDUINO_SEEED_TEMPERATURE = "%1 %2 Temperature Pin %3"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_PRINT = "%1 %2 LCD RGB Backlight print line1 %3 print line2 %4"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_PRINT2 = "%1 %2 LCD RGB Backlight row %3 column %4 print %5"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER = "%1 %2 LCD RGB Backlight %3"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER_OPT1 = "On"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER_OPT2 = "Off"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER_OPT3 = "Cursor"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER_OPT4 = "No Cursor"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER_OPT5 = "Blink"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER_OPT6 = "No Blink"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_POWER_OPT7 = "Clear"
Blockly.Msg.ARDUINO_GROVE_SERIAL_LCD_SETRGB = "%1 %2 LCD RGB setColor R %3 G %4 B %5"
Blockly.Msg.ARDUINO_SEEED_TEMPERATURE_HUMIDITY = "%1 %2 Temperature&Humidity PIN %3 %4"
Blockly.Msg.ARDUINO_SEEED_TEMPERATURE_HUMIDITY_OPT1 = "temperature"
Blockly.Msg.ARDUINO_SEEED_TEMPERATURE_HUMIDITY_OPT2 = "humidity"
Blockly.Msg.ARDUINO_SEEED_THUMB_JOYSTICK = "%1 %2 Thumb Joystick PIN %3 %4"
Blockly.Msg.ARDUINO_SEEED_ULT = "%1 %2 Ultrasonic Ranger distance(cm) PIN# %3"
Blockly.Msg.ARDUINO_SEEED_LINE_FINDER = "%1 %2 IR Distance Interrupter %3"
Blockly.Msg.ARDUINO_SEEED_LINE_FINDER_R = "%1 %2 Line Finder PIN %3"
Blockly.Msg.ARDUINO_SEEED_WATER = "%1 %2 Water PIN %3"
Blockly.Msg.ARDUINO_SEEED_MAGNETIC_SWITCH = "%1 %2 Magnetic Switch PIN %3"
Blockly.Msg.ARDUINO_SEEED_PIR_MOTION = "%1 %2 PIR Motion PIN %3"
Blockly.Msg.ARDUINO_SEEED_FLAME = "%1 %2 Flame PIN %3"
Blockly.Msg.ARDUINO_SEEED_COLLISION = "%1 %2 Collision PIN %3"
Blockly.Msg.ARDUINO_SEEED_HALL = "%1 %2 Hall PIN %3"
Blockly.Msg.ARDUINO_SEEED_SLIDE_POT = "%1 %2 Slide Potentionmeter PIN %3"
Blockly.Msg.ARDUINO_SEEED_MOISTURE = "%1 %2 Moisture PIN %3"
Blockly.Msg.ARDUINO_SEEED_4DIGIT_DISPLAY = "%1 %2 4 Digit Display PIN %3 show %4"
Blockly.Msg.ARDUINO_SEEED_RGB_LED = "%1 %2 Chainable RGB LED PIN %3 show %4 count %5"
Blockly.Msg.ARDUINO_SEEED_RGB_LED1 = "%1 %2 Chainable RGB LED PIN %3 show R %4 G %5 B %6 count %7"
Blockly.Msg.ARDUINO_SEEED_RGB_LED10 = "%1 %2 Chainable RGB LED PIN# %3 show %4"
Blockly.Msg.ARDUINO_SEEED_RGB_LED11 = "%1 %2 Chainable RGB LED PIN# %3 show R %4 G %5 B %6"
Blockly.Msg.ARDUINO_SEEED_SPEAKER = "%1 %2 Speaker PIN %3 play tone %4 for %5 beat"
Blockly.Msg.ARDUINO_SEEED_RECORDER = "%1 %2 Recorder PIN %3 Stat %4"
Blockly.Msg.ARDUINO_SEEED_EL_DRIVER = "%1 %2 EL Driver PIN %3 Stat %4"
Blockly.Msg.ARDUINO_SEEED_EL_VIBRATION_MOTOR = "%1 %2 Vibration PIN %3 Stat %4"
Blockly.Msg.ARDUINO_SEEED_ELECTROMAGNET = "%1 %2 Electromagnet PIN %3 Stat %4"
Blockly.Msg.ARDUINO_SEEED_MINI_FAN = "%1 %2 Mini Fan PIN %3 Stat %4"
Blockly.Msg.ARDUINO_GROVE_SERIAL_3ADA = "%1 %2 3 Axis Digital Accelerometer-16 %3"
Blockly.Msg.ARDUINO_GROVE_SERIAL_TOUCH = "%1 %2 I2C Touch CH %3"
Blockly.Msg.ARDUINO_GROVE_SERIAL_MINI_MOTOR_DRIVER = "%1 %2 Mini I2C Motor %3 speed(-255~255) %4"
Blockly.Msg.ARDUINO_GROVE_SERIAL_MINI_MOTOR_DRIVER_STOP = "%1 %2  Mini I2C Motor %3 stop"
Blockly.Msg.ARDUINO_SEEED_LED_STRING_LIGHT = "%1 %2 WS2813 PIN %3 LED %4 show R %5 G %6 B %7"
Blockly.Msg.ARDUINO_SEEED_LED_BAR = "%1 %2 LED Bar PIN %3 %4 %5"
Blockly.Msg.ARDUINO_SEEED_LED_CIRCULAR_LED = "%1 %2 Circular LED PIN %3 show %4"
Blockly.Msg.ARDUINO_SEEED_GESTURE = "%1 %2 Gesture detected %3？"
Blockly.Msg.ARDUINO_SEEED_SPEECH_RECOGNIZER = "%1 %2 Speech Recognizer PIN %3 detected %4"
Blockly.Msg.ARDUINO_FIGURE_OUTPUT = "DigitalWrite PIN# %1 Stat %2"
Blockly.Msg.ARDUINO_FIGURE_INPUT = "DigitalRead PIN# %1"
Blockly.Msg.ARDUINO_ANALOG_INPUT = "AnalogRead PIN# %1"
Blockly.Msg.ARDUINO_ANALOG_OUTPUT = "AnalogWrite PIN# %1(PWM) value %2"
Blockly.Msg.ARDUINO_PULSE_LEN = "PulseIn(μs) PIN %1 state %2"
Blockly.Msg.ARDUINO_PULSE_LEN_US = "pulseIn(μs) PIN %1 state %2 timeout(μs) %3"
Blockly.Msg.ARDUINO_SERIAL_BAUD_RATE = "Serial baud rate %1 bps"
Blockly.Msg.ARDUINO_SERIAL_PRINT = "Serial println %1"
Blockly.Msg.ARDUINO_SERIAL_IS_READABLE = "Serial isAvailable?"
Blockly.Msg.ARDUINO_SERIAL_READ = "Serial readString"
Blockly.Msg.ARDUINO_DELAY_MS = "Delay ms %1"
Blockly.Msg.ARDUINO_DELAY_US = "Delay μs %1"
Blockly.Msg.ARDUINO_SYS_TIME = "System running time %1"
Blockly.Msg.ARDUINO_KEEP_WAIT = "end program"
Blockly.Msg.ARDUINO_FOR1 = "count with %1 from %2 to %3 step %4"
Blockly.Msg.ARDUINO_FOR2 = "do %1"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT = "%1 %2 RGB LED Matrix plot x:%3 y:%4 %5"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_SHOW_TEXT = "%1 %2 RGB LED Matrix show string %3"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_SHOW_EMOJS = "%1 %2 RGB LED Matrix show image %3"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT1 = "%1 %2 Otto DIY Robot %3 Steps:%4 Time:%5"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2 = "%1 %2 Otto DIY Robot %3 Steps:%4 Time:%5 Direction:%6"
Blockly.Msg.ARDUINO_SETUP_LOOP0 = "setup"
Blockly.Msg.ARDUINO_SETUP_LOOP2 = "loop"
Blockly.Msg.ARDUINO_REPEAT = "repeat while %1"
Blockly.Msg.ARDUINO_BREAK = "break out of loop"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT0 = "Up"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT1 = "Down"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT2 = "Left"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT3 = "Right"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT4 = "Forward"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT5 = "Backward"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT6 = "Clockwise"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT7 = "Count Clockwise"
Blockly.Msg.ARDUINO_SEEED_GESTURE_OPT8 = "Wave"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT0 = "red"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT1 = "orange"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT2 = "yellow"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT3 = "green"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT4 = "cyan"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT5 = "blue"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT6 = "purple"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT7 = "pink"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT8 = "white"
Blockly.Msg.ARDUINO_GROVE_SERIAL_RGB_LED_MATRIX_ON_POINT_OPT9 = "off"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT1_OPT0 = "forward"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT1_OPT1 = "back"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT1_OPT2 = "left"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT1_OPT3 = "right"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT0 = "Rest"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT1 = "Jump"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT2 = "Bend"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT3 = "ShakeLeg"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT4 = "UpDown"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT5 = "Swing"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT6 = "TipToeSwing"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT7 = "Jitter"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT8 = "AscendingTurn"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT9 = "Moonwalker"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT10 = "Crusaito"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT11 = "Flapping"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT12 = "RIGHT/FOREWARD"
Blockly.Msg.ARDUINO_GROVE_OTTO_DIY_ROBOT2_OPT13 = "LEFT/BACKWARD"
Blockly.Msg.ARDUINO_SHIELD_BOT2 = "%1 %2 Shield Bot Motors position %3"
Blockly.Msg.ARDUINO_SHIELD_BOT2_OPT1 = "Middle"
Blockly.Msg.ARDUINO_SHIELD_BOT2_OPT2 = "Left"
Blockly.Msg.ARDUINO_SHIELD_BOT2_OPT3 = "Edge Left"
Blockly.Msg.ARDUINO_SHIELD_BOT2_OPT4 = "Right"
Blockly.Msg.ARDUINO_SHIELD_BOT2_OPT5 = "Edge Right"
Blockly.Msg.ARDUINO_SHIELD_BOT2_OPT6 = "Lost"
Blockly.Msg.ARDUINO_SHIELD_BOT1 = "%1 %2 Shield Bot Motors go %3 at %4 speed"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT1 = "Forward"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT2 = "Backward"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT3 = "Left"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT4 = "Right"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT5 = "Stop"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT6 = "Slow"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT7 = "Medium"
Blockly.Msg.ARDUINO_SHIELD_BOT1_OPT8 = "Fast"
Blockly.Msg.CATEGORY_ARDUINO_INIT = "Start"
Blockly.Msg.CATEGORY_ARDUINO_INPUT = "Input"
Blockly.Msg.CATEGORY_ARDUINO_OUTPUT = "Output"
Blockly.Msg.CATEGORY_ARDUINO_SERIAL = "Serial Port"
Blockly.Msg.CATEGORY_ARDUINO_GROVE_IGURE = "Grove Digital"
Blockly.Msg.CATEGORY_ARDUINO_GROVE_ANALOG = "Grove Analog"
Blockly.Msg.CATEGORY_ARDUINO_GROVE_I2C = "Grove I2C"
Blockly.Msg.CATEGORY_ARDUINO_ROBOT_KIT = "M.A.R.K"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW = "%1 %2 Web Server Location %3 %4 Display text: %5 Value: %6"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT1 = "Water"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT2 = "Ultrasonic Ranger"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT3 = "PIR Motion"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT4 = "Temperature&Humidity"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT5 = "LED"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT6 = "Vibration"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT7 = "Voltage"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT8 = "Air"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT9 = "Flame"
Blockly.Msg.ARDUINO_WEBSERVER_SHOW_OPT10 = "Vision Sensor"
Blockly.Msg.ARDUINO_WEBSERVER_INIT = "%1 %2 Web Server Initialize %3 SSID %4 PWD %5"
Blockly.Msg.ARDUINO_WEBSERVER_INIT_OPT1 = "Wisdom city"
Blockly.Msg.ARDUINO_COLOR_SENSOR = "%1 %2 Color Sensor detected %3 ？"
Blockly.Msg.ARDUINO_COLOR_SENSOR_OPT1 = "Red"
Blockly.Msg.ARDUINO_COLOR_SENSOR_OPT2 = "Green"
Blockly.Msg.ARDUINO_COLOR_SENSOR_OPT3 = "Blue"
Blockly.Msg.ARDUINO_COLOR_SENSOR_OPT4 = "Black"
Blockly.Msg.ARDUINO_COLOR_SENSOR_OPT5 = "White"
Blockly.Msg.ARDUINO_COLOR_SENSOR_OPT6 = "Other"
Blockly.Msg.GROVEZERO_MATH_ITOA_VALUE_MESSAGE0 = "to String %1"
Blockly.Msg.TOOLBOX_EXTENSION_CATEGORY_NAME = "Add Extension"
Blockly.Msg.ARDUINO_SEEED_VOLTAGE = "%1 %2 Voltage PIN %3"
Blockly.Msg.ARDUINO_SEEED_QUALITY = "%1 %2 Air quality PIN %3"
Blockly.Msg.ARDUINO_SEEED_WATER_ANALOG = "%1 %2 Water level PIN %3"
Blockly.Msg.ARDUINO_SEEED_HUMIDIFIER = "%1 %2 Humidifier PIN %3 Stat %4"
Blockly.Msg.ARDUINO_SEEED_VIBRATION = "%1 %2 Vibration PIN %3"
Blockly.Msg.ARDUINO_SEEED_LED_ANALOG = "%1 %2 LED PIN %3 Stat %4"
Blockly.Msg.ARDUINO_VISION_SENSOR1 = "%1 %2 Vision Sensor Ball %3 detected？"
Blockly.Msg.ARDUINO_VISION_SENSOR1_OPT1 = "Orange ping-pong"
Blockly.Msg.ARDUINO_VISION_SENSOR1_OPT2 = "Orange Green tennis"
Blockly.Msg.ARDUINO_VISION_SENSOR2 = "%1 %2 Vision Sensor Traffic sign card %3 detected?"
Blockly.Msg.ARDUINO_VISION_SENSOR3 = "%1 %2 Vision Sensor Number card %3 detected?"
Blockly.Msg.ARDUINO_VISION_SENSOR4 = "%1 %2 Vision Sensor graphics card %3 detected?"
Blockly.Msg.ARDUINO_VISION_SENSOR4_OPT1 = "correct"
Blockly.Msg.ARDUINO_VISION_SENSOR4_OPT2 = "cross"
Blockly.Msg.ARDUINO_VISION_SENSOR4_OPT3 = "circular"
Blockly.Msg.ARDUINO_VISION_SENSOR4_OPT4 = "square"
Blockly.Msg.ARDUINO_VISION_SENSOR4_OPT5 = "triangle"
Blockly.Msg.ARDUINO_VISION_SENSOR5 = "%1 %2 Vision Sensor human body detected?"
Blockly.Msg.ARDUINO_VISION_SENSOR6 = "%1 %2 Vision Sensor color %3 detected?"
Blockly.Msg.ARDUINO_VISION_SENSOR7 = "%1 %2 Vision Sensor get color value"
Blockly.Msg.BUZZER_TONE_LOW = "Low"
Blockly.Msg.BUZZER_TONE_MIDDLE = "Middle"
Blockly.Msg.BUZZER_TONE_HIGH = "High"
Blockly.Msg.BUZZER_SELECTED_PREFIX = "selected:"
Blockly.Msg.ARDUINO_LED_STRIP1 = "%1 %2 RGB LED Strip PIN %3 show R %4 G %5 B %6 Number %7"
Blockly.Msg.ARDUINO_LED_STRIP2 = "%1 %2 RGB LED Strip PIN %3 show R %4 G %5 B %6"
Blockly.Msg.ARDUINO_VISION_SENSOR8 = "%1 %2  Vision Sensor ball get value %3"
Blockly.Msg.ARDUINO_OLCD1 = "%1 %2 LCD screen show image %3"
Blockly.Msg.ARDUINO_OLCD2 = "%1 %2 LCD screen show string %3 Line %4 Column %5"
Blockly.Msg.ARDUINO_OLCD3 = "%1 %2 LCD screen clear display"
Blockly.Msg.MAIXDUINO_ENENT_WHENSTARTUP = "When start"
Blockly.Msg.MAIXDUINO_DISPLAY_STRING = "display %1 at row %2"
Blockly.Msg.MAIXDUINO_DISPLAY_SET_CIRCLE = "draw circle: at X %1 Y %2 R %3"
Blockly.Msg.MAIXDUINO_DISPLAY_SET_RECTANGLE = "draw rectangle: X1%1 Y1%2 X2%3 Y2%4"
Blockly.Msg.MAIXDUINO_DISPLAY_DRAW_CIRCLE = "%1 %2 Draw circle %3"
Blockly.Msg.MAIXDUINO_DISPLAY_DRAW_RECTANGLE = "%1 %2 Draw rectangle %3"
Blockly.Msg.MAIXDUINO_CAMERA_SET_THRESHOLD = "set machine vision sensitivity to %1"
Blockly.Msg.MAIXDUINO_CAMERA_TAKE_PICTURE = "Take a photo: filename %1"
Blockly.Msg.MAIXDUINO_CAMERA_TAKE_VIDEO = "Record video: last %1 seconds, filename %2"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_BALL = "circle detected"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_BALL_COORD = "detected circle %1"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_BALL_VALUE = "detected circle info"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_RECTANGLE = "rectangle detected"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_RECTANGLE_COORD = "detected rectangle %1"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_RECTANGLE_VALUE = "detected rectangle info"
Blockly.Msg.MAIXDUINO_CAMERA_GET_BALL_AVERAGE_COLOR = "%1 %2 Circle region: X %3 Y %4 R %5 average RGB value"
Blockly.Msg.MAIXDUINO_CAMERA_GET_RECTANGLE_AVERAGE_COLOR = "%1 %2 Rectangular region: Xmin %3 Xmax %4 Ymin %5 Ymax %6 average RGB value"
Blockly.Msg.MAIXDUINO_CAMERA_INTEREST_AREA_COLOR = "%1 %2 Region of interest %3 detected color is %4"
Blockly.Msg.MAIXDUINO_CAMERA_INTEREST_AREA_AVERAGE_COLOR = "%1 %2 Interest area %3 average color RGB value"
Blockly.Msg.MAIXDUINO_SENSING_HOME_ANIMAL_DETECTION = "recognized domestic animal result probability > %1 %"
Blockly.Msg.MAIXDUINO_SENSING_HOME_ANIMAL_SEL_DETECTION = "recognized domestic animal is %1 probability > %2 %"
Blockly.Msg.MAIXDUINO_SENSING_ZOO_ANIMAL_DETECTION = "recognized zoo animal result probability > %1 %"
Blockly.Msg.MAIXDUINO_SENSING_ZOO_ANIMAL_SEL_DETECTION = "recognized zoo animal is %1 probability > %2 %"
Blockly.Msg.MAIXDUINO_SENSING_ORDINARY_OBJECT_DETECTION = "recognized  common object result probability > %1 %"
Blockly.Msg.MAIXDUINO_SENSING_ORDINARY_OBJECT_SEL_DETECTION = "recognized common object is %1 probability > %2 %"
Blockly.Msg.MAIXDUINO_SENSING_NUM_DETECTION = "detected number result probability > %1 %"
Blockly.Msg.MAIXDUINO_NUM_SEL_DETECTION = "detected number is %1 probability > %2 %"
Blockly.Msg.MAIXDUINO_NUM_CERTRE_DETECTION = "detected number %1 %2 probability > %3 %"


Blockly.Msg.MAIXDUINO_SENSING_TRAFFIC_SIGNS_DETECTION = "detected traffic sign probability > %1 %"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_SEL_DETECTION = "detected traffic sign is %1 probability > %2 %"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_CERTRE_DETECTION = "detected traffic sign %1 %2 probability > %3 %"
Blockly.Msg.MAIXDUINO_INPUT_SYSTEMTIME = "System running time %1"
Blockly.Msg.MAIXDUINO_CAMERA_R_MAX = "Rmax"
Blockly.Msg.MAIXDUINO_CAMERA_R_MIN = "Rmin"
Blockly.Msg.MAIXDUINO_CAMERA_SIZE_MAX = "max"
Blockly.Msg.MAIXDUINO_CAMERA_SIZE_MIN = "min"
Blockly.Msg.MAIXDUINO_CAMERA_COORD_X = "位置：X坐标"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_Y = "Y coordinate"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_XMIN = "Position: Xmin coord"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_YMIN = "Position: Ymin coord"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_XMAX = "Position: Xmax coord"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_YMAX = "Position: Ymax coord"
Blockly.Msg.MAIXDUINO_CAMERA_R_VALUE = "R"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT1 = "red"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT2 = "green"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT3 = "blue"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT4 = "yellow"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT5 = "cyan"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT6 = "purple"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT7 = "black"
Blockly.Msg.MAIXDUINO_CAMERA_SENSOR_OPT8 = "white"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT1 = "cat"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT2 = "dog"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT3 = "bird"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT4 = "hedgehog"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT5 = "mouse"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT6 = "crocodile"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT7 = "bear"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT8 = "elephant"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT9 = "giraffe"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT10 = "tiger"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT11 = "butterfly"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT12 = "cockroach"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT13 = "fish"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT14 = "lizard"
Blockly.Msg.MAIXDUINO_SENSING_ANIMAL_OPT15 = "spider"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT0 = "turn left"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT1 = "turn right"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT2 = "go straight"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT3 = "u-turn"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT4 = "stop"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT5 = "max speed limit 5"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT6 = "max speed limit 80"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT7 = "no entry"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT8 = "yield"
Blockly.Msg.MAIXDUINO_TRAFFIC_SIGNS_OPT9 = "pedestrian crossing"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT1 = "chair"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT2 = "book"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT3 = "cup"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT4 = "pen"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT5 = "pizza"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT6 = "smart phone"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT7 = "bomb"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT8 = "computer"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT9 = "human"
Blockly.Msg.MAIXDUINO_SENSING_OBJECT_OPT10 = "knapsack"
Blockly.Msg.MAIXDUINO_SENSING_COORD_X = "X coordinate"
Blockly.Msg.MAIXDUINO_SENSING_COORD_Y = "Y coordinate"
Blockly.Msg.MAIXDUINO_LINEPAROL_ANGLE = "%1 %2 Line following set line recognition color %3 region weight red%4%  blue%5%  green%6%"
Blockly.Msg.MAIXDUINO_CAMERA_BALL_AERA = "spherical"
Blockly.Msg.MAIXDUINO_CAMERA_RECTANGLE_AERA = "rectangle"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_RUN = "M.A.R.K go %2 at %1 speed"
Blockly.Msg.MAIXDUINO_ROBOT_MOTOR_RUN = "M.A.R.K. set %1 wheel rotation speed to %2 %"
Blockly.Msg.MAIXDUINO_ROBOT_SERVO_RUN = "M.A.R.K. Servo %1 move to %2 degree"
Blockly.Msg.MAIXDUINO_ROBOT_STEPPER_SERVO_SETANGLE = "M.A.R.K. Stepper motor set step angle to %1 °"
Blockly.Msg.MAIXDUINO_ROBOT_STEPPER_SERVO_SETROTATESPEED = "M.A.R.K. Stepper motor set speed to %1 RPM"
Blockly.Msg.MAIXDUINO_ROBOT_STEPPER_SERVO_RUN = "M.A.R.K. Stepper motor move %1 steps"
Blockly.Msg.MAIXDUINO_ROBOT_STEPPER_SERVO_TURN = "M.A.R.K visual line following: turning angle %1 speed %2 sensitivity %3"
Blockly.Msg.CocoRobo_ENENT_WHENSTARTUP = "%1 %2 when the board startup"
Blockly.Msg.CocoRobo_ENENT_WHENACTION = "%1 %2 when the button %3 is %4 do"
Blockly.Msg.CocoRobo_ENENT_WHENPINVOLTAGE = "%1 %2 when pin %3 level is from %4 do"
Blockly.Msg.CocoRobo_ENENT_WHENSHARK = "%1 %2 the board is shaked do"
Blockly.Msg.CocoRobo_ENENT_TILT_DIRECTION = "%1 %2 when the board id %3 do"
Blockly.Msg.CocoRobo_ENENT_WHENTOUCHKEY = "%1 %2 when the touchpad %3 is %4 do"
Blockly.Msg.CocoRobo_ENENT_FOR1 = "%1 %2 set timer %3 %4 mode,cycle %5 millisecond(s)"
Blockly.Msg.CocoRobo_ENENT_FOR2 = "do %1"
Blockly.Msg.CocoRobo_ENENT_CLEAR_TIMER = "%1 %2 clear timer/event %3"
Blockly.Msg.CocoRobo_ENENT_TIMER_COUNT = "%1 %2 timer %3 count value"
Blockly.Msg.CocoRobo_EVENT_WHEN_ACTION = "%1 %2 event %3 : when %4 do"
Blockly.Msg.CocoRobo_EVENT_CHILD_THREAD = "%1 %2 thread %3 do"
Blockly.Msg.CocoRobo_SYSRESOURES_BUTTON_PRESSED = "%1 %2 button %3 is pressed"
Blockly.Msg.CocoRobo_SYSRESOURES_BUTTON_TOUCH = "%1 %2 button %3 is touched"
Blockly.Msg.CocoRobo_SYSRESOURES_TOUCH_VALUE = "%1 %2 button %3 touch value"
Blockly.Msg.CocoRobo_SYSRESOURES_VOLUME = "%1 %2 sound value"
Blockly.Msg.CocoRobo_SYSRESOURES_LIGHT = "%1 %2 light value"
Blockly.Msg.CocoRobo_SYSRESOURES_ACCELERATION = "%1 %2 %3 axis acceleration"
Blockly.Msg.CocoRobo_SYSRESOURES_SLOPE = "%1 %2 %3  axis tilt angle"
Blockly.Msg.CocoRobo_SYSRESOURES_SHARKED = "%1 %2 the board is shaked"
Blockly.Msg.CocoRobo_SYSRESOURES_SLOPE_ANGLE = "%1 %2 the board is tilt %3"
Blockly.Msg.CocoRobo_SYSRESOURES_SET_SINGLE_COLOR = "%1 %2 set %3 RGB light color to %4"
Blockly.Msg.CocoRobo_SYSRESOURES_SET_SINGLE_RGB = "%1 %2 set %3 RGB light color to R %4 G %5 B %6"
Blockly.Msg.CocoRobo_SYSRESOURES_SET_ALL_COLOR = "%1 %2 set all RGB lights color to %3"
Blockly.Msg.CocoRobo_SYSRESOURES_SET_ALL_RGB = "%1 %2 set all RGB lights color to R %3 G %4 B %5"
Blockly.Msg.CocoRobo_SYSRESOURES_CLOSE_RGB = "%1 %2 turn off all RGB lights"
Blockly.Msg.CocoRobo_SYSRESOURES_SET_BME280 = "%1 %2 BME280 %3"
Blockly.Msg.CocoRobo_SYSRESOURES_DRAW_CLOCK = "%1 %2 draw clock x %3 y %4 radius %5"
Blockly.Msg.CocoRobo_SYSRESOURES_CLOCK_OPERATE = "%1 %2 %3 clock"
Blockly.Msg.CocoRobo_SYSRESOURES_SET_RUN_TIME = "%1 %2 run time %3"
Blockly.Msg.CocoRobo_SYSRESOURES_SET_LOCAL_TIME = "%1 %2 local time %3"
Blockly.Msg.CocoRobo_SYSRESOURES_RESET = "%1 %2 reset"
Blockly.Msg.CocoRobo_SYSRESOURES_MAC_ADDRESS = "%1 %2 MAC Address"
Blockly.Msg.CocoRobo_LOOKS_OLCD = "%1 %2 LCD display %3"
Blockly.Msg.CocoRobo_LOOKS_OLCD_LINE_TEXT = "%1 %2 LCD line %3 shows %4 text mode %5"
Blockly.Msg.CocoRobo_LOOKS_OLCD_CLEAR_LINE = "%1 %2 LCD clear line %3"
Blockly.Msg.CocoRobo_LOOKS_DISPLAY_TEXT = "%1 %2 at x %3 y %4 display text %5 text mode %6"
Blockly.Msg.CocoRobo_LOOKS_TRACE_POINT = "%1 %2 draw a point x %3 y %4 为 %5"
Blockly.Msg.CocoRobo_LOOKS_PROGRESS = "%1 %2 progress x %3 y %4 width %5 height %6 progress %7"
Blockly.Msg.CocoRobo_LOOKS_COLUMN_STRIP = "%1 %2 column bar %3 x %4 y %5 width %6 height %7 progress %8"
Blockly.Msg.CocoRobo_LOOKS_DRAW_LINE = "%1 %2 %3 line x1 %4 y1 %5 to x2 %6 y2 %7"
Blockly.Msg.CocoRobo_LOOKS_DRAW_FRAME = "%1 %2 %3 border x %4 y %5 width %6 height %7"
Blockly.Msg.CocoRobo_LOOKS_DRAW_ARC_BORDER = "%1 %2 %3 arc border x %4 y %5 width %6 height %7 radius %8"
Blockly.Msg.CocoRobo_LOOKS_DRAW_RECT = "%1 %2 %3 rectangle x %4 y %5 width %6 height %7"
Blockly.Msg.CocoRobo_LOOKS_DRAW_CIRCLE = "%1 %2 %3 %4 circle x %5 y %6 radius %7"
Blockly.Msg.CocoRobo_LOOKS_DRAW_TRIANGLE = "%1 %2 %3 %4 triangle x %5 y %6 x2 %7 y2 %8 x3 %9 y3 %10"
Blockly.Msg.CocoRobo_LOOKS_DRAW_DISPLAY_PICTURE = "%1 %2 at x %3 y %4 display image %5"
Blockly.Msg.CocoRobo_LOOKS_DRAW_DISPLAY = "%1 %2 at x %3 y %4 display text %5 using %6 font with %7"
Blockly.Msg.CocoRobo_MUSIC_STOP_PLAY = "%1 %2 stop playing music at Pin %3"
Blockly.Msg.CocoRobo_MUSIC_RESTORE_MUSIC_SET = "%1 %2 restore music settings"
Blockly.Msg.CocoRobo_MUSIC_NOTE_BEAT = "%1 %2 note %3 beat %4"
Blockly.Msg.CocoRobo_MUSIC_NOTE_BEAT_PIN = "%1 %2 play musical note %3 beat %4 at Pin %5"
Blockly.Msg.CocoRobo_MUSIC_TONE = "%1 %2 tone %3"
Blockly.Msg.CocoRobo_MUSIC_PLAY_TONE_PIN = "%1 %2 play tone %3 delay %4 millisecond(s) at Pin %5"
Blockly.Msg.CocoRobo_MUSIC_PLAY_TONE_PIN_PARA = "%1 %2 play tone from %3 to %4 step %5 duration %6 Pin %7"
Blockly.Msg.CocoRobo_MUSIC_PLAY_MUSIC_PIN = "%1 %2 play music %3 wait %4 loop %5 Pin %6"
Blockly.Msg.CocoRobo_MUSIC_SET_PLAY_SPEED = "%1 %2 set the playback speed to %3 times"
Blockly.Msg.CocoRobo_MUSIC_SET_BEAT = "%1 %2 set each beat equal to %3 notes，the number of beats per minute is %4"
Blockly.Msg.CocoRobo_MUSIC_SET_CURRENT_BEAT = "%1 %2 current beats"
Blockly.Msg.CocoRobo_BUZZER_INIT = "%1 %2 init Audio"
Blockly.Msg.CocoRobo_BUZZER_RELEASE_CACHE = "%1 %2 deinit Audio"
Blockly.Msg.CocoRobo_BUZZER_SET_VOLUMN = "%1 %2 set Audio volume ad %3"
Blockly.Msg.CocoRobo_BUZZER_SET_ACTION = "%1 %2 Audio %3"
Blockly.Msg.CocoRobo_BUZZER_PLAY = "%1 %2 Audio play %3"
Blockly.Msg.CocoRobo_BUZZER_VOICE_CONF = "%1 %2 TTS config APPID %3 APIKey %4"
Blockly.Msg.CocoRobo_BUZZER_VOICE_PLAY = "%1 %2 TTS play text %3"
Blockly.Msg.CocoRobo_PIN_GET_VALUE = "%1 %2 pin %3 digital value"
Blockly.Msg.CocoRobo_PIN_SET_VALUE = "%1 %2 set pin %3 digital value to %4"
Blockly.Msg.CocoRobo_PIN_GET_ANALOG_VALUE = "%1 %2 pin %3 analog value"
Blockly.Msg.CocoRobo_PIN_SET_ANALOG_VALUE = "%1 %2 set pin %3 analog value(PWM) to %4"
Blockly.Msg.CocoRobo_PIN_SET_SERVO_ANGLE = "%1 %2 set the servo %3 angle as %4"
Blockly.Msg.CocoRobo_PIN_SET_SERVO_PWM_MAXANGLE = "%1 %2 set the servo %3 angle as %4 pulse width form %5 us to %6 us actuation range as %7"
Blockly.Msg.CocoRobo_PIN_SET_PIN_MODE = "%1 %2 set pin %3 as %4 mode %5"
Blockly.Msg.CocoRobo_PIN_EXTERNAL_LEVEL_DURATION = "%1 %2 %3 external %4 pulse level duration(us)"
Blockly.Msg.CocoRobo_PIN_DHT11_VALUE = "%1 %2 DHT11 %3 %4"
Blockly.Msg.CocoRobo_PIN_DHT22_VALUE = "%1 %2 DHT22 %3 %4"
Blockly.Msg.CocoRobo_PIN_INIT_I2C_BAUD_RATE = "%1 %2 initialize I2C with baudrate %3"
Blockly.Msg.CocoRobo_PIN_INIT_I2C_SCL_SDA_BAUD = "%1 %2 initialize I2C SCL %3 SDA %4 baudrate %5"
Blockly.Msg.CocoRobo_PIN_I2C_ADDRESS_WRITE = "%1 %2 I2C address %3 is written to %4"
Blockly.Msg.CocoRobo_PIN_I2C_ADDRESS_GET_BYTES_NUM = "%1 %2 I2C address %3 read bytes number %4"
Blockly.Msg.CocoRobo_PIN_HSCR04_ULTRASONIC_INIT = "%1 %2 hcsr04 untrasonic initialize name %3 trigger %4 echo %5"
Blockly.Msg.CocoRobo_PIN_HSCR04_ULTRASONIC_DISTANCE_UNIT = "%1 %2 %3 hcsr04 untrasonic distance,uint %4"
Blockly.Msg.CocoRobo_RADIO_ACTION = "%1 %2 turn %3 radio"
Blockly.Msg.CocoRobo_SET_RADIO_CHANNEL = "%1 %2 set radio channel %3"
Blockly.Msg.CocoRobo_SET_RADIO_SEND_MES = "%1 %2 radio sends %3"
Blockly.Msg.CocoRobo_RADIO_GET_MES = "%1 %2 radio received"
Blockly.Msg.CocoRobo_RADIO_GET_MES_FOR1 = "when receiving broadcast message %1 from Radio do"
Blockly.Msg.CocoRobo_RADIO_GET_SPECIAL_FOR1 = "when receiving specific broadcast message %1 from Radio do"
Blockly.Msg.CocoRobo_WIFI_CONNECT = "%1 %2 connect to Wi-Fi with SSID %3 & Password %4"
Blockly.Msg.CocoRobo_WIFI_DISCONNECT = "%1 %2 disconnect Wi-Fi connection"
Blockly.Msg.CocoRobo_WIFI_CONNECTED = "%1 %2 Has connected to Wi-Fi"
Blockly.Msg.CocoRobo_WIFI_ALL_CONF = "%1 %2 Wi-Fi configuration information"
Blockly.Msg.CocoRobo_WIFI_CONF_MES = "%1 %2 Wi-Fi configuration information %3"
Blockly.Msg.CocoRobo_WIFI_OPEN_AP_MODE = "%1 %2 open AP mode with SSID %3 & Channel %4"
Blockly.Msg.CocoRobo_WIFI_CLOSE_AP_MODE = "%1 %2 close AP mode"
Blockly.Msg.CocoRobo_WIFI_SYNC_NETWORK_TIME = "%1 %2 synchronize network time,timezone %3 & timing server %4"
Blockly.Msg.CocoRobo_NEOPIXEL_INIT = "%1 %2 initialize light strip with Name %3 Pin %4 Quantity %5"
Blockly.Msg.CocoRobo_NEOPIXEL_CHANNEL_COLOR = "%1 %2 light strip %3 # %4 color as %5"
Blockly.Msg.CocoRobo_NEOPIXEL_CHANNEL_RGB = "%1 %2 light strip %3 # %4 R %5 G %6 B %7"
Blockly.Msg.CocoRobo_NEOPIXEL_FULL_LIGHT_COLOR = "%1 %2 light strip %3 full bright with color %4"
Blockly.Msg.CocoRobo_NEOPIXEL_FULL_LIGHT_RGB = "%1 %2 light strip %3 full bright R %4 G %5 B %6"
Blockly.Msg.CocoRobo_NEOPIXEL_CLOSE = "%1 %2 light strip %3 off"
Blockly.Msg.CocoRobo_NEOPIXEL_RAINBOW_LIGHT_EFFECT = "%1 %2 define rainbow effect of light strip with Name %3 Quantity %4 bright %5 offset %6"
Blockly.Msg.CocoRobo_NEOPIXEL_SET_WRITE = "%1 %2 light strip %3 setting take effect"
Blockly.Msg.CocoRobo_CONTROL_FOR1 = "for each item %1 in list do"
Blockly.Msg.CocoRobo_OPERATORS_GET_TYPE = "type %1"
Blockly.Msg.CocoRobo_OPERATORS_JUDGE_TYPE = "type %1 is %2"
Blockly.Msg.CocoRobo_OPERATORS_MOD_INT = "%1 ÷ %2 the integer part of the quotient"
Blockly.Msg.CocoRobo_OPERATORS_KEEP_TWO_DECIMALS = "%1 keep %2 decimal places"
Blockly.Msg.CocoRobo_OPERATORS_LIMIT_RANGE = "constrain %1 low %2 high %3"
Blockly.Msg.CocoRobo_OPERATORS_MAPPING_RANGE = "map %1 from %2 , %3 to %4 , %5"
Blockly.Msg.CocoRobo_G0_COLOR_LINE_FOLLOWER_POSITION = "%1 %2 Color Line Follower line position %3"
Blockly.Msg.CocoRobo_G0_COLOR_LINE_FOLLOWER_SEEING = "%1 %2 Color Line Follower is seeing %3"
Blockly.Msg.CocoRobo_G0_COLOR_LINE_FOLLOWER_COLOR = "%1 %2 Color Line Follower color value"
Blockly.Msg.ARDUINO_GROVE_SERIAL_3ADA15 = "%1 %2 3 Axis Digital Accelerometer-1.5 %3"
Blockly.Msg.ARDUINO_SEEED_LED_BAR_OPT1 = "show"
Blockly.Msg.ARDUINO_SEEED_LED_BAR_OPT2 = "close"
Blockly.Msg.ARDUINO_SEEED_SPEECH_RECOGNIZER_GETVALUE = "%1 %2 Speech Recognizer PIN %3 Return Value"
Blockly.Msg.ARDUINO_SERIAL_STR_TONUMBER = "Serial String toFloat %1"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT1 = "red"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT2 = "yellow"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT3 = "green"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT4 = "cyan"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT5 = "blue"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT6 = "purple"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT7 = "black"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT8 = "white"
Blockly.Msg.ARDUINO_VISION_SENSOR6_OPT9 = "other"
Blockly.Msg.ARDUINO_VISION_SENSOR_OPT1 = "forward"
Blockly.Msg.ARDUINO_VISION_SENSOR_OPT2 = "left"
Blockly.Msg.ARDUINO_VISION_SENSOR_OPT3 = "right"
Blockly.Msg.ARDUINO_VISION_SENSOR_OPT4 = "turn round"
Blockly.Msg.ARDUINO_VISION_SENSOR_OPT5 = "P"
Blockly.Msg.ARDUINO_MARK_ROBOT_RUN = "%1 %2 M.A.R.K go %3 at %4 speed"
Blockly.Msg.ARDUINO_MARK_ROBOT_MOTOR_RUN = "%1 %2 M.A.R.K run motor %3 at %4"
Blockly.Msg.ARDUINO_MARK_ROBOT_SERVO_RUN = "%1 %2 M.A.R.K Servo %3 move to %4 degree"
Blockly.Msg.ARDUINO_NETWORK_SETWIFI = "%1 %2 start connecting to the wireless network %3 password %4"
Blockly.Msg.ARDUINO_NETWORK_STATE = "%1 %2 Is the network connected?"
Blockly.Msg.ARDUINO_SPEECH_RECOGNITION_REC = "%1 %2 Identify %3 speech %4 seconds"
Blockly.Msg.ARDUINO_SPEECH_RECOGNITION_OPT01 = "Mandarin"
Blockly.Msg.ARDUINO_SPEECH_RECOGNITION_OPT02 = "English"
Blockly.Msg.ARDUINO_SPEECH_RECOGNITION_RECTEXT = "%1 %2 text recognized by speech recognition"
Blockly.Msg.ARDUINO_SPEECH_RECOGNITION_TTS = "%1 %2 speak %3"
Blockly.Msg.ARDUINO_AUDIO_RECORD = "%1 %2 audio record %3 %4"
Blockly.Msg.ARDUINO_AUDIO_STORAGE_OPT01 = "file"
Blockly.Msg.ARDUINO_AUDIO_STORAGE_OPT02 = "Micro SD"
Blockly.Msg.ARDUINO_AUDIO_STORAGE_OPT03 = "USB"
Blockly.Msg.ARDUINO_AUDIO_STORAGE_OPT04 = "buffer"
Blockly.Msg.ARDUINO_AUDIO_STOP_RECORD = "%1 %2 recording stop"
Blockly.Msg.ARDUINO_AUDIO_PLAY = "%1 %2 audio play %3 %4"
Blockly.Msg.ARDUINO_AUDIO_PLAY_SOMEONE = "%1 %2 play track %3"
Blockly.Msg.ARDUINO_AUDIO_PLAY_PREORNEXT = "%1 %2 play %3 track"
Blockly.Msg.ARDUINO_AUDIO_PLAY_OPT1 = "Previous track"
Blockly.Msg.ARDUINO_AUDIO_PLAY_OPT2 = "next track"
Blockly.Msg.ARDUINO_AUDIO_PLAY_ATMODE = "%1 %2 %3 Play Track"
Blockly.Msg.ARDUINO_AUDIO_PLAY_MODE_OPT1 = "Loop"
Blockly.Msg.ARDUINO_AUDIO_PLAY_MODE_OPT2 = "Pulse"
Blockly.Msg.ARDUINO_AUDIO_PLAY_MODE_OPT3 = "Stop"
Blockly.Msg.ARDUINO_AUDIO_SETVOL = "%1 %2 Set speaker volume %3"
Blockly.Msg.ELFBOT_MAINBOARD_START = "%1 %2 when Elfbot starts up"
Blockly.Msg.ELFBOT_WHEN_BUTTON_S_PRESSED = "%1 %2 when button S is pressed"
Blockly.Msg.ELFBOT_WHEN_LIGHTINTENSITY_LESSTHAN = "%1 %2 when light intensity %3 %4"
Blockly.Msg.ELFBOT_WHENGREATERTHAN_TIMER = "%1 %2 when timer > %3"
Blockly.Msg.ELFBOT_WHENGREATERTHAN_LOUDNESS = "%1 %2 when loudness %3 %4"
Blockly.Msg.ELFBOT_BUTTONS_ISPRESSED = "%1 %2 Elfbot button S is pressed?"
Blockly.Msg.ELFBOT_ULTRASONIC_DISTANCE_FROMOBJ = "%1 %2 Elfbot distance of obstacles ahead"
Blockly.Msg.ELFBOT_ULTRASONIC_ISDETECTED_OBJECT = "%1 %2 Elfbot obstacles ahead?"
Blockly.Msg.ELFBOT_ULTRASONIC_LED_SHOW_COLOR = "%1 %2 Elfbot set the ultrasonic LED with color %3"
Blockly.Msg.ELFBOT_ULTRASONIC_LED_CRUSHOUT = "%1 %2 Elfbot ultrasonic LED lights off"
Blockly.Msg.ELFBOT_ULTRASONIC_WHENDETECTEDOBJECT = "%1 %2 when detecting an object ahead"
Blockly.Msg.ELFBOT_LEDMATRIX_PLOT = "%1 %2 Elfbot plot x: %3 y: %4"
Blockly.Msg.ELFBOT_LEDMATRIX_UNPLOT = "%1 %2 Elfbot unplot x: %3 y: %4"
Blockly.Msg.ELFBOT_LEDMATRIX_PLOT_OR_UNPLOT = "%1 %2 Elfbot switch between plot and unplot x: %3 y: %4"
Blockly.Msg.ELFBOT_LEDMATRIX_ISPLOT = "%1 %2 Elfbot x: %3 y: %4 is ON?"
Blockly.Msg.ELFBOT_LEDMATRIX_SHOW_TEXT = "%1 %2 Elfbot show string %3"
Blockly.Msg.ELFBOT_LEDMATRIX_SHOW_TEXT_UNTILDONE = "%1 %2 Elfbot show string %3 until done"
Blockly.Msg.ELFBOT_LEDMATRIX_SHOW_EMOTICON = "%1 %2 Elfbot show emoji %3"
Blockly.Msg.ELFBOT_LEDMATRIX_SHOW_EMOTICON_FORDURATION = "%1 %2 Elfbot show emoji %3 for %4 secs"
Blockly.Msg.ELFBOT_LEDMATRIX_SCREEN_CRUSHOUT = "%1 %2 Elfbot clear screen"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION1 = "smile"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION2 = "wink"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION3 = "happy"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION4 = "cute"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION5 = "lovely"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION6 = "expressionless"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION7 = "playful"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION8 = "like1"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION9 = "like2"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION10 = "sniker1"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION11 = "sniker2"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION12 = "bored"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION13 = "serious"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION14 = "sweat"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION15 = "frown"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION16 = "rage"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION17 = "pitiful"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION18 = "wail"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION19 = "cry"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION20 = "daze"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION21 = "caim"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION22 = "angry"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION23 = "thinking"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION24 = "dizziness"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION25 = "tired"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION26 = "sleepy"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION27 = "dream"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION28 = "shocked"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION29 = "strabismus"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION30 = "cool"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION31 = "query"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION32 = "pain"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION33 = "uncomfortable"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION34 = "right"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION35 = "left"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION36 = "forward"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION37 = "backward"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION38 = "hello"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION39 = "bye"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION40 = "oK"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION41 = "good"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION42 = "yes"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION43 = "no"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION44 = "low_energy"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION45 = "meow"
Blockly.Msg.ELFBOT_LEDMATRIX_EMOTICON_VALUE_OPTION46 = "panda"
Blockly.Msg.ELFBOT_LEDMATRIX_SHOW_IMAGE = "%1 %2 Elfbot show image %3"
Blockly.Msg.ELFBOT_LEDMATRIX_SHOW_IMAGE_DURATION = "%1 %2 Elfbot show image %3 for %4 secs"
Blockly.Msg.ELFBOT_RGBLED_SHOW_EFFECTS_COLOR = "%1 %2 Elfbot RGB LED always %3 show %4"
Blockly.Msg.ELFBOT_RGBLED_EFFECTS_VALUE_OPTION0 = "show"
Blockly.Msg.ELFBOT_RGBLED_EFFECTS_VALUE_OPTION1 = "blink"
Blockly.Msg.ELFBOT_RGBLED_EFFECTS_VALUE_OPTION2 = "breathing"
Blockly.Msg.ELFBOT_RGBLED_SHOW_POSITION_COLOR = "%1 %2 Elfbot RGB LED %3 show %4"
Blockly.Msg.ELFBOT_RGBLED_POSITION_VALUE_OPTION0 = "all"
Blockly.Msg.ELFBOT_RGBLED_POSITION_VALUE_OPTION1 = "left"
Blockly.Msg.ELFBOT_RGBLED_POSITION_VALUE_OPTION2 = "right"
Blockly.Msg.ELFBOT_RGBLED_SHOW_POSITION_COLOR_DURATION = "%1 %2 Elfbot RGB LED %3 show %4 ,for %5 secs"
Blockly.Msg.ELFBOT_RGBLED_SHOW_COLOR = "%1 %2 Elfbot set the RGB LED with color %3"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION0 = "red"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION1 = "green"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION2 = "blue"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION3 = "yellow"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION4 = "cyan"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION5 = "purple"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION6 = "black"
Blockly.Msg.ELFBOT_RGBLED_COLOR_VALUE_OPTION7 = "white"
Blockly.Msg.ELFBOT_RGBLED_CRUSHOUT = "%1 %2 Elfbot RGB LED lights off"
Blockly.Msg.ELFBOT_INFRARED_WHENOVERHEAD = "%1 %2 when detected ahead overhang"
Blockly.Msg.ELFBOT_INFRARED_LIGHTINTENSITY_VALUE = "%1 %2 Elfbot reflected infrared light intensity"
Blockly.Msg.ELFBOT_INFRARED_DETECTED_ISHEAD = "%1 %2 Elfbot cliff ahead?"
Blockly.Msg.ELFBOT_LINEPATROL_WHENDETECTEDCOLORD = "%1 %2 when the detected colour is %3"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION0 = "red"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION1 = "green"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION2 = "blue"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION3 = "yellow"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION4 = "cyan"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION5 = "purple"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION6 = "black"
Blockly.Msg.ELFBOT_LINEPATROL_COLOR_VALUE_OPTION7 = "white"
Blockly.Msg.ELFBOT_LINEPATROL_GREYSCALE = "%1 %2 Elfbot grey-scale value"
Blockly.Msg.ELFBOT_LINEPATROL_DETECTED_COLOR = "%1 %2 Elfbot the color is %3 ?"
Blockly.Msg.ELFBOT_LINEPATROL_DETECTED_COLOR_VALUE = "%1 %2 Elfbot %3 color value detected"
Blockly.Msg.ELFBOT_LINEPATROL_LIGHTINTENSITY_VALUE = "%1 %2 Elfbot reflected light intensity"
Blockly.Msg.ELFBOT_SERVO_HEAD_LOOKLEFT = "%1 %2 Elfbot look left %3 degrees"
Blockly.Msg.ELFBOT_SERVO_HEAD_LOOKRIGHT = "%1 %2 Elfbot look right %3 degrees"
Blockly.Msg.ELFBOT_SERVO_HEAD_LOOKUP = "%1 %2 Elfbot look up %3 degrees"
Blockly.Msg.ELFBOT_SERVO_HEAD_LOOKDOWN = "%1 %2 Elfbot look down %3 degrees"
Blockly.Msg.ELFBOT_SERVO_EAR_TURNFORWARD = "%1 %2 Elfbot ear turn forward %3 degrees"
Blockly.Msg.ELFBOT_SERVO_EAR_TURNBACKWARD = "%1 %2 Elfbot ear turn backward %3 degrees"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUN_DIRECTION_POWER = "%1 %2 Elfbot %3 at power %4 %"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_DIRECTION_VALUE_OPTION0 = "move forward"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_DIRECTION_VALUE_OPTION1 = "move backward"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_DIRECTION_VALUE_OPTION2 = "turn left"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_DIRECTION_VALUE_OPTION3 = "turn right"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUNFORWORD_POWER_DURATION = "%1 %2 Elfbot move forward at power %3 %， for %4 secs"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUNBACKWORD_POWER_DURATION = "%1 %2 Elfbot move backward at power %3 %， for %4 secs"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUNLEFT_POWER_DURATION = "%1 %2 Elfbot turn left at power %3 %， for %4 secs"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUNRIGHT_POWER_DURATION = "%1 %2 Elfbot turn right at power %3 %， for %4 secs"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUN_POWER = "%1 %2 Elfbot left wheel at power %3 % and right wheel at power %4 %"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUNFORWORD_DURATION = "%1 %2 Elfbot keep straight forward %3 secs"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUNBACKWORD_DURATION = "%1 %2 Elfbot keep straight backward for %3 secs"
Blockly.Msg.ELFBOT_VEHICLEWHEEL_RUN_STOP = "%1 %2 Elfbot stop moving"
Blockly.Msg.ELFBOT_LIGHT_INTENSITY_VALUE = "%1 %2 Elfbot ambient light intensity"
Blockly.Msg.ELFBOT_SOUND_LOUDNESS_VALUE = "%1 %2 Elfbot loudness"
Blockly.Msg.ELFBOT_SOUND_PLAY = "%1 %2 Elfbot play sound %3"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION0 = "hello"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION1 = "miao"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION2 = "bye"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION3 = "hum"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION4 = "laugh"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION5 = "wrong"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION6 = "right"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION7 = "sad"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION8 = "vehicles"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION9 = "yeah"
Blockly.Msg.ELFBOT_SOUND_VALUE_OPTION10 = "powerdown"
Blockly.Msg.ELFBOT_SOUND_PLAY_UNTILDONE = "%1 %2 Elfbot play sound %3 until done"
Blockly.Msg.ELFBOT_SOUND_STOP_PLAY = "%1 %2 Elfbot stop all sounds"
Blockly.Msg.ELFBOT_SOUND_REST_BEATS = "%1 %2 Elfbot rest for %3 beats"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION0 = "1"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION1 = "1/2"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION2 = "1/4"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION3 = "1/8"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION4 = "1/16"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION5 = "2"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION6 = "4"
Blockly.Msg.ELFBOT_SOUND_BEAT_VALUE_OPTION7 = "8"
Blockly.Msg.ELFBOT_SOUND_PLAY_FREQUENCYHZ = "%1 %2 Elfbot play sound at frequency %3 HZ for a %4 secs"
Blockly.Msg.ELFBOT_SOUND_CHANGE_VOLUME = "%1 %2 Elfbot change volume by %3"
Blockly.Msg.ELFBOT_SOUND_SET_VOLUME = "%1 %2 Elfbot set volume to %3"
Blockly.Msg.ELFBOT_SOUND_VOLUME = "%1 %2 Elfbot volume"
Blockly.Msg.ELFBOT_SOUND_NOTE_BEATS = "%1 %2 Elfbot play note %3 for %4 beats"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT = "%1 %2 Color Line Follower is seeing %3"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_POSITION = "%1 %2 Color Line Follower %3 position %4"
Blockly.Msg.ELFBOT_LINECOLOR_OPT0 = "red"
Blockly.Msg.ELFBOT_LINECOLOR_OPT1 = "green"
Blockly.Msg.ELFBOT_LINECOLOR_OPT2 = "blue"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_BLACK = "black line"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_WRITE = "white line"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_POSITION_OPT0 = "middle"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_POSITION_OPT1 = "right"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_POSITION_OPT2 = "right-most"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_POSITION_OPT3 = "left"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_POSITION_OPT4 = "left-most"
Blockly.Msg.ELFBOT_LINECOLOR_DETECT_POSITION_OPT5 = "lost"
Blockly.Msg.MICROBIT_WHEN_START = "%1 %2 when Elfbot starts up"
Blockly.Msg.MICROBIT_WHEN_BUTTONPRESSED = "%1 %2 When %3 is pressed"
Blockly.Msg.MICROBIT_BUTTON_VALUE_OPTION0 = "A"
Blockly.Msg.MICROBIT_BUTTON_VALUE_OPTION1 = "B"
Blockly.Msg.MICROBIT_BUTTON_VALUE_OPTION2 = "A+B"
Blockly.Msg.MICROBIT_WHEN_PINSTOUCHED = "%1 %2 when pin %3 connected"
Blockly.Msg.MICROBIT_PINS_VALUE_OPTION0 = "0"
Blockly.Msg.MICROBIT_PINS_VALUE_OPTION1 = "1"
Blockly.Msg.MICROBIT_PINS_VALUE_OPTION2 = "2"
Blockly.Msg.MICROBIT_WHEN_GESTURESTRIKE = "%1 %2 when the gesture %3"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION0 = "shaken"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION1 = "tilted  upward"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION2 = "tilted downwrad"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION3 = "tilted leftward"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION4 = "tilted rightward"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION5 = "face up"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION6 = "face down"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION7 = "free fall"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION8 = "3g"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION9 = "6g"
Blockly.Msg.MICROBIT_GESTURE_VALUE_OPTION10 = "5g"
Blockly.Msg.MICROBIT_COMMUCATION_OPEN = "%1 %2 open wireless communication"
Blockly.Msg.MICROBIT_COMMUCATION_CLOSED = "%1 %2 close wireless communication"
Blockly.Msg.MICROBIT_COMMUCATION_RESET = "%1 %2 reest wireless communication"
Blockly.Msg.MICROBIT_COMMUCATION_RECEIVE = "%1 %2 receive wireless message"
Blockly.Msg.MICROBIT_COMMUCATION_SEND = "%1 %2 send wireless message %3"
Blockly.Msg.MICROBIT_COMMUCATION_SETCHANNEL = "%1 %2 set wireless communication channel %3"
Blockly.Msg.MICROBIT_PIN_CONNECTED = "%1 %2 pin %3 is connected?"
Blockly.Msg.MICROBIT_PIN_ANALOGQUANTITY = "%1 %2 pin %3 analog quantity"
Blockly.Msg.MICROBIT_PIN_SET_ANALOGQUANTITY = "%1 %2 set %3 analog quantity %4"
Blockly.Msg.MICROBIT_PIN_NUMBER_INPUT = "%1 %2 pin %3 with number input?"
Blockly.Msg.MICROBIT_PIN_ANALOG_MAP_TO = "%1 %2 map analog pin %3 to low %4 high %5"
Blockly.Msg.MICROBIT_PIN_ANALOG_READ = "%1 %2 analog read pin %3"
Blockly.Msg.MICROBIT_PIN_ANALOG_WRITE = "%1 %2 analog write pin %3 to %4"
Blockly.Msg.MICROBIT_PIN_ANALOG_SET_PERIOD = "%1 %2 analog set period pin %3 (PWM) to %4 (us)"
Blockly.Msg.MICROBIT_PIN_DIGITAL_READ = "%1 %2 digital read pin %3"
Blockly.Msg.MICROBIT_PIN_DIGITAL_IS = "%1 %2 digital pin %3 is %4"
Blockly.Msg.MICROBIT_PIN_DIGITAL_IS_OPT1 = "high"
Blockly.Msg.MICROBIT_PIN_DIGITAL_IS_OPT2 = "low"
Blockly.Msg.MICROBIT_PIN_DIGITAL_SET_TO = "%1 %2 set digital pin %3 to %4"
Blockly.Msg.MICROBIT_PIN_I2C_READ = "%1 %2 i2c read number at address %3 of format %4 repeated %5"
Blockly.Msg.MICROBIT_PIN_I2C_WRITE = "%1 %2 i2c write number at address %3 with value %4 of format %5 repeated %6"
Blockly.Msg.MICROBIT_PIN_I2C_READ_OPT1 = "no"
Blockly.Msg.MICROBIT_PIN_I2C_READ_OPT2 = "yes"
Blockly.Msg.MICROBIT_SENSOR_BUTTON_PRESSED = "%1 %2 %3button is pressed?"
Blockly.Msg.MICROBIT_SENSOR_GESTURE_STRIKE = "%1 %2 gesture is %3?"
Blockly.Msg.MICROBIT_SENSOR_ACCELERATION = "%1 %2 %3 acceleration"
Blockly.Msg.MICROBIT_SENSOR_ACCELERATION_VALUE_OPTION0 = "x-axis"
Blockly.Msg.MICROBIT_SENSOR_ACCELERATION_VALUE_OPTION1 = "y-axis"
Blockly.Msg.MICROBIT_SENSOR_ACCELERATION_VALUE_OPTION2 = "z-axis"
Blockly.Msg.MICROBIT_SENSOR_COMPASSANGLE = "%1 %2 compass angle"
Blockly.Msg.MICROBIT_SENSOR_COMPASS_MAGNETICDENSITY = "%1 %2 compasss magnetic density"
Blockly.Msg.MICROBIT_SENSOR_CALIBRATE_COMPASS = "%1 %2 calibrate compass"
Blockly.Msg.MICROBIT_SENSOR_TEMPERATURE = "%1 %2 temperature"
Blockly.Msg.MICROBIT_SENSOR_RUNNINGTIME = "%1 %2 running time"
Blockly.Msg.MICROBIT_SHOW_IMAGE = "%1 %2 show image %3"
Blockly.Msg.MICROBIT_SHOW_IMAGEFOR = "%1 %2 show image %3 for %4 secs"
Blockly.Msg.MICROBIT_SHOW_MIRRORING_IMAGE = "%1 %2 show mirroring image %3"
Blockly.Msg.MICROBIT_SHOW_SETIMAGE = "%1 %2 set image %3 %4 to move %5"
Blockly.Msg.MICROBIT_SHOW_POSITION_VALUE_OPTION0 = "left"
Blockly.Msg.MICROBIT_SHOW_POSITION_VALUE_OPTION1 = "right"
Blockly.Msg.MICROBIT_SHOW_POSITION_VALUE_OPTION2 = "up"
Blockly.Msg.MICROBIT_SHOW_POSITION_VALUE_OPTION3 = "down"
Blockly.Msg.MICROBIT_SHOW_TEXT = "%1 %2 show %3"
Blockly.Msg.MICROBIT_SHOW_TEXTUNTIL = "%1 %2 show %3 until scoll done"
Blockly.Msg.MICROBIT_SHOW_CLOSE = "%1 %2 hide all matrix"
Blockly.Msg.MICROBIT_SHOW_LIGHT = "%1 %2 light %3 at the x: %4axis, y: %5axis"
Blockly.Msg.MICROBIT_SHOW_LIGHT_ACTION_VALUE_OPTION0 = "up"
Blockly.Msg.MICROBIT_SHOW_LIGHT_ACTION_VALUE_OPTION1 = "off"
Blockly.Msg.MICROBIT_SHOW_LIGHTON = "%1 %2 show on the x: %3axis, y: %4axis with brightness %5"
Blockly.Msg.MICROBIT_SHOW_BRIGHTNESS = "%1 %2 get brightness at x: %3, y: %4"
Blockly.Msg.MICROBIT_MUSIC_PLAY = "%1 %2 pin %3 plays sound %4"
Blockly.Msg.MICROBIT_MUSIC_PLAY_UNTILDONE = "%1 %2 pin %3 plays sound %4 until done"
Blockly.Msg.MICROBIT_MUSIC_PLAY_NOTE = "%1 %2 pin %3 plays note %4 for %5"
Blockly.Msg.MICROBIT_MUSIC_CHANGETEMPO = "%1 %2 change tempo by %3 (bpm)"
Blockly.Msg.MICROBIT_MUSIC_SETTEMPO = "%1 %2 set tempo to %3 (bpm)"
Blockly.Msg.MICROBIT_MUSIC_TEMPO = "%1 %2 tempo (bpm)"
Blockly.Msg.MICROBIT_BITPLAYER_KEY_IS_PRESSED = "%1 %2 BitPlayer: key %3 is pressed"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK = "%1 %2 BitPlayer: joystick %3"
Blockly.Msg.MICROBIT_BITPLAYER_VIBRATION = "%1 %2 BitPlayer: vibration %3"
Blockly.Msg.MICROBIT_BITPLAYER_VIBRATION_OPT1 = "on"
Blockly.Msg.MICROBIT_BITPLAYER_VIBRATION_OPT2 = "off"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT1 = "UpLeft"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT2 = "Up"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT3 = "UpRight"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT4 = "Left"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT5 = "Middle"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT6 = "Right"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT7 = "LowerLeft"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT8 = "Down"
Blockly.Msg.MICROBIT_BITPLAYER_JOYSTICK_OPT9 = "LowerRight"
Blockly.Msg.MICROBIT_BITWEAR_VIBRATION = "%1 %2 BitWear: vibration %3"
Blockly.Msg.MICROBIT_BITWEAR_SET_LED_COLOR = "%1 %2 BitWear: set LED color %3"
Blockly.Msg.MICROBIT_BITMAKER_SET_LED_COLOR = "%1 %2 BitMaker: set LED %3 color %4"
Blockly.Msg.MICROBIT_BITCAR_MOVE = "%1 %2 BitCar: left motor %3 %，right motor %4 %"
Blockly.Msg.MICROBIT_BITCAR_STOP = "%1 %2 BitCar: stop"
Blockly.Msg.MICROBIT_BITCAR_STANDUP_STILL = "%1 %2 BitCar: stand up with speed %3 %， charge %4 (ms)"
Blockly.Msg.MICROBIT_BITCAR_LINE_UNDER_SENSOR = "%1 %2 BitCar: line under %3 sensor"
Blockly.Msg.MICROBIT_BITCAR_LINE_UNDER_SENSOR_OPT1 = "left"
Blockly.Msg.MICROBIT_BITCAR_LINE_UNDER_SENSOR_OPT2 = "right"
Blockly.Msg.MICROBIT_BITCAR_LINE_FOLLOW_AT_SPEED = "%1 %2 BitCar: follow line at speed %3 %"
Blockly.Msg.MICROBIT_GROVE_ONE_MINI_FAN_SET_SPEED = "%1 %2 Mini Fan %3 ：set speed to %4 %"
Blockly.Msg.MICROBIT_GROVE_ONE_SERVO_SET_ANGLE = "%1 %2 Servo %3 ：set angle to %4 °"
Blockly.Msg.MICROBIT_GROVE_ONE_ULTRASONIC_GET_DISTANCE = "%1 %2 Ultrasonic Sensor %3 ：distance in %4"
Blockly.Msg.MICROBIT_GROVE_ONE_ULTRASONIC_GET_DISTANCE_OPT1 = "cm"
Blockly.Msg.MICROBIT_GROVE_ONE_ULTRASONIC_GET_DISTANCE_OPT2 = "inch"
Blockly.Msg.CATEGORY_COMMON = "Common"
Blockly.Msg.CATEGORY_SYSTEM = "System"
Blockly.Msg.CATEGORY_SHOW = "Show"
Blockly.Msg.CATEGORY_MUSIC = "Music"
Blockly.Msg.CATEGORY_AUDIO = "Audio"
Blockly.Msg.CATEGORY_PIN = "Pin"
Blockly.Msg.CATEGORY_RADIO = "Radio"
Blockly.Msg.CATEGORY_DISPLAY = "Looks"
Blockly.Msg.CATEGORY_LIGHTING = "Lighting"
Blockly.Msg.CATEGORY_ACTION = "Motion"
Blockly.Msg.CATEGORY_SENSOR = "Sensor"
Blockly.Msg.CATEGORY_WIRELESS = "Wireless"
Blockly.Msg.CATEGORY_ADDONS = "Add-Ons"
Blockly.Msg.CATEGORY_GROVE_ONE = "Grove One"
Blockly.Msg.CATEGORY_DISPLAY1 = "Display"
Blockly.Msg.CATEGORY_MACHINE_VISION = "Machine Vision"
Blockly.Msg.CATEGORY_CNN_MODELS = "Model Recognition"
Blockly.Msg.CATEGORY_MAXIDUINO_SYSTEM = "System"
Blockly.Msg.CATEGORY_START = "Start"
Blockly.Msg.CATEGORY_GROVE_INPUT = "Grove Input"
Blockly.Msg.CATEGORY_GROVE_OUTPUT = "Grove Output"
Blockly.Msg.CATEGORY_MAIXDUINO_GROVE = "Grove"
Blockly.Msg.SNAPSHOOT = "Snapshoot"
Blockly.Msg.MAIXDUINO_ENENT_DELAY = "wait %1 %2"
Blockly.Msg.MAIXDUINO_ENENT_DELAY_UNIT_MS = "ms"
Blockly.Msg.MAIXDUINO_ENENT_DELAY_UNIT_US = "us"
Blockly.Msg.MAIXDUINO_ENENT_RUNTIME = "run time %1"
Blockly.Msg.MAIXDUINO_DISPLAY_ORIENTATION = "set screen orientation as %1"
Blockly.Msg.MAIXDUINO_DISPLAY_ORIENTATION_NORMAL = "normal"
Blockly.Msg.MAIXDUINO_DISPLAY_ORIENTATION_ROTATE = "flipped"
Blockly.Msg.MAIXDUINO_DISPLAY_STRING_AT_POSITION = "display %1 at X%2 Y%3"
Blockly.Msg.MAIXDUINO_DISPLAY_DRAW_RECTANGLE_WH = "draw rectangle: W%1 H%2 at X%3 Y%4"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_BALL_AT_SIZE_COLOR = "%1 circle detected"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_BALL_RGB = "detected circle RGB value"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_RECTANGLE_AT_SIZE_COLOR = "%1 rectangle detected"
Blockly.Msg.MAIXDUINO_CAMERA_DETECTION_RECTANGLE_RGB = "detected rectangle RGB value"
Blockly.Msg.MAIXDUINO_CAMERA_COLORLINE_SETCOLOR = "set line idendification color to %1"
Blockly.Msg.MAIXDUINO_CAMERA_COLORLINE_SETWEIGHT = "set line idendification region weight: A %1% B %2% C %3%"
Blockly.Msg.MAIXDUINO_CAMERA_COLORLINE_TURNANGLE = "turn angle"
Blockly.Msg.MAIXDUINO_SEEED_LINE_FINDER = "%1 %2 pin %3 Line Follower is seeing %4"
Blockly.Msg.MAIXDUINO_FIGURE_OUTPUT = "digital write pin %1 to %2"
Blockly.Msg.MAIXDUINO_FIGURE_INPUT = "digital read pin %1"
Blockly.Msg.MAIXDUINO_ANALOG_INPUT = "AnalogRead pin %1"
Blockly.Msg.MAIXDUINO_ANALOG_OUTPUT = "analog write pin %1 to %2"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_X = "X coordinate"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_W = "W"
Blockly.Msg.MAIXDUINO_CAMERA_COORDP_H = "H"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_OPT1 = "forward"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_OPT2 = "backward"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_OPT3 = "left"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_OPT4 = "right"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_OPT6 = "low"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_OPT7 = "medium"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_OPT8 = "max"
Blockly.Msg.MAIXDUINO_ROBOT_MARK_STOP = "M.A.R.K stop"
Blockly.Msg.MAIXDUINO_ROBOT_MOTOR_RUN_0PT1 = "left"
Blockly.Msg.MAIXDUINO_ROBOT_MOTOR_RUN_0PT2 = "right"
Blockly.Msg.MAIXDUINO_GROVE_BUTTON_ISPRESSED = "%1 %2 pin %3 Button is pressed?"
Blockly.Msg.MAIXDUINO_GROVE_ULT_DISTANCE = "%1 %2 pin %3 Ultrasonic Sensor distance(cm)"
Blockly.Msg.MAIXDUINO_GROVE_RGBLED_STRIP_DISPALY = "%1 %2 pin %3 RGB LED strip set LED %4 to %5"
Blockly.Msg.MAIXDUINO_GROVE_RGBLED_STRIP_DISPALY1 = "%1 %2 pin %3 RGB LED strip set LED %4 to R %5 G %6 B %7"
Blockly.Msg.MAIXDUINO_GROVE_RGBLED_STRIP_CLOSED = "%1 %2 pin %3 RGB LED strip off"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_SETVOL = "M.A.R.K. Speaker set volume to %1 %"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_PLAYNOTE = "M.A.R.K. Speaker play tone %1 %2 beat"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_PAUSE = "M.A.R.K. Speaker rest %1 beat"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT0 = "1"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT1 = "1/2"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT2 = "1/4"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT3 = "1/8"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT4 = "1/16"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT5 = "2"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT6 = "4"
Blockly.Msg.MAIXDUINO_ROBOT_SPEAKER_BEAT_OPT7 = "8"
Blockly.Msg.MAIXDUINO_ROBOT_HEAD_LIGHTS_SHOW = "M.A.R.K %1 headlight show %2"
Blockly.Msg.MAIXDUINO_ROBOT_TAIL_LIGHTS_SHOW = "M.A.R.K. rear light %1 show %2 %3 %4 "
Blockly.Msg.MAIXDUINO_ROBOT_LIGHTS_CRUSHOUT = "M.A.R.K. %1 headlight off"
Blockly.Msg.MAIXDUINO_ROBOT_HEAD_LIGHTS_OPT01 = "left"
Blockly.Msg.MAIXDUINO_ROBOT_HEAD_LIGHTS_OPT02 = "right"
Blockly.Msg.MAIXDUINO_ROBOT_TAIL_LIGHTS_OPT01 = "top"
Blockly.Msg.MAIXDUINO_ROBOT_TAIL_LIGHTS_OPT02 = "mid"
Blockly.Msg.MAIXDUINO_ROBOT_TAIL_LIGHTS_OPT03 = "tail"
Blockly.Msg.MAIXDUINO_ROBOT_LIGHTS_OPT01 = "all"
Blockly.Msg.MAIXDUINO_ROBOT_LIGHTS_OPT02 = "head"
Blockly.Msg.MAIXDUINO_ROBOT_LIGHTS_OPT03 = "rear"
Blockly.Msg.CocoRobo_SYSRESOURES_SLOPE_OPT1 = "forward"
Blockly.Msg.CocoRobo_SYSRESOURES_SLOPE_OPT2 = "back"
Blockly.Msg.CocoRobo_SYSRESOURES_SLOPE_OPT3 = "left"
Blockly.Msg.CocoRobo_SYSRESOURES_SLOPE_OPT4 = "right"
Blockly.Msg.CocoRobo_SYSRESOURES_BME280_OPT1 = "temperature"
Blockly.Msg.CocoRobo_SYSRESOURES_BME280_OPT2 = "humidity"
Blockly.Msg.CocoRobo_SYSRESOURES_BME280_OPT3 = "air pressure"
Blockly.Msg.CocoRobo_SYSRESOURES_OPERATE_OPT1 = "refresh"
Blockly.Msg.CocoRobo_SYSRESOURES_OPERATE_OPT2 = "clear"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT0 = "clear"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT1 = "year"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT2 = "month"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT3 = "day"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT4 = "hour"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT5 = "minute"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT6 = "second"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT7 = "week number"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT8 = "days number"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT9 = "mullisecond"
Blockly.Msg.CocoRobo_SYSRESOURES_TIME_OPT10 = "microsecond"
Blockly.Msg.CocoRobo_PIN_OPT = "default"
Blockly.Msg.CocoRobo_PIN_OPT0 = "P0"
Blockly.Msg.CocoRobo_PIN_OPT1 = "P1"
Blockly.Msg.CocoRobo_PIN_OPT2 = "P2"
Blockly.Msg.CocoRobo_PIN_OPT3 = "P3(EXT)"
Blockly.Msg.CocoRobo_PIN_OPT4 = "P4(light)"
Blockly.Msg.CocoRobo_PIN_OPT6 = "P6(buzzer)"
Blockly.Msg.CocoRobo_PIN_OPT7 = "P7(RGB)"
Blockly.Msg.CocoRobo_PIN_OPT8 = "P8"
Blockly.Msg.CocoRobo_PIN_OPT9 = "P9"
Blockly.Msg.CocoRobo_PIN_OPT10 = "P10(sound)"
Blockly.Msg.CocoRobo_PIN_OPT13 = "P13"
Blockly.Msg.CocoRobo_PIN_OPT14 = "P14"
Blockly.Msg.CocoRobo_PIN_OPT15 = "P15"
Blockly.Msg.CocoRobo_PIN_OPT16 = "P16"
Blockly.Msg.CocoRobo_PIN_OPT19 = "P19(LCD)"
Blockly.Msg.CocoRobo_PIN_OPT20 = "P20(LCD)"
Blockly.Msg.CocoRobo_PIN_VOLTAGE_OPT1 = "HIGH"
Blockly.Msg.CocoRobo_PIN_VOLTAGE_OPT2 = "LOW"
Blockly.Msg.CocoRobo_PIN_MODE_OPT1 = "no pull"
Blockly.Msg.CocoRobo_PIN_MODE_OPT2 = "pull down"
Blockly.Msg.CocoRobo_PIN_MODE_OPT3 = "pull up"
Blockly.Msg.CocoRobo_PIN_STATYS_OPT1 = "input"
Blockly.Msg.CocoRobo_PIN_STATYS_OPT2 = "Push-pull output"
Blockly.Msg.CocoRobo_PIN_STATYS_OPT3 = "Leaky output"
Blockly.Msg.CocoRobo_LOOKS_OLCD_OPT1 = "clear"
Blockly.Msg.CocoRobo_LOOKS_OLCD_OPT2 = "full bright"
Blockly.Msg.CocoRobo_LOOKS_OLCD_OPT3 = "black background"
Blockly.Msg.CocoRobo_LOOKS_OLCD_OPT4 = "white background"
Blockly.Msg.CocoRobo_EVENT_ACTION_OPT1 = "pressed"
Blockly.Msg.CocoRobo_EVENT_ACTION_OPT2 = "released"
Blockly.Msg.CocoRobo_EVENT_ACTION_OPT3 = "pressed"
Blockly.Msg.CocoRobo_EVENT_ACTION_OPT4 = "unpressed"
Blockly.Msg.CocoRobo_EVENT_ACTION_OPT5 = "repeated"
Blockly.Msg.CocoRobo_EVENT_ACTION_OPT6 = "delayed"
Blockly.Msg.CocoRobo_MUSIC_ACTION_OPT1 = "on"
Blockly.Msg.CocoRobo_MUSIC_ACTION_OPT2 = "off"
Blockly.Msg.CocoRobo_MUSIC_ACTION_OPT3 = "pause"
Blockly.Msg.CocoRobo_MUSIC_ACTION_OPT4 = "go on"
Blockly.Msg.CocoRobo_MUSIC_ACTION_OPT5 = "stop"
Blockly.Msg.CocoRobo_EVENT_VOLTAGE_OPT1 = "↗low to high"
Blockly.Msg.CocoRobo_EVENT_VOLTAGE_OPT2 = "↘high to low"
Blockly.Msg.CocoRobo_LOOKS_MODE_OPT1 = "normal"
Blockly.Msg.CocoRobo_LOOKS_MODE_OPT2 = "rev"
Blockly.Msg.CocoRobo_LOOKS_MODE_OPT3 = "trans"
Blockly.Msg.CocoRobo_LOOKS_MODE_OPT4 = "XOR"
Blockly.Msg.CocoRobo_LOOKS_LIGHT_OPT1 = "bright"
Blockly.Msg.CocoRobo_LOOKS_LIGHT_OPT2 = "dark"
Blockly.Msg.CocoRobo_LOOKS_DIRECTION_OPT1 = "vertical"
Blockly.Msg.CocoRobo_LOOKS_DIRECTION_OPT2 = "horizontal"
Blockly.Msg.CocoRobo_OPERATORS_JUDGE_OPT1 = "even"
Blockly.Msg.CocoRobo_OPERATORS_JUDGE_OPT2 = "odd"
Blockly.Msg.CocoRobo_OPERATORS_JUDGE_OPT3 = "whole"
Blockly.Msg.CocoRobo_OPERATORS_JUDGE_OPT4 = "positive"
Blockly.Msg.CocoRobo_OPERATORS_JUDGE_OPT5 = "negative"
Blockly.Msg.CocoRobo_OPERATORS_JUDGE_OPT6 = "divisible by"
Blockly.Msg.CocoRobo_LOOKS_DRAW_OPT1 = "draw"
Blockly.Msg.CocoRobo_LOOKS_DRAW_OPT2 = "erase"
Blockly.Msg.CocoRobo_LOOKS_CIRCLE_OPT1 = "hollow"
Blockly.Msg.CocoRobo_LOOKS_CIRCLE_OPT2 = "solid"
Blockly.Msg.CocoRobo_LOOKS_FONT_OPT1 = "no wrap"
Blockly.Msg.CocoRobo_LOOKS_FONT_OPT2 = "auto wrap"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT1 = "Heart"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT2 = "Small heart"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT3 = "Happy"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT4 = "Smile"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT5 = "Sad"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT6 = "Confused"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT7 = "Angry"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT8 = "Sleep"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT9 = "Surprise"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT10 = "Silly"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT11 = "Wonderful"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT12 = "Bored"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT13 = "Rock"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT14 = "Small rock"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT15 = "Paper"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT16 = "Small Paper"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT17 = "Scissors"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT18 = "Small scissors"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT19 = "Expressions/Big smile.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT20 = "Expressions/Heart large.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT21 = "Expressions/Heart small.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT22 = "Expressions/Mouth 1 open.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT23 = "Expressions/Mouth 1 shut.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT24 = "Expressions/Mouth 2 open.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT25 = "Expressions/Mouth 2 shut.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT26 = "Expressions/Sad.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT27 = "Expressions/Sick.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT28 = "Expressions/Smile.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT29 = "Expressions/Swearing.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT30 = "Expressions/Talking.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT31 = "Expressions/Wink.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT32 = "Expressions/ZZZ.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT33 = "Eyes/Angry.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT34 = "Eyes/Awake.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT35 = "Eyes/Black eye.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT36 = "Eyes/Bottom left.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT37 = "Eyes/Bottom right.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT38 = "Eyes/Crazy 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT39 = "Eyes/Crazy 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT40 = "Eyes/Disappointed.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT41 = "Eyes/Dizzy.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT42 = "Eyes/Down.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT43 = "Eyes/Evil.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT44 = "Eyes/Hurt.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT45 = "Eyes/Knocked out.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT46 = "Eyes/Love.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT47 = "Eyes/Middle left.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT48 = "Eyes/Middle right.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT49 = "Eyes/Neutral.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT50 = "Eyes/Nuclear.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT51 = "Eyes/Pinch left.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT52 = "Eyes/Pinch middle.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT53 = "Eyes/Pinch right.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT54 = "Eyes/Tear.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT55 = "Eyes/Tired left.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT56 = "Eyes/Tired middle.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT57 = "Eyes/Tired right.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT58 = "Eyes/Toxic.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT59 = "Eyes/Up.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT60 = "Eyes/Winking.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT61 = "Information/Accept.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT62 = "Information/Backward.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT63 = "Information/Decline.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT64 = "Information/Forward.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT65 = "Information/Left.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT66 = "Information/No go.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT67 = "Information/Question mark.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT68 = "Information/Right.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT69 = "Information/Stop 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT70 = "Information/Stop 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT71 = "Information/Thumbs down.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT72 = "Information/Thumbs up.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT73 = "Information/Warning.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT74 = "Objects/Bomb.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT75 = "Objects/Boom.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT76 = "Objects/Fire.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT77 = "Objects/Flowers.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT78 = "Objects/Forest.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT79 = "Objects/Light off.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT80 = "Objects/Light on.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT81 = "Objects/Lightning.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT82 = "Objects/Night.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT83 = "Objects/Pirate.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT84 = "Objects/Snow.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT85 = "Objects/Target.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT86 = "Progress/Bar 0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT87 = "Progress/Bar 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT88 = "Progress/Bar 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT89 = "Progress/Bar 3.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT90 = "Progress/Bar 4.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT91 = "Progress/Dial 0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT92 = "Progress/Dial 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT93 = "Progress/Dial 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT94 = "Progress/Dial 3.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT95 = "Progress/Dial 4.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT96 = "Progress/Dots 0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT97 = "Progress/Dots 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT98 = "Progress/Dots 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT99 = "Progress/Dots 3.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT100 = "Progress/Hourglass 0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT101 = "Progress/Hourglass 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT102 = "Progress/Hourglass 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT103 = "Progress/Timer 0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT104 = "Progress/Timer 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT105 = "Progress/Timer 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT106 = "Progress/Timer 3.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT107 = "Progress/Timer 4.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT108 = "Progress/Water level 0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT109 = "Progress/Water level 1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT110 = "Progress/Water level 2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT111 = "Progress/Water level 3.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT112 = "System/Accept_1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT113 = "System/Accept_2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT114 = "System/Alert.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT115 = "System/Box.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT116 = "System/Busy_0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT117 = "System/Busy_1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT118 = "System/Decline_1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT119 = "System/Decline_2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT120 = "System/Dot_empty.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT121 = "System/Dot_full.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT122 = "System/Play.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT123 = "System/Slider_0.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT124 = "System/Slider_1.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT125 = "System/Slider_2.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT126 = "System/Slider_3.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT127 = "System/Slider_4.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT128 = "System/Slider_5.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT129 = "System/Slider_6.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT130 = "System/Slider_7.pbm"
Blockly.Msg.CocoRobo_LOOKS_EXPRESSION_OPT131 = "System/Slider_8.pbm"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT1 = "Digiface 11px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT2 = "Digiface 16px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT3 = "Digiface 21px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT4 = "Digiface 30px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT5 = "Digiface 44px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT6 = "Digiface Italic 30px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT7 = "Digiface Italic 42px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT8 = "DejaVu Sans Mono 12px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT9 = "DejaVu Sans Mono 16px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT10 = "DejaVu Sans Mono 21px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT11 = "DejaVu Sans Mono Bold 12px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT12 = "DejaVu Sans Mono Bold 16px"
Blockly.Msg.CocoRobo_LOOKS_TUBE_OPT13 = "DejaVu Sans Mono Bold 21px"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT1 = "UTC+1"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT2 = "UTC+2"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT3 = "UTC+3"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT4 = "UTC+4"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT5 = "UTC+5"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT6 = "UTC+6"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT7 = "UTC+7"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT8 = "UTC+8"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT9 = "UTC+9"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT10 = "UTC+10"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT11 = "UTC+11"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT12 = "UTC+12"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT13 = "UTC-1"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT14 = "UTC-2"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT15 = "UTC-3"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT16 = "UTC-4"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT17 = "UTC-5"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT18 = "UTC-6"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT19 = "UTC-7"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT20 = "UTC-8"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT21 = "UTC-9"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT22 = "UTC-10"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT23 = "UTC-11"
Blockly.Msg.CocoRobo_WIFI_ZONE_OPT24 = "UTC-12"
Blockly.Msg.GROVE_JOINT_SETUP = "setup"
Blockly.Msg.GROVE_JOINT_SETUP_LOOP = "loop"
Blockly.Msg.GROVE_JOINT_INPUT_HUMITURE = "%1 %2 Temperature&Humidity %3"
Blockly.Msg.GROVE_JOINT_INPUT_INFRARED = "%1 %2 Line Finder"
Blockly.Msg.GROVE_JOINT_INPUT_MAGNESWITCH = "%1 %2 Magnetic Switch"
Blockly.Msg.GROVE_JOINT_INPUT_ULTRASONIC = "%1 %2 Ultrasonic Ranger"
Blockly.Msg.GROVE_JOINT_INPUT_LIGHT = "%1 %2 Light Sensor"
Blockly.Msg.GROVE_JOINT_INPUT_SLIDESWITCH = "%1 %2 Slide Potentionmeter"
Blockly.Msg.GROVE_JOINT_INPUT_INCLINE = "%1 %2 Tilt Sensor"
Blockly.Msg.GROVE_JOINT_INPUT_TOUCH = "%1 %2 Touch Sensor"
Blockly.Msg.GROVE_JOINT_INPUT_NOISE = "%1 %2 Sound Sensor"
Blockly.Msg.GROVE_JOINT_INPUT_SOILHUMIDITY = "%1 %2 Moisture"
Blockly.Msg.GROVE_JOINT_INPUT_SHAFTSPEED = "%1 %2 3Axis Digital Accelerometer-16 %3"
Blockly.Msg.GROVE_JOINT_INPUT_MULTICHANNEDL_TOUCH = "%1 %2 I2C Touch CH %3"
Blockly.Msg.GROVE_JOINT_OUTPUT_MINIMOTOR_RUN = "%1 %2 Mini I2C Motor %3 speed %4"
Blockly.Msg.GROVE_JOINT_OUTPUT_FOURDIGIT_TUBE_DISPLAY = "%1 %2 4 Digital Display show %3"
Blockly.Msg.GROVE_JOINT_OUTPUT_LEDBOARD_SHOW = "%1 %2 LED set to %3"
Blockly.Msg.GROVE_JOINT_OUTPUT_RGBLED_SHOW = "%1 %2 Chainable RGB LED show R %3 G %4 B %5"
Blockly.Msg.GROVE_JOINT_OUTPUT_SPEAKER_NOTEBEAT = "%1 %2 Speeker play tone %3"
Blockly.Msg.GROVE_JOINT_OUTPUT_SERVO_TRUNANGLE = "%1 %2 Sevo move to  %3"
Blockly.Msg.GROVE_JOINT_OUTPUT_BUZZER_PLAY = "%1 %2 Buzzer set to %3"
Blockly.Msg.GROVE_JOINT_OUTPUT_MOTOR_RUN = "%1 %2 Vibration set to %3"
Blockly.Msg.GROVE_JOINT_OUTPUT_DCMOTOR_RUN = "%1 %2 DC Motor set to %3"
Blockly.Msg.GROVE_JOINT_INPUT_HUMITURE_OPT01 = "temperature"
Blockly.Msg.GROVE_JOINT_INPUT_HUMITURE_OPT02 = "humidity"
Blockly.Msg.GROVE_JOINT_INPUT_LEVEL_HIGH = "ON"
Blockly.Msg.GROVE_JOINT_INPUT_LEVEL_LOW = "OFF"
Blockly.Msg.ELFBOT_LINEPATROL_WHENETECTEDCOLORD = "%1 %2 when the detected colour is %3"
Blockly.Categories = {};
Blockly.Categories.motion = "motion"
Blockly.Categories.looks = "looks"
Blockly.Categories.sound = "sounds"
Blockly.Categories.pen = "pen"
Blockly.Categories.data = "data"
Blockly.Categories.dataLists = "data-lists"
Blockly.Categories.event = "events"
Blockly.Categories.control = "control"
Blockly.Categories.sensing = "sensing"
Blockly.Categories.operators = "operators"
Blockly.Categories.more = "more"


Blockly.Msg.ESP32BUTTON = "When Button";
Blockly.Msg.ESP32IS = "is";
Blockly.Msg.ESP32PRESSED = "Pressed";
Blockly.Msg.ESP32RELEASED = "Released";
Blockly.Msg.ESP32DIALER_LEFT = "Left";
Blockly.Msg.ESP32DIALER_MIDDLE = "Middle";
Blockly.Msg.ESP32DIALER_RIGHT = "Right";
Blockly.Msg.ESP32DIALSWITCH = "When Dialer";
Blockly.Msg.ESP32TURN = "Set ";
Blockly.Msg.ESP32LED = "Light ";
Blockly.Msg.ESP32LED_MONO_TEXT_NO = "LED #";
Blockly.Msg.ESP32LED_MONO_TEXT_AFTER = "A single LED light";
Blockly.Msg.ESP32LED_BLUE = "Blue LED";
Blockly.Msg.ESP32LED_RED = "Red LED";
Blockly.Msg.ESP32LED_TURNON = "Up";
Blockly.Msg.ESP32LED_TURNOFF = "Off";

Blockly.Msg.ESP32LED_CORD_DRAWPIXEL_LIGHTUP = "Light Up the LED ";
Blockly.Msg.ESP32LED_CORD_DRAWPIXEL_LIGHTOFF = "Light Off the LED ";
Blockly.Msg.ESP32LED_CORD_DRAWPIXEL_LIGHT_INIT_TEXT = "Located in (Column";
Blockly.Msg.ESP32LED_CORD_DRAWPIXEL_LIGHT_MIDDLE_TEXT = ", Row";
Blockly.Msg.ESP32LED_CORD_DRAWPIXEL_LIGHT_END_TEXT = ")";


Blockly.Msg.ESP32TURNOBAF = "Buzzer";
Blockly.Msg.ESP32TURNOB = "Turn off Buzzer";
Blockly.Msg.ESP32TA = "When Touch Area";
Blockly.Msg.ESP32_TOUCHED = "is Touched";
Blockly.Msg.ESP32_UNTOUCHED = "is Not Touched";
Blockly.Msg.ESP32_READ = "Get Touch Area";
Blockly.Msg.ESP32_READ_VALUE = "'s Capacitative Variable";
Blockly.Msg.ESP32_ENV_GET_TEXT = "Get";
Blockly.Msg.esp32_main_controller_turn_off_buzzer_music_lite = "The buzzer plays notes";
Blockly.Msg.esp32_main_controller_turn_off_buzzer_music_lite_2 = "Continue";
Blockly.Msg.esp32_main_controller_turn_off_buzzer_music_lite_3 = "beat";


Blockly.Msg.LCDINIT = "LCD Display Initalization"
Blockly.Msg.LCDINIT_R = "Set Screen Rotation"
Blockly.Msg.LCDINIT_M = "Set Mirror Flip"

Blockly.Msg.LCDROTATION = "Set LCD Screen Rotation";

Blockly.Msg.LCDMF = "Set LCD Screen Mirror Flip";

Blockly.Msg.LCDDFSW = "Set LCD Display Fill Screen with";
Blockly.Msg.LCDDFSW = "Set LCD Display Fill Screen with";

Blockly.Msg.LCDDT = "Set LCD Display Text";
Blockly.Msg.LCDDT_C = "Text Color";
Blockly.Msg.LCDDT_BC = "Background Color";
Blockly.Msg.LED_COORDINATE = "Coordinate";
Blockly.Msg.WIFISERVER_SERVERSEND_CONTENT = "Content";

Blockly.Msg.LCDDLOC = "Draw Line";

Blockly.Msg.LCDDCC = "LCD Display Create Canvas";
Blockly.Msg.LCDDCC_F = "Fill Image: ";
Blockly.Msg.LCDDCC_I = "Image Path: ";

Blockly.Msg.LCDDSC = "LCD Display Show Canvas";
Blockly.Msg.LCDDSC_SC = "Set Coordinate";
Blockly.Msg.LCDDSC_X = "X:";
Blockly.Msg.LCDDSC_Y = "Y:";

Blockly.Msg.LCD_CANVAS = "Canvas";
Blockly.Msg.LCDDTOC = "Draw Text";
Blockly.Msg.LCDDTOC_SH = "Set Monospace";

Blockly.Msg.LCDDASOC = "Draw Arrow Sign";
Blockly.Msg.LCDDASOC_SC = "Start Coordinate";
Blockly.Msg.LCDDASOC_EC = "End Coordinate";
Blockly.Msg.LCDDASOC_LC = "Line Color";
Blockly.Msg.LCDDASOC_LT = "Line Thickness";
Blockly.Msg.LCDDASOC_T = "Thickness";

Blockly.Msg.LCDDFROC = "Draw";
Blockly.Msg.LCDDFROC_R = "Rectangle";
Blockly.Msg.LCDDFROC_C = "Circle";
Blockly.Msg.LCDRADIUS = "Radius";

Blockly.Msg.LCDDCSOC = "Draw Cross Sign";

Blockly.Msg.LCDCEOC = "Clear Everything on Canvas";

Blockly.Msg.LCDSCIC = "Set Canvas：";
Blockly.Msg.LCDSCIC_I = "Inverted Color";

Blockly.Msg.LCDSCCRTW = "Set Canvas ";
Blockly.Msg.LCDSCCRTW_R = "Resized to Width";
Blockly.Msg.LCDSCCRTW_TCANC = "Then Create a New Canvas";

Blockly.Msg.LCDDI = "Display in";

Blockly.Msg.LCDSCCCVTP = "Set Canvas：canvas Convert Vector to Pixel";

Blockly.Msg.LCDRQ = "QR Code";



Blockly.Msg.CAMERAINIT = "Camera Initialization";
Blockly.Msg.CAMERAINIT_SFS = "Set Frame Size: ";
Blockly.Msg.CAMERAINIT_SFS_I = "in";
Blockly.Msg.CAMERAINIT_SWW = "Set Windowing";
Blockly.Msg.CAMERAINIT_SVFOSHMO = "Set Vertical Flip";
Blockly.Msg.CAMERAINIT_SVFOSHMO_O = "Set Horizontal Mirror"
Blockly.Msg.CAMERAINIT_SABOSAGO = "Set Auto Balance: ";
Blockly.Msg.CAMERAINIT_SABOSAGO_O = "Set Auto Gain: ";
Blockly.Msg.CAMERAINIT_SCBS = "Set Contrast:";
Blockly.Msg.CAMERAINIT_SCBS_B = "Brightness:";
Blockly.Msg.CAMERAINIT_SCBS_S = "Saturation:";

Blockly.Msg.CAMERASVFO = "Set Vertical Flip ";
Blockly.Msg.CAMERASVFO_SHMO = "Set Horizontal Mirror ";
Blockly.Msg.CAMERASVFO_SABO = "Set Auto-Balance ";
Blockly.Msg.CAMERASVFO_SAGO = "Set Auto-Gain ";
Blockly.Msg.CAMERASVFO_SCT = "Set Contrast to";
Blockly.Msg.CAMERASVFO_SBT = "Set Brightness to";
Blockly.Msg.CAMERASVFO_SST = "Set Saturation to";

Blockly.Msg.CAMERGICFC = "Get Image captured from Camera";
Blockly.Msg.CAMERGICFC_SCT = "Select Camera Type：";

Blockly.Msg.MODELLPM = "Load Preset Model: ";

Blockly.Msg.CAMERINIT = "Initialize Preset Model：Single Digit Recognition";
Blockly.Msg.CAMERINIT_SISF = "Set Image Source From: ";
Blockly.Msg.CAMERINIT_FPM = "From Preset Model:Single Digit Recognition";
Blockly.Msg.CAMERINIT_GCDN = "Get Current Detected Number(0-9)";
Blockly.Msg.CAMERINIT_CRC = "Current recognition confidence (%)";

Blockly.Msg.MODELS_L = "Any common object is recognized";


Blockly.Msg.MODELS_GET_F = "from";
Blockly.Msg.MODELS_GET_G = "Get the";
Blockly.Msg.MODELS_GET_O = "Object name";
Blockly.Msg.MODELS_GET_X = "X-axis coordinate of detection box";
Blockly.Msg.MODELS_GET_Y = "Y coordinate of the detection box";
Blockly.Msg.MODELS_GET_W = "Width of detection box ";
Blockly.Msg.MODELS_GET_H = "Height of inspection frame";
Blockly.Msg.MODELS_GET_NO = "Number of objects";
Blockly.Msg.MODELS_GET_S = "Serial number";
Blockly.Msg.MODELS_GET_C = "Confidence level";


Blockly.Msg.MODELS_FACE = "Face recognition";

Blockly.Msg.MODELS_XY_F = "Get the Face";
Blockly.Msg.MODELS_XY_N = "Number";






Blockly.Msg.MODELS_SDR = "Single Digit Recognition";
Blockly.Msg.MODELS_COR = "Common Object Recognition";
Blockly.Msg.MODELS_AR = "Animal Recognition";
Blockly.Msg.MODELS_HFR = "Human Face Recognition";





Blockly.Msg.CAMERINIT_GTCS = "Get the Confidence Score (%) of Detected Number";


Blockly.Msg.CAMERINITPM = "Initialize Preaset Model:Common Object Recognition";
Blockly.Msg.CAMERINITPM_SMSFIOR = "Set Image Source from ";
Blockly.Msg.CAMERINITPM_ACOID = "Any Common Object  is Detected";
Blockly.Msg.CAMERINITPM_IACOID = "If Any Common Object is Detected";
Blockly.Msg.CAMERINITPM_D = "Do";
Blockly.Msg.CAMERINITPM_E = "Else";
Blockly.Msg.CAMERINITPM_FPM = "From Preset Model: Common Object Recognition";
Blockly.Msg.CAMERINITPM_G = "Get";
Blockly.Msg.CAMERINITPM_GIOTCOD = " of the Common Object Detected";
Blockly.Msg.CAMERINITPM_DCOIA = "Detected Common Object is ";



Blockly.Msg.CAMERINITPMA = "Initialize Preset Model:Animal Recognition";
Blockly.Msg.CAMERINITPMA_AAOID = "Any Animal is Detected";
Blockly.Msg.CAMERINITPMA_IAAOID = "If Any Animal is Detected";
Blockly.Msg.CAMERINITPMA_FPMA = "From Preset Model: Animal Recongnition";
Blockly.Msg.CAMERINITPMA_GIOTCAD = " of the Animal Detected";
Blockly.Msg.CAMERINITPMA_DAOIA = "Detected Animal is ";



Blockly.Msg.CAMERINITPMF = "Initialize Preset Model:Face Recognition";
Blockly.Msg.CAMERINITPMF_SISFIF = "Set Image Source from ";
Blockly.Msg.CAMERINITPMF_AFID = "Any Face is Detected";
Blockly.Msg.CAMERINITPMF_IAFID = "If Any Face is Detected";
Blockly.Msg.CAMERINITPMF_FPM = "From Preset Model: Face Recongnition";
Blockly.Msg.CAMERINITPMF_GIOTFD = "of the Face Detected";

Blockly.Msg.CAMERINITPMF_LCMLM = "Load Customized Machine Learning Model";
Blockly.Msg.CAMERINITPMF_FSC = "From SD Card:";

Blockly.Msg.CAMERINIINNYFNOT = "Initialize Neural Network YOLOv2"
Blockly.Msg.CAMERINIINNYFNOT_F = " from Network Object";
Blockly.Msg.CAMERINIINNYFNOT_SPT = "Set Probability Threshold:"
Blockly.Msg.CAMERINIINNYFNOT_SPT_S = " Set Box IoU Threshold:";
Blockly.Msg.CAMERINITPMF_SNOAA = "Set Number of Anchors Anchors "
Blockly.Msg.CAMERINITPMF_SNOAA_S = " Set Anchor as:anchors";


Blockly.Msg.CAMERGRFRNNY = "Get Result from Running Neural Network YOLOv2";
Blockly.Msg.CAMERGRFRNNY_FNOT = "From Network Object ";
Blockly.Msg.CAMERGRFRNNY_SNOLTCTTN = "Set Number of Layers to Calculate to the Network:";
Blockly.Msg.CAMERGRFRNNY_SISA = "Set Image Source as :";

Blockly.Msg.CAMERGFMOFNOT = "Get Feature Map Object from Network Object";
Blockly.Msg.CAMERGFMOFNOT_SNOLTCTTN = "Set Number of Layers to Calculate to the Network:";
Blockly.Msg.CAMERGFMOFNOT_SISAC = "Set Image Source as:";


Blockly.Msg.CAMERDNOT = "Deinitialize Network Object ";


Blockly.Msg.VISION_IF = "If Color  ";
Blockly.Msg.VISION_IF_R = "Region is Detected from Canvas:";
Blockly.Msg.VISION_IF_S = "Set Maximum Dertected Size:";

Blockly.Msg.VISION_IF_C = "Get Detected Region's";


Blockly.Msg.VISION_CIF = " Circle is Detected from Canvas: ";
Blockly.Msg.VISION_CIF_D = "Get Detected Circle's";

Blockly.Msg.VISION_SIF = "Start Double Line Detection";
Blockly.Msg.VISION_SIF_D = "Dectect Line Color：";
Blockly.Msg.VISION_SIF_G = "Get Direction Offset Value";
Blockly.Msg.VISION_SIF_GF = "From Double Line Detection";



Blockly.Msg.MPHONE = "Microphone Initialization";
Blockly.Msg.MPHONE_A = "Read Avg.Loudness from Microphone";


Blockly.Msg.AUDIO_S = "Speaker Initialization";
Blockly.Msg.AUDIO_S_P = "Play audio file";
Blockly.Msg.AUDIO_S_PS = "Set volume";
Blockly.Msg.AUDIO_S_PF = "File Path:";

Blockly.Msg.AUDIO_SET = "Set audio playback volume";


Blockly.Msg.VIDEO_S = "Video recording initialization";
Blockly.Msg.VIDEO_S_S = "File save path";

Blockly.Msg.VIDEO_G = "Recording video from";
Blockly.Msg.VIDEO_G_I = "image source";

Blockly.Msg.VIDEO_S_R = "Stop Record Video";

Blockly.Msg.VIDEO_SET_F = "Play video file";
Blockly.Msg.VIDEO_SET_P = "File path:";

Blockly.Msg.VIDEO_NUM = "Set video playback volume ";

Blockly.Msg.VIDEO_STATUS = "Get the status of video playback";



Blockly.Msg.SERIALPORT_PRINT_TITLE = "Serial Port Print %1";
Blockly.Msg.SERIALPORT_SPACER = "Spacer";
Blockly.Msg.SERIALPORT_TERMINATOR = "Terminator";
Blockly.Msg.SERIALPORT_DATA = "Data";

Blockly.Msg.SERIALPORT_COLOR = "Text color";
Blockly.Msg.SERIALPORT_TCOLOR = "Text background";

Blockly.Msg.SERIALPORT_SLDT = "Set LCD display text";

Blockly.Msg.LCD_CLEAR = "Clear screen";

Blockly.Msg.CAMERA_WINDOW = "Set camera windowing";
Blockly.Msg.CAMERA_SIZE = "Window size";

Blockly.Msg.CAMERA_WINDOW = "Set camera windowing";
Blockly.Msg.CAMERA_SIZE = "Window size";



Blockly.Msg.CAMERA_INIT = "Camera initialization";
Blockly.Msg.CAMERA_CIS = "Captured image size:";
Blockly.Msg.CAMERA_COCI = "Color of captured image:";

Blockly.Msg.CAMERA_C = "Color";
Blockly.Msg.CAMERA_BW = "black and white";



/*
  __  __       _   _     
 |  \/  | __ _| |_| |__  
 | |\/| |/ _` | __| '_ \ 
 | |  | | (_| | |_| | | |
 |_|  |_|\__,_|\__|_| |_|
                         
*/

Blockly.Msg.math_degrad_rad = "Convert Degrees to Radians";
Blockly.Msg.math_degrad_deg = "Convert Radians to Degrees";



/*
  ___                   _      _____        _               _   
 |_ _|_ __  _ __  _   _| |_   / / _ \ _   _| |_ _ __  _   _| |_ 
  | || '_ \| '_ \| | | | __| / / | | | | | | __| '_ \| | | | __|
  | || | | | |_) | |_| | |_ / /| |_| | |_| | |_| |_) | |_| | |_ 
 |___|_| |_| .__/ \__,_|\__/_/  \___/ \__,_|\__| .__/ \__,_|\__|
           |_|                                 |_|              
*/

Blockly.Msg.io_high = "HIGH";
Blockly.Msg.io_low = "LOW";
Blockly.Msg.digital_set = "Set GPIO #";
Blockly.Msg.digital_set_as = "to";
Blockly.Msg.digital_get = "Get GPIO #";
Blockly.Msg.digital_get_value = "Digital Read";

Blockly.Msg.analog_get = "Get GPIO #";
Blockly.Msg.analog_get_value = "Analog Value";
Blockly.Msg.analog_set = "IoT Module Set GPIO #";
Blockly.Msg.set_pin = "(range:0 ~ 1023)";
Blockly.Msg.analog_set_ai = "A.I. Module Set GPIO #";
Blockly.Msg.analog_set_freq = "Set Frequency as:";
Blockly.Msg.analog_set_pwm = "Set PWM as:";
Blockly.Msg.set_pwm = "PWM Value to";
Blockly.Msg.led = "LED";
Blockly.Msg.control = "Control";
Blockly.Msg.OUT_PWM = "Output PWM wave";

Blockly.Msg.analog_set_timer = "Set Timer:";
Blockly.Msg.analog_set_timer_channel = "Set Timer Channel:";

Blockly.Msg.Esp32_Main_Controller_Io_analog_pin_1 = "A.I. Module GPIO #";
Blockly.Msg.Esp32_Main_Controller_Io_analog_pin_2 = "IoT Module GPIO #";

/*
  _____ _                
 |_   _(_)_ __ ___   ___ 
   | | | | '_ ` _ \ / _ \
   | | | | | | | | |  __/
   |_| |_|_| |_| |_|\___|
                         
*/

Blockly.Msg.time_iot_module = "IoT Module ";
Blockly.Msg.time_ai_module = "A.I. Module";
Blockly.Msg.time_init_timer = "Initialize Timer";
Blockly.Msg.time_timer_get_time = "Get time elapsed from Timer (s)";
Blockly.Msg.time_timer_clear = "Clear Timer";
Blockly.Msg.time_timer_periodically = "Enable Periodical Timer";
Blockly.Msg.time_timer_every = "Every";
Blockly.Msg.time_timer_ms = "Millisecond(s)";
Blockly.Msg.time_execution = "Do";
Blockly.Msg.time_timer_periodically_clear = "Clear Periodical Timer";

Blockly.Msg.time_get_current_date_title = "Get Current Time:";
Blockly.Msg.time_get_current_date_y = "Year";
Blockly.Msg.time_get_current_date_m = "Month";
Blockly.Msg.time_get_current_date_d = "Day";
Blockly.Msg.time_get_current_date_hour = "Hour";
Blockly.Msg.time_get_current_date_min = "Minute";
Blockly.Msg.time_get_current_date_sec = "Second";


/*
  ____            _       _    ____                            
 / ___|  ___ _ __(_) __ _| |  / ___|___  _ __ ___  _ __ ___    
 \___ \ / _ \ '__| |/ _` | | | |   / _ \| '_ ` _ \| '_ ` _ \   
  ___) |  __/ |  | | (_| | | | |__| (_) | | | | | | | | | | |_ 
 |____/ \___|_|  |_|\__,_|_|  \____\___/|_| |_| |_|_| |_| |_(_)

*/

Blockly.Msg.serialcomm_print = "Serial print";
Blockly.Msg.serialcomm_write_title_text = "Send Data to other devices through the serial port";
Blockly.Msg.serialcomm_write_title_text_arduino = "Send data to Arduino via USB";
Blockly.Msg.serialcomm_read_setup_title_text_arduino = "Initialization of data acquisition via USB";
Blockly.Msg.serialcomm_read_setup_title_text = "Obtain data through the serial port";
Blockly.Msg.serialcomm_read_setup_title_text_1 = " to initialize";
Blockly.Msg.serial_read_data = "From ";
Blockly.Msg.Serial_Read_Data_all = "Obtained serial port data";
Blockly.Msg.ARD_SERIAL_RECEIVE_DATASET_GET_TEXT = "Get Serial (UART) Data at ";
Blockly.Msg.ARD_SERIAL_RECEIVE_DATASET_TYPE_TEXT = "as";
Blockly.Msg.ARD_SERIAL_RECEIVE_DATASET_TYPE_FLOAT = "Float";
Blockly.Msg.ARD_SERIAL_RECEIVE_DATASET_TYPE_INTEGER = "Number";
Blockly.Msg.ARD_SERIAL_RECEIVE_DATASET_TYPE_STRING = "String";
Blockly.Msg.serialcomm_write_item_first = "Data ";
Blockly.Msg.serialcomm_write_item_last = "bit of data";
Blockly.Msg.serialcomm_write_item = "Item";
Blockly.Msg.serialcomm_write_data = "Data";
Blockly.Msg.serialcomm_write_data_bps_title = "Set Baud Rate:";
Blockly.Msg.serialcomm_write_data_bps_attrib = "bps";
Blockly.Msg.serialcomm_write_on = "On";
Blockly.Msg.serialcomm_write_on_ai = "AI Module ";
Blockly.Msg.serialcomm_write_on_iot = "IoT Module";
Blockly.Msg.serial_send_data_on = "On";
Blockly.Msg.serial_send_data_on_send_data_cocorobo = "CocoPi Send data to generation 1 and generation 2   "
Blockly.Msg.serial_send_data_on_send_data = "CocoPi Send Data to Micro:bit"
Blockly.Msg.serial_send_data_on_send_data_control_panel = "CocoPi Send Data to Control panel";
Blockly.Msg.serial_send_data_on_send_data_control_panel_arduino = "CocoPi Send Data to Control Arduino";


/*
  ____            _      
 | __ )  __ _ ___(_) ___ 
 |  _ \ / _` / __| |/ __|
 | |_) | (_| \__ \ | (__ 
 |____/ \__,_|___/_|\___|

*/


Blockly.Msg.basic_button_read_value = "Read the Status of Button ";
Blockly.Msg.basic_button_read_value_after = "the voltage level state";

Blockly.Msg.basic_buzzer_set_init = "The buzzer is initialized and the pins are set as follows";
Blockly.Msg.basic_buzzer_set = "Set Buzzer frequency (Hz)";
Blockly.Msg.basic_temperature = "Temperature";
Blockly.Msg.basic_humidity = "Humidity";
Blockly.Msg.basic_pressure = "Pressure";
Blockly.Msg.basic_env_value = "Value";
Blockly.Msg.basic_motion_use = "Initialize Motion Sensor";

Blockly.Msg.basic_shaking_sensitivity = "Set the sensitivity to";
Blockly.Msg.basic_shaking_sensitivity_high = "High";
Blockly.Msg.basic_shaking_sensitivity_middle = "Middle";
Blockly.Msg.basic_shaking_sensitivity_low = "low";
Blockly.Msg.basic_when_shaking_when_module = "when Module is";
Blockly.Msg.basic_when_shaking_when_is_in = "Shaking";
Blockly.Msg.basic_when_shaking_when_is_not_in = "Not Shaking";
Blockly.Msg.basic_when_shaking_when_shaking = "";

Blockly.Msg.basic_when_shaking = "When module is shaking";
Blockly.Msg.basic_when_shaking_not = "When module is not shaking";

Blockly.Msg.basic_when_tilting_get = "When module is ";
Blockly.Msg.basic_when_tilting_get_left = "tilt to the left";
Blockly.Msg.basic_when_tilting_get_right = "tilt to the right";
Blockly.Msg.basic_when_tilting_get_forward = "tilt to the forward";
Blockly.Msg.basic_when_tilting_get_backward = "tilt to the backward";
Blockly.Msg.basic_when_tilting_get_left_and_forward = "tilt to the forward left";
Blockly.Msg.basic_when_tilting_get_left_and_backward = "tilt to the backward left";
Blockly.Msg.basic_when_tilting_get_right_and_forward = "tilt to the forward right";
Blockly.Msg.basic_when_tilting_get_right_and_backward = "tilt to the backward right";
Blockly.Msg.basic_when_tilting_not_tilting = "not tilting";
Blockly.Msg.basic_when_tilting_get_when = "When in a wobbly state.";
Blockly.Msg.basic_motion_get = "Get";
Blockly.Msg.basic_motion_accel = " axis acceleration";
Blockly.Msg.basic_motion_rotation_measurement = " axis rotation measurement";
Blockly.Msg.basic_motion_angle = " axis rotation angle";
Blockly.Msg.isUnit = "Need unit";
Blockly.Msg.confUnit = "Yes";
Blockly.Msg.cancUnit = "No";
Blockly.Msg.basic_light_get = "Get Light Sensitivity（0~4095）";

Blockly.Msg.basic_motion_statement_exec = "Do";




/*
  ____  _           _             
 |  _ \(_)___ _ __ | | __ _ _   _ 
 | | | | / __| '_ \| |/ _` | | | |
 | |_| | \__ \ |_) | | (_| | |_| |
 |____/|_|___/ .__/|_|\__,_|\__, |
             |_|            |___/ 
*/

Blockly.Msg.display_clear_screen = "Clear Screen";
Blockly.Msg.display_fill_screen = "Set screen filled with color";
Blockly.Msg.display_draw_pixel = "Pixel";
Blockly.Msg.display_draw_vertical = "Vertical";
Blockly.Msg.display_draw_horizontal = "Horizontal";
Blockly.Msg.display_start_cord = "Start Coordinate";
Blockly.Msg.display_length = "Length";
Blockly.Msg.display_draw_rectangle = "Rectangle";
Blockly.Msg.display_drawqr_text = " QR Code";
Blockly.Msg.display_drawqr_content = "Content";
Blockly.Msg.display_drawqr_padding = "Padding Width";
Blockly.Msg.display_draw_text = "Content";
Blockly.Msg.display_draw_text_content = "Content";
Blockly.Msg.display_draw_text_size = "Text Size";
Blockly.Msg.display_draw_text_return = "Auto Wrap";
Blockly.Msg.display_red = "Red";
Blockly.Msg.display_green = "Green";
Blockly.Msg.display_blue = "Blue";

/*
 __        ___       _____ _ 
 \ \      / (_)     |  ___(_)
  \ \ /\ / /| |_____| |_  | |
   \ V  V / | |_____|  _| | |
    \_/\_/  |_|     |_|   |_|
                             
*/

Blockly.Msg.wifi_setup_hotspot = "Create Wi-Fi Hotspot";
Blockly.Msg.wifi_hotspot_ssid = "SSID:";
Blockly.Msg.wifi_hotspot_pass = "Password:";
Blockly.Msg.wifi_connect_router = "Connect to Wi-Fi Network";
Blockly.Msg.wifi_router_ssid = "SSID:";
Blockly.Msg.wifi_router_pass = "Password:";
Blockly.Msg.wifi_router_disconnect = "Disconnect Wi-Fi Connection";
Blockly.Msg.wifi_hotspot_get_clients = "Get number of current connected device(s)";
Blockly.Msg.wifi_hotspot_get_list = "Get the list current connected device(s)";
Blockly.Msg.wifi_router_connection_status = "Get Wi-Fi Connection Status";
Blockly.Msg.wifi_close_hotspot = "Close Wi-Fi Hotspot";
Blockly.Msg.wifi_router_get_info = "Get Wi-Fi Configuration Info";
Blockly.Msg.wifi_router_device_ip = "IP";
Blockly.Msg.wifi_router_device_mask = "Netmask";
Blockly.Msg.wifi_router_device_gateway = "Gateway";
Blockly.Msg.wifi_router_device_dns = "DNS";

Blockly.Msg.wifi_ntptime_title = "Synchronize Time From Internet";
Blockly.Msg.wifi_ntptime_set_timezone = "Set Timezone:";
Blockly.Msg.wifi_ntptime_utc8 = "UTC+8";
Blockly.Msg.wifi_ntptime_utc9 = "UTC+9";
Blockly.Msg.wifi_ntptime_utc10 = "UTC+10";
Blockly.Msg.wifi_ntptime_utc11 = "UTC+11";
Blockly.Msg.wifi_ntptime_utc12 = "UTC+12";
Blockly.Msg.wifi_ntptime_utcm12 = "UTC-12";
Blockly.Msg.wifi_ntptime_utcm11 = "UTC-11";
Blockly.Msg.wifi_ntptime_utcm10 = "UTC-10";
Blockly.Msg.wifi_ntptime_utcm9 = "UTC-9";
Blockly.Msg.wifi_ntptime_utcm8 = "UTC-8";
Blockly.Msg.wifi_ntptime_utcm7 = "UTC-7";
Blockly.Msg.wifi_ntptime_utcm6 = "UTC-6";
Blockly.Msg.wifi_ntptime_utcm5 = "UTC-5";
Blockly.Msg.wifi_ntptime_utcm4 = "UTC-4";
Blockly.Msg.wifi_ntptime_utcm3 = "UTC-3";
Blockly.Msg.wifi_ntptime_utcm2 = "UTC-2";
Blockly.Msg.wifi_ntptime_utcm1 = "UTC-1";
Blockly.Msg.wifi_ntptime_utc0 = "UTC";
Blockly.Msg.wifi_ntptime_utc1 = "UTC+1";
Blockly.Msg.wifi_ntptime_utc2 = "UTC+2";
Blockly.Msg.wifi_ntptime_utc3 = "UTC+3";
Blockly.Msg.wifi_ntptime_utc4 = "UTC+4";
Blockly.Msg.wifi_ntptime_utc5 = "UTC+5";
Blockly.Msg.wifi_ntptime_utc6 = "UTC+6";
Blockly.Msg.wifi_ntptime_utc7 = "UTC+7";
Blockly.Msg.wifi_ntptime_time_server = "Set Time Server:";

Blockly.Msg.wifi_web_http_server_setup = "HTTP Server Setup";
Blockly.Msg.wifi_web_http_server_route_setting_title = "HTTP Server Route Setting";
Blockly.Msg.wifi_web_http_server_route_setting_path = "When Path";
Blockly.Msg.wifi_web_http_server_route_setting_being_requested = "is Being Requested";
Blockly.Msg.wifi_web_http_server_route_setting_property = "Set Route Property:";
Blockly.Msg.wifi_web_http_server_route_setting_get = "GET";
Blockly.Msg.wifi_web_http_server_route_setting_post = "POST";
Blockly.Msg.wifi_web_http_server_route_setting_do = "Do";
Blockly.Msg.wifi_web_http_server_respond_title = "HTTP Server Send Response";
Blockly.Msg.wifi_web_http_server_respond_type = "Set Reponse Type:";
Blockly.Msg.wifi_web_http_server_respond_text = "Plain Text";
Blockly.Msg.wifi_web_http_server_respond_json = "JSON Data";
Blockly.Msg.wifi_web_http_server_respond_html = "Web Page (HTML Code)";
Blockly.Msg.wifi_web_http_server_respond_exec = "Respond:";
Blockly.Msg.wifi_web_http_server_get_title = "HTTP Server Get Request Content Data as";
Blockly.Msg.wifi_web_http_server_get_as_json = "JSON";
Blockly.Msg.wifi_web_http_server_get_as_text = "Text";


/*
  _   _ ____       ___    _____ 
 | \ | | __ )     |_ _|__|_   _|
 |  \| |  _ \ _____| |/ _ \| |  
 | |\  | |_) |_____| | (_) | |  
 |_| \_|____/     |___\___/|_|  

*/

Blockly.Msg.nbiot_module_which_module_iot = "On IoT Module ";
Blockly.Msg.nbiot_module_which_module_ai = "On AI Module ";

Blockly.Msg.nbiot_module_init = "NB-IoT Module Communication Setup";
Blockly.Msg.nbiot_module_power = "Get NB-IoT Module Power Status";
Blockly.Msg.nbiot_module_connectivity = "Get NB-IoT Internet Connection Status";
Blockly.Msg.nbiot_module_ip = "Get NB-IoT Module's Internet IP Address";
Blockly.Msg.nbiot_onenet_title = "NB-IoT Module to OneNET Configuration";
Blockly.Msg.nbiot_onenet_connect_productid = "Product ID:";
Blockly.Msg.nbiot_onenet_connect_deviceid = "Device ID:";
Blockly.Msg.nbiot_onenet_connect_device_api = "Device API Key:";
Blockly.Msg.nbiot_onenet_connectivity = "NB-IoT Module Get OneNET Connection Status";
Blockly.Msg.nbiot_onenet_send_title = "NB-IoT Module Send Data to OneNET";
Blockly.Msg.nbiot_onenet_send_property = "Property Name: ";
Blockly.Msg.nbiot_onenet_when_incoming_msg = "When NB-IoT Module Got Message: ";
Blockly.Msg.nbiot_onenet_when_incoming_msg_when = "from OneNET";
Blockly.Msg.nbiot_onenet_when_incoming_msg_exec = "Do";
Blockly.Msg.nbiot_onenet_receive_command = "Get Message received from OneNET";
Blockly.Msg.nbiot_cococloud_get_event_title = "NB-IoT Module Get CocoCloud Event Data";
Blockly.Msg.nbiot_cococloud_get_event_api = "Cloud Event API Key:";
Blockly.Msg.nbiot_cococloud_get_property = "Get the data where property is";
Blockly.Msg.nbiot_cococloud_get_data = "from CocoCloud";
Blockly.Msg.nbiot_cococloud_send_title = "NB-IoT Module Send Data to CocoCloud";
Blockly.Msg.nbiot_cococloud_send_api = "Event API Key:";
Blockly.Msg.nbiot_cococloud_send_property = "Property Name: ";
Blockly.Msg.nbiot_http_get_title = "Send HTTP GET Request";
Blockly.Msg.nbiot_http_get_url = "Set destination URL:";




/*
  ___       _                       _   
 |_ _|_ __ | |_ ___ _ __ _ __   ___| |_ 
  | || '_ \| __/ _ \ '__| '_ \ / _ \ __|
  | || | | | ||  __/ |  | | | |  __/ |_ 
 |___|_| |_|\__\___|_|  |_| |_|\___|\__|

*/


Blockly.Msg.internet_server_setup = "HTTP Server Initialize";
Blockly.Msg.internet_server_set_max = "Set maximum number of connection:";
Blockly.Msg.internet_server_set_source = "Get the IP Address of requested device";
Blockly.Msg.internet_response_http_content_title = "From HTTP Response get ";
Blockly.Msg.internet_response_text = "Text";
Blockly.Msg.internet_response_content = "Content";
Blockly.Msg.internet_response_status = "Status Code";
Blockly.Msg.internet_response_json = "JSON Data";
Blockly.Msg.internet_response_encode = "Encoding";
Blockly.Msg.internet_response_reason = "Reason code";
Blockly.Msg.internet_http_get_title = "Send HTTP GET Request";
Blockly.Msg.internet_http_get_url = "Set destination URL:";
Blockly.Msg.internet_http_post_title = "Send HTTP POST Request";
Blockly.Msg.internet_http_post_url = "Set destination URL:";
Blockly.Msg.internet_http_post_json = "Submit JSON Data:";


Blockly.Msg.internet_http_get_server_data_title = "Get Data Requested from Local HTTP Server";
Blockly.Msg.internet_http_get_server_data_type = "Data Type is:";
Blockly.Msg.internet_http_get_server_data_json = "Plain Text";
Blockly.Msg.internet_http_get_server_data_text = "Dictionary Data (JSON)";


Blockly.Msg.internet_ws_setup_send_text = "Real-time Comm. (Websocket) Setup (Send)";
Blockly.Msg.internet_ws_setup_send_ip = "Set Host Device IP:";
Blockly.Msg.internet_ws_send_msg = "From Websocket Send Message:";
Blockly.Msg.internet_ws_setup_recv = "Real-time Comm. (Websocket) Setup (Receive)";
Blockly.Msg.internet_ws_setup_receiving = "When Websocket Received Message";
Blockly.Msg.internet_ws_setup_recv_exec = "Do";
Blockly.Msg.internet_ws_setup_get_msg = "Get Message Received from Websocket";
Blockly.Msg.internet_ws_setup_get_msg_type = "Set Message type as:";
Blockly.Msg.internet_ws_setup_get_msg_text = "Text";
Blockly.Msg.internet_ws_setup_get_msg_json = "Dictionary Data (JSON)";
Blockly.Msg.v831_get_weather_init = "Initialize weather ";
Blockly.Msg.set_weather_city = "Set the city to get the weather ";
Blockly.Msg.set_weather_title_small = "Set weather Period ";
Blockly.Msg.set_weather_real_time = "Real-time ";
Blockly.Msg.set_weather_All_day_long = "All day ";
Blockly.Msg.set_weather_city_title = "Set city and time to get weather"
Blockly.Msg.beijing = "Beijing ";
Blockly.Msg.shanghai = "Shanghai ";
Blockly.Msg.guangzhou = "Guangzhou ";
Blockly.Msg.shenzhen = "Shenzhen ";
Blockly.Msg.tianjin = "Tianjin ";
Blockly.Msg.HongKong = "Hong Kong"
Blockly.Msg.weather_resulet= "weather results"
Blockly.Msg.weather_condition = "weather"
Blockly.Msg.windDir = "windDir"
Blockly.Msg.windScale = "windScale"
Blockly.Msg.windSpeed = "windSpeed"
/*
  ___    _____   ____                  _          
 |_ _|__|_   _| / ___|  ___ _ ____   _(_) ___ ___ 
  | |/ _ \| |   \___ \ / _ \ '__\ \ / / |/ __/ _ \
  | | (_) | |    ___) |  __/ |   \ V /| | (_|  __/
 |___\___/|_|   |____/ \___|_|    \_/ |_|\___\___|

*/


Blockly.Msg.iotservice_thingspeak_send_title = "Send Data to ThingSpeak Channel";
Blockly.Msg.iotservice_thingspeak_send_api_set = "Set Channel API Key:";
Blockly.Msg.iotservice_thingspeak_send_data_1 = "Data 1";
Blockly.Msg.iotservice_onenet_mqtt_setup = "OneNET IoT Platform (MQTTS) Connection Setup";
Blockly.Msg.iotservice_onenet_mqtt_server = "Set Connect Server:";
Blockly.Msg.iotservice_onenet_mqtt_productid = "Set Product ID:";
Blockly.Msg.iotservice_onenet_mqtt_productkey = "Set Product API Key:";
Blockly.Msg.iotservice_onenet_mqtt_deviceid = "Set Device ID:";
Blockly.Msg.iotservice_onenet_mqtt_send = "Send Data to OneNET";
Blockly.Msg.iotservice_onenet_mqtt_send_item = "Property Name: ";
Blockly.Msg.iotservice_onenet_mqtt_receive = "When Received Message";
Blockly.Msg.iotservice_onenet_mqtt_receive_when = "from OneNET";
Blockly.Msg.iotservice_onenet_mqtt_receive_exec = "Do";
Blockly.Msg.iotservice_onenet_mqtt_disconnect = "Disconnect OneNET Connection";
Blockly.Msg.iotservice_ifttt_send_title = "Send Data to IFTTT Webhooks Event";
Blockly.Msg.iotservice_ifttt_send_webhook = "Webhooks API Key:";
Blockly.Msg.iotservice_ifttt_send_eventname = "Event Name:";
Blockly.Msg.iotservice_ifttt_send_1 = "Data 1:";
Blockly.Msg.iotservice_ifttt_send_2 = "Data 2:";
Blockly.Msg.iotservice_ifttt_send_3 = "Data 3:";
Blockly.Msg.iotservice_ifttt_trigger_title = "Trigger IFTTT Event";
Blockly.Msg.iotservice_ifttt_trigger_webhook = "Webhook API Key:";
Blockly.Msg.iotservice_ifttt_trigger_eventname = "Event Name:";
Blockly.Msg.iotservice_thingspeak_send_title = "Send Data to ThingSpeak Channel";
Blockly.Msg.iotservice_thingspeak_send_api = "Set Channel API Key:";
Blockly.Msg.iotservice_thingspeak_query_title = "Query Channel Data from ThingSpeak";
Blockly.Msg.iotservice_thingspeak_query_api = "Set Channel API Key:";
Blockly.Msg.iotservice_thingspeak_channel_id = "Channel ID:";
Blockly.Msg.iotservice_thingspeak_read_total = "Get the number of data in the ThingSpeak channel";
Blockly.Msg.iotservice_thingspeak_get_title = "Get the";
Blockly.Msg.iotservice_thingspeaK_get_field = "Data's ";
Blockly.Msg.iotservice_thingspeaK_get_value = "field Value from ThingSpeak";
Blockly.Msg.iotservice_cococloud_send_title = "Send Data to CocoCloud Event";
Blockly.Msg.iotservice_cococloud_send_title_api = "Event API Key:";
Blockly.Msg.iotservice_cococloud_send_property = "Property Name: ";
Blockly.Msg.iotservice_cococloud_send_property_1 = "Property Value:";
Blockly.Msg.iotservice_cococloud_get_title = "Get Data from CocoCloud Event";
Blockly.Msg.iotservice_cococloud_get_api = "Event API Key:";
Blockly.Msg.iotservice_cococloud_get_property = "Get the data where property name is ";
Blockly.Msg.iotservice_cococloud_get_data = "from CocoCloud";


/*
  ____            _                 
 / ___| _   _ ___| |_ ___ _ __ ___  
 \___ \| | | / __| __/ _ \ '_ ` _ \ 
  ___) | |_| \__ \ ||  __/ | | | | |
 |____/ \__, |___/\__\___|_| |_| |_|
        |___/                                                                    
*/


Blockly.Msg.system_code_path = "File Path:";
Blockly.Msg.system_get_size = "Get the Remaining Space from Module (in MegaBytes)";
Blockly.Msg.system_get_mac = "Get Module's MAC address";
Blockly.Msg.system_get_cocorobo_cid = "Get the Device ID of Current IoT Module";
Blockly.Msg.iot_system_get_cocorobo_firmware_version = "Get the Current firmware version number of Current IoT Module";
Blockly.Msg.iot_system_delete = "Delete file";
Blockly.Msg.ai_system_get_cocorobo_firmware_version = "Get the Current firmware version number of Current AI Module";
Blockly.Msg.ai_system_get_size = "Get the Remaining Space in Memory (in MegaBytes)";
Blockly.Msg.ai_system_sd_get_size = "Get the Remaining Space in SD card (in MegaBytes)";
Blockly.Msg.ai_system_thread = "Enable multithreading";
Blockly.Msg.ai_systen_thread_val = "Parameters.";
Blockly.Msg.ai_system_thread_setting = "Setting multithreading";
Blockly.Msg.ai_system_thread_setDaemon = "daemon thread";
Blockly.Msg.ai_system_thread_not_setDaemon = "non-daemon thread";
Blockly.Msg.ai_system_thread_set_setDaemon_TOOLTIP = "Set the child thread as a daemon thread, which needs to be set before the child thread is started.";
Blockly.Msg.ai_system_thread_set_join = "block";
Blockly.Msg.ai_systen_queue_aritem = "Variable";
Blockly.Msg.ai_systen_queue_put = "put in queue";
Blockly.Msg.ai_systen_queue_get = "Getqueue";
Blockly.Msg.ai_systen_queue_value = "value";

Blockly.Msg.SYSTEM = "Restart System";
Blockly.Msg.SYSTEM_GC = "Start memory reclaim";
Blockly.Msg.SYSTEM_RUN = "Execute Python Code:";
Blockly.Msg.SYSTEM_RUN_F = "Filename:";
Blockly.Msg.SYSTEM_CREATE = "Create Text file";
Blockly.Msg.SYSTEM_CREATE_F = "Filename:";
Blockly.Msg.SYSTEM_WRITE = "Create Text file";
Blockly.Msg.SYSTEM_WRITE_F = "Filename:";
Blockly.Msg.SYSTEM_WRITE_W = "Write content:";
Blockly.Msg.SYSTEM_WRITE_S = "The separator is:";
Blockly.Msg.SYSTEM_WRITE_S_N = "newline";
Blockly.Msg.SYSTEM_WRITE_S_C = "comma";
Blockly.Msg.SYSTEM_WRITE_S_S = "space";
Blockly.Msg.SYSTEM_WRITE_S_SE = "semicolon";
Blockly.Msg.SYSTEM_INPUT = "Read Text File as List";





/*
  _     _____ ____    ____  _        _       
 | |   | ____|  _ \  / ___|| |_ _ __(_)_ __  
 | |   |  _| | | | | \___ \| __| '__| | '_ \ 
 | |___| |___| |_| |  ___) | |_| |  | | |_) |
 |_____|_____|____/  |____/ \__|_|  |_| .__/ 
                                      |_|                                               
*/



Blockly.Msg.ledstrip_setup_text_iot = "On IoT Module "
Blockly.Msg.ledstrip_setup_text_ai = "On AI Module";

Blockly.Msg.ledstrip_setup_text = "RGB LED Strip";
Blockly.Msg.ledstrip_setup = "Setup";
Blockly.Msg.ledstrip_set_gpio = "Set GPIO # in:";
Blockly.Msg.ledstrip_set_total_led = "Set Number of LEDs in the Strip:";
Blockly.Msg.ledstrip_set_brightness_setup = "Set the Brightness of LED Strip to:";
Blockly.Msg.ledstrip_set_light_up = "Set RGB LED Strip";
Blockly.Msg.ledstrip_set_no = "Light the LED Located In:";
Blockly.Msg.ledstrip_set_color = "Light up with Color in:";

Blockly.Msg.ledstrip_setup_text_show_above_set = "Set LED Strip";
Blockly.Msg.ledstrip_setup_text_show_above = "Display Above";

Blockly.Msg.Pedometer_Init = "Initialize Pedometer";

Blockly.Msg.Pedometer_Run = "Run Pedometer";

Blockly.Msg.Pedometer_Get = "Get Count";

Blockly.Msg.Pedometer_Init_time = "time interval";
Blockly.Msg.Pedometer_Init_sensitivity = "sensitivit";




Blockly.Msg.ledstrip_set_brightness_1 = "Set the Brightness of LED Strip to";
Blockly.Msg.ledstrip_set_brightness_after = "(Range: 0~255)";




/*
  ____                       
 / ___|  ___ _ ____   _____  
 \___ \ / _ \ '__\ \ / / _ \ 
  ___) |  __/ |   \ V / (_) |
 |____/ \___|_|    \_/ \___/ 
                                                                             
*/


Blockly.Msg.servo_setup = "IoT Module Servo Setup";
Blockly.Msg.servo_set_gpio = "IoT Module Set Servo on GPIO #";
Blockly.Msg.servo_rotate_to = "Rotate to";
Blockly.Msg.servo_degree = "Degree (0˚~180˚)";

Blockly.Msg.servo_setup_ai = "Servo Setup";
Blockly.Msg.servo_set_gpio_ai = "Set Servo on GPIO #";
Blockly.Msg.servo_rotate_to_ai = "Rotate to";
Blockly.Msg.servo_degree_ai = "Degree (0˚~180˚)";


/*
  __  __       _             
 |  \/  | ___ | |_ ___  _ __ 
 | |\/| |/ _ \| __/ _ \| '__|
 | |  | | (_) | || (_) | |   
 |_|  |_|\___/ \__\___/|_|   

*/



Blockly.Msg.x_motor_set_motor = "IoT Module Motor Driver Setup";
Blockly.Msg.x_motor_set_motor_turn = "IoT Module Set Motor";
Blockly.Msg.x_motor_set_motor_speed = "'s Speed to";
Blockly.Msg.x_motor_exec = "(-255~255) Rotating";
Blockly.Msg.x_motor_cw = "Clockwise";
Blockly.Msg.x_motor_acw = "Anti-Clockwise";
Blockly.Msg.x_motor_set_motor_turns = "turns";

Blockly.Msg.x_motor_set_motor_ai = "Motor Driver Setup";
Blockly.Msg.x_motor_set_motor_turn_ai = "Set Motor";
Blockly.Msg.x_motor_set_motor_speed_ai = "'s Speed to";
Blockly.Msg.x_motor_exec_ai = "(0~255) Rotating";
Blockly.Msg.x_motor_cw_ai = "Clockwise";
Blockly.Msg.x_motor_acw_ai = "Anti-Clockwise";
Blockly.Msg.x_motor_set_motor_turns_ai = "turns";



/*
  _     _____ ____    __  __       _        _      
 | |   | ____|  _ \  |  \/  | __ _| |_ _ __(_)_  __
 | |   |  _| | | | | | |\/| |/ _` | __| '__| \ \/ /
 | |___| |___| |_| | | |  | | (_| | |_| |  | |>  < 
 |_____|_____|____/  |_|  |_|\__,_|\__|_|  |_/_/\_\

*/

Blockly.Msg.x_led_matrix_setup_ai = "AI Module LED Matrix (6x6) Setup";
Blockly.Msg.x_led_matrix_setup_ai_set_bright_1 = "Set Brigntness:";
Blockly.Msg.x_led_matrix_setup_ai_set_bright_range = "(Range: 0~255)";
Blockly.Msg.x_led_matrix_width_ai_set_brightness_1 = "Set Brightness to";

Blockly.Msg.x_led_matrix_width_ai_x = "Column:";
Blockly.Msg.x_led_matrix_width_ai_y = "Row:";
Blockly.Msg.x_led_matrix_width_ai = "Width:";
Blockly.Msg.x_led_matrix_height_ai = "Height:";
Blockly.Msg.x_led_matrix_color_ai = "Color";
Blockly.Msg.x_led_matrix_draw_title_ai = "AI Module LED Matrix";

Blockly.Msg.x_led_matrix_draw_pixel_ai = "Draw Pixel";
Blockly.Msg.x_led_matrix_draw_rect_ai = "Draw Rectangle";

Blockly.Msg.x_led_matrix_parameter_color_ai = "Color:";
Blockly.Msg.x_led_matrix_parameter_coord_ai = "Coordinate:";
Blockly.Msg.x_led_matrix_parameter_size_ai = "Size:";

Blockly.Msg.x_led_matrix_show_above_ai = "Show Above";
Blockly.Msg.x_led_matrix_clear_all_ai = "Clear Screen";

Blockly.Msg.x_led_matrix_setup_iot = "IoT Module LED Matrix (6x6) Setup";
Blockly.Msg.x_led_matrix_width_iot_x = "Column:";
Blockly.Msg.x_led_matrix_width_iot_y = "Row:";
Blockly.Msg.x_led_matrix_width_iot = "Width:";
Blockly.Msg.x_led_matrix_height_iot = "Height:";
Blockly.Msg.x_led_matrix_color_iot = "Color";
Blockly.Msg.x_led_matrix_draw_title_iot = "IoT Module LED Matrix";

Blockly.Msg.x_led_matrix_setup_iot_set_bright_1 = "Set Brigntness:";
Blockly.Msg.x_led_matrix_setup_iot_set_bright_range = "(Range: 0~255)";
Blockly.Msg.x_led_matrix_width_iot_set_brightness_1 = "Set Brightness to";
Blockly.Msg.x_led_matrix_setup_iot_io = "Set LED Matrix's GPIO # to:";

Blockly.Msg.x_led_matrix_draw_pixel_iot = "Draw Pixel";

Blockly.Msg.x_led_matrix_parameter_color_iot = "Color:";
Blockly.Msg.x_led_matrix_parameter_coord_iot = "Coordinate:";

Blockly.Msg.x_led_matrix_show_above_iot = "IoT Module LED Matrix Show Above";

// Blockly.Msg.x_led_matrix_ = "";






/*
   ____                      ____           _ 
  / ___| __ _ _ __ ___   ___|  _ \ __ _  __| |
 | |  _ / _` | '_ ` _ \ / _ \ |_) / _` |/ _` |
 | |_| | (_| | | | | | |  __/  __/ (_| | (_| |
  \____|\__,_|_| |_| |_|\___|_|   \__,_|\__,_|

*/

Blockly.Msg.x_gamepad_read_button_first_text_iot = "When Game Pad Button";
Blockly.Msg.x_gamepad_read_button_first_text_pressed_iot = " is Pressed";
Blockly.Msg.x_gamepad_read_button_first_text_released_iot = " is Released";
Blockly.Msg.x_gamepad_read_button_status_first_text_iot = "Read the status of Game Pad Button ";
Blockly.Msg.x_gamepad_read_button_status_after_text_iot = "the voltage level";
Blockly.Msg.x_gamepad_read_joystick_read_iot = "Read the ";
Blockly.Msg.x_gamepad_read_joystick_read_iot_x = "X-axis";
Blockly.Msg.x_gamepad_read_joystick_read_iot_y = "Y-axis";
Blockly.Msg.x_gamepad_read_joystick_read_after_iot = " value from Game Pad Joystick (0~1023)";
Blockly.Msg.x_gamepad_read_joystick_when_iot = "When Game Pad Joystick is ";
Blockly.Msg.x_gamepad_read_joystick_when_top_iot = "Pushed to Top";
Blockly.Msg.x_gamepad_read_joystick_when_bottom_iot = "Pushed to Bottom";
Blockly.Msg.x_gamepad_read_joystick_when_left_iot = "Pushed to Left";
Blockly.Msg.x_gamepad_read_joystick_when_right_iot = "Pushed to Right";
Blockly.Msg.x_gamepad_read_joystick_when_not_iot = "Not Pushed to Anywhere";


Blockly.Msg.x_gamepad_read_button_first_text_ai = "When Game Pad Button";
Blockly.Msg.x_gamepad_read_button_first_text_pressed_ai = " is Pressed";
Blockly.Msg.x_gamepad_read_button_first_text_released_ai = " is Released";
Blockly.Msg.x_gamepad_read_button_status_first_text_ai = "Read the status of Game Pad Button ";
Blockly.Msg.x_gamepad_read_button_status_after_text_ai = "the voltage level";
Blockly.Msg.x_gamepad_read_joystick_read_ai = "Read the ";
Blockly.Msg.x_gamepad_read_joystick_read_ai_x = "X-axis";
Blockly.Msg.x_gamepad_read_joystick_read_ai_y = "Y-axis";
Blockly.Msg.x_gamepad_read_joystick_read_after_ai = " value from Game Pad Joystick (0~1023)";
Blockly.Msg.x_gamepad_read_joystick_when_ai = "When Game Pad Joystick is ";
Blockly.Msg.x_gamepad_read_joystick_when_top_ai = "Pushed to Top";
Blockly.Msg.x_gamepad_read_joystick_when_bottom_ai = "Pushed to Bottom";
Blockly.Msg.x_gamepad_read_joystick_when_left_ai = "Pushed to Left";
Blockly.Msg.x_gamepad_read_joystick_when_right_ai = "Pushed to Right";
Blockly.Msg.x_gamepad_read_joystick_when_not_ai = "Not Pushed to Anywhere";


/*
     _    ___   ____            _      
    / \  |_ _| | __ )  __ _ ___(_) ___ 
   / _ \  | |  |  _ \ / _` / __| |/ __|
  / ___ \ | |  | |_) | (_| \__ \ | (__ 
 /_/   \_\___| |____/ \__,_|___/_|\___|
*/


Blockly.Msg.ai_basic_button_when = "When Button";
Blockly.Msg.ai_basic_pressed = "is Pressed";
Blockly.Msg.ai_basic_released = "is Released";
Blockly.Msg.ai_basic_led_set = "Set";
Blockly.Msg.ai_basic_led_blue = "Blue LED";
Blockly.Msg.ai_basic_led_red = "LED2 (On the Right)";
Blockly.Msg.ai_basic_led_on = "Light Up";
Blockly.Msg.ai_basic_led_off = "Light Off";
Blockly.Msg.ai_basic_rgb_set_on = "Turn on the RGB light and set the color to";
Blockly.Msg.ai_basic_rgb_set_off = "Turn off RGB light";

Blockly.Msg.ai_basic_led_analog_set = "Set ";
Blockly.Msg.ai_basic_led_analog_led1 = "LED1";
Blockly.Msg.ai_basic_led_analog_led2 = "LED2";
Blockly.Msg.ai_basic_led_analog_brightness_text = "light up at brightness";
Blockly.Msg.ai_basic_led_analog_range_text = "(Range: 0~100)";


/*
     _    ___   ___                              ____                              
    / \  |_ _| |_ _|_ __ ___   __ _  __ _  ___  |  _ \ _ __ ___   ___ ___  ___ ___ 
   / _ \  | |   | || '_ ` _ \ / _` |/ _` |/ _ \ | |_) | '__/ _ \ / __/ _ \/ __/ __|
  / ___ \ | |   | || | | | | | (_| | (_| |  __/ |  __/| | | (_) | (_|  __/\__ \__ \
 /_/   \_\___| |___|_| |_| |_|\__,_|\__, |\___| |_|   |_|  \___/ \___\___||___/___/
                                    |___/                                          
*/



Blockly.Msg.image_process_lcd_init = "LCD Screen Setup";
Blockly.Msg.image_process_lcd_direction = "Set screen orientation";
Blockly.Msg.image_process_lcd_landscape_screen = "Landscape screen";
Blockly.Msg.image_process_lcd_vertical_screen = "Portrait screen";
Blockly.Msg.image_process_text_let_canvas = "Set Canvas";
Blockly.Msg.image_process_text_image_canvas = "Picturization";
Blockly.Msg.image_process_text_let_canvas_filled_with_color = "Filled With Color";

Blockly.Msg.image_process_text_on_canvas = "On Canvas";
Blockly.Msg.image_process_text_on_draw = "Draw";
Blockly.Msg.image_text_on_draw = "Draw";
Blockly.Msg.image_process_text_set_canvas_setup = "Set Canvas";
Blockly.Msg.image_process_draw_qrcode = " QR code";
Blockly.Msg.image_process_draw_qr_code_size = "QR code size";

Blockly.Msg.image_process_text_filled = "Filled";
Blockly.Msg.image_process_text_stroked = "Stroked";

Blockly.Msg.image_process_statistical_chart_bar = "Bar";
Blockly.Msg.image_process_statistical_chart_broken_line = "Broken Line";
Blockly.Msg.image_process_statistical_chart_sector = "Sector";

Blockly.Msg.image_process_sensor = "Sensor  ";
Blockly.Msg.image_process_temperature = "Temperature";
Blockly.Msg.image_process_humidity = "Humidity";
Blockly.Msg.image_process_Ray_value = "Ray Value";
Blockly.Msg.image_process_temperature_range = "Range  ";
Blockly.Msg.image_process_nothing = "No Scope Definition(Except Temperature)";

Blockly.Msg.image_process_interface = "Interface  ";
Blockly.Msg.ai_speech_recognition_setup_set_english = "English";
Blockly.Msg.ai_speech_recognition_setup_set_simplified_chinese = "Chinese";
Blockly.Msg.ai_speech_recognition_setup_set_traditional_chinese = "Traditional Chinese";

Blockly.Msg.image_process_text_start_coord_as = "'s Starting Coordinate as:";

Blockly.Msg.image_process_text_start_coord = "Set Start Coordinate:";
Blockly.Msg.image_process_text_end_coord = "Set End Coordinate:";
Blockly.Msg.image_process_text_size = "Size:";
Blockly.Msg.image_process_text_color = "Color:";
Blockly.Msg.image_process_background_color = "BackgroundColor:";
Blockly.Msg.image_process_text_thick = "Thickness:";
Blockly.Msg.image_process_text_radius = "Radius:";
Blockly.Msg.image_process_text_content = "Content";
Blockly.Msg.image_process_statistical_chart_content = "Get the data to be drawn";
Blockly.Msg.image_process_statistical_chart_y_property = "Define the y-axis as";

Blockly.Msg.image_process_pixtovec_text_first = "Do";
Blockly.Msg.image_process_pixtovec_v2p = "Vector to Pixel";
Blockly.Msg.image_process_pixtovec_p2v = "Pixel to Vector";
Blockly.Msg.image_process_pixtovec_conversion = "Conversion";
Blockly.Msg.image_process_color_mode_gray = "Grayscale Mode";
Blockly.Msg.image_process_color_mode_rgb = "RGB Color Mode";
Blockly.Msg.image_process_imgcut_cutting = "Cut to:";
Blockly.Msg.image_process_imgcut_start_coord = "Cutting Start Coordinate:";
Blockly.Msg.image_process_imgcut_size = "Cutting Size:";
Blockly.Msg.image_process_img_save = "Saved to Local Path:";
Blockly.Msg.image_process_img_save_quality = "Set Image Compression Rate:";
Blockly.Msg.image_process_color_invert = "Color Inverted";
Blockly.Msg.image_process_resize_to = "Resize to ";
Blockly.Msg.image_process_color_scheme_convert = "Convert to";
Blockly.Msg.image_process_color_scheme_bw = "Black & White";
Blockly.Msg.image_process_color_scheme_rgb = "RGB Color";
Blockly.Msg.image_process_draw_cross_title = " Cross Sign";
Blockly.Msg.image_process_draw_cross_centerpos = "Center Position:";
Blockly.Msg.image_process_draw_cross_length = "Length:";
Blockly.Msg.image_process_draw_cross_thick = "Thickness:";
Blockly.Msg.image_process_draw_cross_color = "Color:";
Blockly.Msg.image_process_draw_arrow_title = " Arrow";

Blockly.Msg.image_process_draw_image_title = "Draw Image";
Blockly.Msg.image_process_draw_image_title_image_path = "Set Image Path:";
Blockly.Msg.image_process_draw_image_scale_x = "Set Length Scale by X Direction:";
Blockly.Msg.image_process_draw_image_scale_y = "Set Height Scale by Y Direction:";

Blockly.Msg.image_process_draw_sensor_image_title = "Draw Image Captured from Camera";
Blockly.Msg.image_process_draw_sensor_image_path = "Set Image From:";

Blockly.Msg.image_process_draw_arrow_start = "Start Coordinate:";
Blockly.Msg.image_process_draw_arrow_end = "End Coordinate:";
Blockly.Msg.image_process_draw_arrow_color = "Color:";
Blockly.Msg.image_process_draw_arrow_thick = "Thickness:";
Blockly.Msg.image_process_draw_rectangle_text = "Rectangle";
Blockly.Msg.image_process_draw_circle_text = "Circle";
Blockly.Msg.image_process_draw_ellipse_text = "Ellipse";
Blockly.Msg.image_process_draw_circle_text_start = "Center coordinates";
Blockly.Msg.image_process_draw_text_font_size = "Text Size: (Integer from 1 to 3)";
Blockly.Msg.image_process_draw_text_if_monospace = "Set Monospace";
Blockly.Msg.image_process_draw_text = " Text";
Blockly.Msg.image_process_draw_statistical_chart = " Statistical chart";
Blockly.Msg.image_process_draw_characters = " Hanzi Characters";
Blockly.Msg.image_process_draw_line = " Line";
Blockly.Msg.image_process_create_blank_canvas = "Create Blank Canvas:";
Blockly.Msg.image_process_create_image_canvas = "Create Image Canvas:";
Blockly.Msg.image_process_create_image_canvas_path = "Load Image from Path:";
Blockly.Msg.image_process_show_canvas = "Show Canvas";
Blockly.Msg.image_process_clear_canvas_1 = "Clear Canvas";
Blockly.Msg.image_process_clear_canvas_2 = "All Content";

Blockly.Msg.image_process_set_lcd_rotation = "Rotation to";
Blockly.Msg.image_process_set_lcd_mirror_flip = "Set LCD Screen Mirror Flip";
Blockly.Msg.image_process_set_filled_screen_color = "Set LCD Filled with Color in ";
Blockly.Msg.image_process_set_filled_screen_color_red = "Red";
Blockly.Msg.image_process_set_filled_screen_color_green = "Green";
Blockly.Msg.image_process_set_filled_screen_color_blue = "Blue";
Blockly.Msg.image_process_set_filled_screen_color_purple = "Purple";
Blockly.Msg.image_process_set_filled_screen_color_cyan = "Cyan";
Blockly.Msg.image_process_set_filled_screen_color_orange = "Orange";
Blockly.Msg.image_process_set_filled_screen_color_yellow = "Yellow";
Blockly.Msg.image_process_set_filled_screen_color_black = "Black";
Blockly.Msg.image_process_set_filled_screen_color_white = "White";
Blockly.Msg.image_process_clear_lcd = "Clear LCD Screen";
Blockly.Msg.image_process_rgb_r = "Red";
Blockly.Msg.image_process_rgb_g = "Green";
Blockly.Msg.image_process_rgb_b = "Blue";
Blockly.Msg.image_process_xy_x = "X";
Blockly.Msg.image_process_xy_y = "Y";
Blockly.Msg.image_process_wh_width = "Width";
Blockly.Msg.image_process_wh_height = "Height";
Blockly.Msg.image_process_lcd_show_text = "Display Text on LCD Screen";
Blockly.Msg.image_process_lcd_show_text_color = "Text Color:";
Blockly.Msg.image_process_lcd_show_text_bg_color = "Text Backgorund Color:";
Blockly.Msg.image_process_lcd_show_text_color_red = "Red";
Blockly.Msg.image_process_lcd_show_text_color_green = "Green";
Blockly.Msg.image_process_lcd_show_text_color_blue = "Blue";
Blockly.Msg.image_process_lcd_show_text_color_purple = "Purple";
Blockly.Msg.image_process_lcd_show_text_color_cyan = "Cyan";
Blockly.Msg.image_process_lcd_show_text_color_orange = "Orange";
Blockly.Msg.image_process_lcd_show_text_color_yellow = "Yellow";
Blockly.Msg.image_process_lcd_show_text_color_black = "Black";
Blockly.Msg.image_process_lcd_show_text_color_white = "White";
Blockly.Msg.image_process_get_statistics_to_canvas = "Get the Analyzed Result of Color Channel from Canvas:";
Blockly.Msg.image_process_get_statistics_get_analysis = "The result of analyzing color channel information";
Blockly.Msg.image_process_get_statistics_start_coord = "Set the Start Coordinate of Analyzing Region:";
Blockly.Msg.image_process_get_statistics_size = "Set the Size of Analyzing Region:";
Blockly.Msg.image_process_get_statistics_boxes = "Set the Bin Count of the Histogram Channel:";
Blockly.Msg.image_process_lab_rgb_conversion_exec = "Run Color Mode Conversion";
Blockly.Msg.image_process_lab_rgb_conversion_torgb = "LAB to RGB";
Blockly.Msg.image_process_lab_rgb_conversion_tolab = "RGB to LAB";
Blockly.Msg.image_process_lab_rgb_conversion_tuple = "Set the tuple source:";
Blockly.Msg.image_process_rgb_grayscale_conversion_exec = "Run Color Mode Conversion";
Blockly.Msg.image_process_rgb_grayscale_conversion_torgb = "Grayscale to RGB Color";
Blockly.Msg.image_process_rgb_grayscale_conversion_togray = "RGB Color to Grayscale";
Blockly.Msg.image_process_rgb_grayscale_conversion_set = "Set the tuple/value source:";
Blockly.Msg.image_lcd_set_font = "Set the font to";


/*
     _    ___    ____                               
    / \  |_ _|  / ___|__ _ _ __ ___   ___ _ __ __ _ 
   / _ \  | |  | |   / _` | '_ ` _ \ / _ \ '__/ _` |
  / ___ \ | |  | |__| (_| | | | | | |  __/ | | (_| |
 /_/   \_\___|  \____\__,_|_| |_| |_|\___|_|  \__,_|

*/


Blockly.Msg.ai_camera_camera_init = "Camera Setup";
Blockly.Msg.ai_camera_camera_set_size = "Set Image Capturing Size:";

Blockly.Msg.ai_camera_camera_fit_set = "Set the Size of Captured Image";
Blockly.Msg.ai_camera_camera_fit_to = "to";
Blockly.Msg.ai_camera_camera_fit_1 = "Fit in Screen (240*240px)";
Blockly.Msg.ai_camera_camera_fit_2 = " Fit for A.I. Model Inference (224*224px)";

Blockly.Msg.ai_camera_camera_color_mode = "Set Image Capturing Color Mode:";
Blockly.Msg.ai_camera_camera_color_mode_rgb = "Colorful";
Blockly.Msg.ai_camera_camera_color_mode_bw = "Black & White";
Blockly.Msg.ai_camera_windowing_resize = "Set Captured Image to a Windowing Size";
Blockly.Msg.ai_camera_windowing_w = "Width:";
Blockly.Msg.ai_camera_windowing_h = "Height:";
Blockly.Msg.ai_camera_windowing_unit = " (in px)";
Blockly.Msg.ai_camera_snapshot = "Get the Image Captured from Camera";
Blockly.Msg.ai_camera_enable = "Enable";
Blockly.Msg.ai_camera_disable = "Disable";
Blockly.Msg.ai_camera_set_vflip = "Set Camera Source Image Vertically Flipped";
Blockly.Msg.ai_camera_set_hmirror = "Set Camera Source Image Horizontally Mirrored";
Blockly.Msg.ai_camera_set_auto_whitebal = "Set Camera Source Image Auto White Balanced";
Blockly.Msg.ai_camera_set_auto_gain = "Set Camera Source Image Auto Gained";
Blockly.Msg.ai_camera_set_auto_exposure = "Set Camera Source Image Auto Exposured";
Blockly.Msg.ai_camera_set_contrast_to_value = "Set Camera Source Image's Contrast to:";
Blockly.Msg.ai_camera_set_brightness_to_value = "Set Camera Source Image's Brightness to:";
Blockly.Msg.ai_camera_set_saturation_value = "Set Camera Source Image's Saturation to:";
Blockly.Msg.ai_camera_set_range = " (value from -3 to 3))";

Blockly.Msg.ai_camera_set_lens_corr = "Set Lens Correction from";

Blockly.Msg.ai_camera_bcs_set_text = "Set Camera Source Image's ";
Blockly.Msg.ai_camera_bcs_contrast = "Contrast";
Blockly.Msg.ai_camera_bcs_brightness = "Brightness";
Blockly.Msg.ai_camera_bcs_saturation = "Saturation";
Blockly.Msg.ai_camera_bcs_as = "to:";
Blockly.Msg.ai_camera_bcs_set_text_2 = "Set Camera Source Image ";
Blockly.Msg.ai_camera_bcs_vflip = "Vertically Flipped";
Blockly.Msg.ai_camera_bcs_hmirror = "Horizontally Mirrored";
Blockly.Msg.ai_camera_bcs_wb = "Auto White Balance Mode";
Blockly.Msg.ai_camera_bcs_g = "Auto Gain Mode";
Blockly.Msg.ai_camera_bcs_e = "Auto Exposure Mode";
Blockly.Msg.ai_camera_bcs_as_2 = "to ";
Blockly.Msg.ai_camera_bcs_status = "d";

/*
     _    ___  __     ___     _             
    / \  |_ _| \ \   / (_)___(_) ___  _ __  
   / _ \  | |   \ \ / /| / __| |/ _ \| '_ \ 
  / ___ \ | |    \ V / | \__ \ | (_) | | | |
 /_/   \_\___|    \_/  |_|___/_|\___/|_| |_|
                                            
*/


Blockly.Msg.ai_vision_get_canvas = "From Canvas";
Blockly.Msg.ai_vision_from_canvas = "From Canvas";
Blockly.Msg.ai_vision_from = "From";

Blockly.Msg.ai_vision_color_analyze_get_result = "Get the Color Analyze Result from Selected Region";
Blockly.Msg.ai_vision_color_analyze_start_coord = "Set the start coordinate of the analyze region:";
Blockly.Msg.ai_vision_color_analyze_size = "Set the size of the analyze region:";
Blockly.Msg.ai_vision_find_blobs_color_region = "Find Desginated Color Range";
Blockly.Msg.ai_vision_find_lines_color_region = "Looks for the specified color line";
Blockly.Msg.ai_vision_find_lines_color_region_result = "Gets the result of finding a line";
Blockly.Msg.ai_vision_find_blobs_color_threshold = "Set the color threshold for tracking:";
Blockly.Msg.ai_vision_find_blobs_start_coord = "Set the start coordinate of the analyze region:";
Blockly.Msg.ai_vision_find_blobs_size = "Set the size of the analyze region:";
Blockly.Msg.ai_vision_find_blobs_region_threshold = "Set the threshold for bounding box region:";
Blockly.Msg.ai_vision_find_blobs_pixel_threshold = "Set pixel threshold:";
Blockly.Msg.ai_vision_find_blobs_filtered_region = "Merge all unfiltered color blobs";
Blockly.Msg.ai_vision_get_blobs_result = "Get the Color Tracking Result's";
Blockly.Msg.ai_vision_detection_box_x = "X-axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_vision_detection_box_y = "Y axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_vision_detection_box_width = "X-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_vision_detection_box_height = "Y-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_vision_detection_box_pixels = "Total Pixel Counts from a part of the Color blob";
Blockly.Msg.ai_vision_detection_box_cx = "X Coordinate of the Center Position of the Bounding Box";
Blockly.Msg.ai_vision_detection_box_cy = "Y Coordinate of the Center Position of the Bounding Box";
Blockly.Msg.ai_vision_detection_box_degree = "Rotation Degree";
Blockly.Msg.ai_vision_detection_box_total = "Total Counts";
Blockly.Msg.ai_vision_find_blobs_margin = "Margin";
Blockly.Msg.ai_vision_detection_color_threshold_set = "Get Default Color of";
Blockly.Msg.ai_vision_detection_color_threshold_set_black = "Black";
Blockly.Msg.ai_vision_detection_color_threshold_set_white = "White";
Blockly.Msg.ai_vision_detection_color_threshold_set_red = "Light Red";
Blockly.Msg.ai_vision_detection_color_threshold_set_green = "General Green";
Blockly.Msg.ai_vision_detection_color_threshold_set_blue = "Light Blue";
Blockly.Msg.ai_vision_detection_color_threshold_set_orange = "Orange";


Blockly.Msg.ai_vision_qrcode_detected_result = "Get QR Code Detected Result";
Blockly.Msg.ai_vision_apriltag_detected_result = "Get AprilTag Detected Result";
Blockly.Msg.ai_vision_datamatrices_detected_result = "Get Data Matrices Detected Result";
Blockly.Msg.ai_vision_barcode_detected_result = "Get Barcode Detected Result";

Blockly.Msg.ai_vision_qrcode_get_result = "Get the detected QR Code's ";
Blockly.Msg.ai_vision_apriltag_get_result = "Get the detected AprilTag's ";
Blockly.Msg.ai_vision_data_matrices_get_result = "Get the detected Data Matrices' ";
Blockly.Msg.ai_vision_barcode_matrices_get_result = "Get the detected Barcode's ";

Blockly.Msg.ai_vision_pattern_detection_content = "Decoded Text";
Blockly.Msg.ai_vision_pattern_detection_type = "Data Type";
Blockly.Msg.ai_vision_pattern_detection_x = "X-axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_vision_pattern_detection_y = "Y axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_vision_pattern_detection_w = "X-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_vision_pattern_detection_h = "Y-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_vision_pattern_distance = "Distance";
Blockly.Msg.ai_vision_pattern_detection_type_id = "Numeric ID";
Blockly.Msg.ai_vision_pattern_detection_type_family = "Numeric Family";
Blockly.Msg.ai_vision_pattern_detection_rows = "Row Counts";
Blockly.Msg.ai_vision_pattern_detection_cols = "Column Counts";
Blockly.Msg.ai_vision_pattern_detection_can_tolerate_count = "Characters could fit in this data matrix";
Blockly.Msg.ai_vision_pattern_detection_can_not_tolerate_count = "Unused characters are in this data matrix";

Blockly.Msg.ai_vision_find_circle = "Find Circle";
Blockly.Msg.ai_vision_find_circle_start_coord = "Set start coordinate of the analyzing region:";
Blockly.Msg.ai_vision_find_circle_region_size = "Set the size of the analyzing region:";
Blockly.Msg.ai_vision_find_circle_hoffman_threshold = "Set the threshold of detected circle:";
Blockly.Msg.ai_vision_find_circle_merge_x = "Set the X margin of the detected circle:";
Blockly.Msg.ai_vision_find_circle_merge_y = "Set the Y margin of the detected circle:";
Blockly.Msg.ai_vision_find_circle_merge_r = "Set the T margin of the detected circle:";
Blockly.Msg.ai_vision_find_circle_min_radius = "Set the minimum radius to detect the Circle:";
Blockly.Msg.ai_vision_find_circle_max_radius = "Set the maximum radius to detect the Circle:";
Blockly.Msg.ai_vision_find_circle_step_radius = "Set step the radius detection by:";
Blockly.Msg.ai_vision_find_circle_detected_result = "Get the detected Circle's ";
Blockly.Msg.ai_vision_find_circle_detected_x = "X Coordinate of the Detected Circle";
Blockly.Msg.ai_vision_find_circle_detected_y = "Y Coordinate of the Detected Circle";
Blockly.Msg.ai_vision_find_circle_detected_radius = "Radius of the Detected Circle";


Blockly.Msg.ai_vision_find_line = "Find Line";
Blockly.Msg.ai_vision_find_line_start_coord = "Set start coordinate of the analyzing region:";
Blockly.Msg.ai_vision_find_line_size = "Set the size of the analyzing region:";
Blockly.Msg.ai_vision_find_line_hoffman_threshold = "Set the threshold of detected line:";
Blockly.Msg.ai_vision_find_line_merge_theta = "Set merging of detected lines (theta):";
Blockly.Msg.ai_vision_find_line_merge_rho = "Set merging of detected lines (rho):";
Blockly.Msg.ai_vision_find_line_detected_result = "Get the detected Line's ";
Blockly.Msg.ai_vision_find_line_detected_start_x = "X Coordinate of the Start Position of the Detected Line";
Blockly.Msg.ai_vision_find_line_detected_start_y = "Y Coordinate of the Start Position of the Detected Line";
Blockly.Msg.ai_vision_find_line_detected_end_x = "X Coordinate of the End Position of the Detected Line";
Blockly.Msg.ai_vision_find_line_detected_end_y = "Y Coordinate of the End Position of the Detected Line";
Blockly.Msg.ai_vision_find_line_detected_length = "Length of the detected Line";
Blockly.Msg.ai_vision_find_line_detected_angle = "Rotation Degree of the detected Line";

Blockly.Msg.ai_vision_find_rect = "Find Rectangle";
Blockly.Msg.ai_vision_find_rect_start_coord = "Set start coordinate of the analyzing region:";
Blockly.Msg.ai_vision_find_rect_region_size = "Set the size of the analyzing region:";
Blockly.Msg.ai_vision_find_rect_bounding_threshold = "Set the threshold value of the rectangle's border:";
Blockly.Msg.ai_vision_find_rect_detected_result = "Get the detected Rectangle's ";
Blockly.Msg.ai_vision_find_rect_detected_tuple = "Rectangle tuple (x, y, width, height) of detected Rectangle";
Blockly.Msg.ai_vision_find_rect_detected_corners = "X & Y Coordinate for Each Corner of the Rectangle";
Blockly.Msg.ai_vision_find_rect_detected_x = "X coordinate of detected Rectangle";
Blockly.Msg.ai_vision_find_rect_detected_y = "Y coordinate of detected Rectangle";
Blockly.Msg.ai_vision_find_rect_detected_w = "Width of detected Rectangle";
Blockly.Msg.ai_vision_find_rect_detected_h = "Height of detected Rectangle";

Blockly.Msg.ai_vision_get_histogram_get = "Get Canvas";
Blockly.Msg.ai_vision_get_histogram_compute = "Compute the Normalized Histogram";
Blockly.Msg.ai_vision_get_histogram_region = "Set Color Tracking Region:";
Blockly.Msg.ai_vision_get_histogram_region_xy = "Region Coordinate:";
Blockly.Msg.ai_vision_get_histogram_region_wh = "Region Size:";
Blockly.Msg.ai_vision_get_histogram_details_1 = "From Histogram";
Blockly.Msg.ai_vision_get_histogram_details_get = "Get Computed CDF of the histogram channels (%)";

Blockly.Msg.ai_vision_get_histogram_percentile_1 = "From Percentile";
Blockly.Msg.ai_vision_get_histogram_percentile_2 = "Get";
Blockly.Msg.ai_vision_get_histogram_percentile_3 = "The grayscale percentile value";
Blockly.Msg.ai_vision_get_histogram_percentile_4 = "The RGB565 LAB L channel percentile value";
Blockly.Msg.ai_vision_get_histogram_percentile_5 = "The RGB565 LAB A channel percentile value";
Blockly.Msg.ai_vision_get_histogram_percentile_6 = "The RGB565 LAB B channel percentile value";


Blockly.Msg.ai_vision_canvas_area_tuple = "Create Area Tuple";
Blockly.Msg.ai_vision_canvas_area_tuple_xy = "Set Starting Coordinate:";
Blockly.Msg.ai_vision_canvas_area_tuple_wh = "Set Size:";
Blockly.Msg.ai_vision_lane_tracking_setup = "Lane  Detection Setup";
Blockly.Msg.ai_vision_lane_tracking_setup_threshold = "Set the color to track";
Blockly.Msg.ai_vision_lane_tracking_setup_l = "Set Left Detection Area:";
Blockly.Msg.ai_vision_lane_tracking_setup_r = "Set Right Detection Area:";
Blockly.Msg.ai_vision_lane_tracking_setup_axis = "Set the Position of Central axis:";
Blockly.Msg.ai_vision_lane_tracking_run = "Run Lane Detection Process";
Blockly.Msg.ai_vision_lane_tracking_run_get = "From Lane Detection Result Get ";
Blockly.Msg.ai_vision_lane_tracking_run_ld = "Left Area Detection";
Blockly.Msg.ai_vision_lane_tracking_run_lv = "Left Area Offset Value";
Blockly.Msg.ai_vision_lane_tracking_run_rd = "Right Area Detection";
Blockly.Msg.ai_vision_lane_tracking_run_rv = "Right Area Offset Value";



/*
     _    ___   __  __ _                      _                      
    / \  |_ _| |  \/  (_) ___ _ __ ___  _ __ | |__   ___  _ __   ___ 
   / _ \  | |  | |\/| | |/ __| '__/ _ \| '_ \| '_ \ / _ \| '_ \ / _ \
  / ___ \ | |  | |  | | | (__| | | (_) | |_) | | | | (_) | | | |  __/
 /_/   \_\___| |_|  |_|_|\___|_|  \___/| .__/|_| |_|\___/|_| |_|\___|
                                       |_|                           
 */


Blockly.Msg.ai_microphone_init = "Microphone Setup";
Blockly.Msg.ai_microphone_start_spectrum_analyze = "Start Reading Spectrum Analyze Result";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result = "Get the Spectrum Analyzing Result: ";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_1 = "Low Pitch 1";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_2 = "Low Pitch 2";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_3 = "Middle-low Pitch 1";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_4 = "Middle-low Pitch 2";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_5 = "Middle-high Pitch 1";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_6 = "Middle-high Pitch 2";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_7 = "High Pitch 1";
Blockly.Msg.ai_microphone_get_spectrum_analyze_result_8 = "High Pitch 2";
Blockly.Msg.ai_mphone_Record_audio_init = "Microphone recording audio initialization";
Blockly.Msg.ai_mphone_Record_audio_start = "Start Audio Record";
Blockly.Msg.ai_mphone_Record_audio_start_path = "Set audio file saved path:";
Blockly.Msg.ai_mphone_Record_audio_start_time = "Set recording time(s):";
Blockly.Msg.ai_audio_stop_recording = "Stop recording audio";

/*
     _    ___      _             _ _       
    / \  |_ _|    / \  _   _  __| (_) ___  
   / _ \  | |    / _ \| | | |/ _` | |/ _ \ 
  / ___ \ | |   / ___ \ |_| | (_| | | (_) |
 /_/   \_\___| /_/   \_\__,_|\__,_|_|\___/
*/


Blockly.Msg.ai_audio_play_music_file = "Play Audio Files(Single tune circulation)";
Blockly.Msg.ai_audio_play_music_file_list_loop = "Play Audio Files(Sequential play)";
Blockly.Msg.ai_audio_play_music_file_list_random = "Play Audio Files(Random play)";
Blockly.Msg.ai_audio_play_music_file_set_vol = "Set Volume:";
Blockly.Msg.ai_audio_play_music_file_set_file_path = "To load the music file, go to:";
Blockly.Msg.ai_audio_play_music_file_set_files_list = "Audio file list:";
Blockly.Msg.ai_audio_play_music_file_set_first_index = "Starting point:";
Blockly.Msg.ai_audio_files_list_set_file_path = "Current path:";
Blockly.Msg.ai_audio_get_play_status = "Get the play state of playing file";
Blockly.Msg.ai_audio_end_play = "End audio playing";
Blockly.Msg.ai_audio_start_play = "audio playing";
Blockly.Msg.ai_audio_init = "Speaker Setup";
Blockly.Msg.ai_audio_set_music_vol = "Set Playing Volume:";
Blockly.Msg.ai_audio_files_list = "Get a list of audio files";

Blockly.Msg.ai_speech_recognition_setup = "Speech Recognition Setup";
Blockly.Msg.ai_speech_recognition_setup_set_sensi = "Set Background Noise Sensitivity:";
Blockly.Msg.ai_speech_recognition_setup_set_sensi_normal = "Normal";
Blockly.Msg.ai_speech_recognition_setup_set_sensi_high = "High";
Blockly.Msg.ai_speech_recognition_setup_set_sensi_ehigh = "Extra High";
Blockly.Msg.ai_speech_recognition_start_recording = "Speech Recognition: Start Recording Voice Samples";
Blockly.Msg.ai_speech_recognition_start_recording_clip_text = "Set the total number of voice clip(s):";
Blockly.Msg.ai_speech_recognition_start_recording_clip_note = "(No more than 6)";
Blockly.Msg.ai_speech_recognition_start_recording_take_text = "Set the total count of sample(s) for each clip:";
Blockly.Msg.ai_speech_recognition_start_recording_take_note = "(No more than 4)";
Blockly.Msg.ai_speech_recognition_start_recognizing = "Speech Recognition: Start Recognition";
Blockly.Msg.ai_speech_recognition_any_result_text = "When Speech Recognition Has Any Result";
Blockly.Msg.ai_speech_recognition_any_result_text_do = "Do";
Blockly.Msg.ai_speech_recognition_get_result = "Speech Recognition Result is Clip #";
Blockly.Msg.ai_speech_recognition_get_result_after = "code snippet";
Blockly.Msg.ai_speech_recognition_phonetic_to_pinyin_setup = "Phonetic to Pinyin initialization";
Blockly.Msg.ai_speech_recognition_setup_pinyin = "Set pinyin";
Blockly.Msg.ai_speech_recognition_phonetic_to_pinyin_get_result = "Get the result of speech to pinyin";
Blockly.Msg.ai_speech_recognition_phonetic_to_pinyin_set_param = "Set phonetic recognition parameters";
Blockly.Msg.ai_speech_recognition_phonetic_to_pinyin_set_param_1 = "Set priority";
Blockly.Msg.speech_recognition_phonetic_to_pinyin_start_recognition = "Speech Recognition: Start Phonetic Recognition";
Blockly.Msg.speech_recognition_phonetic_to_pinyin_stop_recognition = "Speech Recognition: End Phonetic Recognition";
Blockly.Msg.speech_recognition_phonetic_to_pinyin_pause_recognition = "Clear phonetic pinyin recognition";
Blockly.Msg.speech_recognition_number_of_recordings = "Number of clips recorded ";
Blockly.Msg.speech_recognition_In_recording = "on the record ";
Blockly.Msg.speech_recognition_Recorded_successfully = "Successfully recorded segment ";
Blockly.Msg.speech_recognition_Start_speech_recognition = "Record the speech clip and identify the display in";
Blockly.Msg.speech_recognition_Start_speech_recognition_title = "Record the speech snippet and identify the display";
Blockly.Msg.speech_recognition_Speech_recognition_result = "Speech Recognition Result ";
Blockly.Msg.speech_recognition_Clean_up_the_last_study_result = "Clean up the last study result";
Blockly.Msg.speech_recognition_Recognition_success = "Recognition success";
Blockly.Msg.speech_recognition_Recognition_fail = "Recognition failure";

/*
     _    ___  __     ___     _            
    / \  |_ _| \ \   / (_) __| | ___  ___  
   / _ \  | |   \ \ / /| |/ _` |/ _ \/ _ \ 
  / ___ \ | |    \ V / | | (_| |  __/ (_) |
 /_/   \_\___|    \_/  |_|\__,_|\___|\___/ 
*/


Blockly.Msg.ai_video_start_recording = "Start Video Record";
Blockly.Msg.ai_video_start_recording_file_path = "Set video file saved path:";
Blockly.Msg.ai_video_start_recording_width = "Set Video Width (in px):";
Blockly.Msg.ai_video_start_recording_height = "Set Video Height (in px):";
Blockly.Msg.ai_video_to_canvas = "Start Recording on Canvas";
Blockly.Msg.ai_video_record = "recording";
Blockly.Msg.ai_video_stop_recording = "Stop Video Recording";
Blockly.Msg.ai_video_play_video = "Play Video File";
Blockly.Msg.ai_video_play_video_2 = "Note: Only Support 320*240 Resolution";
Blockly.Msg.ai_video_play_video_file_path = "Load Video file from path:";
Blockly.Msg.ai_video_stop_video_playing = "Stop Playing Video";
Blockly.Msg.ai_video_get_video_playing_status = "Get Current Playing Status";
Blockly.Msg.ai_video_recording_and_save = "Record video file and save ";
Blockly.Msg.ai_video_set_play = "Video file playing";
Blockly.Msg.ai_video_set_play_stats = "Video Properties";
Blockly.Msg.ai_video_set_play_init = "Video initialization";

/*
     _    ___   __  __           _      _     
    / \  |_ _| |  \/  | ___   __| | ___| |___ 
   / _ \  | |  | |\/| |/ _ \ / _` |/ _ \ / __|
  / ___ \ | |  | |  | | (_) | (_| |  __/ \__ \
 /_/   \_\___| |_|  |_|\___/ \__,_|\___|_|___/
*/


Blockly.Msg.ai_models_from = "From";

Blockly.Msg.ai_models_init_title = "Initialize Preset A.I. Model:";
Blockly.Msg.ai_model_allinit_language = "Set language as:";
Blockly.Msg.ai_models_load_title = "Load Preset A.I. Model:";
Blockly.Msg.ai_models_init_hand_written_model = "Handwritten Digit Recognition";
Blockly.Msg.ai_models_init_object_model = "Object Detection Model";
Blockly.Msg.ai_models_init_guesswork_model = "Guesswork recognition model";
Blockly.Msg.ai_models_guesswork_model_if = "Test with guessing results";
Blockly.Msg.ai_models_guesswork_model_get = "Obtain the results of the detected fist guessing";
Blockly.Msg.ai_model_guesswork_look_attribute = "Guessing hand gesture attribute";
Blockly.Msg.ai_models_init_object_model_title = "Object Detection Model(aeroplane,bicycle,bird,boat,bottle,bus,car,cat,chair,cow,diningtable,dog,horse,motorbike,person,pottedplant,sheep,sofa,train,tvmonitor)";
Blockly.Msg.ai_models_init_face_model = "Face Detection Model";
Blockly.Msg.ai_camera_camera_fit_set1 = "Set Captured Image:";
Blockly.Msg.ai_models_init_source = "Recognize from:";
Blockly.Msg.ai_models_init_source_written = "Recognize Hand-written from:";
Blockly.Msg.ai_models_hand_written_model_result = "Get the Hand-written Digit recognition result";
Blockly.Msg.ai_models_hand_written_model_number = "Get the number recognized (from 0 to 9)";
Blockly.Msg.ai_models_hand_written_model_confidence = "Get the confidence rate of the number recognized (%)";
Blockly.Msg.ai_model_digital = "Tested Digital attribute";
Blockly.Msg.ai_model_digital_attribute = "The number is detected";
Blockly.Msg.ai_models_object_model_if = "Recognized Any tested Object";
Blockly.Msg.ai_models_object_model_get = "Get the recognized tested Object's";
Blockly.Msg.ai_model_look_attribute = "Tested Objects attribute";
Blockly.Msg.ai_models_object_model_name = "Name";
Blockly.Msg.ai_models_object_model_x = "X-axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_models_object_model_y = "Y axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_models_object_model_w = "X-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_models_object_model_h = "Y-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_models_object_model_count = "Total Number";
Blockly.Msg.ai_models_object_model_index = "Index";
Blockly.Msg.ai_models_object_model_confidence = "Confidence Rate";
Blockly.Msg.ai_models_face_model_if_new = "Face recognized";
Blockly.Msg.ai_model_face_attribute_new = "Face recognition properties";
Blockly.Msg.ai_models_face_model_if = "Recognized Any Human Face";
Blockly.Msg.ai_model_face_attribute = "Face attribute";
Blockly.Msg.ai_models_face_model_get = "Get the recognized Humand Face";
Blockly.Msg.ai_models_face_model_x = "X-axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_models_face_model_y = "Y axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_models_face_model_w = "X-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_models_face_model_h = "Y-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_models_face_model_ws = "Width of the bounding box";
Blockly.Msg.ai_models_face_model_hs = "Height of the bounding box";
Blockly.Msg.ai_models_face_model_rect = "the bounding box";
Blockly.Msg.ai_models_face_model_count = "Total Number";
Blockly.Msg.ai_models_face_model_index = "Index";
Blockly.Msg.ai_models_face_model_confidence = "Confidence Rate";
Blockly.Msg.ai_models_face_model_confidence_1 = "Confidence (face detection)";
Blockly.Msg.ai_model_human_attribute = "Human Body Attribute ";
Blockly.Msg.ai_models_human_model_if = "Human body detected ";
Blockly.Msg.ai_models_human_model_get = "Obtain detected human body ";
Blockly.Msg.ai_models_init_humane_model = "human body detection model ";
Blockly.Msg.ai_model_customized_init_setup_definition = "Setup for Loading Customized A.I. Model";
Blockly.Msg.ai_models_customized_init_setup_title = "Initialize A.I. Model";
Blockly.Msg.ai_model_customized_load_setup_title = "Load Customized A.I. Model";
Blockly.Msg.ai_models_customized_init_setup_path = "Load model file from path";
Blockly.Msg.ai_models_customized_init_setup_source = "Recognize from:";
Blockly.Msg.v831_transmission_init_setup_source = "Set the image source to be transferred to:";
Blockly.Msg.v831_transmission_setup_show = "The captured camera image is transferred to the computer and displayed";
Blockly.Msg.v831_internet_transmission_setup_show = "Display the captured camera images on the web";
Blockly.Msg.ai_models_init_card_model = "License plate recognition model";
Blockly.Msg.ai_models_init_card_result = "License plate result";
Blockly.Msg.ai_models_card_if_true = "License plate detected";
Blockly.Msg.ai_models_card_attribute = "Detected license plate attribute";
Blockly.Msg.ai_models_card_model_get = "Get the detection of the license plate";

Blockly.Msg.ai_models_customized_init_type_set = "Set Recognition Mode:";
Blockly.Msg.ai_models_customized_init_type_set_fast = "Single Face (Fast)";
Blockly.Msg.ai_models_customized_init_type_set_slow = "Multiple Faces (Slow)";

Blockly.Msg.ai_models_customized_init_setup_name = "Define class name by list:";
Blockly.Msg.ai_models_customized_if_got = "Recognized any object from customized model";
Blockly.Msg.ai_model_customized_attribute = "Custom model object attribute";
Blockly.Msg.ai_models_customized_get_result_any = "Get the recognized Object's";
Blockly.Msg.ai_models_customized_get_result_name = "Name";
Blockly.Msg.ai_models_customized_get_result_x = "X-axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_models_customized_get_result_y = "Y axis coordinates of the starting point of the detection box";
Blockly.Msg.ai_models_customized_get_result_w = "X-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_models_customized_get_result_h = "Y-axis coordinates of terminal point of detection frame";
Blockly.Msg.ai_models_customized_get_result_count = "Total Number";
Blockly.Msg.ai_models_customized_get_result_index = "Index";
Blockly.Msg.ai_models_customized_get_result_confidence = "Confidence Rate";

Blockly.Msg.ai_model_face_setup = "Customized Face Recognition";
Blockly.Msg.ai_model_face = "Initializing face recognition model";
Blockly.Msg.ai_face_detection_model = "Initialize face detection model";
Blockly.Msg.ai_face_point_detection_model = "Initialization of face 5-point key point detection model";
Blockly.Msg.ai_face_Vitter_eigenvalue_model = "Initialization of face 196 Vitter eigenvalue model";
Blockly.Msg.ai_model_Calculation_of_196_eigenvalues = "Calculate 196 dimension eigenvalues of running face feature model";

Blockly.Msg.ai_model_face_start_recognition = "Loading face detection model, ";
Blockly.Msg.ai_model_face_model_load_finish = "Face detection model loading completed";
Blockly.Msg.ai_model_face_load_point_detection_model = "Loading face 5-point key point detection model, ";
Blockly.Msg.ai_model_face_load_point_detection_model_1 = "Get face image and save it to";
Blockly.Msg.ai_model_face_load_point_detection_model_2 = "Set face detection box to";
Blockly.Msg.ai_model_face_gather = "Gather new face data and save face data";
Blockly.Msg.ai_model_face_gather_1 = "Save the face data and save the data in the file, the path is:";
Blockly.Msg.ai_model_face_data_load = "Load saved face data";
Blockly.Msg.ai_model_face_data_load_1 = "Set path to /sd/user to load face data fileName";
Blockly.Msg.ai_model_face_model_list = "Face detection attribute";
Blockly.Msg.ai_model_face_gather_num_judge = "Completed the face acquisition";
Blockly.Msg.ai_model_face_recognition = "Gather or load face data and carry out face recognition";
Blockly.Msg.ai_model_face_recognition_get_result = "Face recognition gets arbitrary results";
Blockly.Msg.ai_model_show_face = "Image processing and display";
Blockly.Msg.v831_face_recognition_load = "Load face recognition model, ";
Blockly.Msg.v831_face_recognition_load_title = "Load the face model and set the image source to be detected ";
Blockly.Msg.v831_setting_face_data_save = "Sets face data to save: ";
Blockly.Msg.face_recognition_map_face_canvas = "On the canvas";
Blockly.Msg.face_recognition_map_face_show = "Display control";
Blockly.Msg.face_recognition_map_face_key_point = "Face key points";
Blockly.Msg.v831_setting_face_data_save_title = "Set face data to save ";
Blockly.Msg.v831_setting_face_data_remove = "Delete last saved face data";
Blockly.Msg.v831_setting_face_data_remove_title = "Delete last saved face data ";
Blockly.Msg.v831_face_recognition_result = "Image source recognition result: ";
Blockly.Msg.v831_face_recognition_result_title = "Image source recognition Result ";
Blockly.Msg.v831_model_face_name = "Name of face";
Blockly.Msg.v831_models_face_model_confidence = "Confidence (face recognition)";

Blockly.Msg.ai_model_class_setup = "Customized Object Recognition";
Blockly.Msg.ai_class_model = "Initialize custom object feature extraction model";
Blockly.Msg.ai_class_model_cluster = "Initialize custom object clustering parameters";
Blockly.Msg.ai_model_class_start_load = "and process the image";
Blockly.Msg.ai_model_class_gather = "Start gathering object";
Blockly.Msg.ai_model_class_data_load = "Loading object data";
Blockly.Msg.ai_model_class_data_load_1 = "Set path to /sd/user to load object data fileName";
Blockly.Msg.ai_model_class_gather_load_finish = "Collect or load object data";
Blockly.Msg.ai_model_class_cluster_train = "Start extract object features, and then cluster training";
Blockly.Msg.ai_model_class_cluster_train_1 = "Set the fileName for saving object data to /sd/user";
Blockly.Msg.ai_model_class_recognition = "Start object recognition";

Blockly.Msg.ai_model_face_name = "Set the name of the model recognition object:";


Blockly.Msg.ai_model_class = "Custom Initializing class recognition model";

Blockly.Msg.ai_model_class_name = "Set the name of the model recognition object:";


Blockly.Msg.ai_model_getface = "Custom Recognized face from customized model";
Blockly.Msg.ai_model_getclass = "Recognized object from customized model";
Blockly.Msg.face_information = "Face information";




Blockly.Msg.ai_models_object_model_x_center = "X Coordinate of the center point";
Blockly.Msg.ai_models_object_model_y_center = "Y Coordinate of the center point";
Blockly.Msg.ai_models_face_model_x_center = "X Coordinate of the center point";
Blockly.Msg.ai_models_face_model_y_center = "Y Coordinate of the center point";
Blockly.Msg.ai_models_customized_get_result_x_center = "X Coordinate of the center point";
Blockly.Msg.ai_models_customized_get_result_y_center = "Y Coordinate of the center point";

Blockly.Msg.ai_models_edge_detection_model = "Edge Detection Model";
Blockly.Msg.ai_models_load_edge_detection_model = "Load Edge Detection Model";
Blockly.Msg.ai_models_get_edge_detection_result = "Get the edge detection model results";

Blockly.Msg.ai_model_self_learning_init = "Initializing self-learning classification model";
Blockly.Msg.ai_model_self_learning_load = "Load self-learning classification model";
Blockly.Msg.ai_model_self_learning_recognize_load = "Load the self-learning classification recognition model";
Blockly.Msg.ai_model_self_learning_add_class_category = "Add Category category";
Blockly.Msg.ai_model_self_learning_make_data_set = "Data set for making model training";
Blockly.Msg.ai_model_self_learning_picture = "picture self-learning";
Blockly.Msg.ai_model_self_learning_save_modal = "Save model";
Blockly.Msg.ai_model_self_learning_class_verification = "Self-learning Classification Model Verification";
Blockly.Msg.ai_model_self_learning_result = 'Self-learning outcome';
Blockly.Msg.ai_model_self_learning_result_name = "Name";
/*
     _    ___   ____            _                 
    / \  |_ _| / ___| _   _ ___| |_ ___ _ __ ___  
   / _ \  | |  \___ \| | | / __| __/ _ \ '_ ` _ \ 
  / ___ \ | |   ___) | |_| \__ \ ||  __/ | | | | |
 /_/   \_\___| |____/ \__, |___/\__\___|_| |_| |_|
                      |___/                       
*/


Blockly.Msg.ai_system_restart = "Restart Module";
Blockly.Msg.ai_system_off = "To turn it off";
Blockly.Msg.ai_system_refresh = "Refreshing a file directory";
Blockly.Msg.ai_system_enable_gc = "Enable Memory Optimization";
Blockly.Msg.ai_system_run_python_code = "Run Python Code";
Blockly.Msg.ai_system_run_python_code_file_path = "Load file from path:";



/* 
     _    ___  __        ___ _____ _ 
    / \  |_ _| \ \      / (_)  ___(_)
   / _ \  | |   \ \ /\ / /| | |_  | |
  / ___ \ | |    \ V  V / | |  _| | |
 /_/   \_\___|    \_/\_/  |_|_|   |_|
                                     
*/

Blockly.Msg.ai_wifi_set_wifi = "Set Wi-Fi";
Blockly.Msg.ai_wifi_enabled = "Enabled";
Blockly.Msg.ai_wifi_disabled = "Disabled";
Blockly.Msg.ai_wifi_start_wifi_scan = "Start Wi-Fi Scan";
Blockly.Msg.ai_wifi_wifi_scan_result = "Get Wi-Fi Scan Result as List";
Blockly.Msg.ai_wifi_connect_wifi = "Connect to Wi-Fi Network";
Blockly.Msg.ai_wifi_connect_wifi_ssid = "SSID:";
Blockly.Msg.ai_wifi_connect_wifi_pass = "Password:";
Blockly.Msg.ai_wifi_get_connection_status = "Get Wi-Fi Connection Status";
Blockly.Msg.ai_wifi_get_wifi_info = "Get Wi-Fi Info:";
Blockly.Msg.ai_wifi_get_wifi_info_name = "Hotspot Name";
Blockly.Msg.ai_wifi_get_wifi_info_ip = "IP";
Blockly.Msg.ai_wifi_get_wifi_info_dns = "DNS";
Blockly.Msg.ai_wifi_get_wifi_info_mac = "MAC Address";



/*
  _   _ _ _                             _        ____                            
 | | | | | |_ _ __ __ _ ___  ___  _ __ (_) ___  / ___|  ___ _ __  ___  ___  _ __ 
 | | | | | __| '__/ _` / __|/ _ \| '_ \| |/ __| \___ \ / _ \ '_ \/ __|/ _ \| '__|
 | |_| | | |_| | | (_| \__ \ (_) | | | | | (__   ___) |  __/ | | \__ \ (_) | |   
  \___/|_|\__|_|  \__,_|___/\___/|_| |_|_|\___| |____/ \___|_| |_|___/\___/|_|   

*/


Blockly.Msg.third_party_hcsr04_iot = "On IoT Module";
Blockly.Msg.third_party_hcsr04_ai = "On A.I. Module ";
Blockly.Msg.third_party_hcsr04_setup_title = "Setup HCSR-04 Ultrasonic Sensor";
Blockly.Msg.third_party_hcsr04_trig_pin = "Set Trig Pin: GPIO #";
Blockly.Msg.third_party_hcsr04_echo_pin = ", Set Echo Pin: GPIO #";
Blockly.Msg.third_party_hcsr04_read_text = "Read Distance (Unit: CM) from Ultrasonic Sensor";
Blockly.Msg.third_party_hcsr04_read_text_after = "Distance Detection Value (Unit: centimetres)";
Blockly.Msg.Set_Auto_Wrap = "Set Auto Wrap";


/*
  ____  _     _____ 
 | __ )| |   | ____|
 |  _ \| |   |  _|  
 | |_) | |___| |___ 
 |____/|_____|_____|

*/

Blockly.Msg.esp32_ble_setup_sender_msg = "BLE (Bluetooth Low Energy)";
Blockly.Msg.esp32_ble_setup_sender = "Sender Setup";
Blockly.Msg.esp32_ble_send_data_msg = "BLE Send Data";
Blockly.Msg.esp32_ble_setup_receiver_msg = "BLE (Bluetooth Low Energy)";
Blockly.Msg.esp32_ble_setup_receiver = "Receiver Setup";
Blockly.Msg.esp32_ble_get_data_msg = "From BLE Get Data Received";
Blockly.Msg.esp32_ble_sender_connected_msg = "Sender is Connected";
Blockly.Msg.esp32_ble_receiver_connected_msg = "Receiver is Connected";
Blockly.Msg.esp32_ble_set_uuid = "Set UUID:";
Blockly.Msg.esp32_ble_set_name = "Set Device Name:";
Blockly.Msg.esp32_ble_set_name_limit = " (Must be shorter than 9 characters)";


/* additional text */

Blockly.Msg.text_additional_delimiter_string = "Split string to a list";
Blockly.Msg.text_additional_delimiter_deli = "by delimiter:";
Blockly.Msg.text_additional_delimiter_end = "Split and generate a list";


/* mlx90614 */
Blockly.Msg.MLX90614_READ_AMBIENT = "Get Current Ambient Temperature";
Blockly.Msg.MLX90614_READ_OBJECT = "Get Targeted Object's Temperature";
Blockly.Msg.MLX90614_READ_SET_TEMP = "Set Tempeature Unit:";
Blockly.Msg.MLX90614_READ_SET_TEMP_C = "Celcius";
Blockly.Msg.MLX90614_READ_SET_TEMP_F = "Fahrenheit";
Blockly.Msg.MLX90614_SETUP_TEXT_1 = "Contactless Temperature Sensor";
Blockly.Msg.MLX90614_SETUP_TEXT_2 = "MLX90614 Setup";

/* DHT11 or DHT22 */
Blockly.Msg.DHT_SETUP_TEXT_1 = "Temperature and humidity sensor";
Blockly.Msg.DHT_SETUP_TEXT_2 = "Sensor type:  ";
Blockly.Msg.DHT_SETUP_TEXT_3 = "Setup";
Blockly.Msg.DHT_SETUP_TEXT_4 = "Set sensor data receiving GPIO #:   ";

/* PM2.5 */
Blockly.Msg.PM25_SETUP_TEXT = "PM2.5 Dust sensor";

/* robot dog */
Blockly.Msg.robot_dog_movement = "Speech control robot dog";
Blockly.Msg.robot_dog_movement_action = "Set motion command";
Blockly.Msg.robot_dog_phonetic_to_pinyin_get_result = "Get the result of speech recognition";
Blockly.Msg.robot_dog_movement_action_0 = "Get down";
Blockly.Msg.robot_dog_movement_action_1 = "Stand up";
Blockly.Msg.robot_dog_movement_action_2 = "Crawl forward";
Blockly.Msg.robot_dog_movement_action_3 = "Go round";
Blockly.Msg.robot_dog_movement_action_4 = "No progress";
Blockly.Msg.robot_dog_movement_action_5 = "Squat up";
Blockly.Msg.robot_dog_movement_action_6 = "Rotate along the roll";
Blockly.Msg.robot_dog_movement_action_7 = "Rotate along the pitch";
Blockly.Msg.robot_dog_movement_action_8 = "Rotate along Yaw";
Blockly.Msg.robot_dog_movement_action_9 = "Three axis rotation";
Blockly.Msg.robot_dog_movement_action_10 = "pee";
Blockly.Msg.robot_dog_movement_action_11 = "Sit down";
Blockly.Msg.robot_dog_movement_action_12 = "Beckon";
Blockly.Msg.robot_dog_movement_action_13 = "Stretch";
Blockly.Msg.robot_dog_movement_action_14 = "Wave";
Blockly.Msg.robot_dog_movement_action_15 = "Swing left and right";
Blockly.Msg.robot_dog_movement_action_16 = "Pray for food";
Blockly.Msg.robot_dog_movement_action_17 = "Foraging";
Blockly.Msg.robot_dog_movement_action_18 = "Shake hands";
Blockly.Msg.robot_dog_movement_action_19 = "Restore the initial state";
Blockly.Msg.robot_dog_movement_action_20 = "go ahead";
Blockly.Msg.robot_dog_movement_action_21 = "Back";
Blockly.Msg.robot_dog_movement_action_22 = "Move left";
Blockly.Msg.robot_dog_movement_action_23 = "Move right";
Blockly.Msg.robot_dog_movement_action_24 = "Turn on the self-stabilization function";
Blockly.Msg.robot_dog_movement_action_25 = "Turn off the self-stabilization function";
Blockly.Msg.robot_dog_movement_action_30 = "Pay a New Year call";
Blockly.Msg.robot_dog_setup = "Robot dog initialization";
Blockly.Msg.robot_dog_execution = "Robot dog Execution";
Blockly.Msg.robot_dog_action = "instruction";
Blockly.Msg.robot_dog_servo_execution = "Set up";
Blockly.Msg.robot_dog_front_left_leg = "Forward left";
Blockly.Msg.robot_dog_back_left_leg = "Backward left";
Blockly.Msg.robot_dog_front_right_leg = "Forward right";
Blockly.Msg.robot_dog_back_right_leg = "Backward right";
Blockly.Msg.robot_dog_leg = "Legs";
Blockly.Msg.robot_dog_up = "Up (-31˚~31˚)";
Blockly.Msg.robot_dog_up_1 = "Up";
Blockly.Msg.robot_dog_middle = "Middle (-66˚~93˚)";
Blockly.Msg.robot_dog_middle_1 = "Middle";
Blockly.Msg.robot_dog_down = "Down (-65˚~73˚)";
Blockly.Msg.robot_dog_down_1 = "Down";
Blockly.Msg.robot_dog_servo_rotate = "joint servo rotates to";
Blockly.Msg.robot_dog_ag = "Degree";
Blockly.Msg.robot_dog_angle = "mm";
Blockly.Msg.robot_dog_angle_speed = "Degree/s";
Blockly.Msg.robot_dog_servo_set_speed = "Set ";
Blockly.Msg.robot_dog_servo_speed = "the servo speed";
Blockly.Msg.robot_dog_movement_speed = "the step frequency";
Blockly.Msg.robot_dog_servo_to = "to";
Blockly.Msg.robot_dog_servo_speed_1 = "Fast";
Blockly.Msg.robot_dog_servo_speed_2 = "Normal";
Blockly.Msg.robot_dog_servo_speed_3 = "Slow";
Blockly.Msg.robot_dog_servo_movement_location = "direction position to";
Blockly.Msg.robot_dog_leg_f = "Leg toe";
Blockly.Msg.robot_dog_controll_action_0 = "Close";
Blockly.Msg.robot_dog_controll_action_1 = "Open";
Blockly.Msg.robot_dog_gyroscope = "Gyroscope";
Blockly.Msg.robot_dog_open_performance_mode = "Performance mode of Robot dog";
Blockly.Msg.robot_dog_open_calibration_mode = "Robot dog calibration mode";
Blockly.Msg.robot_dog_get_power = "Get the current power of the robot dog";
Blockly.Msg.robot_dog_get_servo_angle = "joint steering gear's angle";
Blockly.Msg.robot_dog_servo_movement_distance = "Set the robot dog to execute the step length of";
Blockly.Msg.robot_dog_movement_action_26 = "Move left (0mm~18mm)";
Blockly.Msg.robot_dog_movement_action_27 = "Move right (-18mm~0mm)";
Blockly.Msg.robot_dog_movement_action_28 = "go ahead (0mm~25mm)";
Blockly.Msg.robot_dog_movement_action_29 = "Back (-25mm~0mm)";
Blockly.Msg.robot_dog_servo_movement_distance_location = "direction translation to";
Blockly.Msg.robot_dog_servo_movement_rotate = "Set the robot dog to execute";
Blockly.Msg.robot_dog_servo_movement_rotate_location = "rotation speed to";
Blockly.Msg.MOTION_ONDIRECTION_CLOCKWISE1 = "Turn left (0˚/s~150˚/s)";
Blockly.Msg.MOTION_ONDIRECTION_COUNTERCLOCKWISE1 = "Turn right (-150˚/s~0˚/s)";
Blockly.Msg.robot_dog_servo_movement_standing_still = "Set the robot dog ";
Blockly.Msg.robot_dog_servo_movement_standing_still_1 = "(10mm~35mm) to perform a standing gait at a fixed frequency";
Blockly.Msg.robot_dog_servo_movement_distance_cycle_1 = "for";
Blockly.Msg.robot_dog_servo_movement_distance_cycle_2 = "second";
Blockly.Msg.robot_dog_servo_movement_distance_still = "Set the robot dog";
Blockly.Msg.robot_dog_servo_movement_distance_still_1 = "direction translation to";
Blockly.Msg.robot_dog_servo_movement_distance_still_2 = "(-128~127) cm";
Blockly.Msg.robot_dog_servo_movement_rotate_still = "Set the robot dog around";
Blockly.Msg.robot_dog_servo_movement_rotate_still1 = "axis rotation to";
Blockly.Msg.robot_dog_servo_movement_rotate_still2 = "(-128~127)";
Blockly.Msg.robot_dog_servo_movement_distance_still_cycle = "Set the robot dog to cycle";
Blockly.Msg.robot_dog_servo_movement_distance_still_cycle_1 = "s (1.5s~8s) translation to";
Blockly.Msg.robot_dog_servo_movement_distance_still_cycle_2 = "Bi-directional translation";
Blockly.Msg.robot_dog_servo_movement_rotate_still_cycle = "s (1.5s~8s) around";
Blockly.Msg.robot_dog_servo_movement_rotate_still_cycle_1 = "axis rotation";
Blockly.Msg.robot_dog_servo_movement_distance_still_cycle_stop = "Stop the cycle translation of the robot dog towards";
Blockly.Msg.robot_dog_servo_movement_rotate_still_cycle_stop = "Stop the cycle of the robot dog around";
Blockly.Msg.robot_dog_get_rotate_angle = "axis's angle";
Blockly.Msg.robot_dog_get_rotate_angle_1 = "Get gyro";

// UAV
Blockly.Msg.uav_initialization = "Uav initialization";
Blockly.Msg.numbers_for = "Numbers for";
Blockly.Msg.uav_uav = "UAV";
Blockly.Msg.uav_height = "Height";
Blockly.Msg.uav_lock = "Lock";
Blockly.Msg.uav_unlock = "Unlock";
Blockly.Msg.uav_the_nose_direction = "The nose direction";
Blockly.Msg.uav_landing = "Landing";
Blockly.Msg.uav_brake = "Brake";
Blockly.Msg.uav_hover = "Hover";
Blockly.Msg.uav_scram = "Scram";
Blockly.Msg.uav_calibration = "Calibration";
Blockly.Msg.Take_off_altitude = "Unmanned aerial vehicle at an altitude of";
Blockly.Msg.uav_switch = "UAV，switch";
Blockly.Msg.uav_AI_switch = "UAV，Switch to the AI";
Blockly.Msg.uav_fly_mode = "Flight mode";
Blockly.Msg.uav_horizontal_velocity = "UAV，Horizontal velocity";
Blockly.Msg.uav_speed_unit = "cm/s";
Blockly.Msg.uav_vertical_speed = "UAV，Vertical speed";
Blockly.Msg.uav_go_to = "UAV，to";
Blockly.Msg.uav_patrol_flight = "Patrol flight";
Blockly.Msg.uav_fly = "Fly";
Blockly.Msg.uav_look_for_black_patches = "Cm,looking for black patches";
Blockly.Msg.uav_look_for = "Cm,Looking for";
Blockly.Msg.uav_the_label = "No tags";
Blockly.Msg.uav_look_for_color_piece = "Cm，Looking for color piece";
Blockly.Msg.uav_direct = "UAV Direct";
Blockly.Msg.uav_rotating = "UAV Rotating";
Blockly.Msg.uav_circle = "Circle";
Blockly.Msg.uav_light_color = "The lighting color is (";
Blockly.Msg.uav_off_led = "UAV Shut the lights";
Blockly.Msg.uav_detection = "UAV Detection";
Blockly.Msg.uav_black_spots = "Black spots";
Blockly.Msg.uav_black_line = "The black line";
Blockly.Msg.uav_black_label = "The label";
Blockly.Msg.uav_code = "Qr code";
Blockly.Msg.uav_bar_code = "Bar code";
Blockly.Msg.uav_electromagnet = "Electromagnet";
Blockly.Msg.uav_servo_ctrl = "The steering gear of a drone";
Blockly.Msg.uav_role_ctrl = "Drone orders";
Blockly.Msg.uav_continuous = "Continuous";
Blockly.Msg.uav_laser = "laser";
Blockly.Msg.uav_face_recognition = "Face recognition";
Blockly.Msg.uav_object_tracking = "Object tracking";
Blockly.Msg.uav_obj_recognition = "Object recognition";
Blockly.Msg.uav_patrol_tracking = "Patrol tracking";
Blockly.Msg.uav_color_recognition = "Color recognition";
Blockly.Msg.uav_label_recognition = "Label recognition";
Blockly.Msg.uav_object_classification = "Object classification";
Blockly.Msg.uav_mode = "Mode";
Blockly.Msg.uav_learing_ID = "UAV，learning-once ID";
Blockly.Msg.uav_forget_data = "Drones forget all learning data";
Blockly.Msg.uav_setup_ID = "UAV setup ID";
Blockly.Msg.uav_name_is = "Name for";
Blockly.Msg.uav_taking_pictures = "Taking pictures";
Blockly.Msg.uav_screenshots = "Screenshots";
Blockly.Msg.uav_save_SD = "Save SD";
Blockly.Msg.optical_flow_localization = "Optical flow localization";
Blockly.Msg.label_position = "Label position";
Blockly.Msg.autonomous_patrol = "Autonomous patrol";
Blockly.Msg.normally_on = "Normally on";
Blockly.Msg.breathing_lamp = "Breathing lamp";
Blockly.Msg.colour_change = "Colour change";

Blockly.Msg.uav_detection_if = "UAV Detected";
Blockly.Msg.uav_detection_color_block = "Color block";
Blockly.Msg.uav_detection_if_line = "Have Line";
Blockly.Msg.uav_get_distance_of_obstacles = "UAV";
Blockly.Msg.uav_get_distance_of_obstacles_1 = "obstacles' distance";
Blockly.Msg.uav_roll_angle = "Roll angle";
Blockly.Msg.uav_pitch_angle = "Pitch angle";
Blockly.Msg.uav_yaw_angle = "Yaw angle";
Blockly.Msg.uav_abscissa = "Abscissa";
Blockly.Msg.uav_ordinate = "Ordinate";
Blockly.Msg.uav_height = "Height";
Blockly.Msg.uav_voltage = "Voltage";
Blockly.Msg.uav_get_AI_value = "AI recognition results";
Blockly.Msg.uav_get_electronic_balance_value = "Electronic Balance Value";
Blockly.Msg.uav_get_shooting_value = "Shooting";
Blockly.Msg.uav_get_shooting_value_0 = "Serial Number";
Blockly.Msg.uav_get_shooting_value_1 = "Result";
Blockly.Msg.uav_get_msg_value = "News";
Blockly.Msg.uav_get_msg_value_0 = "content";

/* expand */
Blockly.Msg.esp32_expand_io_from_digital_pin = "Get GPIO #";
Blockly.Msg.esp32_expand_io_set_digital_pin = "Set the GPIO #";
Blockly.Msg.esp32_expand_io_set_analog_pin = "Set GPIO #";
Blockly.Msg.esp32_expand_io_set_analog_pin_digital_set_as = "PWM Output to";
Blockly.Msg.esp32_expand_io_set_analog_pin_digital_set_af = "(0-255)";


/* KUJU */
Blockly.Msg.KUJU_title = "Connect with KUJU";
Blockly.Msg.KUJU_username = "Username";
Blockly.Msg.KUJU_password = "Password";
Blockly.Msg.KUJU_controll_title = "Send data to KUJU";
Blockly.Msg.KUJU_controll_content = "Control Smart Plug";
Blockly.Msg.KUJU_controll_action_0 = "Off";
Blockly.Msg.KUJU_controll_action_1 = "On";
Blockly.Msg.KUJU_get_temperature_humidity_data_title = "Get the Temperature sensor 's";
Blockly.Msg.KUJU_get_motion_data_title = "Get the Motion sensor 's";
Blockly.Msg.basic_motion_data = "Whether to move";
Blockly.Msg.basic_illumination_intensity = "Illumination intensity";
Blockly.Msg.KUJU_get_sensor_data_title = "Get";
Blockly.Msg.basic_water_sensor = "Water Sensor";
Blockly.Msg.basic_door_sensor = "Door Sensor";

/* Wetech */
Blockly.Msg.wifiServices_WeTech_title = "Connect with WeTech";
Blockly.Msg.wifiServices_WeTech_username = "Username";
Blockly.Msg.wifiServices_WeTech_password = "Password";
Blockly.Msg.WeTech_controll_title = "Send data to WeTech";
Blockly.Msg.WeTech_controll_content = "Instructions";
Blockly.Msg.WeTech_controll_action_0 = "Off";
Blockly.Msg.WeTech_controll_action_1 = "On";
Blockly.Msg.WeTech_controll_action_2 = "Stop";
Blockly.Msg.wifiServices_WeTech_get_gateway_device_id_list_title = "get the device Id of a specific gateway id";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY4 = "device ID";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY5 = "named ";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY6 = "Controlled Three Way Lamp Surface System Id";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY7 = "Gateway Id";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY8 = "Controlled Second Way Lamp Surface System Id";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY9 = "Controlled Curtain Sensor (for projector Screen) Id";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY10 = "Controlled Air Conditioner Id";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY11 = "Controlled TV IR (for TV and Projector) Id";
Blockly.Msg.WIFIEASYMODE_WeTech_KEY12 = "Mac Address";
Blockly.Msg.WeTech_controll_air_content = "Mode";
Blockly.Msg.WeTech_controll_wind_speed_content = "Wind Speed";
Blockly.Msg.WeTech_controll_temp_content = "Temperature(16℃-30℃)";
Blockly.Msg.WeTech_controll_IR_content = "Order(0-255)";
Blockly.Msg.WeTech_controll_power_meter = "Get the value";
Blockly.Msg.WeTech_controll_power_meter_1 = "Power Meter Id";
Blockly.Msg.Wetech_controll_pm25_sensor = "PM2.5 detector";
Blockly.Msg.Wetech_controll_CO2_sensor = "CO2 detector";
Blockly.Msg.Wetech_controll_Temperature_sensor = "Temperature detector";
Blockly.Msg.Wetech_controll_Humidity_sensor = "Humidity detector";
Blockly.Msg.Wetech_controll_sensor_title = " Id";

Blockly.Msg.WeTech_controll_mode_0 = "Off";
Blockly.Msg.WeTech_controll_mode_1 = "Automatic";
Blockly.Msg.WeTech_controll_mode_2 = "Refrigeration";
Blockly.Msg.WeTech_controll_mode_3 = "Heating";
Blockly.Msg.WeTech_controll_mode_4 = "Emergency Heating";
Blockly.Msg.WeTech_controll_mode_5 = "Precooling";
Blockly.Msg.WeTech_controll_mode_6 = "Air Supply";
Blockly.Msg.WeTech_controll_mode_7 = "Arefaction";
Blockly.Msg.WeTech_controll_mode_8 = "Sleep";
Blockly.Msg.WeTech_controll_mode_9 = "Energy Conservation";
Blockly.Msg.WeTech_controll_mode_10 = "Low";
Blockly.Msg.WeTech_controll_mode_11 = "Medium";
Blockly.Msg.WeTech_controll_mode_12 = "High";
Blockly.Msg.WeTech_controll_mode_13 = "Automatic";

// tuya
Blockly.Msg.iot_service_tuya_title = "Connect with Tuya";
Blockly.Msg.iot_service_tuya_access_id = "Access ID/Client ID";
Blockly.Msg.iot_service_tuya_access_secret = "Access Secret/Client Secret";
Blockly.Msg.iot_service_tuya_setToken_text = "When gets the access token by connecting tuya";
Blockly.Msg.iot_service_tuya_getDeviceList_text = "Get device list";
Blockly.Msg.iot_service_tuya_controll_light_belt_title = "Control intelligent light belt";
Blockly.Msg.iot_service_tuya_controll_light_belt_device_id = "Device ID";
Blockly.Msg.iot_service_tuya_controll_light_belt_des = "Status";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_0 = "Off";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_1 = "On";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_2 = "Soft Light";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_3 = "Fun mode";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_4 = "Colorful mode";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_5 = "Gorgeous mode";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_6 = "Good night scene";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_7 = "Reading scene";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_8 = "Party scene";
Blockly.Msg.iot_service_tuya_controll_light_belt_status_9 = "Casual scene";
Blockly.Msg.iot_service_tuya_controll_light_belt_color_value_title = "Control the intelligent light belt";
Blockly.Msg.iot_service_tuya_controll_light_belt_color_value_title1 = "Color to";

// turtle 
Blockly.Msg.TURTLE_CREATE_NE_TURTLE = "create new turtle";
Blockly.Msg.TURTLE_MAKE_TURTLE_MOVE_FORWARD_BY = "make turtle move forward by";
Blockly.Msg.TURTLE_MAKE_TURTLE_MOVE_BACKWARD_BY = "make turtle move backward by";
Blockly.Msg.TURTLE_MAKE_TURN_LEFT_BY = "make turtle turn left by";
Blockly.Msg.TURTLE_DEGREE = "degree";
Blockly.Msg.TURTLE_MAKE_TURN_RIGHT_BY = "make turtle turn right by";
Blockly.Msg.TURTLE_MAKE_TURRLE_COLOR = "make turtle color";
Blockly.Msg.TURTLE_MAKE_TURRLE_PEN = "make turtle pen";
Blockly.Msg.TURTLE_MAKE_TURTLE_GOTO_LOCATION_X = "make turtle goto location X:";
Blockly.Msg.TURTLE_MAKE_TURTLE_SET_POSITION = "Set the position of the turtle brush to X:";
Blockly.Msg.TURTLE_MAKE_SET_HEADING = "Let the turtle spin to";
Blockly.Msg.TURTLE_RESET = "Reset the position of the brush";
Blockly.Msg.TURTLE_CLEAR = "Clear";
Blockly.Msg.TURTLE_PEN_UP = "Up";
Blockly.Msg.TURTLE_PEN_DOWN = "Down";

Blockly.Msg.SYSTEM = "Restart System";
Blockly.Msg.SYSTEM_GC = "Start memory reclaim";
Blockly.Msg.SYSTEM_RUN = "Execute Python Code:";
Blockly.Msg.SYSTEM_RUN_F = "Filename:";
Blockly.Msg.SYSTEM_CREATE = "Create Text file";
Blockly.Msg.SYSTEM_CREATE_FILE = "Create file";
Blockly.Msg.SYSTEM_CREATE_F = "Filename:";
Blockly.Msg.SYSTEM_CREATE_F_1 = "File Path:";
Blockly.Msg.SYSTEM_WRITE = "Create Text file";
Blockly.Msg.SYSTEM_OPEN_FILE = "Open file";
Blockly.Msg.SYSTEM_WRITE_FILE = "Write file";
Blockly.Msg.SYSTEM_CLOSE_FILE = "Close file";
Blockly.Msg.SYSTEM_WRITE_F = "Filename:";
Blockly.Msg.SYSTEM_WRITE_W = "Write content:";
Blockly.Msg.SYSTEM_WRITE_S = "The separator is:";
Blockly.Msg.SYSTEM_WRITE_S_N = "newline";
Blockly.Msg.SYSTEM_WRITE_S_C = "comma";
Blockly.Msg.SYSTEM_WRITE_S_S = "space";
Blockly.Msg.SYSTEM_WRITE_S_SE = "semicolon";
Blockly.Msg.SYSTEM_INPUT = "Read Text File as List";
Blockly.Msg.SYSTEM_INPUT_FILE = "Read File as List";

// v831
// 在线文本转语音
Blockly.Msg.Text_to_speech_initialization = "Online text-to-speech initialization";
Blockly.Msg.Content_of_text = "Content of text";
Blockly.Msg.text_conversion_voice = "Content of text";
Blockly.Msg.Voice_path = "Audio file saving path";
// 在线人脸识别
Blockly.Msg.online_face_result = "Number of online face detection";
Blockly.Msg.online_face_loading = "Online face detection model loading";
Blockly.Msg.online_face_init = "Initialization of online face detection";
Blockly.Msg.online_face_init_path = "Detecting picture path";
// 在线语音识别
Blockly.Msg.online_voice_result = "Online speech recognition results";
Blockly.Msg.online_voice_loading = "Load online speech recognition"
Blockly.Msg.online_voice_init = "Online speech recognition initialization"
Blockly.Msg.online_voice_init_path = "Recognizing speech paths"

// 图像处理
Blockly.Msg.read_img_path_to = "Read the picture file from";
Blockly.Msg.take_the_picture = "will picture ";

// Machine translation
Blockly.Msg.machine_translation_result = "Online machine translation result ";
Blockly.Msg.machine_translation_load = "Online machine translation load ";
Blockly.Msg.machine_translation_init = "Machine translation initialization ";
Blockly.Msg.machine_translation_to = "Translate to";

// License plate recognition
Blockly.Msg.online_card_result = "Online License plate recognition Result ";
Blockly.Msg.online_card_load = "Online License plate recognition load ";
Blockly.Msg.online_card_init = "Initializing online License Plate Recognition ";

// Object recognition
Blockly.Msg.online_object_init = "Online object recognition initialization ";
Blockly.Msg.online_object_load = "Online object recognition load ";
Blockly.Msg.online_object_result = "Online object recognition result ";

// 手写文字识别
Blockly.Msg.handwritten_text_result = "Online handwritten character recognition result ";
Blockly.Msg.handwritten_text_load = "Online handwritten text recognition load ";
Blockly.Msg.handwritten_text_init = "handwritten text recognition initialization ";
Blockly.Msg.handwritten_text_language_init = "Set identification language";
Blockly.Msg.system_voice = "Setting the system volume"

// 手势识别
Blockly.Msg.gesture_result = "Gesture recognition result ";
Blockly.Msg.gesture_load = "Gesture recognition load ";
Blockly.Msg.gesture_init = "Gesture recognition initialization ";
// 情绪识别
Blockly.Msg.emotion_result = "emotion recognition result ";
Blockly.Msg.emotion_load = "Emotional recognition load ";
Blockly.Msg.emotion_init = "Emotion recognition initialization ";
Blockly.Msg.set_dictionary = "Set dictionary";
Blockly.Msg.dictionary_contain = "Dictionary contains()age、emotion、gender、expression)";
Blockly.Msg.emotion_result_age = "Age ";
Blockly.Msg.emotion_result_emotion = "Emotion ";
Blockly.Msg.emotion_result_gender = "Gender ";
Blockly.Msg.emotion_result_expression = "Expression ";
// 公式识别
Blockly.Msg.formula_result = "Formula recognition result ";
Blockly.Msg.formula_load = "Formula recognition load ";
Blockly.Msg.formula_init = "formula recognition initialization ";
// 神經網絡
Blockly.Msg.numpy_mnist_get_result = "Get recognition results";
Blockly.Msg.numpy_mnist_loading_model = "Load saved model";
Blockly.Msg.numpy_mnist_setting_training_argument = "Set training parameters";
Blockly.Msg.numpy_mnist_input_trait_dimensionality = "Dimensions of input features:";
Blockly.Msg.numpy_mnist_setting_training_argument_number_node = "Number of nodes:";
Blockly.Msg.numpy_mnist_output_dimensionality = "Output dimensions:";
Blockly.Msg.numpy_mnist_setting_training_argument_learning_rate = "Learning rate:";
Blockly.Msg.numpy_mnist_setting_training_argument_frequency = "Training times:";
Blockly.Msg.numpy_mnist_is_training_start = "Determine whether the training module is started";
Blockly.Msg.numpy_mnist_loading_train_and_test_set = "Load training set and test set";
Blockly.Msg.numpy_mnist_train_set_url = "Training set path:";
Blockly.Msg.numpy_mnist_test_set_url = "Test Path";
Blockly.Msg.numpy_mnist_model_init = "Numpy + mnist Training model initialization";
Blockly.Msg.numpy_mnist_clear = "Clear numpy module";




export default Blockly.Msg;
