text: // This file was automatically generated.  Do not modify.
  
  'use strict';
  
  Blockly.Msg["ARD_180SERVO"] = "0~180 degree Servo (angle)";  // untranslated
  Blockly.Msg["ARD_360SERVO"] = "0~360 degree Servo (rotation)";  // untranslated
  Blockly.Msg["ARD_7SEGMENT_COMPONENT"] = "7-Segment Display";  // untranslated
  Blockly.Msg["ARD_7SEGMENT_COMPONENT_TIP"] = "7-Segment LED Display can be used to show numbers and some characters. It has 7 segments and 1 dot, requiring 8 digital pins on the Arduino to use.";  // untranslated
  Blockly.Msg["ARD_7SEGMENT_COMPONENT_WARN"] = "Pin used in segment %1 is also present in one of the other segments! Change the pin number.";  // untranslated
  Blockly.Msg["ARD_7SEGMENT_WRITE"] = "show number";  // untranslated
  Blockly.Msg["ARD_7SEGMENT_WRITESEG"] = "Set segment";  // untranslated
  Blockly.Msg["ARD_7SEGMENT_WRITESEG_TIP"] = "Set a specific segment of the 7-Segment display high";  // untranslated
  Blockly.Msg["ARD_7SEGMENT_WRITE_TIP"] = "Write a specific number to the 7-segment display. Number must be between 0 and 9, otherwise nothing is shown.";  // untranslated
  Blockly.Msg["ARD_ALLBOTSERVO_ANIMATE"] = "Move AllBot Servo ";  // untranslated
  Blockly.Msg["ARD_ALLBOTSERVO_ANIMATE_TIP"] = "Move Servo to a specified angle gradually over the animation duration. You can combine this with other servo movements";  // untranslated
  Blockly.Msg["ARD_ALLBOTSERVO_WRITE"] = "Set AllBot Servo ";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANIMATE"] = "Animate AllBot";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANIMATESERVOS"] = "Servos";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANIMATESPEED"] = "Animation duration (ms):";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANIMATE_TIP"] = "Animate the allbot by moving different servos at the same time. Total duration of this animation can be set. A servo may have only one movement block present.";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLEFRONTLEFT"] = "ankleFrontLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLEFRONTRIGHT"] = "ankleFrontRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLELEFT"] = "ankleLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLEMIDDLELEFT"] = "ankleMiddleLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLEMIDDLERIGHT"] = "ankleMiddleRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLEREARLEFT"] = "ankleRearLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLEREARRIGHT"] = "ankleRearRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_ANKLERIGHT"] = "ankleRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_BACKWARD"] = "AllBot Backward:";  // untranslated
  Blockly.Msg["ARD_ALLBOT_CHIRP"] = "AllBot Chirp:";  // untranslated
  Blockly.Msg["ARD_ALLBOT_CHIRPSPEED"] = "beeps, beepspeed";  // untranslated
  Blockly.Msg["ARD_ALLBOT_CHIRP_TIP"] = "Make the allbot chirp a number of beeps at the given speed (delay in microseconds, use 1 to 255)";  // untranslated
  Blockly.Msg["ARD_ALLBOT_FORWARD"] = "AllBot Forward:";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPFRONTLEFT"] = "hipFrontLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPFRONTRIGHT"] = "hipFrontRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPLEFT"] = "hipLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPMIDDLELEFT"] = "hipMiddleLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPMIDDLERIGHT"] = "hipMiddleRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPREARLEFT"] = "hipRearLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPREARRIGHT"] = "hipRearRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_HIPRIGHT"] = "hipRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_KNEEFRONTLEFT"] = "kneeFrontLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_KNEEFRONTRIGHT"] = "kneeFrontRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_KNEEMIDDLELEFT"] = "kneeMiddleLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_KNEEMIDDLERIGHT"] = "kneeMiddleRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_KNEEREARLEFT"] = "kneeRearLeft";  // untranslated
  Blockly.Msg["ARD_ALLBOT_KNEEREARRIGHT"] = "kneeRearRight";  // untranslated
  Blockly.Msg["ARD_ALLBOT_LEFT"] = "AllBot Left:";  // untranslated
  Blockly.Msg["ARD_ALLBOT_LOOKLEFT"] = "AllBot Look Left, speed (ms):";  // untranslated
  Blockly.Msg["ARD_ALLBOT_LOOKRIGHT"] = "AllBot Look Right, speed (ms):";  // untranslated
  Blockly.Msg["ARD_ALLBOT_LOOK_TIP"] = "Make the allbot look towards a specific direction with the given speed (ms)";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RC"] = "AllBot Remote Control Handling";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RCCOMMAND"] = "On receiving command ";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RCCOMMANDS"] = "Commands ";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RCCOMMAND_SINGLE"] = "This block must be inside an AllBot Remote Control block ";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RCCOMMAND_TIP"] = "Set the actions the AllBot must do on receiving a command.";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RCDO"] = "Do ";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RCSERIAL"] = "Use Serial to view Commands";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RC_SPEED"] = "RC Speed";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RC_SPEED_TIP"] = "The speed as set in the Remote Control App";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RC_TIMES"] = "RC Times";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RC_TIMES_TIP"] = "The times (number of steps) as set in the Remote Control App";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RC_TIP"] = "A block to react to the AllBot Remote Control App on your smarthphone. Check Serial to see in the serial monitor what commands are received. Note: Your AllBot shield must be switched to RECEIVE after programming it.";  // untranslated
  Blockly.Msg["ARD_ALLBOT_RIGHT"] = "AllBot Right:";  // untranslated
  Blockly.Msg["ARD_ALLBOT_SCARED"] = "AllBot Look Scared:";  // untranslated
  Blockly.Msg["ARD_ALLBOT_SCAREDBEEPS"] = "shakes, beeps:";  // untranslated
  Blockly.Msg["ARD_ALLBOT_SCARED_TIP"] = "Make the allbot shake the given number of shakes, and beep the given number of beeps ";  // untranslated
  Blockly.Msg["ARD_ALLBOT_SERVOHUB"] = "AllBot Servo motor";  // untranslated
  Blockly.Msg["ARD_ALLBOT_STEPS"] = "steps, stepspeed";  // untranslated
  Blockly.Msg["ARD_ALLBOT_WALK_TIP"] = "Make the allbot move a number of steps with the given speed (ms) for one step";  // untranslated
  Blockly.Msg["ARD_ANALOGREAD"] = "Lecture du signal analogique #";
  Blockly.Msg["ARD_ANALOGREAD_TIP"] = "Valeur de retour entre 0 et 1024";
  Blockly.Msg["ARD_ANALOGWRITE"] = "Ecriture du signal analogique #";
  Blockly.Msg["ARD_ANALOGWRITE_ERROR"] = "The analogue value set must be between 0 and 255";  // untranslated
  Blockly.Msg["ARD_ANALOGWRITE_TIP"] = "Ecrit une valeur analogique comprise entre 0 et 255 sur un port PWM spécifique";
  Blockly.Msg["ARD_ANASENSOR"] = "Analog Sensor";  // untranslated
  Blockly.Msg["ARD_ANASENSOR_COMPONENT"] = "Analog Sensor";  // untranslated
  Blockly.Msg["ARD_ANASENSOR_DEFAULT_NAME"] = "AnaSensor1";  // untranslated
  Blockly.Msg["ARD_ANASENSOR_READ"] = "Read analog sensor";  // untranslated
  Blockly.Msg["ARD_ANASENSOR_TIP"] = "Connect an analog sensor to an analog pin, so as to read its value. On an Arduino UNO a value between 0 and 1024 is returned, corresponding to a measured value between 0 and 5V. Eg.: an LDR sensor, a potmeter, ...";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_LENGTH"] = "of length";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_LENGTH_TOOLTIP"] = "Create an array containing the given number of elements";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_TITLE"] = "array";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_TITLE0"] = "Create";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_TITLE2"] = "with values";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_WITH_CONTAINER_TITLE_ADD"] = "array";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this array block.";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_WITH_INPUT_WITH"] = "Create array with";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_WITH_ITEM_TITLE"] = "item";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the array.";  // untranslated
  Blockly.Msg["ARD_ARRAY_CREATE_WITH_TOOLTIP"] = "Create an array with any number of items";  // untranslated
  Blockly.Msg["ARD_ARRAY_DEFAULT_NAME"] = "Array1";  // untranslated
  Blockly.Msg["ARD_ARRAY_GETINDEX_AT"] = "get element with index";  // untranslated
  Blockly.Msg["ARD_ARRAY_GETINDEX_ITEM"] = "in array";  // untranslated
  Blockly.Msg["ARD_ARRAY_GETINDEX_TOOLTIP"] = "Obtain element in the array at given index. Index must be a number from 0 to the length minus 1!";  // untranslated
  Blockly.Msg["ARD_ARRAY_GETLENGTH"] = "Length of array";  // untranslated
  Blockly.Msg["ARD_ARRAY_GETLENGTH_TOOLTIP"] = "Return the length (=number of elements) of the selected array";  // untranslated
  Blockly.Msg["ARD_ARRAY_IND_ERR1"] = "Index must be number >= 0";  // untranslated
  Blockly.Msg["ARD_ARRAY_IND_ERR2"] = "Index must be number < length array";  // untranslated
  Blockly.Msg["ARD_ARRAY_LEN_ERR1"] = "Length of array must be 1 or more";  // untranslated
  Blockly.Msg["ARD_ARRAY_LEN_ERR2"] = "Length of array must be an integer number";  // untranslated
  Blockly.Msg["ARD_ARRAY_LEN_ERR3"] = "Length of array must be a number, not a variable";  // untranslated
  Blockly.Msg["ARD_ARRAY_NOT_FLOAT"] = "One of the values is not a numeric value";  // untranslated
  Blockly.Msg["ARD_ARRAY_NOT_INT"] = "One of the values is not an integer";  // untranslated
  Blockly.Msg["ARD_ARRAY_NOT_KNOWN"] = "Unknown type of array given";  // untranslated
  Blockly.Msg["ARD_ARRAY_NOT_NUMBER"] = "Only assign numbers, not variables when defining an array!";  // untranslated
  Blockly.Msg["ARD_ARRAY_SETINDEX_AT"] = "the element with index";  // untranslated
  Blockly.Msg["ARD_ARRAY_SETINDEX_ITEM"] = "Set in array";  // untranslated
  Blockly.Msg["ARD_ARRAY_SETINDEX_TOOLTIP"] = "Set an element in the array at given index equal to the given value. Index must be a number from 0 to the length minus 1!";  // untranslated
  Blockly.Msg["ARD_ARRAY_SETINDEX_VALUE"] = "to the value";  // untranslated
  Blockly.Msg["ARD_AS_ANAINPUT_PIN"] = "as analog input";  // untranslated
  Blockly.Msg["ARD_AS_ANAINPUT_PIN_TIP"] = "Declare a variable as a analog input pin";  // untranslated
  Blockly.Msg["ARD_AS_ANAOUTPUT_PIN"] = "as analg output";  // untranslated
  Blockly.Msg["ARD_AS_ANAOUTPUT_PIN_TIP"] = "Declare a variable as a analog PWM output pin";  // untranslated
  Blockly.Msg["ARD_AS_BOOL_NUMBER"] = "as boolean";  // untranslated
  Blockly.Msg["ARD_AS_BOOL_NUMBER_TIP"] = "Declare a variable as boolean with value true or false";  // untranslated
  Blockly.Msg["ARD_AS_DIGINPUT_PIN"] = "as digital input";  // untranslated
  Blockly.Msg["ARD_AS_DIGINPUT_PIN_TIP"] = "Declare a variable as a digital input pin";  // untranslated
  Blockly.Msg["ARD_AS_DIGOUTPUT_PIN"] = "as digital output";  // untranslated
  Blockly.Msg["ARD_AS_DIGOUTPUT_PIN_TIP"] = "Declare a variable as a digital output pin";  // untranslated
  Blockly.Msg["ARD_AS_FLOAT_NUMBER"] = "as decimal number";  // untranslated
  Blockly.Msg["ARD_AS_FLOAT_NUMBER_TIP"] = "Declare a variable as a decimal number, eg 3.6 or 5e4 or -3.14";  // untranslated
  Blockly.Msg["ARD_AS_INTEGER_NUMBER"] = "as integer number";  // untranslated
  Blockly.Msg["ARD_AS_INTEGER_NUMBER_TIP"] = "Declare a variable as integer, -32768 to 32767";  // untranslated
  Blockly.Msg["ARD_AS_LONG_NUMBER"] = "as long integer number";  // untranslated
  Blockly.Msg["ARD_AS_LONG_NUMBER_TIP"] = "Declare a variable as a long integer, -2,147,483,648 to 2,147,483,647";  // untranslated
  Blockly.Msg["ARD_AS_UINT_NUMBER"] = "as positive integer number";  // untranslated
  Blockly.Msg["ARD_AS_UINT_NUMBER_TIP"] = "Declare a variable as a positive integer, 0 to 65535";  // untranslated
  Blockly.Msg["ARD_AS_ULONG_NUMBER"] = "as long positive integer number";  // untranslated
  Blockly.Msg["ARD_AS_ULONG_NUMBER_TIP"] = "Declare a variable as a long positive integer, 0 to 4,294,967,295";  // untranslated
  Blockly.Msg["ARD_BLOCKS"] = "You have this block twice on the canvas. That is once too many!";  // untranslated
  Blockly.Msg["ARD_BOARD"] = "Board";  // untranslated
  Blockly.Msg["ARD_BOARD_WARN"] = "This block requires as board %1, but or a duplicate block is present or another block is present that requires another Arduino board!";  // untranslated
  Blockly.Msg["ARD_BTHUB_READCODE"] = "BlueTooth Code received from";  // untranslated
  Blockly.Msg["ARD_BTHUB_TIP"] = "Block which indicates that to these two Arduino pins a BlueTooth type sensor is attached";  // untranslated
  Blockly.Msg["ARD_BT_COLOUR_TOOLTIP"] = "is this a colour in the format xxx.xxx.xxx";  // untranslated
  Blockly.Msg["ARD_BT_COMPONENT"] = "BlueTooth sensor";  // untranslated
  Blockly.Msg["ARD_BT_DEFAULT_NAME"] = "BT_Sensor";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT1"] = "is effect 1";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT2"] = "is effect 2";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT3"] = "is effect 3";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT4"] = "is effect 4";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT5"] = "is effect 5";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT6"] = "is effect 6";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT7"] = "is effect 7";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT8"] = "is effect 8";  // untranslated
  Blockly.Msg["ARD_BT_EFFECT_TOOLTIP"] = "test if the code %1 is an effect";  // untranslated
  Blockly.Msg["ARD_BT_READCODEAPP_TIP"] = "Read the code send by the app and received by the BlueTooth sensor";  // untranslated
  Blockly.Msg["ARD_BT_READCODEFROM"] = "Read the code from";  // untranslated
  Blockly.Msg["ARD_BT_READCODE_TIP"] = "Read the code received by the BlueTooth sensor";  // untranslated
  Blockly.Msg["ARD_BT_TEXT_ISBRIGHTNESS_TITLE"] = "%1 is brightness";  // untranslated
  Blockly.Msg["ARD_BT_TEXT_ISBRIGHTNESS_TOOLTIP"] = "is this a brightness value (0-->100)";  // untranslated
  Blockly.Msg["ARD_BT_TEXT_ISCOLOUR_TITLE"] = "%1 is a colour";  // untranslated
  Blockly.Msg["ARD_BT_TEXT_ISCOLOUR_TOOLTIP"] = "is %1 a colourcode";  // untranslated
  Blockly.Msg["ARD_BUILTIN_LED"] = "Configurer la DEL";
  Blockly.Msg["ARD_BUILTIN_LED_TIP"] = "Allumer ou éteindre la DEL de la carte";
  Blockly.Msg["ARD_BUTTON_COMPONENT"] = "Push Button";  // untranslated
  Blockly.Msg["ARD_BUTTON_DEFAULT_NAME"] = "PushButton1";  // untranslated
  Blockly.Msg["ARD_BUTTON_IFPUSHED"] = "If pushed we measure value";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_CLICK"] = " is clicked";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_IF"] = "If button";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_LONGCLICK"] = "is undergoing a long click";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_PRESSED"] = "is being pressed";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_PULLUP_COMPONENT"] = "Pushbutton 2-wire no resistor";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_PULLUP_TIP"] = "A push button which can be ON or OFF, connected to the Arduino with 2 wires: GND, and a digital pin";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_THEN"] = "do";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_TIP"] = "Check the input received on a button, and react to it. This function does not block your program if you do not check the checkbox to wait for a click. A click is a press and a release of the button, a long press a click and holding long time before you release, press is active as soon as the button is pressed down.";  // untranslated
  Blockly.Msg["ARD_BUTTON_INPUT_WAIT"] = "wait for a click to happen";  // untranslated
  Blockly.Msg["ARD_BUTTON_READ"] = "Read value button";  // untranslated
  Blockly.Msg["ARD_BUTTON_TIP"] = "A push button which can be ON or OFF, connected to the Arduino with 3 wires: GND, 5V over resisotor, and a digital pin";  // untranslated
  Blockly.Msg["ARD_BUZNOTONE"] = "No tone on buzzer";  // untranslated
  Blockly.Msg["ARD_BUZNOTONE_TIP"] = "Stop generating a tone on the buzzer";  // untranslated
  Blockly.Msg["ARD_BUZOUTPUT_COMPONENT"] = "Buzzer/Speaker";  // untranslated
  Blockly.Msg["ARD_BUZOUTPUT_DEFAULT_NAME"] = "MyBuzzer1";  // untranslated
  Blockly.Msg["ARD_BUZOUTPUT_TIP"] = "This component is a Buzzer or a Loudspeaker. You can connect it to a digital pin of the Arduino.";  // untranslated
  Blockly.Msg["ARD_BUZSELECTPITCH"] = "Pitch";  // untranslated
  Blockly.Msg["ARD_BUZSELECTPITCH_TIP"] = "Select the pitch you want. This block returns a number which is the frequency of the selected pitch.";  // untranslated
  Blockly.Msg["ARD_BUZSETPITCH"] = "with pitch";  // untranslated
  Blockly.Msg["ARD_BUZSETTONE"] = "Set tone on buzzer";  // untranslated
  Blockly.Msg["ARD_BUZZEROUTPUT"] = "Buzzer/Speaker";  // untranslated
  Blockly.Msg["ARD_COMMENT"] = "Comment";  // untranslated
  Blockly.Msg["ARD_COMMENT_TIP"] = "Add the given text as comment to the Arduino code";  // untranslated
  Blockly.Msg["ARD_COMPONENT_BOARD"] = "a specific Arduino Board";  // untranslated
  Blockly.Msg["ARD_COMPONENT_BOARD_HUB_TIP"] = "Set the Arduino board you work with, and to what it connects";  // untranslated
  Blockly.Msg["ARD_COMPONENT_BOARD_TIP"] = "Set which Arduino board you work with, and connect components to the pins.";  // untranslated
  Blockly.Msg["ARD_COMPONENT_WARN1"] = "A %1 configuration block with the same %2 name must be added to use this block!";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_ELSEIF_TOOLTIP"] = "Add an extra effect time at which statements must be done";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_ELSE_TOOLTIP"] = "Add a block for statements when the effect is finished.";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_ELSE"] = "at the end do";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_ELSEIF"] = "if effect time becomes greater than";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_FIRST1"] = "Effect";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_FIRST2"] = "with total duration (ms) =";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_IF"] = "at the start do";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_TOOLTIP_1"] = "At the start of an effect, do some statements";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_TOOLTIP_2"] = "At the start of an effect, do some statements, and at the end of the effect too";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_TOOLTIP_3"] = "At the start of an effect, do some statements, if the effect time becomes larger than the given time, do the next statements.";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_TOOLTIP_4"] = "At the start of an effect, do some statements, if the effect time becomes larger than the given time, do the next statements. Ath end of the effect the final statements are done.";  // untranslated
  Blockly.Msg["ARD_DEFINE"] = "Définir";
  Blockly.Msg["ARD_DHTHUB"] = "Temperature and humidity sensor";  // untranslated
  Blockly.Msg["ARD_DHTHUB_READHEATINDEX"] = "Heat Index at";  // untranslated
  Blockly.Msg["ARD_DHTHUB_READRH"] = "Relative Humidity at";  // untranslated
  Blockly.Msg["ARD_DHTHUB_READTEMP"] = "°C temperature at";  // untranslated
  Blockly.Msg["ARD_DHTHUB_TIP"] = "Block to assign to an Arduino pin a DHT type sensor";  // untranslated
  Blockly.Msg["ARD_DHT_COMPONENT"] = "DHT sensor";  // untranslated
  Blockly.Msg["ARD_DHT_DEFAULT_NAME"] = "TempRH_Sensor";  // untranslated
  Blockly.Msg["ARD_DHT_READHEATINDEX_TIP"] = "Obtain the Heat Index ( human-perceived equivalent temperature in °C) of a DHT sensor";  // untranslated
  Blockly.Msg["ARD_DHT_READRH_TIP"] = "Obtain the RH (Relative Humidity in %) as a value from 0 to 100 a DHT sensor";  // untranslated
  Blockly.Msg["ARD_DHT_READTEMP_TIP"] = "Obtain the temperature in degree Celcius of a DHT sensor";  // untranslated
  Blockly.Msg["ARD_DIGINPUT"] = "Digital input";  // untranslated
  Blockly.Msg["ARD_DIGINPUT_COMPONENT"] = "Digital Input";  // untranslated
  Blockly.Msg["ARD_DIGINPUT_DEFAULT_NAME"] = "DigInput1";  // untranslated
  Blockly.Msg["ARD_DIGINPUT_READ"] = "Read digital input";  // untranslated
  Blockly.Msg["ARD_DIGINPUT_TIP"] = "Connect a digital input to a digital pin, so as to read its value. The digital state can then be read, corresponding to 0V or 5V on the pin for an Arduino UNO.";  // untranslated
  Blockly.Msg["ARD_DIGITALREAD"] = "Lecture du signal numérique #";
  Blockly.Msg["ARD_DIGITALREAD_TIP"] = "Lecture de la valeur d'un signal numérique: HAUT ou BAS";
  Blockly.Msg["ARD_DIGITALWRITE"] = "Configuration du signal numérique #";
  Blockly.Msg["ARD_DIGITALWRITEVAR_TIP"] = "Write digital value to a Port, the value and port can be computed variables";  // untranslated
  Blockly.Msg["ARD_DIGITALWRITE_TIP"] = " Ecriture de la valeur HAUT ou BAS du signal numérique #";
  Blockly.Msg["ARD_DIGOUTPUT"] = "Digital output";  // untranslated
  Blockly.Msg["ARD_DIGOUTPUT_COMPONENT"] = "Digital Output";  // untranslated
  Blockly.Msg["ARD_DIGOUTPUT_DEFAULT_NAME"] = "DigOutput1";  // untranslated
  Blockly.Msg["ARD_DIGOUTPUT_TIP"] = "Connect a generic digital ouput to a digital pin, so as to write to that pin. The digital state can be set to LOW or HIGH, corresponding to 0V and 5V on the pin for an Arduino UNO.";  // untranslated
  Blockly.Msg["ARD_DIGOUTPUT_WRITE"] = "Write to digital output";  // untranslated
  Blockly.Msg["ARD_DIORAMA_BOARD_TIP"] = "The Ingegno Diorama board - See manual for info";  // untranslated
  Blockly.Msg["ARD_DIORAMA_BTN_TIP"] = "Diorama button code, executed in a loop once the button has been pressed";  // untranslated
  Blockly.Msg["ARD_DIO_BOARD_MISSING"] = "No Diorama board present. Add it to the canvas!";  // untranslated
  Blockly.Msg["ARD_DIO_DISPLAYTEXT"] = "Show on display: ";  // untranslated
  Blockly.Msg["ARD_DIO_DISPLAYTEXT_TIP"] = "Give a text of 8 characters to show on the diorama display";  // untranslated
  Blockly.Msg["ARD_DIO_DISPLAYTEXT_WARNING"] = "Text can only be 8 long, not longer!";  // untranslated
  Blockly.Msg["ARD_DIO_LESSLOUD"] = "Diorama: less loud output";  // untranslated
  Blockly.Msg["ARD_DIO_LOUDER"] = "Diorama: louder output";  // untranslated
  Blockly.Msg["ARD_DIO_PLAYTRACK"] = "Play track number ";  // untranslated
  Blockly.Msg["ARD_DIO_RESETBTN"] = "stop buttons";  // untranslated
  Blockly.Msg["ARD_DIO_RESETBTNNR_TIP"] = "Stop action of the given button.";  // untranslated
  Blockly.Msg["ARD_DIO_RESETBTN_TIP"] = "Reset the buttons, so no button is considered pressed.";  // untranslated
  Blockly.Msg["ARD_DIO_SETLOUDNESS"] = "Diorama: set volume to (0-10):";  // untranslated
  Blockly.Msg["ARD_DIO_SOUND_TIP"] = "Change sound output of the Diorama board. If louder or quieter, we stop processing the button after the call.";  // untranslated
  Blockly.Msg["ARD_DIO_SOUND_WARNING"] = "Volume must be between 0 and 10!";  // untranslated
  Blockly.Msg["ARD_DIO_STOPBTN"] = "Pushbutton 8: stop";  // untranslated
  Blockly.Msg["ARD_DIO_STOPTRACK"] = "Stop playing";  // untranslated
  Blockly.Msg["ARD_DIO_STOPTRACK_TIP"] = "Immediately stop playing the track that is playing";  // untranslated
  Blockly.Msg["ARD_DIO_TRACKPLAYING"] = "track is playing";  // untranslated
  Blockly.Msg["ARD_DIO_TRACKPLAYING_TIP"] = "Return true if a track is still playing, false otherwise";  // untranslated
  Blockly.Msg["ARD_DIO_TRACK_TIP"] = "If number 1, then play a track stored on SD card as track001.mp3'";  // untranslated
  Blockly.Msg["ARD_DIO_TRACK_WARNING"] = "Track must be a number between 1 and 100!";  // untranslated
  Blockly.Msg["ARD_FUN_RUN_DECL"] = "Arduino define up front:";  // untranslated
  Blockly.Msg["ARD_FUN_RUN_DECL_TIP"] = "Code you want to declare up front (use this e.g. for variables you need in setup)";  // untranslated
  Blockly.Msg["ARD_FUN_RUN_LOOP"] = "Arduino boucle infinie:";
  Blockly.Msg["ARD_FUN_RUN_SETUP"] = "Arduino exécute en premier:";
  Blockly.Msg["ARD_FUN_RUN_TIP"] = "Definition de la configuration de l'Arduino: fonctions setup() et loop().";
  Blockly.Msg["ARD_HIGH"] = "HAUT";
  Blockly.Msg["ARD_HIGHLOW_TIP"] = " Configuration d'un signal à l'état HAUT ou BAS";
  Blockly.Msg["ARD_IRHUB"] = "IR sensor";  // untranslated
  Blockly.Msg["ARD_IRHUB_READCODE"] = "IR Code at";  // untranslated
  Blockly.Msg["ARD_IRHUB_TIP"] = "Block wich indicates an IR sensor is attached at this pin";  // untranslated
  Blockly.Msg["ARD_IR_COMPONENT"] = "IR sensor";  // untranslated
  Blockly.Msg["ARD_IR_DEFAULT_NAME"] = "IR_Receiver";  // untranslated
  Blockly.Msg["ARD_IR_READCODE_TIP"] = "Read the code received by the IR sensor";  // untranslated
  Blockly.Msg["ARD_LEDLEG"] = "LED";  // untranslated
  Blockly.Msg["ARD_LEDLEGNEG"] = "minus";  // untranslated
  Blockly.Msg["ARD_LEDLEGPOL"] = "leg polarity";  // untranslated
  Blockly.Msg["ARD_LEDLEGPOS"] = "plus";  // untranslated
  Blockly.Msg["ARD_LEDLEG_COMPONENT"] = "LED";  // untranslated
  Blockly.Msg["ARD_LEDLEG_DEFAULT_NAME"] = "Led1";  // untranslated
  Blockly.Msg["ARD_LEDLEG_OFF"] = "OFF";  // untranslated
  Blockly.Msg["ARD_LEDLEG_ON"] = "ON";  // untranslated
  Blockly.Msg["ARD_LEDLEG_SET"] = "Set LED";  // untranslated
  Blockly.Msg["ARD_LEDLEG_TIP"] = "A LED light, on of the legs (the positive or negative) is connected to the Arduino. Can be ON or OFF.";  // untranslated
  Blockly.Msg["ARD_LEDUP_GADGET"] = "Gadget LedUpKidz";  // untranslated
  Blockly.Msg["ARD_LEDUP_HUB"] = "LedUpKidz, destination: ";  // untranslated
  Blockly.Msg["ARD_LEDUP_HUB_TIP"] = "LedUpKidz is a gadget with 6 LED that you can program. There is a big prototype connected to an Arduino UNO, choose 'prototype' for code destined for this. The gadget itself works on a small attiny85 microchip, for code with that destination, select destination 'gadget'";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED0"] = "LED 0";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED1"] = "LED 1";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED2"] = "LED 2";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED3"] = "LED 3";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED4"] = "LED 4";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED5"] = "LED 5";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED_ONOFF1"] = "Put LedUp LED";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED_ONOFF2"] = "on? True/False:";  // untranslated
  Blockly.Msg["ARD_LEDUP_LED_ONOFF_TIP"] = "Set a given LedUpKidz light to on or off using variable blocks";  // untranslated
  Blockly.Msg["ARD_LEDUP_PROTO"] = "Prototype Arduino UNO";  // untranslated
  Blockly.Msg["ARD_LOW"] = "BAS";
  Blockly.Msg["ARD_MAP"] = "Converti";
  Blockly.Msg["ARD_MAP_TIP"] = "Converti un nombre de la plage [0-1024].";
  Blockly.Msg["ARD_MAP_VAL"] = "valeur de [0-";
  Blockly.Msg["ARD_MD_180SERVO"] = "0~180 degree Servo";  // untranslated
  Blockly.Msg["ARD_MD_360SERVO"] = "0~360 degree Servo";  // untranslated
  Blockly.Msg["ARD_MD_AAABLOCK"] = "AAA 3V Battery module";  // untranslated
  Blockly.Msg["ARD_MD_AAABLOCK_TIP"] = "The battery block for Microduino";  // untranslated
  Blockly.Msg["ARD_MD_AAASOUNDWARN"] = "A AAA Battery module must be added to your blocks if you work with sound";  // untranslated
  Blockly.Msg["ARD_MD_AMPBLOCK"] = "Loudspeaker (Amplifier) Module";  // untranslated
  Blockly.Msg["ARD_MD_AMPBLOCK_TIP"] = "Amplifier module, connect the loudspeaker to it to hear sound.";  // untranslated
  Blockly.Msg["ARD_MD_AMPWARN"] = "An Amplifier module must be added to your blocks";  // untranslated
  Blockly.Msg["ARD_MD_AUDIOAMPWARN"] = "An Audio module must be added to your blocks if you work with an amplifier";  // untranslated
  Blockly.Msg["ARD_MD_AUDIOBLOCK"] = "Sound modules (Audio). Mode:";  // untranslated
  Blockly.Msg["ARD_MD_AUDIOBLOCK_TIP"] = "Audio Function Module, Choose a mode and a volume";  // untranslated
  Blockly.Msg["ARD_MD_AUDIOSOUNDWARN"] = "An Audio module must be added to your blocks to be able to work with music.";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_PAUSE"] = "Pause sound fragment";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_PAUSE_TIP"] = "Pause the sound fragment that is playing";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_PLAY"] = "";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_PLAYNR"] = "Play sound fragment";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_PLAY_TIP"] = "Write the number of the sound fragment you want to play. On the this number corresponds to the order in which files have been copied to the SD Card. Best: 1/Empty the SD card 2/copy files to SD card in the order you want to play them 3/it is easier if you name the files 001.mp3, 002.mp3, ... and copy them one after the other to the card!";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_REP1"] = "Repeat everything";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_REP2"] = "Play everything 1 time";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_REP3"] = "Repeat  1 track";  // untranslated
  Blockly.Msg["ARD_MD_AUDIO_REP4"] = "Play 1 track";  // untranslated
  Blockly.Msg["ARD_MD_BLOCKS"] = "Microduino blocks: ";  // untranslated
  Blockly.Msg["ARD_MD_COOKIEBUTTON_COMPONENT"] = "Microduino MCookie CoreUSB";  // untranslated
  Blockly.Msg["ARD_MD_COREBLOCK"] = "Brain (CoreUSB)";  // untranslated
  Blockly.Msg["ARD_MD_COREBLOCK_TIP"] = "The Brain of your construction, the MCookie-CoreUSB";  // untranslated
  Blockly.Msg["ARD_MD_COREWARN"] = "A Brain (CoreUSB) module must be added to your blocks";  // untranslated
  Blockly.Msg["ARD_MD_CRASHBUTTON_COMPONENT"] = "Microduino Crash Button";  // untranslated
  Blockly.Msg["ARD_MD_CRASHBUTTON_DEFAULT_NAME"] = "Crashbutton1";  // untranslated
  Blockly.Msg["ARD_MD_CRASHBUTTON_TIP"] = "The microduino crash-button with which you can detect if you hit something, or that you can use as a push button.";  // untranslated
  Blockly.Msg["ARD_MD_HUBBLOCK"] = "The Cable holder (Sensor Hub)";  // untranslated
  Blockly.Msg["ARD_MD_HUBBLOCK01"] = "connected to pins:   IIC";  // untranslated
  Blockly.Msg["ARD_MD_HUBBLOCK_TIP"] = "The Hub allows to connect up to 12 sensors to your Microduino";  // untranslated
  Blockly.Msg["ARD_MD_NOSERVO"] = "Geen Servo gekoppeld";  // untranslated
  Blockly.Msg["ARD_MD_SERVOBOT_DEFAULT_NAME"] = "BottomServo1";  // untranslated
  Blockly.Msg["ARD_MD_SERVOCON"] = "Servo Motor Connector.";  // untranslated
  Blockly.Msg["ARD_MD_SERVOCON_BOTTOM"] = "Define bottom Servo";  // untranslated
  Blockly.Msg["ARD_MD_SERVOCON_TIP"] = "Servo Motor Connector, can control two Servo (top and bottom). You have to give the servo a name, and what type it is (no servo attached, a 180 degree servo or a 360 degree servo.";  // untranslated
  Blockly.Msg["ARD_MD_SERVOCON_TOP"] = "Define top Servo";  // untranslated
  Blockly.Msg["ARD_MD_SERVOCON_TYPE"] = "Type:";  // untranslated
  Blockly.Msg["ARD_MD_SERVOTOP_DEFAULT_NAME"] = "TopServo1";  // untranslated
  Blockly.Msg["ARD_MD_SERVOTYPE_TIP"] = "Select the type of Servo you attach to the Servo connnector";  // untranslated
  Blockly.Msg["ARD_MD_SERVO_READ"] = "read Servo ";  // untranslated
  Blockly.Msg["ARD_MD_SERVO_STEP_WARN1"] = "A Servo configuration block must be added to the hub to use this block!";  // untranslated
  Blockly.Msg["ARD_MD_SERVO_STEP_WARN2"] = "A Name input must be added to the Servo configuration block!";  // untranslated
  Blockly.Msg["ARD_MD_SERVO_STEP_WARN3"] = "Selected servo does not exist any more, please select a new one.";  // untranslated
  Blockly.Msg["ARD_MD_SERVO_WRITE"] = "set 180 degree Servo ";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL"] = "NeoPixel LED light";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_BRIGHTNESS"] = " brightness (%)";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_BRIGHTNESS_RANGE"] = "value(brightness) (0 --> 255)";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_CLEAR"] = "Clear";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_COMPONENT"] = "Neopixel strip";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_COUNT_PIXELS"] = "Number of pixels";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_COUNT_PIXELS_TIP"] = "Returns the number of pixels of this LED strip";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_DEFAULT_NAME"] = "NeoPixel1";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_DIRECT"] = "direct";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_COLORWIPE"] = "Colorwipe";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_METEOOR"] = "Meteor";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_RAINBOW"] = "Rainbow";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_SCANNER"] = "Scanner";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_SNAKE"] = "Snake";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_SNOW"] = "Snow";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_STROBE"] = "Strobe";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_THEATERCHASE"] = "Theater chase";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_EFF_THEATERCHASERAINBOW"] = "Theater chase rainbow";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_FADE"] = "fade";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_HUE_RANGE"] = "with hue (0 --> 65535)";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_HZ"] = "Frequency:";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_NUMBER"] = "number";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_ONCOLOUR"] = "on colour";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_ONCOLOURVALBLUE"] = "blue:";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_ONCOLOURVALGREEN"] = "green:";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_ONCOLOURVALRED"] = "on colour (0-255) red:";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_ONHSVCOLOUR"] = "on HSVcolour";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_PAUSE"] = "pause";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_PIXEL"] = "pixel";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_PIXELS"] = "Pixels.";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_SAT_RANGE"] = "saturation (0 --> 255)";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_SET"] = "Set Neopixel";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_STRIP"] = "Strip with";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_TIP"] = "A NEOPIXEL LED light or a strip with multiple neopixels.";  // untranslated
  Blockly.Msg["ARD_NEOPIXEL_TYPE"] = "Type:";  // untranslated
  Blockly.Msg["ARD_NOTONE"] = "Eteindre la tonalité du signal #";
  Blockly.Msg["ARD_NOTONE_PIN"] = "PAS de Signal de tonalité #";
  Blockly.Msg["ARD_NOTONE_PIN_TIP"] = "Arret de la génération de tonalité (son)sur un signal";
  Blockly.Msg["ARD_NOTONE_TIP"] = "Eteindre / Activer la tonalité du signal selectioné";
  Blockly.Msg["ARD_NO_ALLBOT"] = "No AllBot present";  // untranslated
  Blockly.Msg["ARD_OLED"] = "OLED";  // untranslated
  Blockly.Msg["ARD_OLED_CLEAR"] = "clear display";  // untranslated
  Blockly.Msg["ARD_OLED_CLEAR_TIP"] = "Before writing new text to the display, use this block to clear it first.";  // untranslated
  Blockly.Msg["ARD_OLED_CONFIG_TIP"] = "Define a display of the given resolution to use to write text to";  // untranslated
  Blockly.Msg["ARD_OLED_CURSORX"] = "set cursor position X";  // untranslated
  Blockly.Msg["ARD_OLED_CURSORY"] = "Y";  // untranslated
  Blockly.Msg["ARD_OLED_DEFAULT_NAME"] = "OLED1";  // untranslated
  Blockly.Msg["ARD_OLED_FONT_SIZE"] = "choose font size";  // untranslated
  Blockly.Msg["ARD_OLED_FONT_TIP"] = "Select the font size to use to write text from now on";  // untranslated
  Blockly.Msg["ARD_OLED_INIT"] = "OLED Initialise";  // untranslated
  Blockly.Msg["ARD_OLED_PRINT"] = "print";  // untranslated
  Blockly.Msg["ARD_OLED_PRINT_NUMBER"] = "print number";  // untranslated
  Blockly.Msg["ARD_OLED_PRINT_NUMBER_DIGITS"] = "with #digits:";  // untranslated
  Blockly.Msg["ARD_OLED_PRINT_TIP"] = "Prepare to show the given text on the display in the given size. You need to use the write block to actually see it!";  // untranslated
  Blockly.Msg["ARD_OLED_RESOLUTIE"] = "with resolution";  // untranslated
  Blockly.Msg["ARD_OLED_WRITE"] = "write to display";  // untranslated
  Blockly.Msg["ARD_OLED_WRITE_TIP"] = "After you have printed text on the display, use this block to actually show the text.";  // untranslated
  Blockly.Msg["ARD_OUTPUT_WRITE_TO"] = "value";  // untranslated
  Blockly.Msg["ARD_PIN_AN"] = "analog pin";  // untranslated
  Blockly.Msg["ARD_PIN_AN_TIP"] = "One of the analog pins of the Arduino Board";  // untranslated
  Blockly.Msg["ARD_PIN_DIG"] = "digital pin";  // untranslated
  Blockly.Msg["ARD_PIN_DIGDIG"] = "digital pin1 and pin2";  // untranslated
  Blockly.Msg["ARD_PIN_DIGDIG1"] = "digital pin1#";  // untranslated
  Blockly.Msg["ARD_PIN_DIGDIG2"] = "pin2#";  // untranslated
  Blockly.Msg["ARD_PIN_DIGDIG_TIP"] = "Component requiring two digital pins, pin1 and pin2";  // untranslated
  Blockly.Msg["ARD_PIN_DIG_TIP"] = "One of the digital pins of the Arduino Board";  // untranslated
  Blockly.Msg["ARD_PIN_PWM"] = "PWM pin";  // untranslated
  Blockly.Msg["ARD_PIN_PWM_TIP"] = "One of the Pulse Width Modeling (PWM) pins of the Arduino Board";  // untranslated
  Blockly.Msg["ARD_PIN_WARN1"] = "Signal %1 est utilisé pour %2 alors que signal %3. Déjà utilisé en tant que %4.";
  Blockly.Msg["ARD_PULSEON"] = "pulse on pin #";  // untranslated
  Blockly.Msg["ARD_PULSEREAD"] = "Read";  // untranslated
  Blockly.Msg["ARD_PULSETIMEOUT"] = "timeout after";  // untranslated
  Blockly.Msg["ARD_PULSETIMEOUT_MS"] = "";  // untranslated
  Blockly.Msg["ARD_PULSETIMEOUT_TIP"] = "Mesure la durée d'une pulsation sur le signal selectioné, dans le delai imparti";
  Blockly.Msg["ARD_PULSE_READ"] = "mesure %1 impulsion sur le signal #%2";
  Blockly.Msg["ARD_PULSE_READ_TIMEOUT"] = "mesure %1 impulsion sur le signal #%2 (délai de retard %3 μs)";
  Blockly.Msg["ARD_PULSE_TIP"] = "Mesure la durée d'une pulsation sur le signal selectioné.";
  Blockly.Msg["ARD_PWMOUTPUT"] = "PWM output";  // untranslated
  Blockly.Msg["ARD_PWMOUTPUT_COMPONENT"] = "PWM Output";  // untranslated
  Blockly.Msg["ARD_PWMOUTPUT_DEFAULT_NAME"] = "PWMOutput1";  // untranslated
  Blockly.Msg["ARD_PWMOUTPUT_TIP"] = "Connect a generic PWM (Pulse Width Modulation) ouput to a pwm pin, so as to write an analog value to that pin. The value written should be a number between 0 and 255, and will generate a block pulse over this pin.";  // untranslated
  Blockly.Msg["ARD_PWMOUTPUT_WRITE"] = "Write to PWM output";  // untranslated
  Blockly.Msg["ARD_SERIAL_BPS"] = "bps";
  Blockly.Msg["ARD_SERIAL_PRINT"] = "imprimer";
  Blockly.Msg["ARD_SERIAL_PRINT_NEWLINE"] = "ajouter une nouvelle ligne";
  Blockly.Msg["ARD_SERIAL_PRINT_TIP"] = "Imprime les données sur la console série en texte lisible ASCII.";
  Blockly.Msg["ARD_SERIAL_PRINT_WARN"] = "Un bloc de configuration pour %1 doit être ajouté à l'espace de travail afin d'utiliser ce bloc!";
  Blockly.Msg["ARD_SERIAL_SETUP"] = "Configuration";
  Blockly.Msg["ARD_SERIAL_SETUP_TIP"] = "Choisir la vitesse d'un périphérique série";
  Blockly.Msg["ARD_SERIAL_SPEED"] = ":  vitesse";
  Blockly.Msg["ARD_SERVOHUB"] = "Servo motor";  // untranslated
  Blockly.Msg["ARD_SERVOHUB_READ"] = "read Servo ";  // untranslated
  Blockly.Msg["ARD_SERVOHUB_TIP"] = "Servo Motor Connection, which can attach to a PWM pin. You have to give the servo a name, and what type it is (a 180 degree servo or a 360 degree servo.)";  // untranslated
  Blockly.Msg["ARD_SERVOHUB_WRITE"] = "set 180 degree Servo ";  // untranslated
  Blockly.Msg["ARD_SERVO_COMPONENT"] = "servo";  // untranslated
  Blockly.Msg["ARD_SERVO_DEFAULT_NAME"] = "Servo1";  // untranslated
  Blockly.Msg["ARD_SERVO_READ"] = "Lecture du signal# du SERVO";
  Blockly.Msg["ARD_SERVO_READ_TIP"] = "Lecture d'un angle du SERVO";
  Blockly.Msg["ARD_SERVO_ROTATE360"] = "Rotate 360 degree Servo";  // untranslated
  Blockly.Msg["ARD_SERVO_ROTATEPERC"] = "% (-100 to 100)";  // untranslated
  Blockly.Msg["ARD_SERVO_ROTATESPEED"] = "with speed";  // untranslated
  Blockly.Msg["ARD_SERVO_ROTATE_TIP"] = "Turn a Servo with a specific speed";  // untranslated
  Blockly.Msg["ARD_SERVO_TYPE"] = "Type:";  // untranslated
  Blockly.Msg["ARD_SERVO_WRITE"] = "Configurer SERVO sur Patte";
  Blockly.Msg["ARD_SERVO_WRITE_DEG_180"] = "Degrés (0~180)";
  Blockly.Msg["ARD_SERVO_WRITE_TIP"] = "Configurer un SERVO à un angle donné";
  Blockly.Msg["ARD_SERVO_WRITE_TO"] = "vers";
  Blockly.Msg["ARD_SETTONE"] = "Définir une tonalité sur le signal #";
  Blockly.Msg["ARD_SPI_SETUP"] = "Configuration";
  Blockly.Msg["ARD_SPI_SETUP_CONF"] = "configuration:";
  Blockly.Msg["ARD_SPI_SETUP_DIVIDE"] = "Division de fréquence";
  Blockly.Msg["ARD_SPI_SETUP_LSBFIRST"] = "LSBFIRST";
  Blockly.Msg["ARD_SPI_SETUP_MODE"] = "mode SPI  (idle - edge)";
  Blockly.Msg["ARD_SPI_SETUP_MODE0"] = "0 (Bas - Descendant)";
  Blockly.Msg["ARD_SPI_SETUP_MODE1"] = "1 (Bas - Montant)";
  Blockly.Msg["ARD_SPI_SETUP_MODE2"] = "2 (Haut - Descendant)";
  Blockly.Msg["ARD_SPI_SETUP_MODE3"] = "3 (Haut - Montant)";
  Blockly.Msg["ARD_SPI_SETUP_MSBFIRST"] = "MSBFIRST";
  Blockly.Msg["ARD_SPI_SETUP_SHIFT"] = "décalage de données";
  Blockly.Msg["ARD_SPI_SETUP_TIP"] = "Configuration du périphérique SPI.";
  Blockly.Msg["ARD_SPI_TRANSRETURN_TIP"] = "Envoie d'un message SPI à un esclave précis et recuperation de la donnée.";
  Blockly.Msg["ARD_SPI_TRANS_NONE"] = "vide";
  Blockly.Msg["ARD_SPI_TRANS_SLAVE"] = "vers le signal esclave";
  Blockly.Msg["ARD_SPI_TRANS_TIP"] = "Envoie d'un message SPI à un esclave précis.";
  Blockly.Msg["ARD_SPI_TRANS_VAL"] = "transfert";
  Blockly.Msg["ARD_SPI_TRANS_WARN1"] = "Un bloc de configuration pour %1 doit être ajouté à l'espace de travail afin d'utiliser ce bloc!";
  Blockly.Msg["ARD_SPI_TRANS_WARN2"] = "L'ancienne valeur du signal %1 n'est plus disponible.";
  Blockly.Msg["ARD_STEPPER_COMPONENT"] = "stepper";  // untranslated
  Blockly.Msg["ARD_STEPPER_DEFAULT_NAME"] = "MyStepper";  // untranslated
  Blockly.Msg["ARD_STEPPER_DEGREES"] = "degrees";  // untranslated
  Blockly.Msg["ARD_STEPPER_FOUR_PINS"] = "4";
  Blockly.Msg["ARD_STEPPER_ISROTATING"] = "in movement";  // untranslated
  Blockly.Msg["ARD_STEPPER_ISROTATING_TIP"] = "Returns true if the stepper is moving.";  // untranslated
  Blockly.Msg["ARD_STEPPER_MOTOR"] = "Moteur pas-à-pas:";
  Blockly.Msg["ARD_STEPPER_NUMBER_OF_PINS"] = "Number of pins";  // untranslated
  Blockly.Msg["ARD_STEPPER_PIN1"] = "signal1 #";
  Blockly.Msg["ARD_STEPPER_PIN2"] = "signal2 #";
  Blockly.Msg["ARD_STEPPER_PIN3"] = "signal3 #";
  Blockly.Msg["ARD_STEPPER_PIN4"] = "signal4 #";
  Blockly.Msg["ARD_STEPPER_RESTART"] = "Get";  // untranslated
  Blockly.Msg["ARD_STEPPER_RESTART_AFTER"] = "ready";  // untranslated
  Blockly.Msg["ARD_STEPPER_RESTART_TIP"] = "Reset the motor ready after a rotation block has finished, so as to be able to rotate again";  // untranslated
  Blockly.Msg["ARD_STEPPER_REVOLVS"] = "Combien de pas par tour";
  Blockly.Msg["ARD_STEPPER_ROTATE"] = "Rotate";  // untranslated
  Blockly.Msg["ARD_STEPPER_ROTATE_TIP"] = "Rotate the stepper motor over a number of degrees in a non-blocking way. This block must be called in the loop. When finished the stepper is blocked, and a call to restart movement is needed for the block to cause a next movement.";  // untranslated
  Blockly.Msg["ARD_STEPPER_SETUP"] = "Configuration";
  Blockly.Msg["ARD_STEPPER_SETUP_TIP"] = "Configuration d'un moteur pas-à-pas: signaux et autres paramètres.";
  Blockly.Msg["ARD_STEPPER_SPEED"] = "Configuration de la vitesse(rpm) à";
  Blockly.Msg["ARD_STEPPER_SPEED_TIP"] = "Sets speed of the stepper motor. The steps are set at the speed needed to have the set RPM speed based on the given steps per revolution in the constructor.";  // untranslated
  Blockly.Msg["ARD_STEPPER_STEP"] = "Déplacement grace au moteur pas-à-pas";
  Blockly.Msg["ARD_STEPPER_STEPS"] = "pas";
  Blockly.Msg["ARD_STEPPER_STEP_TIP"] = "Configurer le moteur pas-à-pas avec un nombre précis de pas.";
  Blockly.Msg["ARD_STEPPER_TWO_PINS"] = "2";
  Blockly.Msg["ARD_TFT_BG_COLOUR"] = "Color of the background";  // untranslated
  Blockly.Msg["ARD_TFT_BG_TIP"] = "Fill the entire screen with the given colour";  // untranslated
  Blockly.Msg["ARD_TFT_CIRC_HEIGHT"] = "Height";  // untranslated
  Blockly.Msg["ARD_TFT_CIRC_RADIUS"] = "Radius";  // untranslated
  Blockly.Msg["ARD_TFT_CIRC_TIP"] = "Draw a circle on the screen with the given coordinates in the given colour. If Filled is checked the circle is filled, otherwise only an outline";  // untranslated
  Blockly.Msg["ARD_TFT_CIRC_XPOS"] = "X Position Center";  // untranslated
  Blockly.Msg["ARD_TFT_CIRC_YPOS"] = "Y Position Center";  // untranslated
  Blockly.Msg["ARD_TFT_COMPONENT"] = "TFT-Scherm";  // untranslated
  Blockly.Msg["ARD_TFT_COMPONENT_TIP"] = "The ST7735 1.8” Color TFT scherm. Scherm is 128x160 pixels.";  // untranslated
  Blockly.Msg["ARD_TFT_FILLED"] = "Fill the drawing";  // untranslated
  Blockly.Msg["ARD_TFT_LINE_COLOUR"] = "Colour";  // untranslated
  Blockly.Msg["ARD_TFT_LINE_TIP"] = "Draw a line on the screen with the given coordinates in the given colour.";  // untranslated
  Blockly.Msg["ARD_TFT_LINE_XPOSBEGIN"] = "X Position Start";  // untranslated
  Blockly.Msg["ARD_TFT_LINE_XPOSEND"] = "X Position End";  // untranslated
  Blockly.Msg["ARD_TFT_LINE_YPOSBEGIN"] = "Y Position Start";  // untranslated
  Blockly.Msg["ARD_TFT_LINE_YPOSEND"] = "Y Position End";  // untranslated
  Blockly.Msg["ARD_TFT_MAKE_CIRC"] = "Draw Circle";  // untranslated
  Blockly.Msg["ARD_TFT_MAKE_LINE"] = "Draw Line";  // untranslated
  Blockly.Msg["ARD_TFT_MAKE_RECT"] = "Draw Rectangle";  // untranslated
  Blockly.Msg["ARD_TFT_RECT_COLOUR"] = "Colour";  // untranslated
  Blockly.Msg["ARD_TFT_RECT_HEIGHT"] = "Height";  // untranslated
  Blockly.Msg["ARD_TFT_RECT_TIP"] = "Draw a rectangle on the screen with the given coordinates in the given colour. If Filled is checked the rectangle is filled, otherwise only an outline";  // untranslated
  Blockly.Msg["ARD_TFT_RECT_WIDTH"] = "Width";  // untranslated
  Blockly.Msg["ARD_TFT_RECT_XPOSBEGIN"] = "X Position Top Left";  // untranslated
  Blockly.Msg["ARD_TFT_RECT_YPOSBEGIN"] = "Y Position Top Left";  // untranslated
  Blockly.Msg["ARD_TFT_SPRITE_NAME"] = "Sprite named";  // untranslated
  Blockly.Msg["ARD_TFT_TEXT_COLOUR"] = "Colour of the text";  // untranslated
  Blockly.Msg["ARD_TFT_TEXT_SIZE"] = "Size";  // untranslated
  Blockly.Msg["ARD_TFT_TEXT_TIP"] = "Write a text to the screen in the given colour at the given position.";  // untranslated
  Blockly.Msg["ARD_TFT_TEXT_WRITE"] = "Write text";  // untranslated
  Blockly.Msg["ARD_TFT_TEXT_XPOS"] = "X Position";  // untranslated
  Blockly.Msg["ARD_TFT_TEXT_YPOS"] = "Y Position";  // untranslated
  Blockly.Msg["ARD_TIME_DELAY"] = "Délai d'attente de";
  Blockly.Msg["ARD_TIME_DELAY_MICROS"] = "microsecondes";
  Blockly.Msg["ARD_TIME_DELAY_MICRO_TIP"] = "Attendre un délai précis en microsecondes";
  Blockly.Msg["ARD_TIME_DELAY_TIP"] = "Attendre un délai précis en millisecondes";
  Blockly.Msg["ARD_TIME_EVERY"] = "every";  // untranslated
  Blockly.Msg["ARD_TIME_INF"] = "Attente sans fin (fin du programme)";
  Blockly.Msg["ARD_TIME_INF_TIP"] = "Attente indéfinie, arrêt du programme.";
  Blockly.Msg["ARD_TIME_MICROS"] = "Temps écoulé (microsecondes)";
  Blockly.Msg["ARD_TIME_MICROS_TIP"] = "Renvoie le temps en microseconds depuis le lancement de ce programme sur la carte Arduino. Doit être stocké dans un Entier long positif";
  Blockly.Msg["ARD_TIME_MILLIS"] = "Temps écoulé (millisecondes)";
  Blockly.Msg["ARD_TIME_MILLIS_TIP"] = "Renvoie le temps en milliseconds depuis le lancement de ce programme sur la carte Arduino. Doit être stocké dans un Entier long positif";
  Blockly.Msg["ARD_TIME_MS"] = "millisecondes";
  Blockly.Msg["ARD_TIME_S"] = "seconds";  // untranslated
  Blockly.Msg["ARD_TONEDURATION"] = "and duration (ms)";  // untranslated
  Blockly.Msg["ARD_TONEDURATION_TIP"] = "Sets tone on a buzzer to the specified frequency within range 31 - 65535 and given duration in milliseconds. Careful: a durations continues, also during delays, a new tone can only be given if a previous tone is terminated!";  // untranslated
  Blockly.Msg["ARD_TONEFREQ"] = "à la frequence";
  Blockly.Msg["ARD_TONEPITCH_TIP"] = "Sets tone on a buzzer to the specified pitch and given duration in milliseconds. Careful: a durations continues, also during delays, a new tone can only be given if a previous tone is terminated!";  // untranslated
  Blockly.Msg["ARD_TONE_FREQ"] = "frequence";
  Blockly.Msg["ARD_TONE_PIN"] = "Signal de tonalité #";
  Blockly.Msg["ARD_TONE_PIN_TIP"] = "Génération de tonalité (son)sur un signal";
  Blockly.Msg["ARD_TONE_TIP"] = " Configurer le signal de tonalité dans la plage: 31 - 65535";
  Blockly.Msg["ARD_TONE_WARNING"] = "La fréquence doit être dans la plage 31 - 65535";
  Blockly.Msg["ARD_TONE_WARNING2"] = "A duration must be positive (>0)";  // untranslated
  Blockly.Msg["ARD_TYPE_ARRAY"] = "Tableau";
  Blockly.Msg["ARD_TYPE_BOOL"] = "Booléen";
  Blockly.Msg["ARD_TYPE_CHAR"] = "Charactère";
  Blockly.Msg["ARD_TYPE_CHILDBLOCKMISSING"] = "Dépendance manquante";
  Blockly.Msg["ARD_TYPE_DECIMAL"] = "Décimal";
  Blockly.Msg["ARD_TYPE_LONG"] = "Entier long";
  Blockly.Msg["ARD_TYPE_NULL"] = "Null";
  Blockly.Msg["ARD_TYPE_NUMBER"] = "Entier";
  Blockly.Msg["ARD_TYPE_SHORT"] = "Entier court";
  Blockly.Msg["ARD_TYPE_TEXT"] = "Texte";
  Blockly.Msg["ARD_TYPE_UNDEF"] = "Non défini";
  Blockly.Msg["ARD_TYPE_UNSIGNED_NUMBER"] = "Positive Number";  // untranslated
  Blockly.Msg["ARD_UNKNOWN_ALLBOTJOINT"] = "The old joint value %1 is no longer available";  // untranslated
  Blockly.Msg["ARD_VALUE"] = "value";  // untranslated
  Blockly.Msg["ARD_VAR_AS"] = "comme";
  Blockly.Msg["ARD_VAR_AS_TIP"] = "Configure une valeur à un type précis";
  Blockly.Msg["ARD_WRITE_TO"] = "à";
  Blockly.Msg["B4A_COMPILE_EMPTY"] = "Compiler returned empty file - Device not flashed";  // untranslated
  Blockly.Msg["B4A_ERROR"] = "ERROR!";  // untranslated
  Blockly.Msg["B4A_FLASHING"] = "Flashing to device";  // untranslated
  Blockly.Msg["B4A_MSG_EXTENSION"] = "Message from extension: ";  // untranslated
  Blockly.Msg["B4A_NO_CHROME"] = "You need to use Google Chrome to use this Upload functionality";  // untranslated
  Blockly.Msg["B4A_NO_EXTENSION"] = "Chrome Extension is not installed";  // untranslated
  Blockly.Msg["B4A_SET_IP_COMPILER"] = "New IP Address Compiler";  // untranslated
  Blockly.Msg["B4A_SUCCESS"] = "SUCCESS!";  // untranslated
  Blockly.Msg["B4A_UPLOAD_FAIL"] = "Upload failed. Chrome Extension is not installed";  // untranslated
  Blockly.Msg["B4A_VERIFY_FAIL"] = "Verify failed. Chrome Extension is not installed";  // untranslated
  Blockly.Msg["COLOUR_RGB255_TOOLTIP"] = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 255. See https://www.google.be/search?q=color+picker";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_CASEBREAK_TOOLTIP"] = "Add a new 'case'-block to check the condition for a new value.";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_DEFAULT_TOOLTIP"] = "Add an optional standard action which will be executed if NONE of the above conditions was satisfied";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_HELPURL"] = "https://nl.wikibooks.org/wiki/Programmeren_in_C++/Switch";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_MSG_CASEBREAK"] = "case";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_MSG_DEFAULT"] = "otherwise";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_MSG_DO"] = "do";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_MSG_SWITCHVAR"] = "Switch (condition variable)";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_SWITCH_TOOLTIP"] = "Add cases, remove them, or change the order of the cases in this switch-block.";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_TOOLTIP_1"] = "If the condition has the value, then do the statements.";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_TOOLTIP_2"] = "If the condition has the value, then do the first block of statements. Otherwise, do the second block of statements.";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_TOOLTIP_3"] = "If the condition has the first value, then do the first block of statements. Otherwise, if the condition has the second value, do the second block of statements.";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_TOOLTIP_4"] = "If the condition has the first value, then do the first block of statements. Otherwise, if the condition has the second value, do the second block of statements. If none of the values are correct, do the last block of statements.";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_VAR_TAIL"] = ")";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_VAR_TITLE"] = "Switch condition (";  // untranslated
  Blockly.Msg["CONTROLS_SWITCH_VAR_TOOLTIP"] = "Drag blocks from left to this region to add them.";  // untranslated
  Blockly.Msg["NEW_INSTANCE"] = "New instance...";  // untranslated
  Blockly.Msg["NEW_INSTANCE_TITLE"] = "New instance name:";  // untranslated
  Blockly.Msg["RENAME_INSTANCE"] = "Rename instance...";  // untranslated
  Blockly.Msg["RENAME_INSTANCE_TITLE"] = "Rename all '%1' instances to:";  // untranslated
  Blockly.Msg["REPLACE_EXISTING_BLOCKS"] = "Replace existing blocks? 'Cancel' will merge.";  // untranslated
  Blockly.Msg["SAVE_FILE_AS"] = "Save script as";  // untranslated
  Blockly.Msg["UPLOAD_CLICK_1"] = "To Upload your code to Arduino:";  // untranslated
  Blockly.Msg["UPLOAD_CLICK_2"] = "  1. click on the Arduino tab";  // untranslated
  Blockly.Msg["UPLOAD_CLICK_3"] = "  2. select all the code, and copy (CTRL+A and CTRL+C)";  // untranslated
  Blockly.Msg["UPLOAD_CLICK_4"] = "  3. In the Arduino IDE or in a http://codebender.cc sketch, paste the code (CTRL+V)";  // untranslated
  Blockly.Msg["UPLOAD_CLICK_5"] = "  4. Upload to your connected Arduino";  // untranslated
  Blockly.Msg["ARD_CONTROLS_EFFECT_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_ELSEIF"];
  Blockly.Msg["ARD_CONTROLS_EFFECT_ELSE_TITLE_ELSE"] = Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_ELSE"];
  Blockly.Msg["ARD_CONTROLS_EFFECT_IF_TITLE_IF"] = Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_IF"];
  Blockly.Msg["ARD_CONTROLS_EFFECT_IF_TOOLTIP"] = Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"];
  Blockly.Msg["ARD_CONTROLS_EFFECT_MSG_THEN"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
  
  Blockly.Msg["COMPONENTS_HUE"] = "#70D65C";